From f2759dde522c4702daf8f4e29c5eff50e5f8ed15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Teemu=20Gr=C3=B6nqvist?= Date: Mon, 20 Nov 2023 07:22:06 +0100 Subject: [PATCH] feat: update to PHP 8.2 --- .github/workflows/release.yml | 39 + .github/workflows/twitter-post.yml | 58 - .gitignore | 3 + Dockerfile | 2 +- action.yml | 2 +- apigen/composer.json | 2 +- apigen/composer.lock | 2175 +-- .../php-token-reflection/LICENSE.md | 15 - .../php-token-reflection/README.md | 70 - .../TokenReflection/Broker.php | 542 - .../TokenReflection/Broker/Backend.php | 212 - .../TokenReflection/Broker/Backend/Memory.php | 574 - .../TokenReflection/Dummy/ReflectionClass.php | 1091 -- .../Exception/BaseException.php | 102 - .../Exception/BrokerException.php | 66 - .../Exception/FileProcessingException.php | 80 - .../Exception/ParseException.php | 264 - .../Exception/RuntimeException.php | 72 - .../Exception/StreamException.php | 96 - .../TokenReflection/IReflection.php | 80 - .../TokenReflection/IReflectionClass.php | 624 - .../TokenReflection/IReflectionConstant.php | 128 - .../TokenReflection/IReflectionExtension.php | 108 - .../TokenReflection/IReflectionFunction.php | 72 - .../IReflectionFunctionBase.php | 135 - .../TokenReflection/IReflectionMethod.php | 182 - .../TokenReflection/IReflectionNamespace.php | 140 - .../TokenReflection/IReflectionParameter.php | 169 - .../TokenReflection/IReflectionProperty.php | 171 - .../Invalid/ReflectionClass.php | 1100 -- .../Invalid/ReflectionConstant.php | 403 - .../Invalid/ReflectionElement.php | 53 - .../Invalid/ReflectionFunction.php | 490 - .../TokenReflection/Php/IReflection.php | 36 - .../TokenReflection/Php/ReflectionClass.php | 935 - .../Php/ReflectionConstant.php | 486 - .../Php/ReflectionExtension.php | 282 - .../Php/ReflectionFunction.php | 271 - .../TokenReflection/Php/ReflectionMethod.php | 385 - .../Php/ReflectionParameter.php | 392 - .../Php/ReflectionProperty.php | 348 - .../TokenReflection/ReflectionAnnotation.php | 484 - .../TokenReflection/ReflectionBase.php | 273 - .../TokenReflection/ReflectionClass.php | 1986 --- .../TokenReflection/ReflectionConstant.php | 392 - .../TokenReflection/ReflectionElement.php | 352 - .../TokenReflection/ReflectionFile.php | 143 - .../ReflectionFileNamespace.php | 412 - .../TokenReflection/ReflectionFunction.php | 204 - .../ReflectionFunctionBase.php | 440 - .../TokenReflection/ReflectionMethod.php | 775 - .../TokenReflection/ReflectionNamespace.php | 558 - .../TokenReflection/ReflectionParameter.php | 683 - .../TokenReflection/ReflectionProperty.php | 572 - .../TokenReflection/Resolver.php | 274 - .../TokenReflection/Stream/FileStream.php | 50 - .../TokenReflection/Stream/StreamBase.php | 487 - .../TokenReflection/Stream/StringStream.php | 38 - .../php-token-reflection/composer.json | 30 - apigen/vendor/apigen/apigen/LICENSE | 42 +- apigen/vendor/apigen/apigen/README.md | 144 + apigen/vendor/apigen/apigen/UPGRADE-4.0.md | 117 - apigen/vendor/apigen/apigen/apigen.neon | 146 + apigen/vendor/apigen/apigen/bin/apigen | 98 +- apigen/vendor/apigen/apigen/bin/bootstrap.php | 20 - apigen/vendor/apigen/apigen/box.json | 42 - apigen/vendor/apigen/apigen/composer.json | 84 +- apigen/vendor/apigen/apigen/composer.lock | 1846 ++ apigen/vendor/apigen/apigen/generate-api.sh | 20 - apigen/vendor/apigen/apigen/src/Analyzer.php | 159 + .../apigen/src/Analyzer/AnalyzeResult.php | 23 + .../apigen/src/Analyzer/AnalyzeState.php | 44 + .../apigen/src/Analyzer/AnalyzeTask.php | 15 + .../src/Analyzer/AnalyzeTaskHandler.php | 938 + .../Analyzer/AnalyzeTaskHandlerFactory.php | 17 + .../apigen/src/Analyzer/BodySkippingLexer.php | 73 + .../apigen/apigen/src/Analyzer/Filter.php | 134 + .../apigen/src/Analyzer/IdentifierKind.php | 12 + .../apigen/src/Analyzer/NameContextFrame.php | 31 + .../Analyzer/NodeVisitors/PhpDocResolver.php | 481 + apigen/vendor/apigen/apigen/src/ApiGen.php | 239 +- apigen/vendor/apigen/apigen/src/Bootstrap.php | 206 + .../apigen/src/Charset/CharsetConvertor.php | 58 - .../apigen/src/Charset/CharsetDetector.php | 93 - .../Configuration/CharsetOptionsResolver.php | 140 - .../apigen/apigen/src/Charset/Encoding.php | 20 - .../apigen/apigen/src/Command/Command.php | 39 - .../apigen/src/Command/GenerateCommand.php | 270 - .../apigen/src/Command/SelfUpdateCommand.php | 68 - .../src/Configuration/Configuration.php | 138 - .../Configuration/ConfigurationOptions.php | 45 - .../ConfigurationOptionsResolver.php | 285 - .../Exceptions/ConfigurationException.php | 21 - .../Configuration/OptionsResolverFactory.php | 23 - .../Configuration/Readers/AbstractFile.php | 49 - .../Exceptions/FileNotReadableException.php | 18 - .../Exceptions/MissingFileException.php | 18 - .../src/Configuration/Readers/NeonFile.php | 27 - .../Configuration/Readers/ReaderFactory.php | 32 - .../Configuration/Readers/ReaderInterface.php | 21 - .../src/Configuration/Readers/YamlFile.php | 26 - .../src/Configuration/Theme/ThemeConfig.php | 62 - .../Theme/ThemeConfigFactory.php | 22 - .../Theme/ThemeConfigOptions.php | 35 - .../Theme/ThemeConfigOptionsResolver.php | 178 - .../apigen/apigen/src/Console/Application.php | 93 - .../vendor/apigen/apigen/src/Console/IO.php | 98 - .../apigen/apigen/src/Console/IOInterface.php | 29 - .../Console/Input/LiberalFormatArgvInput.php | 104 - .../apigen/apigen/src/Console/ProgressBar.php | 91 - .../Console/Question/ConfirmationQuestion.php | 30 - .../apigen/apigen/src/DI/ApiGenExtension.php | 101 - .../src/DI/CharsetConvertorExtension.php | 32 - .../apigen/apigen/src/DI/ParserExtension.php | 36 - .../apigen/apigen/src/DI/apigen.services.neon | 96 - .../vendor/apigen/apigen/src/DI/config.neon | 5 - .../apigen/apigen/src/DI/parser.services.neon | 11 - .../apigen/apigen/src/Events/InjectConfig.php | 45 - .../src/Events/ProgressBarIncrement.php | 55 - .../apigen/src/Events/SetIoOnConsoleRun.php | 48 - .../apigen/src/FileSystem/FileSystem.php | 121 - .../src/FileSystem/ZipArchiveGenerator.php | 46 - .../ConditionalTemplateGenerator.php | 21 - .../apigen/src/Generator/GeneratorQueue.php | 89 - .../src/Generator/Markups/MarkdownMarkup.php | 71 - .../apigen/src/Generator/Markups/Markup.php | 29 - .../Generator/Resolvers/ElementResolver.php | 351 - .../Resolvers/RelativePathResolver.php | 61 - .../FshlSourceCodeHighlighter.php | 51 - .../SourceCodeHighlighter.php | 33 - .../apigen/src/Generator/StepCounter.php | 21 - .../src/Generator/TemplateGenerator.php | 21 - .../AnnotationGroupsGenerator.php | 87 - .../ClassElementGenerator.php | 99 - .../TemplateGenerators/CombinedGenerator.php | 38 - .../ConstantElementGenerator.php | 92 - .../TemplateGenerators/E404Generator.php | 38 - .../ElementListGenerator.php | 38 - .../FunctionElementGenerator.php | 92 - .../Loaders/NamespaceAndPackageLoader.php | 117 - .../TemplateGenerators/NamespaceGenerator.php | 86 - .../OpensearchGenerator.php | 56 - .../TemplateGenerators/OverviewGenerator.php | 38 - .../TemplateGenerators/PackageGenerator.php | 86 - .../TemplateGenerators/RobotsGenerator.php | 55 - .../TemplateGenerators/SitemapGenerator.php | 55 - .../SourceCodeGenerator.php | 149 - .../TemplateGenerators/TreeGenerator.php | 182 - .../TemplateGenerators/ZipGenerator.php | 55 - apigen/vendor/apigen/apigen/src/Helpers.php | 77 + .../src/Herrera/Box/Compactor/PhpNette.php | 88 - .../apigen/apigen/src/Index/FileIndex.php | 23 + .../vendor/apigen/apigen/src/Index/Index.php | 80 + .../apigen/src/Index/NamespaceIndex.php | 50 + apigen/vendor/apigen/apigen/src/Indexer.php | 390 + .../apigen/apigen/src/Info/AliasInfo.php | 19 + .../apigen/src/Info/AliasReferenceInfo.php | 29 + .../apigen/apigen/src/Info/ClassInfo.php | 25 + .../apigen/apigen/src/Info/ClassLikeInfo.php | 54 + .../src/Info/ClassLikeReferenceInfo.php | 42 + .../apigen/apigen/src/Info/ConstantInfo.php | 20 + .../apigen/src/Info/ConstantReferenceInfo.php | 8 + .../apigen/apigen/src/Info/ElementInfo.php | 12 + .../apigen/apigen/src/Info/EnumCaseInfo.php | 14 + .../apigen/apigen/src/Info/EnumInfo.php | 19 + .../apigen/apigen/src/Info/ErrorInfo.php | 13 + .../apigen/apigen/src/Info/ErrorKind.php | 13 + .../apigen/src/Info/Expr/ArgExprInfo.php | 15 + .../apigen/src/Info/Expr/ArrayExprInfo.php | 17 + .../src/Info/Expr/ArrayItemExprInfo.php | 15 + .../apigen/src/Info/Expr/BinaryOpExprInfo.php | 16 + .../apigen/src/Info/Expr/BooleanExprInfo.php | 20 + .../Info/Expr/ClassConstantFetchExprInfo.php | 16 + .../src/Info/Expr/ConstantFetchExprInfo.php | 14 + .../apigen/src/Info/Expr/DimFetchExprInfo.php | 15 + .../apigen/src/Info/Expr/FloatExprInfo.php | 32 + .../apigen/src/Info/Expr/IntegerExprInfo.php | 31 + .../apigen/src/Info/Expr/NewExprInfo.php | 19 + .../apigen/src/Info/Expr/NullExprInfo.php | 14 + .../Expr/NullSafePropertyFetchExprInfo.php | 15 + .../src/Info/Expr/PropertyFetchExprInfo.php | 15 + .../apigen/src/Info/Expr/StringExprInfo.php | 51 + .../apigen/src/Info/Expr/TernaryExprInfo.php | 16 + .../apigen/src/Info/Expr/UnaryOpExprInfo.php | 15 + .../apigen/apigen/src/Info/ExprInfo.php | 8 + .../apigen/apigen/src/Info/FunctionInfo.php | 40 + .../apigen/src/Info/FunctionReferenceInfo.php | 22 + .../apigen/src/Info/GenericParameterInfo.php | 18 + .../src/Info/GenericParameterVariance.php | 11 + .../apigen/apigen/src/Info/InterfaceInfo.php | 10 + .../apigen/apigen/src/Info/MemberInfo.php | 39 + .../apigen/src/Info/MemberReferenceInfo.php | 13 + .../apigen/apigen/src/Info/MethodInfo.php | 101 + .../apigen/src/Info/MethodReferenceInfo.php | 19 + .../apigen/apigen/src/Info/MissingInfo.php | 17 + .../apigen/apigen/src/Info/NameInfo.php | 44 + .../apigen/apigen/src/Info/ParameterInfo.php | 65 + .../apigen/apigen/src/Info/PropertyInfo.php | 24 + .../apigen/src/Info/PropertyReferenceInfo.php | 8 + .../apigen/apigen/src/Info/TraitInfo.php | 10 + .../src/Info/Traits/HasGenericParameters.php | 12 + .../src/Info/Traits/HasLineLocation.php | 13 + .../apigen/apigen/src/Info/Traits/HasTags.php | 28 + .../apigen/src/Info/Traits/HasVisibility.php | 16 + apigen/vendor/apigen/apigen/src/Locator.php | 94 + .../vendor/apigen/apigen/src/MemoryLimit.php | 50 - .../apigen/src/Parser/Broker/Backend.php | 247 - .../Parser/Elements/AutocompleteElements.php | 76 - .../src/Parser/Elements/ElementExtractor.php | 123 - .../src/Parser/Elements/ElementFilter.php | 42 - .../src/Parser/Elements/ElementSorter.php | 143 - .../src/Parser/Elements/ElementStorage.php | 368 - .../apigen/src/Parser/Elements/Elements.php | 57 - .../src/Parser/Elements/GroupSorter.php | 152 - .../apigen/apigen/src/Parser/Parser.php | 114 - .../apigen/apigen/src/Parser/ParserResult.php | 237 - .../Extractors/AnnotationMethodExtractor.php | 133 - .../AnnotationPropertyExtractor.php | 99 - .../ClassMagicElementsExtractor.php | 209 - .../ClassTraitElementsExtractor.php | 167 - .../Extractors/MagicMethodExtractor.php | 105 - .../Extractors/MagicPropertyExtractor.php | 104 - .../ParentClassElementsExtractor.php | 122 - .../Reflection/Parts/IsDocumentedMagic.php | 37 - .../src/Reflection/Parts/StartLineEndLine.php | 66 - .../Parts/StartPositionEndPositionMagic.php | 38 - .../src/Reflection/Parts/Visibility.php | 48 - .../apigen/src/Reflection/ReflectionBase.php | 159 - .../apigen/src/Reflection/ReflectionClass.php | 865 - .../src/Reflection/ReflectionConstant.php | 137 - .../src/Reflection/ReflectionElement.php | 413 - .../src/Reflection/ReflectionExtension.php | 16 - .../src/Reflection/ReflectionFunction.php | 50 - .../src/Reflection/ReflectionFunctionBase.php | 138 - .../src/Reflection/ReflectionMethod.php | 186 - .../src/Reflection/ReflectionMethodMagic.php | 445 - .../src/Reflection/ReflectionParameter.php | 208 - .../Reflection/ReflectionParameterMagic.php | 295 - .../src/Reflection/ReflectionProperty.php | 157 - .../Reflection/ReflectionPropertyMagic.php | 377 - .../Reflection/TokenReflection/Reflection.php | 65 - .../TokenReflection/ReflectionFactory.php | 141 - apigen/vendor/apigen/apigen/src/Renderer.php | 12 + .../apigen/apigen/src/Renderer/Filter.php | 48 + .../Renderer/Latte/LatteCascadingLoader.php | 68 + .../src/Renderer/Latte/LatteEngineFactory.php | 32 + .../src/Renderer/Latte/LatteExtension.php | 72 + .../src/Renderer/Latte/LatteFunctions.php | 266 + .../src/Renderer/Latte/LattePreNode.php | 58 + .../src/Renderer/Latte/LatteRenderTask.php | 15 + .../Renderer/Latte/LatteRenderTaskContext.php | 16 + .../Renderer/Latte/LatteRenderTaskHandler.php | 223 + .../Latte/LatteRenderTaskHandlerFactory.php | 17 + .../Renderer/Latte/LatteRenderTaskType.php | 17 + .../src/Renderer/Latte/LatteRenderer.php | 155 + .../Latte/Template/ClassLikeTemplate.php | 18 + .../Latte/Template/ConfigParameters.php | 13 + .../Latte/Template/FunctionTemplate.php | 18 + .../Renderer/Latte/Template/IndexTemplate.php | 16 + .../Latte/Template/LayoutParameters.php | 18 + .../Latte/Template/NamespaceTemplate.php | 18 + .../Latte/Template/SitemapTemplate.php | 15 + .../Latte/Template/SourceTemplate.php | 17 + .../Renderer/Latte/Template/TreeTemplate.php | 16 + .../Renderer/Latte/Template/assets/main.css | 569 + .../Renderer/Latte/Template/assets/main.js | 243 + .../Latte/Template/blocks/@index.latte | 55 + .../Latte/Template/blocks/alias.latte | 23 + .../Latte/Template/blocks/aliasLink.latte | 11 + .../Latte/Template/blocks/aliasSummary.latte | 17 + .../Template/blocks/autoBreakingLine.latte | 39 + .../blocks/classLikeDescription.latte | 11 + .../Latte/Template/blocks/classLikeKind.latte | 13 + .../Latte/Template/blocks/classLikeLink.latte | 16 + .../Template/blocks/classLikeLinks.latte | 10 + .../Template/blocks/classLikeReference.latte | 16 + .../Template/blocks/classLikeSignature.latte | 28 + .../blocks/classLikeSignatureTable.latte | 41 + .../Latte/Template/blocks/classTree.latte | 28 + .../Latte/Template/blocks/constant.latte | 27 + .../Template/blocks/constantInherited.latte | 28 + .../blocks/constantInheritedSummary.latte | 20 + .../Template/blocks/constantSummary.latte | 17 + .../Latte/Template/blocks/description.latte | 7 + .../Template/blocks/elementSummary.latte | 9 + .../Template/blocks/elementSummaryGroup.latte | 26 + .../Latte/Template/blocks/enumCase.latte | 20 + .../Template/blocks/enumCaseSummary.latte | 17 + .../Renderer/Latte/Template/blocks/expr.latte | 93 + .../Template/blocks/functionDescription.latte | 11 + .../Latte/Template/blocks/functionLinks.latte | 10 + .../Template/blocks/genericParameters.latte | 33 + .../Renderer/Latte/Template/blocks/head.latte | 5 + .../Latte/Template/blocks/layout.latte | 42 + .../Latte/Template/blocks/member.latte | 12 + .../Template/blocks/memberDescription.latte | 16 + .../Latte/Template/blocks/memberLink.latte | 7 + .../Template/blocks/memberSourceLink.latte | 11 + .../Template/blocks/memberVisibility.latte | 7 + .../Renderer/Latte/Template/blocks/menu.latte | 23 + .../Latte/Template/blocks/menuElements.latte | 24 + .../Latte/Template/blocks/menuGroup.latte | 20 + .../Latte/Template/blocks/method.latte | 79 + .../Template/blocks/methodInherited.latte | 28 + .../blocks/methodInheritedSummary.latte | 15 + .../Template/blocks/methodRelation.latte | 18 + .../Template/blocks/methodSignature.latte | 18 + .../Latte/Template/blocks/methodSummary.latte | 17 + .../Latte/Template/blocks/methodUsed.latte | 28 + .../Template/blocks/methodUsedSummary.latte | 25 + .../Template/blocks/namespaceLinks.latte | 12 + .../Latte/Template/blocks/navbar.latte | 36 + .../Latte/Template/blocks/parameter.latte | 11 + .../Latte/Template/blocks/property.latte | 32 + .../Template/blocks/propertyInherited.latte | 28 + .../blocks/propertyInheritedSummary.latte | 15 + .../Template/blocks/propertySummary.latte | 17 + .../Latte/Template/blocks/propertyUsed.latte | 28 + .../Template/blocks/propertyUsedSummary.latte | 25 + .../Latte/Template/blocks/search.latte | 10 + .../Latte/Template/blocks/source.latte | 7 + .../Renderer/Latte/Template/blocks/type.latte | 146 + .../Latte/Template/pages/classLike.latte | 50 + .../Latte/Template/pages/function.latte | 77 + .../Renderer/Latte/Template/pages/index.latte | 14 + .../Latte/Template/pages/namespace.latte | 22 + .../Latte/Template/pages/sitemap.latte | 34 + .../Latte/Template/pages/source.latte | 10 + .../Renderer/Latte/Template/pages/tree.latte | 30 + .../apigen/src/Renderer/SourceHighlighter.php | 263 + .../apigen/src/Renderer/UrlGenerator.php | 223 + .../apigen/apigen/src/Scanner/Scanner.php | 94 - apigen/vendor/apigen/apigen/src/Scheduler.php | 24 + .../apigen/src/Scheduler/ExecScheduler.php | 94 + .../apigen/src/Scheduler/ForkScheduler.php | 96 + .../apigen/src/Scheduler/SchedulerFactory.php | 66 + .../apigen/src/Scheduler/SimpleScheduler.php | 52 + .../apigen/src/Scheduler/WorkerScheduler.php | 173 + .../apigen/apigen/src/Scheduler/worker.php | 50 + apigen/vendor/apigen/apigen/src/Task/Task.php | 8 + .../apigen/apigen/src/Task/TaskHandler.php | 17 + .../apigen/src/Task/TaskHandlerFactory.php | 17 + .../UnsupportedElementException.php | 18 - .../Templating/Filters/AnnotationFilters.php | 137 - .../Templating/Filters/ElementUrlFilters.php | 90 - .../apigen/src/Templating/Filters/Filters.php | 80 - .../Filters/Helpers/ElementLinkFactory.php | 163 - .../Filters/Helpers/ElementUrlFactory.php | 142 - .../Filters/Helpers/LinkBuilder.php | 34 - .../Templating/Filters/Helpers/Strings.php | 25 - .../Filters/NamespaceAndPackageUrlFilters.php | 133 - .../src/Templating/Filters/PathFilters.php | 39 - .../Templating/Filters/PhpManualFilters.php | 190 - .../Templating/Filters/ResolverFilters.php | 62 - .../src/Templating/Filters/SourceFilters.php | 111 - .../src/Templating/Filters/UrlFilters.php | 419 - .../apigen/apigen/src/Templating/Template.php | 50 - .../src/Templating/TemplateElementsLoader.php | 108 - .../apigen/src/Templating/TemplateFactory.php | 178 - .../src/Templating/TemplateNavigator.php | 157 - .../src/Theme/ThemeConfigPathResolver.php | 54 - .../apigen/src/Theme/ThemeResources.php | 60 - apigen/vendor/apigen/apigen/src/Tree.php | 81 - .../vendor/apigen/apigen/update-gh-pages.sh | 11 - .../apigen/theme-bootstrap/.gitattributes | 1 - apigen/vendor/apigen/theme-bootstrap/LICENSE | 26 - .../vendor/apigen/theme-bootstrap/README.md | 8 - .../apigen/theme-bootstrap/composer.json | 13 - .../apigen/theme-bootstrap/src/404.latte | 13 - .../theme-bootstrap/src/@elementlist.latte | 60 - .../apigen/theme-bootstrap/src/@layout.latte | 171 - .../src/annotation-group.latte | 149 - .../apigen/theme-bootstrap/src/class.latte | 462 - .../theme-bootstrap/src/combined.js.latte | 10 - .../apigen/theme-bootstrap/src/config.neon | 1 - .../apigen/theme-bootstrap/src/constant.latte | 60 - .../theme-bootstrap/src/elementlist.js.latte | 4 - .../apigen/theme-bootstrap/src/function.latte | 94 - .../src/js/jquery.autocomplete.js | 841 - .../theme-bootstrap/src/js/jquery.cookie.js | 114 - .../theme-bootstrap/src/js/jquery.min.js | 5 - .../src/js/jquery.sortElements.js | 69 - .../theme-bootstrap/src/js/jquery.sprintf.js | 8 - .../apigen/theme-bootstrap/src/js/main.js | 308 - .../theme-bootstrap/src/namespace.latte | 23 - .../theme-bootstrap/src/opensearch.xml.latte | 11 - .../apigen/theme-bootstrap/src/overview.latte | 48 - .../apigen/theme-bootstrap/src/package.latte | 23 - .../src/resources/bootstrap.min.css | 5 - .../src/resources/collapsed.png | Bin 249 -> 0 bytes .../theme-bootstrap/src/resources/inherit.png | Bin 152 -> 0 bytes .../theme-bootstrap/src/resources/resize.png | Bin 121 -> 0 bytes .../theme-bootstrap/src/resources/sort.png | Bin 171 -> 0 bytes .../theme-bootstrap/src/resources/style.css | 529 - .../src/resources/tree-cleaner.png | Bin 126 -> 0 bytes .../src/resources/tree-hasnext.png | Bin 128 -> 0 bytes .../src/resources/tree-last.png | Bin 172 -> 0 bytes .../src/resources/tree-vertical.png | Bin 127 -> 0 bytes .../theme-bootstrap/src/robots.txt.latte | 4 - .../theme-bootstrap/src/sitemap.xml.latte | 26 - .../apigen/theme-bootstrap/src/source.latte | 12 - .../apigen/theme-bootstrap/src/tree.latte | 67 - .../apigen/theme-default/.gitattributes | 1 - apigen/vendor/apigen/theme-default/LICENSE | 28 - apigen/vendor/apigen/theme-default/README.md | 6 - .../vendor/apigen/theme-default/composer.json | 16 - .../vendor/apigen/theme-default/src/404.latte | 13 - .../theme-default/src/@elementlist.latte | 36 - .../apigen/theme-default/src/@layout.latte | 165 - .../theme-default/src/annotation-group.latte | 117 - .../apigen/theme-default/src/class.latte | 432 - .../theme-default/src/combined.js.latte | 10 - .../apigen/theme-default/src/config.neon | 1 - .../apigen/theme-default/src/constant.latte | 58 - .../theme-default/src/elementlist.js.latte | 4 - .../apigen/theme-default/src/function.latte | 82 - .../src/js/jquery.autocomplete.js | 841 - .../theme-default/src/js/jquery.cookie.js | 114 - .../apigen/theme-default/src/js/jquery.min.js | 5 - .../src/js/jquery.sortElements.js | 69 - .../theme-default/src/js/jquery.sprintf.js | 8 - .../apigen/theme-default/src/js/main.js | 300 - .../apigen/theme-default/src/namespace.latte | 19 - .../theme-default/src/opensearch.xml.latte | 11 - .../apigen/theme-default/src/overview.latte | 40 - .../apigen/theme-default/src/package.latte | 19 - .../theme-default/src/resources/collapsed.png | Bin 238 -> 0 bytes .../theme-default/src/resources/footer.png | Bin 7948 -> 0 bytes .../theme-default/src/resources/inherit.png | Bin 152 -> 0 bytes .../theme-default/src/resources/resize.png | Bin 216 -> 0 bytes .../theme-default/src/resources/sort.png | Bin 171 -> 0 bytes .../theme-default/src/resources/style.css | 619 - .../src/resources/tree-cleaner.png | Bin 126 -> 0 bytes .../src/resources/tree-hasnext.png | Bin 128 -> 0 bytes .../theme-default/src/resources/tree-last.png | Bin 172 -> 0 bytes .../src/resources/tree-vertical.png | Bin 127 -> 0 bytes .../apigen/theme-default/src/robots.txt.latte | 4 - .../theme-default/src/sitemap.xml.latte | 26 - .../apigen/theme-default/src/source.latte | 10 - .../apigen/theme-default/src/tree.latte | 67 - apigen/vendor/autoload.php | 18 + apigen/vendor/bin/apigen | 128 +- apigen/vendor/bin/apigen.bat | 4 - apigen/vendor/bin/jsonlint | 14 - apigen/vendor/bin/jsonlint.bat | 4 - apigen/vendor/bin/latte-lint | 120 + apigen/vendor/bin/neon-lint | 120 + apigen/vendor/bin/php-parse | 120 + apigen/vendor/bin/validate-json | 14 - apigen/vendor/bin/validate-json.bat | 4 - apigen/vendor/composer/ClassLoader.php | 190 +- apigen/vendor/composer/InstalledVersions.php | 352 + apigen/vendor/composer/LICENSE | 2 - apigen/vendor/composer/autoload_classmap.php | 1324 +- apigen/vendor/composer/autoload_files.php | 16 +- .../vendor/composer/autoload_namespaces.php | 9 +- apigen/vendor/composer/autoload_psr4.php | 21 +- apigen/vendor/composer/autoload_real.php | 52 +- apigen/vendor/composer/autoload_static.php | 1442 +- apigen/vendor/composer/installed.json | 4005 ++--- apigen/vendor/composer/installed.php | 265 + apigen/vendor/composer/platform_check.php | 26 + .../dflydev/dot-access-data/CHANGELOG.md | 67 + apigen/vendor/dflydev/dot-access-data/LICENSE | 19 + .../vendor/dflydev/dot-access-data/README.md | 158 + .../dflydev/dot-access-data/composer.json | 67 + .../dflydev/dot-access-data/src/Data.php | 286 + .../dot-access-data/src/DataInterface.php | 131 + .../src/Exception/DataException.php | 21 + .../src/Exception/InvalidPathException.php | 21 + .../src/Exception/MissingPathException.php | 37 + .../dflydev/dot-access-data/src/Util.php | 78 + apigen/vendor/herrera-io/json/.gitignore | 7 - apigen/vendor/herrera-io/json/.travis.yml | 11 - apigen/vendor/herrera-io/json/LICENSE | 18 - apigen/vendor/herrera-io/json/README.md | 35 - apigen/vendor/herrera-io/json/composer.json | 43 - .../vendor/herrera-io/json/phpunit.xml.dist | 22 - .../lib/Herrera/Json/Exception/Exception.php | 40 - .../Json/Exception/ExceptionInterface.php | 12 - .../Herrera/Json/Exception/FileException.php | 12 - .../Herrera/Json/Exception/JsonException.php | 73 - .../json/src/lib/Herrera/Json/Json.php | 155 - .../herrera-io/json/src/lib/json_version.php | 12 - .../Json/Tests/Exception/ExceptionTest.php | 25 - .../Tests/Exception/JsonExceptionTest.php | 28 - .../src/tests/Herrera/Json/Tests/JsonTest.php | 136 - .../herrera-io/json/src/tests/bootstrap.php | 5 - .../vendor/herrera-io/phar-update/.gitignore | 7 - .../vendor/herrera-io/phar-update/.travis.yml | 11 - apigen/vendor/herrera-io/phar-update/LICENSE | 18 - .../vendor/herrera-io/phar-update/README.md | 37 - .../herrera-io/phar-update/composer.json | 42 - .../herrera-io/phar-update/phpunit.xml.dist | 22 - .../herrera-io/phar-update/res/schema.json | 35 - .../Phar/Update/Exception/Exception.php | 40 - .../Update/Exception/ExceptionInterface.php | 12 - .../Phar/Update/Exception/FileException.php | 12 - .../Exception/InvalidArgumentException.php | 12 - .../Phar/Update/Exception/LogicException.php | 12 - .../src/lib/Herrera/Phar/Update/Manager.php | 112 - .../src/lib/Herrera/Phar/Update/Manifest.php | 148 - .../src/lib/Herrera/Phar/Update/Update.php | 282 - .../phar-update/src/lib/constants.php | 12 - .../Phar/Update/Exception/ExceptionTest.php | 25 - .../tests/Herrera/Phar/Update/ManagerTest.php | 104 - .../Herrera/Phar/Update/ManifestTest.php | 158 - .../tests/Herrera/Phar/Update/UpdateTest.php | 284 - .../phar-update/src/tests/bootstrap.php | 5 - apigen/vendor/herrera-io/version/.gitignore | 7 - apigen/vendor/herrera-io/version/.travis.yml | 10 - apigen/vendor/herrera-io/version/LICENSE | 18 - apigen/vendor/herrera-io/version/README.md | 42 - .../vendor/herrera-io/version/composer.json | 39 - .../herrera-io/version/doc/00-Installing.md | 28 - .../herrera-io/version/doc/01-Building.md | 141 - .../herrera-io/version/doc/02-Comparing.md | 63 - .../herrera-io/version/doc/03-Dumping.md | 39 - .../herrera-io/version/doc/04-Parsing.md | 49 - .../herrera-io/version/doc/05-Validating.md | 14 - .../herrera-io/version/phpunit.xml.dist | 22 - .../src/lib/Herrera/Version/Builder.php | 282 - .../src/lib/Herrera/Version/Comparator.php | 174 - .../src/lib/Herrera/Version/Dumper.php | 52 - .../Exception/InvalidIdentifierException.php | 45 - .../Exception/InvalidNumberException.php | 45 - .../InvalidStringRepresentationException.php | 45 - .../Version/Exception/VersionException.php | 14 - .../src/lib/Herrera/Version/Parser.php | 115 - .../src/lib/Herrera/Version/Validator.php | 57 - .../src/lib/Herrera/Version/Version.php | 139 - .../lib/Herrera/Version/Tests/BuilderTest.php | 288 - .../Herrera/Version/Tests/ComparatorTest.php | 144 - .../lib/Herrera/Version/Tests/DumperTest.php | 49 - .../InvalidIdentifierExceptionTest.php | 29 - .../Exception/InvalidNumberExceptionTest.php | 29 - ...validStringRepresentationExceptionTest.php | 29 - .../lib/Herrera/Version/Tests/ParserTest.php | 55 - .../Herrera/Version/Tests/ValidatorTest.php | 143 - .../lib/Herrera/Version/Tests/VersionTest.php | 135 - .../phpstorm-stubs/.github/workflows/main.yml | 50 + .../.github/workflows/testLinks.yml | 28 + .../.github/workflows/testPeclExtensions.yml | 35 + .../jetbrains/phpstorm-stubs/.gitignore | 24 + .../phpstorm-stubs/.php-cs-fixer.php | 130 + .../jetbrains/phpstorm-stubs/.space.kts | 55 + .../jetbrains/phpstorm-stubs/CONTRIBUTING.md | 42 + .../jetbrains/phpstorm-stubs/Core/Core.php | 1106 ++ .../jetbrains/phpstorm-stubs/Core/Core_c.php | 1126 ++ .../jetbrains/phpstorm-stubs/Core/Core_d.php | 277 + .../vendor/jetbrains/phpstorm-stubs/Ev/Ev.php | 1586 ++ .../phpstorm-stubs/FFI/.phpstorm.meta.php | 113 + .../jetbrains/phpstorm-stubs/FFI/FFI.php | 717 + .../jetbrains/phpstorm-stubs/Inspections.xml | 64 + .../phpstorm-stubs/LuaSandbox/LuaSandbox.php | 445 + .../jetbrains/phpstorm-stubs/PDO/PDO.php | 1952 +++ .../phpstorm-stubs/Parle/ErrorInfo.php | 16 + .../jetbrains/phpstorm-stubs/Parle/Lexer.php | 140 + .../phpstorm-stubs/Parle/LexerException.php | 8 + .../jetbrains/phpstorm-stubs/Parle/Parser.php | 191 + .../phpstorm-stubs/Parle/ParserException.php | 8 + .../jetbrains/phpstorm-stubs/Parle/RLexer.php | 200 + .../phpstorm-stubs/Parle/RParser.php | 197 + .../jetbrains/phpstorm-stubs/Parle/Stack.php | 44 + .../jetbrains/phpstorm-stubs/Parle/Token.php | 23 + .../jetbrains/phpstorm-stubs/Phar/Phar.php | 1266 ++ .../phpstorm-stubs/PhpStormStubsMap.php | 14199 ++++++++++++++++ .../vendor/jetbrains/phpstorm-stubs/README.md | 47 + .../Reflection/.phpstorm.meta.php | 66 + .../phpstorm-stubs/Reflection/Reflection.php | 37 + .../Reflection/ReflectionAttribute.php | 83 + .../Reflection/ReflectionClass.php | 690 + .../Reflection/ReflectionClassConstant.php | 223 + .../Reflection/ReflectionEnum.php | 40 + .../Reflection/ReflectionEnumBackedCase.php | 13 + .../Reflection/ReflectionEnumPureCase.php | 7 + .../Reflection/ReflectionEnumUnitCase.php | 19 + .../Reflection/ReflectionException.php | 8 + .../Reflection/ReflectionExtension.php | 194 + .../Reflection/ReflectionFiber.php | 19 + .../Reflection/ReflectionFunction.php | 109 + .../Reflection/ReflectionFunctionAbstract.php | 350 + .../Reflection/ReflectionGenerator.php | 101 + .../Reflection/ReflectionIntersectionType.php | 13 + .../Reflection/ReflectionMethod.php | 304 + .../Reflection/ReflectionNamedType.php | 33 + .../Reflection/ReflectionObject.php | 36 + .../Reflection/ReflectionParameter.php | 309 + .../Reflection/ReflectionProperty.php | 348 + .../Reflection/ReflectionReference.php | 49 + .../Reflection/ReflectionType.php | 64 + .../Reflection/ReflectionUnionType.php | 17 + .../Reflection/ReflectionZendExtension.php | 129 + .../phpstorm-stubs/Reflection/Reflector.php | 29 + .../jetbrains/phpstorm-stubs/SPL/SPL.php | 2125 +++ .../jetbrains/phpstorm-stubs/SPL/SPL_c1.php | 2423 +++ .../jetbrains/phpstorm-stubs/SPL/SPL_f.php | 201 + .../phpstorm-stubs/SQLite/SQLite.php | 1409 ++ .../phpstorm-stubs/SaxonC/SaxonC.php | 1200 ++ .../phpstorm-stubs/SimpleXML/SimpleXML.php | 517 + .../phpstorm-stubs/SplType/SplType.php | 105 + .../phpstorm-stubs/Zend OPcache/OPcache.php | 83 + .../phpstorm-stubs/ZendCache/ZendCache.php | 96 + .../ZendDebugger/ZendDebugger.php | 17 + .../phpstorm-stubs/ZendUtils/ZendUtils.php | 17 + .../phpstorm-stubs/aerospike/Bytes.php | 95 + .../phpstorm-stubs/aerospike/aerospike.php | 5318 ++++++ .../jetbrains/phpstorm-stubs/amqp/amqp.php | 1718 ++ .../phpstorm-stubs/apache/apache.php | 116 + .../jetbrains/phpstorm-stubs/apcu/apcu.php | 660 + .../jetbrains/phpstorm-stubs/ast/ast.php | 485 + .../phpstorm-stubs/bcmath/bcmath.php | 248 + .../phpstorm-stubs/blackfire/blackfire.php | 137 + .../jetbrains/phpstorm-stubs/bz2/bz2.php | 172 + .../phpstorm-stubs/calendar/calendar.php | 314 + .../phpstorm-stubs/cassandra/cassandra.php | 6867 ++++++++ .../phpstorm-stubs/com_dotnet/com_dotnet.php | 446 + .../jetbrains/phpstorm-stubs/composer.json | 35 + .../phpstorm-stubs/couchbase/couchbase.php | 4134 +++++ .../phpstorm-stubs/couchbase_v2/couchbase.php | 3618 ++++ .../phpstorm-stubs/couchbase_v2/toplevel.php | 139 + .../phpstorm-stubs/crypto/crypto.php | 771 + .../jetbrains/phpstorm-stubs/ctype/ctype.php | 143 + .../phpstorm-stubs/cubrid/cubrid.php | 1958 +++ .../phpstorm-stubs/curl/CURLStringFile.php | 13 + .../jetbrains/phpstorm-stubs/curl/curl.php | 2836 +++ .../jetbrains/phpstorm-stubs/curl/curl_d.php | 4258 +++++ .../jetbrains/phpstorm-stubs/date/date.php | 1604 ++ .../jetbrains/phpstorm-stubs/date/date_c.php | 1101 ++ .../jetbrains/phpstorm-stubs/date/date_d.php | 45 + .../jetbrains/phpstorm-stubs/dba/dba.php | 359 + .../phpstorm-stubs/decimal/decimal.php | 466 + .../jetbrains/phpstorm-stubs/dio/dio.php | 215 + .../jetbrains/phpstorm-stubs/dio/dio_d.php | 138 + .../phpstorm-stubs/docker-compose.yml | 14 + .../jetbrains/phpstorm-stubs/dom/dom.php | 211 + .../jetbrains/phpstorm-stubs/dom/dom_c.php | 2494 +++ .../vendor/jetbrains/phpstorm-stubs/ds/ds.php | 2516 +++ .../jetbrains/phpstorm-stubs/eio/eio.php | 665 + .../elastic_apm/elastic_apm.php | 940 + .../phpstorm-stubs/enchant/enchant.php | 334 + .../jetbrains/phpstorm-stubs/event/event.php | 1919 +++ .../jetbrains/phpstorm-stubs/exif/exif.php | 146 + .../phpstorm-stubs/expect/expect.php | 99 + .../jetbrains/phpstorm-stubs/fann/fann.php | 1653 ++ .../phpstorm-stubs/ffmpeg/ffmpeg.php | 216 + .../phpstorm-stubs/fileinfo/fileinfo.php | 255 + .../phpstorm-stubs/filter/filter.php | 536 + .../jetbrains/phpstorm-stubs/fpm/fpm.php | 16 + .../phpstorm-stubs/ftp/Connection.php | 8 + .../jetbrains/phpstorm-stubs/ftp/ftp.php | 790 + .../jetbrains/phpstorm-stubs/gd/GdFont.php | 6 + .../vendor/jetbrains/phpstorm-stubs/gd/gd.php | 3174 ++++ .../phpstorm-stubs/gearman/gearman.php | 2234 +++ .../jetbrains/phpstorm-stubs/geoip/geoip.php | 274 + .../jetbrains/phpstorm-stubs/geos/geos.php | 734 + .../phpstorm-stubs/gettext/gettext.php | 140 + .../phpstorm-stubs/gmagick/gmagick.php | 2751 +++ .../jetbrains/phpstorm-stubs/gmp/gmp.php | 824 + .../jetbrains/phpstorm-stubs/gnupg/gnupg.php | 533 + .../jetbrains/phpstorm-stubs/grpc/grpc.php | 726 + .../jetbrains/phpstorm-stubs/hash/hash.php | 464 + .../jetbrains/phpstorm-stubs/http/http.php | 3289 ++++ .../jetbrains/phpstorm-stubs/http/http3.php | 3673 ++++ .../phpstorm-stubs/ibm_db2/ibm_db2.php | 1866 ++ .../jetbrains/phpstorm-stubs/iconv/iconv.php | 444 + .../phpstorm-stubs/igbinary/igbinary.php | 40 + .../phpstorm-stubs/imagick/imagick.php | 7331 ++++++++ .../phpstorm-stubs/imap/Connection.php | 8 + .../jetbrains/phpstorm-stubs/imap/imap.php | 1783 ++ .../phpstorm-stubs/inotify/inotify.php | 169 + .../phpstorm-stubs/interbase/interbase.php | 1814 ++ .../phpstorm-stubs/intl/IntlChar.php | 1487 ++ .../intl/IntlDatePatternGenerator.php | 13 + .../jetbrains/phpstorm-stubs/intl/intl.php | 7704 +++++++++ .../jetbrains/phpstorm-stubs/json/json.php | 467 + .../jetbrains/phpstorm-stubs/judy/judy.php | 217 + .../phpstorm-stubs/ldap/Connection.php | 8 + .../jetbrains/phpstorm-stubs/ldap/Result.php | 8 + .../phpstorm-stubs/ldap/ResultEntry.php | 8 + .../jetbrains/phpstorm-stubs/ldap/ldap.php | 1762 ++ .../phpstorm-stubs/leveldb/LevelDB.php | 154 + .../phpstorm-stubs/libevent/libevent.php | 687 + .../phpstorm-stubs/libsodium/libsodium.php | 789 + .../libvirt-php/libvirt-php.php | 2054 +++ .../phpstorm-stubs/libxml/libxml.php | 350 + .../jetbrains/phpstorm-stubs/lua/lua.php | 79 + .../jetbrains/phpstorm-stubs/lzf/lzf.php | 38 + .../phpstorm-stubs/mailparse/mailparse.php | 228 + .../phpstorm-stubs/mapscript/mapscript.php | 4945 ++++++ .../phpstorm-stubs/mbstring/mbstring.php | 1460 ++ .../phpstorm-stubs/mcrypt/mcrypt.php | 877 + .../phpstorm-stubs/memcache/memcache.php | 452 + .../phpstorm-stubs/memcached/memcached.php | 1558 ++ .../phpstorm-stubs/meminfo/meminfo.php | 10 + .../phpstorm-stubs/meta/.phpstorm.meta.php | 706 + .../meta/attributes/ArrayShape.php | 22 + .../meta/attributes/Deprecated.php | 47 + .../meta/attributes/ExpectedValues.php | 42 + .../meta/attributes/Immutable.php | 27 + .../meta/attributes/Language.php | 20 + .../meta/attributes/NoReturn.php | 24 + .../phpstorm-stubs/meta/attributes/Pure.php | 20 + .../internal/LanguageLevelTypeAware.php | 16 + .../PhpStormStubsElementAvailable.php | 21 + .../internal/ReturnTypeContract.php | 21 + .../attributes/internal/TentativeType.php | 13 + .../meta/encodings/.phpstorm.meta.php | 257 + .../meta/hash_algo/.phpstorm.meta.php | 56 + .../meta/locales/.phpstorm.meta.php | 211 + .../meta/mockery/.phpstorm.meta.php | 11 + .../meta/phpunit/.phpstorm.meta.php | 73 + .../meta/psr/log/.phpstorm.meta.php | 5 + .../jetbrains/phpstorm-stubs/ming/ming.php | 456 + .../jetbrains/phpstorm-stubs/mongo/mongo.php | 2640 +++ .../phpstorm-stubs/mongodb/ServerApi.php | 18 + .../phpstorm-stubs/mongodb/mongodb.php | 2876 ++++ .../mosquitto-php/mosquitto-php.php | 349 + .../phpstorm-stubs/mqseries/mqseries.php | 1463 ++ .../phpstorm-stubs/msgpack/msgpack.php | 88 + .../jetbrains/phpstorm-stubs/mssql/mssql.php | 633 + .../jetbrains/phpstorm-stubs/mysql/mysql.php | 986 ++ .../mysql_xdevapi/mysql_xdevapi.php | 1558 ++ .../phpstorm-stubs/mysqli/mysqli.php | 3573 ++++ .../phpstorm-stubs/ncurses/ncurses.php | 1729 ++ .../phpstorm-stubs/newrelic/newrelic.php | 648 + .../jetbrains/phpstorm-stubs/oauth/oauth.php | 363 + .../jetbrains/phpstorm-stubs/oci8/oci8.php | 2772 +++ .../jetbrains/phpstorm-stubs/oci8/oci8v3.php | 394 + .../jetbrains/phpstorm-stubs/odbc/odbc.php | 952 ++ .../phpstorm-stubs/openssl/openssl.php | 1507 ++ .../phpstorm-stubs/parallel/parallel.php | 45 + .../parallel/parallel/Channel.php | 109 + .../parallel/parallel/Channel/Error.php | 5 + .../parallel/Channel/Error/Closed.php | 7 + .../parallel/Channel/Error/Existence.php | 7 + .../parallel/Channel/Error/IllegalValue.php | 7 + .../parallel/parallel/Error.php | 5 + .../parallel/parallel/Events.php | 113 + .../parallel/parallel/Events/Error.php | 5 + .../parallel/Events/Error/Existence.php | 7 + .../parallel/Events/Error/Timeout.php | 7 + .../parallel/parallel/Events/Event.php | 34 + .../parallel/parallel/Events/Event/Error.php | 5 + .../parallel/parallel/Events/Event/Type.php | 24 + .../parallel/parallel/Events/Input.php | 39 + .../parallel/parallel/Events/Input/Error.php | 5 + .../parallel/Events/Input/Error/Existence.php | 7 + .../Events/Input/Error/IllegalValue.php | 7 + .../parallel/parallel/Future.php | 59 + .../parallel/parallel/Future/Error.php | 5 + .../parallel/Future/Error/Cancelled.php | 7 + .../parallel/Future/Error/Foreign.php | 7 + .../parallel/parallel/Future/Error/Killed.php | 7 + .../parallel/parallel/Runtime.php | 117 + .../parallel/parallel/Runtime/Error.php | 5 + .../parallel/Runtime/Error/Bootstrap.php | 7 + .../parallel/Runtime/Error/Closed.php | 7 + .../Runtime/Error/IllegalFunction.php | 7 + .../Runtime/Error/IllegalInstruction.php | 7 + .../Runtime/Error/IllegalParameter.php | 7 + .../parallel/Runtime/Error/IllegalReturn.php | 7 + .../Runtime/Error/IllegalVariable.php | 7 + .../parallel/Runtime/Error/Killed.php | 7 + .../parallel/Runtime/Object/Unavailable.php | 5 + .../parallel/Runtime/Type/Unavailable.php | 5 + .../phpstorm-stubs/parallel/parallel/Sync.php | 63 + .../parallel/parallel/Sync/Error.php | 5 + .../parallel/Sync/Error/IllegalValue.php | 7 + .../jetbrains/phpstorm-stubs/pcntl/pcntl.php | 845 + .../jetbrains/phpstorm-stubs/pcov/pcov.php | 67 + .../jetbrains/phpstorm-stubs/pcre/pcre.php | 638 + .../phpstorm-stubs/pdflib/PDFlib.php | 3481 ++++ .../phpstorm-stubs/pdo_ibm/pdo_ibm.php | 7 + .../phpstorm-stubs/pdo_mysql/pdo_mysql.php | 4 + .../phpstorm-stubs/pdo_pgsql/pdo_pgsql.php | 4 + .../phpstorm-stubs/pdo_sqlite/pdo_sqlite.php | 4 + .../jetbrains/phpstorm-stubs/pgsql/pgsql.php | 2428 +++ .../phpstorm-stubs/pgsql/pgsql_c.php | 24 + .../phpstorm-stubs/phpdbg/phpdbg.php | 26 + .../jetbrains/phpstorm-stubs/phpunit.xml.dist | 101 + .../jetbrains/phpstorm-stubs/posix/posix.php | 913 + .../vendor/jetbrains/phpstorm-stubs/pq/pq.php | 2749 +++ .../phpstorm-stubs/pspell/pspell.php | 295 + .../phpstorm-stubs/pspell/pspell_c.php | 15 + .../phpstorm-stubs/pthreads/pthreads.php | 530 + .../jetbrains/phpstorm-stubs/qodana.yaml | 200 + .../phpstorm-stubs/radius/radius.php | 384 + .../phpstorm-stubs/random/random.php | 233 + .../jetbrains/phpstorm-stubs/rar/rar.php | 605 + .../phpstorm-stubs/rdkafka/RdKafka.php | 93 + .../phpstorm-stubs/rdkafka/RdKafka/Conf.php | 80 + .../rdkafka/RdKafka/Consumer.php | 24 + .../rdkafka/RdKafka/ConsumerTopic.php | 52 + .../rdkafka/RdKafka/Exception.php | 5 + .../rdkafka/RdKafka/KafkaConsumer.php | 124 + .../rdkafka/RdKafka/KafkaConsumerTopic.php | 16 + .../rdkafka/RdKafka/KafkaErrorException.php | 36 + .../rdkafka/RdKafka/Message.php | 57 + .../rdkafka/RdKafka/Metadata.php | 29 + .../rdkafka/RdKafka/Metadata/Broker.php | 12 + .../rdkafka/RdKafka/Metadata/Collection.php | 36 + .../rdkafka/RdKafka/Metadata/Partition.php | 31 + .../rdkafka/RdKafka/Metadata/Topic.php | 21 + .../rdkafka/RdKafka/Producer.php | 45 + .../rdkafka/RdKafka/ProducerTopic.php | 32 + .../phpstorm-stubs/rdkafka/RdKafka/Queue.php | 15 + .../phpstorm-stubs/rdkafka/RdKafka/Topic.php | 11 + .../rdkafka/RdKafka/TopicConf.php | 31 + .../rdkafka/RdKafka/TopicPartition.php | 49 + .../phpstorm-stubs/rdkafka/constants.php | 190 + .../phpstorm-stubs/rdkafka/functions.php | 43 + .../phpstorm-stubs/readline/readline.php | 154 + .../phpstorm-stubs/recode/recode.php | 48 + .../jetbrains/phpstorm-stubs/redis/Redis.php | 5147 ++++++ .../phpstorm-stubs/redis/RedisArray.php | 210 + .../phpstorm-stubs/redis/RedisCluster.php | 3572 ++++ .../phpstorm-stubs/redis/RedisSentinel.php | 197 + .../jetbrains/phpstorm-stubs/regex/ereg.php | 229 + .../phpstorm-stubs/rpminfo/rpminfo.php | 356 + .../jetbrains/phpstorm-stubs/rrd/rrd.php | 331 + .../jetbrains/phpstorm-stubs/runTests.sh | 20 + .../phpstorm-stubs/session/SessionHandler.php | 312 + .../phpstorm-stubs/session/session.php | 461 + .../jetbrains/phpstorm-stubs/shmop/shmop.php | 112 + .../simple_kafka_client/SimpleKafkaClient.php | 61 + .../SimpleKafkaClient/Configuration.php | 55 + .../SimpleKafkaClient/Consumer.php | 84 + .../SimpleKafkaClient/Exception.php | 6 + .../SimpleKafkaClient/KafkaErrorException.php | 33 + .../SimpleKafkaClient/Message.php | 26 + .../SimpleKafkaClient/Metadata.php | 31 + .../SimpleKafkaClient/Metadata/Broker.php | 22 + .../SimpleKafkaClient/Metadata/Collection.php | 37 + .../SimpleKafkaClient/Metadata/Partition.php | 32 + .../SimpleKafkaClient/Metadata/Topic.php | 22 + .../SimpleKafkaClient/Producer.php | 58 + .../SimpleKafkaClient/Topic.php | 42 + .../SimpleKafkaClient/TopicPartition.php | 51 + .../simple_kafka_client/functions.php | 40 + .../phpstorm-stubs/snappy/snappy/snappy.php | 17 + .../jetbrains/phpstorm-stubs/snmp/snmp.php | 1027 ++ .../jetbrains/phpstorm-stubs/soap/soap.php | 1203 ++ .../phpstorm-stubs/sockets/sockets.php | 2365 +++ .../phpstorm-stubs/sodium/sodium.php | 1180 ++ .../solr/Documents/SolrDocument.php | 405 + .../solr/Documents/SolrDocumentField.php | 39 + .../solr/Documents/SolrInputDocument.php | 304 + .../solr/Exceptions/SolrClientException.php | 27 + .../solr/Exceptions/SolrException.php | 36 + .../SolrIllegalArgumentException.php | 27 + .../SolrIllegalOperationException.php | 27 + ...SolrMissingMandatoryParameterException.php | 14 + .../solr/Exceptions/SolrServerException.php | 27 + .../solr/Queries/SolrCollapseFunction.php | 150 + .../solr/Queries/SolrDisMaxQuery.php | 350 + .../solr/Queries/SolrModifiableParams.php | 30 + .../solr/Queries/SolrParams.php | 159 + .../phpstorm-stubs/solr/Queries/SolrQuery.php | 2425 +++ .../solr/Responses/SolrGenericResponse.php | 30 + .../solr/Responses/SolrPingResponse.php | 41 + .../solr/Responses/SolrQueryResponse.php | 30 + .../solr/Responses/SolrResponse.php | 166 + .../solr/Responses/SolrUpdateResponse.php | 30 + .../phpstorm-stubs/solr/SolrClient.php | 497 + .../phpstorm-stubs/solr/Utils/SolrObject.php | 91 + .../phpstorm-stubs/solr/Utils/SolrUtils.php | 76 + .../phpstorm-stubs/solr/constants.php | 19 + .../phpstorm-stubs/solr/functions.php | 17 + .../phpstorm-stubs/sqlite3/sqlite3.php | 685 + .../phpstorm-stubs/sqlsrv/sqlsrv.php | 1800 ++ .../jetbrains/phpstorm-stubs/ssh2/ssh2.php | 804 + .../standard/_standard_manual.php | 41 + .../phpstorm-stubs/standard/_types.php | 412 + .../phpstorm-stubs/standard/basic.php | 284 + .../phpstorm-stubs/standard/password.php | 213 + .../phpstorm-stubs/standard/standard_0.php | 1433 ++ .../phpstorm-stubs/standard/standard_1.php | 1233 ++ .../phpstorm-stubs/standard/standard_2.php | 1016 ++ .../phpstorm-stubs/standard/standard_3.php | 1104 ++ .../phpstorm-stubs/standard/standard_4.php | 1202 ++ .../phpstorm-stubs/standard/standard_5.php | 1093 ++ .../phpstorm-stubs/standard/standard_6.php | 1218 ++ .../phpstorm-stubs/standard/standard_7.php | 1197 ++ .../phpstorm-stubs/standard/standard_8.php | 1114 ++ .../phpstorm-stubs/standard/standard_9.php | 1317 ++ .../standard/standard_defines.php | 1506 ++ .../jetbrains/phpstorm-stubs/stats/stats.php | 718 + .../jetbrains/phpstorm-stubs/stomp/stomp.php | 305 + .../phpstorm-stubs/suhosin/suhosin.php | 23 + .../superglobals/_superglobals.php | 237 + .../jetbrains/phpstorm-stubs/svm/SVM.php | 174 + .../jetbrains/phpstorm-stubs/svm/SVMModel.php | 104 + .../jetbrains/phpstorm-stubs/svn/svn.php | 1306 ++ .../phpstorm-stubs/swoole/Swoole/Atomic.php | 42 + .../swoole/Swoole/Atomic/Long.php | 32 + .../phpstorm-stubs/swoole/Swoole/Client.php | 118 + .../swoole/Swoole/Client/Exception.php | 7 + .../swoole/Swoole/Connection/Iterator.php | 42 + .../swoole/Swoole/Coroutine.php | 268 + .../swoole/Swoole/Coroutine/Channel.php | 51 + .../swoole/Swoole/Coroutine/Client.php | 120 + .../swoole/Swoole/Coroutine/Context.php | 11 + .../Swoole/Coroutine/Curl/Exception.php | 7 + .../swoole/Swoole/Coroutine/Http/Client.php | 188 + .../Coroutine/Http/Client/Exception.php | 7 + .../swoole/Swoole/Coroutine/Http/Server.php | 46 + .../swoole/Swoole/Coroutine/Http2/Client.php | 87 + .../Coroutine/Http2/Client/Exception.php | 7 + .../swoole/Swoole/Coroutine/Iterator.php | 11 + .../swoole/Swoole/Coroutine/MySQL.php | 102 + .../Swoole/Coroutine/MySQL/Exception.php | 7 + .../Swoole/Coroutine/MySQL/Statement.php | 50 + .../swoole/Swoole/Coroutine/Redis.php | 1295 ++ .../swoole/Swoole/Coroutine/Scheduler.php | 54 + .../swoole/Swoole/Coroutine/Socket.php | 205 + .../Swoole/Coroutine/Socket/Exception.php | 7 + .../swoole/Swoole/Coroutine/System.php | 117 + .../phpstorm-stubs/swoole/Swoole/Error.php | 7 + .../phpstorm-stubs/swoole/Swoole/Event.php | 73 + .../swoole/Swoole/Exception.php | 7 + .../swoole/Swoole/ExitException.php | 21 + .../swoole/Swoole/Http/Request.php | 68 + .../swoole/Swoole/Http/Response.php | 177 + .../swoole/Swoole/Http/Server.php | 7 + .../swoole/Swoole/Http2/Request.php | 15 + .../swoole/Swoole/Http2/Response.php | 17 + .../phpstorm-stubs/swoole/Swoole/Lock.php | 49 + .../phpstorm-stubs/swoole/Swoole/Process.php | 181 + .../swoole/Swoole/Process/Pool.php | 66 + .../swoole/Swoole/Redis/Server.php | 93 + .../phpstorm-stubs/swoole/Swoole/Runtime.php | 36 + .../phpstorm-stubs/swoole/Swoole/Server.php | 433 + .../swoole/Swoole/Server/Event.php | 13 + .../swoole/Swoole/Server/Packet.php | 14 + .../swoole/Swoole/Server/PipeMessage.php | 12 + .../swoole/Swoole/Server/Port.php | 52 + .../swoole/Swoole/Server/StatusInfo.php | 14 + .../swoole/Swoole/Server/Task.php | 26 + .../swoole/Swoole/Server/TaskResult.php | 13 + .../phpstorm-stubs/swoole/Swoole/Table.php | 202 + .../phpstorm-stubs/swoole/Swoole/Timer.php | 53 + .../swoole/Swoole/Timer/Iterator.php | 10 + .../swoole/Swoole/WebSocket/CloseFrame.php | 12 + .../swoole/Swoole/WebSocket/Frame.php | 30 + .../swoole/Swoole/WebSocket/Server.php | 45 + .../phpstorm-stubs/swoole/aliases.php | 51 + .../phpstorm-stubs/swoole/constants.php | 397 + .../phpstorm-stubs/swoole/functions.php | 414 + .../phpstorm-stubs/sybase/sybase_ct.php | 225 + .../jetbrains/phpstorm-stubs/sync/sync.php | 294 + .../phpstorm-stubs/sysvmsg/sysvmsg.php | 287 + .../phpstorm-stubs/sysvsem/sysvsem.php | 79 + .../phpstorm-stubs/sysvshm/sysvshm.php | 119 + .../phpstorm-stubs/tests/.phpstorm.meta.php | 4 + .../tests/AbstractBaseStubsTestCase.php | 211 + .../phpstorm-stubs/tests/BaseClassesTest.php | 287 + .../tests/BaseConstantsTest.php | 69 + .../tests/BaseFunctionsTest.php | 190 + .../phpstorm-stubs/tests/CheckStubMapTest.php | 41 + .../tests/CodeStyle/BracesOneLineFixer.php | 87 + .../tests/DockerImages/5.6/Dockerfile | 12 + .../tests/DockerImages/7.0/Dockerfile | 13 + .../tests/DockerImages/7.1/Dockerfile | 14 + .../tests/DockerImages/7.2/Dockerfile | 14 + .../tests/DockerImages/7.3/Dockerfile | 14 + .../tests/DockerImages/7.4/Dockerfile | 14 + .../tests/DockerImages/8.0/Dockerfile | 14 + .../tests/DockerImages/8.1/Dockerfile | 14 + .../tests/DockerImages/8.2/Dockerfile | 14 + .../DockerImages/peclExtensions/Dockerfile | 52 + .../tests/DockerImages/testRunner/Dockerfile | 8 + .../tests/Model/BasePHPClass.php | 88 + .../tests/Model/BasePHPElement.php | 254 + .../tests/Model/CommonUtils.php | 19 + .../phpstorm-stubs/tests/Model/PHPClass.php | 209 + .../phpstorm-stubs/tests/Model/PHPConst.php | 141 + .../tests/Model/PHPDefineConstant.php | 56 + .../tests/Model/PHPDocElement.php | 115 + .../tests/Model/PHPFunction.php | 203 + .../tests/Model/PHPInterface.php | 91 + .../phpstorm-stubs/tests/Model/PHPMethod.php | 196 + .../tests/Model/PHPParameter.php | 116 + .../tests/Model/PHPProperty.php | 112 + .../tests/Model/PhpVersions.php | 64 + .../tests/Model/StubProblemType.php | 34 + .../tests/Model/StubsContainer.php | 284 + .../tests/Model/Tags/RemovedTag.php | 67 + .../tests/Parsers/DocFactoryProvider.php | 20 + .../Parsers/ExpectedFunctionArgumentsInfo.php | 61 + .../MetaExpectedArgumentsCollector.php | 124 + .../tests/Parsers/PHPReflectionParser.php | 65 + .../tests/Parsers/ParserUtils.php | 172 + .../tests/Parsers/StubParser.php | 116 + .../tests/Parsers/StubsParserErrorHandler.php | 15 + .../tests/Parsers/Visitors/ASTVisitor.php | 175 + .../Parsers/Visitors/CoreStubASTVisitor.php | 17 + .../Visitors/MetaOverrideFunctionsParser.php | 63 + .../Parsers/Visitors/ParentConnector.php | 37 + .../StubsCompositeMixedReturnTypeTest.php | 32 + .../StubsConstantsAndParametersValuesTest.php | 88 + .../tests/StubsForbiddenTypeHintsTest.php | 102 + .../tests/StubsMetaExpectedArgumentsTest.php | 298 + .../tests/StubsMetaInternalTagTest.php | 89 + .../tests/StubsParameterNamesTest.php | 69 + .../phpstorm-stubs/tests/StubsPhp81Tests.php | 75 + .../phpstorm-stubs/tests/StubsPhpDocTest.php | 233 + .../tests/StubsReflectionClassesTest.php | 79 + .../tests/StubsStructureTest.php | 24 + .../tests/StubsTypeHintsTest.php | 263 + .../TestData/Providers/EntitiesFilter.php | 99 + .../Providers/PhpStormStubsSingleton.php | 20 + .../ReflectionClassesTestDataProviders.php | 80 + .../ReflectionConstantsProvider.php | 69 + .../ReflectionFunctionsProvider.php | 53 + .../Reflection/ReflectionMethodsProvider.php | 91 + .../ReflectionParametersProvider.php | 121 + .../ReflectionPropertiesProvider.php | 52 + .../Providers/ReflectionStubsSingleton.php | 25 + .../Providers/Stubs/PhpCoreStubsProvider.php | 229 + .../Providers/Stubs/StubConstantsProvider.php | 28 + .../Providers/Stubs/StubMethodsProvider.php | 123 + .../Stubs/StubsCompositeMixedProvider.php | 25 + .../Stubs/StubsParametersProvider.php | 100 + .../Stubs/StubsTestDataProviders.php | 53 + .../tests/TestData/mutedProblems.json | 3284 ++++ .../tests/Tools/ModelAutoloader.php | 19 + .../tests/Tools/dump-pecl-to-file.php | 33 + .../tests/Tools/dump-reflection-to-file.php | 12 + .../tests/Tools/generate-stub-map | 289 + .../jetbrains/phpstorm-stubs/tidy/tidy.php | 1162 ++ .../phpstorm-stubs/tokenizer/PhpToken.php | 77 + .../phpstorm-stubs/tokenizer/tokenizer.php | 237 + .../jetbrains/phpstorm-stubs/uopz/uopz.php | 275 + .../uploadprogress/uploadprogress.php | 21 + .../jetbrains/phpstorm-stubs/uuid/uuid_c.php | 128 + .../vendor/jetbrains/phpstorm-stubs/uv/UV.php | 203 + .../phpstorm-stubs/uv/uv_functions.php | 1336 ++ .../jetbrains/phpstorm-stubs/v8js/v8js.php | 170 + .../jetbrains/phpstorm-stubs/wddx/wddx.php | 82 + .../win32service/win32service.php | 578 + .../phpstorm-stubs/winbinder/winbinder.php | 1753 ++ .../phpstorm-stubs/wincache/wincache.php | 439 + .../phpstorm-stubs/xcache/xcache.php | 217 + .../phpstorm-stubs/xdebug/xdebug.php | 382 + .../jetbrains/phpstorm-stubs/xdiff/xdiff.php | 202 + .../phpstorm-stubs/xhprof/xhprof.php | 64 + .../phpstorm-stubs/xlswriter/xlswriter.php | 625 + .../jetbrains/phpstorm-stubs/xml/xml.php | 561 + .../phpstorm-stubs/xmlreader/xmlreader.php | 457 + .../phpstorm-stubs/xmlrpc/xmlrpc.php | 152 + .../phpstorm-stubs/xmlwriter/xmlwriter.php | 1315 ++ .../jetbrains/phpstorm-stubs/xsl/xsl.php | 203 + .../jetbrains/phpstorm-stubs/xxtea/xxtea.php | 56 + .../jetbrains/phpstorm-stubs/yaf/yaf.php | 3040 ++++ .../phpstorm-stubs/yaf/yaf_namespace.php | 2882 ++++ .../jetbrains/phpstorm-stubs/yaml/yaml.php | 121 + .../jetbrains/phpstorm-stubs/yar/yar.php | 198 + .../jetbrains/phpstorm-stubs/zend/zend.php | 650 + .../jetbrains/phpstorm-stubs/zend/zend_d.php | 33 + .../jetbrains/phpstorm-stubs/zend/zend_f.php | 148 + .../jetbrains/phpstorm-stubs/zip/zip.php | 1481 ++ .../jetbrains/phpstorm-stubs/zlib/zlib.php | 582 + .../jetbrains/phpstorm-stubs/zmq/zmq.php | 829 + .../phpstorm-stubs/zookeeper/zookeeper.php | 366 + .../jetbrains/phpstorm-stubs/zstd/zstd.php | 159 + .../justinrainbow/json-schema/.gitattributes | 5 - .../vendor/justinrainbow/json-schema/LICENSE | 29 - .../justinrainbow/json-schema/README.md | 55 - .../json-schema/bin/validate-json | 245 - .../justinrainbow/json-schema/composer.json | 58 - .../json-schema/phpunit.xml.dist | 26 - .../Constraints/CollectionConstraint.php | 112 - .../src/JsonSchema/Constraints/Constraint.php | 291 - .../Constraints/ConstraintInterface.php | 60 - .../JsonSchema/Constraints/EnumConstraint.php | 46 - .../src/JsonSchema/Constraints/Factory.php | 96 - .../Constraints/FormatConstraint.php | 181 - .../Constraints/NumberConstraint.php | 83 - .../Constraints/ObjectConstraint.php | 149 - .../Constraints/SchemaConstraint.php | 37 - .../Constraints/StringConstraint.php | 57 - .../JsonSchema/Constraints/TypeConstraint.php | 145 - .../Constraints/UndefinedConstraint.php | 307 - .../Exception/InvalidArgumentException.php | 17 - .../InvalidSchemaMediaTypeException.php | 17 - .../Exception/InvalidSourceUriException.php | 17 - .../Exception/JsonDecodingException.php | 40 - .../Exception/ResourceNotFoundException.php | 17 - .../Exception/UriResolverException.php | 17 - .../src/JsonSchema/RefResolver.php | 277 - .../Uri/Retrievers/AbstractRetriever.php | 29 - .../src/JsonSchema/Uri/Retrievers/Curl.php | 79 - .../Uri/Retrievers/FileGetContents.php | 87 - .../Uri/Retrievers/PredefinedArray.php | 54 - .../Uri/Retrievers/UriRetrieverInterface.php | 32 - .../src/JsonSchema/Uri/UriResolver.php | 157 - .../src/JsonSchema/Uri/UriRetriever.php | 289 - .../json-schema/src/JsonSchema/Validator.php | 40 - apigen/vendor/kdyby/events/README.md | 39 - apigen/vendor/kdyby/events/composer.json | 66 - apigen/vendor/kdyby/events/license.md | 57 - .../kdyby/events/src/Doctrine/aliases.php | 32 - .../events/src/Doctrine/compatibility.php | 13 - .../src/Kdyby/Events/DI/EventsExtension.php | 411 - .../src/Kdyby/Events/Diagnostics/Panel.php | 557 - .../src/Kdyby/Events/Diagnostics/add.png | Bin 745 -> 0 bytes .../src/Kdyby/Events/Diagnostics/icon.png | Bin 1853 -> 0 bytes .../src/Kdyby/Events/Diagnostics/run.png | Bin 998 -> 0 bytes .../kdyby/events/src/Kdyby/Events/Event.php | 354 - .../events/src/Kdyby/Events/EventArgs.php | 25 - .../events/src/Kdyby/Events/EventArgsList.php | 49 - .../events/src/Kdyby/Events/EventManager.php | 498 - .../src/Kdyby/Events/IExceptionHandler.php | 34 - .../src/Kdyby/Events/LazyEventManager.php | 118 - .../src/Kdyby/Events/LifeCycleEvent.php | 54 - .../Kdyby/Events/NamespacedEventManager.php | 176 - .../events/src/Kdyby/Events/Subscriber.php | 30 - .../src/Kdyby/Events/SymfonyDispatcher.php | 94 - .../events/src/Kdyby/Events/exceptions.php | 79 - apigen/vendor/kukulich/fshl/.gitattributes | 5 - apigen/vendor/kukulich/fshl/.gitignore | 5 - .../vendor/kukulich/fshl/FSHL/Generator.php | 624 - .../vendor/kukulich/fshl/FSHL/Highlighter.php | 482 - apigen/vendor/kukulich/fshl/FSHL/Lexer.php | 66 - .../kukulich/fshl/FSHL/Lexer/Cache/Cpp.php | 543 - .../kukulich/fshl/FSHL/Lexer/Cache/Css.php | 794 - .../kukulich/fshl/FSHL/Lexer/Cache/Html.php | 672 - .../fshl/FSHL/Lexer/Cache/HtmlOnly.php | 706 - .../kukulich/fshl/FSHL/Lexer/Cache/Java.php | 479 - .../fshl/FSHL/Lexer/Cache/Javascript.php | 507 - .../fshl/FSHL/Lexer/Cache/Minimal.php | 162 - .../kukulich/fshl/FSHL/Lexer/Cache/Neon.php | 710 - .../kukulich/fshl/FSHL/Lexer/Cache/Php.php | 992 -- .../kukulich/fshl/FSHL/Lexer/Cache/Python.php | 711 - .../kukulich/fshl/FSHL/Lexer/Cache/Sql.php | 594 - .../kukulich/fshl/FSHL/Lexer/Cache/Texy.php | 972 -- .../vendor/kukulich/fshl/FSHL/Lexer/Cpp.php | 308 - .../vendor/kukulich/fshl/FSHL/Lexer/Css.php | 255 - .../vendor/kukulich/fshl/FSHL/Lexer/Html.php | 218 - .../kukulich/fshl/FSHL/Lexer/HtmlOnly.php | 220 - .../vendor/kukulich/fshl/FSHL/Lexer/Java.php | 221 - .../kukulich/fshl/FSHL/Lexer/Javascript.php | 260 - .../kukulich/fshl/FSHL/Lexer/Minimal.php | 92 - .../vendor/kukulich/fshl/FSHL/Lexer/Neon.php | 230 - .../vendor/kukulich/fshl/FSHL/Lexer/Php.php | 3655 ---- .../kukulich/fshl/FSHL/Lexer/Python.php | 502 - .../vendor/kukulich/fshl/FSHL/Lexer/Sql.php | 557 - .../vendor/kukulich/fshl/FSHL/Lexer/Texy.php | 297 - apigen/vendor/kukulich/fshl/FSHL/Output.php | 48 - .../vendor/kukulich/fshl/FSHL/Output/Html.php | 89 - .../kukulich/fshl/FSHL/Output/HtmlManual.php | 123 - apigen/vendor/kukulich/fshl/LICENSE | 19 - apigen/vendor/kukulich/fshl/README.md | 65 - apigen/vendor/kukulich/fshl/composer.json | 25 - apigen/vendor/kukulich/fshl/style.css | 109 - apigen/vendor/latte/latte/bin/latte-lint | 35 + apigen/vendor/latte/latte/composer.json | 42 +- apigen/vendor/latte/latte/contributing.md | 27 - apigen/vendor/latte/latte/license.md | 2 +- apigen/vendor/latte/latte/readme.md | 291 +- .../src/Bridges/Tracy/BlueScreenPanel.php | 123 + .../latte/src/Bridges/Tracy/LattePanel.php | 122 + .../src/Bridges/Tracy/TracyExtension.php | 37 + .../Tracy/templates/LattePanel.panel.phtml | 98 + .../Tracy/templates/LattePanel.tab.phtml | 15 + .../vendor/latte/latte/src/Latte/Compiler.php | 607 - .../latte/latte/src/Latte/Compiler/Block.php | 41 + .../latte/src/Latte/Compiler/Escaper.php | 259 + .../src/Latte/Compiler/ExpressionBuilder.php | 129 + .../latte/latte/src/Latte/Compiler/Node.php | 21 + .../latte/src/Latte/Compiler/NodeHelpers.php | 128 + .../src/Latte/Compiler/NodeTraverser.php | 73 + .../src/Latte/Compiler/Nodes/AreaNode.php | 17 + .../Latte/Compiler/Nodes/AuxiliaryNode.php | 41 + .../src/Latte/Compiler/Nodes/FragmentNode.php | 69 + .../Compiler/Nodes/Html/AttributeNode.php | 66 + .../Compiler/Nodes/Html/BogusTagNode.php | 46 + .../Latte/Compiler/Nodes/Html/CommentNode.php | 39 + .../Latte/Compiler/Nodes/Html/ElementNode.php | 152 + .../src/Latte/Compiler/Nodes/NopNode.php | 27 + .../Latte/Compiler/Nodes/Php/ArgumentNode.php | 51 + .../Compiler/Nodes/Php/ArrayItemNode.php | 74 + .../Compiler/Nodes/Php/ClosureUseNode.php | 38 + .../Compiler/Nodes/Php/ComplexTypeNode.php | 17 + .../Nodes/Php/Expression/ArrayAccessNode.php | 41 + .../Nodes/Php/Expression/ArrayNode.php | 68 + .../Nodes/Php/Expression/AssignNode.php | 53 + .../Nodes/Php/Expression/AssignOpNode.php | 56 + .../Nodes/Php/Expression/AuxiliaryNode.php | 42 + .../Nodes/Php/Expression/BinaryOpNode.php | 65 + .../Nodes/Php/Expression/CastNode.php | 43 + .../Php/Expression/ClassConstantFetchNode.php | 42 + .../Nodes/Php/Expression/CloneNode.php | 36 + .../Nodes/Php/Expression/ClosureNode.php | 74 + .../Php/Expression/ConstantFetchNode.php | 45 + .../Nodes/Php/Expression/EmptyNode.php | 36 + .../Php/Expression/ErrorSuppressNode.php | 36 + .../Nodes/Php/Expression/FilterCallNode.php | 39 + .../Nodes/Php/Expression/FunctionCallNode.php | 45 + .../Php/Expression/FunctionCallableNode.php | 39 + .../Compiler/Nodes/Php/Expression/InNode.php | 42 + .../Nodes/Php/Expression/InstanceofNode.php | 40 + .../Nodes/Php/Expression/IssetNode.php | 54 + .../Nodes/Php/Expression/MatchNode.php | 49 + .../Nodes/Php/Expression/MethodCallNode.php | 50 + .../Php/Expression/MethodCallableNode.php | 42 + .../Compiler/Nodes/Php/Expression/NewNode.php | 45 + .../Compiler/Nodes/Php/Expression/NotNode.php | 36 + .../Nodes/Php/Expression/PostOpNode.php | 54 + .../Nodes/Php/Expression/PreOpNode.php | 54 + .../Php/Expression/PropertyFetchNode.php | 42 + .../Php/Expression/StaticMethodCallNode.php | 65 + .../Expression/StaticMethodCallableNode.php | 57 + .../Expression/StaticPropertyFetchNode.php | 42 + .../Nodes/Php/Expression/TemporaryNode.php | 38 + .../Nodes/Php/Expression/TernaryNode.php | 50 + .../Nodes/Php/Expression/UnaryOpNode.php | 45 + .../Nodes/Php/Expression/VariableNode.php | 40 + .../Compiler/Nodes/Php/ExpressionNode.php | 41 + .../Latte/Compiler/Nodes/Php/FilterNode.php | 62 + .../Compiler/Nodes/Php/IdentifierNode.php | 42 + .../Nodes/Php/InterpolatedStringPartNode.php | 36 + .../Nodes/Php/IntersectionTypeNode.php | 39 + .../Latte/Compiler/Nodes/Php/ListItemNode.php | 48 + .../src/Latte/Compiler/Nodes/Php/ListNode.php | 56 + .../Latte/Compiler/Nodes/Php/MatchArmNode.php | 45 + .../Latte/Compiler/Nodes/Php/ModifierNode.php | 107 + .../src/Latte/Compiler/Nodes/Php/NameNode.php | 95 + .../Compiler/Nodes/Php/NullableTypeNode.php | 35 + .../Compiler/Nodes/Php/ParameterNode.php | 54 + .../Compiler/Nodes/Php/Scalar/BooleanNode.php | 30 + .../Compiler/Nodes/Php/Scalar/FloatNode.php | 63 + .../Compiler/Nodes/Php/Scalar/IntegerNode.php | 70 + .../Php/Scalar/InterpolatedStringNode.php | 74 + .../Compiler/Nodes/Php/Scalar/NullNode.php | 29 + .../Compiler/Nodes/Php/Scalar/StringNode.php | 40 + .../Latte/Compiler/Nodes/Php/ScalarNode.php | 19 + .../Compiler/Nodes/Php/SuperiorTypeNode.php | 35 + .../Compiler/Nodes/Php/UnionTypeNode.php | 39 + .../Nodes/Php/VarLikeIdentifierNode.php | 21 + .../Latte/Compiler/Nodes/StatementNode.php | 15 + .../src/Latte/Compiler/Nodes/TemplateNode.php | 34 + .../src/Latte/Compiler/Nodes/TextNode.php | 43 + .../latte/src/Latte/Compiler/PhpHelpers.php | 257 + .../latte/src/Latte/Compiler/Position.php | 45 + .../latte/src/Latte/Compiler/PrintContext.php | 341 + .../latte/latte/src/Latte/Compiler/Tag.php | 116 + .../latte/src/Latte/Compiler/TagLexer.php | 396 + .../latte/src/Latte/Compiler/TagParser.php | 473 + .../src/Latte/Compiler/TagParserData.php | 612 + .../src/Latte/Compiler/TemplateGenerator.php | 209 + .../src/Latte/Compiler/TemplateLexer.php | 310 + .../src/Latte/Compiler/TemplateParser.php | 455 + .../src/Latte/Compiler/TemplateParserHtml.php | 570 + .../latte/latte/src/Latte/Compiler/Token.php | 255 + .../latte/src/Latte/Compiler/TokenStream.php | 135 + .../latte/latte/src/Latte/ContentType.php | 22 + .../vendor/latte/latte/src/Latte/Engine.php | 646 +- .../latte/src/Latte/Essential/Blueprint.php | 166 + .../src/Latte/Essential/CachingIterator.php | 228 + .../src/Latte/Essential/CoreExtension.php | 245 + .../latte/src/Latte/Essential/Filters.php | 595 + .../src/Latte/Essential/Nodes/BlockNode.php | 160 + .../src/Latte/Essential/Nodes/CaptureNode.php | 87 + .../Latte/Essential/Nodes/ContentTypeNode.php | 80 + .../Latte/Essential/Nodes/DebugbreakNode.php | 53 + .../src/Latte/Essential/Nodes/DefineNode.php | 133 + .../src/Latte/Essential/Nodes/DoNode.php | 61 + .../src/Latte/Essential/Nodes/DumpNode.php | 58 + .../src/Latte/Essential/Nodes/EmbedNode.php | 125 + .../src/Latte/Essential/Nodes/ExtendsNode.php | 57 + .../Essential/Nodes/FirstLastSepNode.php | 81 + .../src/Latte/Essential/Nodes/ForNode.php | 91 + .../src/Latte/Essential/Nodes/ForeachNode.php | 146 + .../Latte/Essential/Nodes/IfChangedNode.php | 141 + .../Latte/Essential/Nodes/IfContentNode.php | 85 + .../src/Latte/Essential/Nodes/IfNode.php | 182 + .../src/Latte/Essential/Nodes/ImportNode.php | 49 + .../Essential/Nodes/IncludeBlockNode.php | 143 + .../Latte/Essential/Nodes/IncludeFileNode.php | 81 + .../Essential/Nodes/IterateWhileNode.php | 96 + .../src/Latte/Essential/Nodes/JumpNode.php | 88 + .../src/Latte/Essential/Nodes/NAttrNode.php | 105 + .../src/Latte/Essential/Nodes/NClassNode.php | 54 + .../src/Latte/Essential/Nodes/NElseNode.php | 88 + .../src/Latte/Essential/Nodes/NTagNode.php | 71 + .../Latte/Essential/Nodes/ParametersNode.php | 84 + .../src/Latte/Essential/Nodes/PrintNode.php | 65 + .../src/Latte/Essential/Nodes/RawPhpNode.php | 52 + .../Latte/Essential/Nodes/RollbackNode.php | 43 + .../Latte/Essential/Nodes/SpacelessNode.php | 62 + .../src/Latte/Essential/Nodes/SwitchNode.php | 118 + .../Essential/Nodes/TemplatePrintNode.php | 45 + .../Essential/Nodes/TemplateTypeNode.php | 44 + .../src/Latte/Essential/Nodes/TraceNode.php | 41 + .../Latte/Essential/Nodes/TranslateNode.php | 104 + .../src/Latte/Essential/Nodes/TryNode.php | 74 + .../src/Latte/Essential/Nodes/VarNode.php | 106 + .../Latte/Essential/Nodes/VarPrintNode.php | 46 + .../src/Latte/Essential/Nodes/VarTypeNode.php | 42 + .../src/Latte/Essential/Nodes/WhileNode.php | 81 + .../latte/src/Latte/Essential/Passes.php | 113 + .../src/Latte/Essential/RawPhpExtension.php | 26 + .../src/Latte/Essential/RollbackException.php | 16 + .../latte/src/Latte/Essential/Tracer.php | 117 + .../Latte/Essential/TranslatorExtension.php | 106 + .../latte/latte/src/Latte/Extension.php | 97 + .../vendor/latte/latte/src/Latte/Helpers.php | 151 +- .../vendor/latte/latte/src/Latte/HtmlNode.php | 47 - .../vendor/latte/latte/src/Latte/ILoader.php | 35 - .../vendor/latte/latte/src/Latte/IMacro.php | 41 - .../vendor/latte/latte/src/Latte/Loader.php | 37 + .../latte/src/Latte/Loaders/FileLoader.php | 75 +- .../latte/src/Latte/Loaders/StringLoader.php | 55 +- .../latte/latte/src/Latte/MacroNode.php | 90 - .../latte/latte/src/Latte/MacroTokens.php | 138 - .../latte/src/Latte/Macros/BlockMacros.php | 319 - .../src/Latte/Macros/BlockMacrosRuntime.php | 47 - .../latte/src/Latte/Macros/CoreMacros.php | 426 - .../latte/latte/src/Latte/Macros/MacroSet.php | 140 - .../vendor/latte/latte/src/Latte/Object.php | 66 - .../vendor/latte/latte/src/Latte/Parser.php | 457 - .../latte/latte/src/Latte/PhpWriter.php | 393 - .../vendor/latte/latte/src/Latte/Policy.php | 24 + .../src/Latte/PositionAwareException.php | 47 + .../latte/latte/src/Latte/Runtime/Block.php | 20 + .../src/Latte/Runtime/CachingIterator.php | 235 - .../src/Latte/Runtime/FilterExecutor.php | 144 + .../latte/src/Latte/Runtime/FilterInfo.php | 37 + .../latte/latte/src/Latte/Runtime/Filters.php | 426 +- .../latte/latte/src/Latte/Runtime/Html.php | 19 +- .../src/Latte/Runtime/HtmlStringable.php | 17 + .../latte/src/Latte/Runtime/IHtmlString.php | 19 - .../latte/src/Latte/Runtime/Template.php | 385 + .../Latte/Sandbox/Nodes/FunctionCallNode.php | 31 + .../Sandbox/Nodes/FunctionCallableNode.php | 29 + .../Latte/Sandbox/Nodes/MethodCallNode.php | 32 + .../Sandbox/Nodes/MethodCallableNode.php | 30 + .../Latte/Sandbox/Nodes/PropertyFetchNode.php | 32 + .../src/Latte/Sandbox/Nodes/SandboxNode.php | 73 + .../Sandbox/Nodes/StaticMethodCallNode.php | 31 + .../Nodes/StaticMethodCallableNode.php | 30 + .../Sandbox/Nodes/StaticPropertyFetchNode.php | 32 + .../src/Latte/Sandbox/RuntimeChecker.php | 114 + .../src/Latte/Sandbox/SandboxExtension.php | 136 + .../src/Latte/Sandbox/SecurityPolicy.php | 183 + .../vendor/latte/latte/src/Latte/Template.php | 176 - apigen/vendor/latte/latte/src/Latte/Token.php | 47 - .../latte/latte/src/Latte/TokenIterator.php | 228 - .../latte/latte/src/Latte/Tokenizer.php | 86 - .../latte/latte/src/Latte/attributes.php | 24 + .../latte/latte/src/Latte/exceptions.php | 69 +- .../vendor/latte/latte/src/Tools/Linter.php | 153 + apigen/vendor/latte/latte/src/latte.php | 38 - .../league/commonmark/.phpstorm.meta.php | 104 + apigen/vendor/league/commonmark/CHANGELOG.md | 595 + apigen/vendor/league/commonmark/LICENSE | 28 + apigen/vendor/league/commonmark/README.md | 221 + apigen/vendor/league/commonmark/composer.json | 125 + .../commonmark/src/CommonMarkConverter.php | 46 + .../commonmark/src/ConverterInterface.php | 30 + .../commonmark/src/Delimiter/Delimiter.php | 134 + .../src/Delimiter/DelimiterInterface.php | 50 + .../src/Delimiter/DelimiterParser.php | 102 + .../src/Delimiter/DelimiterStack.php | 214 + .../DelimiterProcessorCollection.php | 89 + .../DelimiterProcessorCollectionInterface.php | 46 + .../Processor/DelimiterProcessorInterface.php | 78 + .../Processor/StaggeredDelimiterProcessor.php | 111 + .../src/Environment/Environment.php | 447 + .../Environment/EnvironmentAwareInterface.php | 19 + .../EnvironmentBuilderInterface.php | 97 + .../src/Environment/EnvironmentInterface.php | 55 + .../commonmark/src/Event/AbstractEvent.php | 54 + .../src/Event/DocumentParsedEvent.php | 35 + .../src/Event/DocumentPreParsedEvent.php | 49 + .../src/Event/DocumentPreRenderEvent.php | 44 + .../src/Event/DocumentRenderedEvent.php | 42 + .../commonmark/src/Event/ListenerData.php | 50 + .../Exception/AlreadyInitializedException.php | 18 + .../src/Exception/CommonMarkException.php | 21 + .../commonmark/src/Exception/IOException.php | 18 + .../Exception/InvalidArgumentException.php | 18 + .../src/Exception/LogicException.php | 18 + .../Exception/MissingDependencyException.php | 18 + .../Exception/UnexpectedEncodingException.php | 18 + .../Attributes/AttributesExtension.php | 32 + .../Attributes/Event/AttributesListener.php | 139 + .../Extension/Attributes/Node/Attributes.php | 65 + .../Attributes/Node/AttributesInline.php | 57 + .../Parser/AttributesBlockContinueParser.php | 92 + .../Parser/AttributesBlockStartParser.php | 40 + .../Parser/AttributesInlineParser.php | 54 + .../Attributes/Util/AttributesHelper.php | 137 + .../Extension/Autolink/AutolinkExtension.php | 26 + .../Autolink/EmailAutolinkParser.php | 48 + .../Extension/Autolink/UrlAutolinkParser.php | 153 + .../CommonMark/CommonMarkCoreExtension.php | 92 + .../Processor/EmphasisDelimiterProcessor.php | 108 + .../CommonMark/Node/Block/BlockQuote.php | 20 + .../CommonMark/Node/Block/FencedCode.php | 100 + .../CommonMark/Node/Block/Heading.php | 41 + .../CommonMark/Node/Block/HtmlBlock.php | 79 + .../CommonMark/Node/Block/IndentedCode.php | 32 + .../CommonMark/Node/Block/ListBlock.php | 56 + .../CommonMark/Node/Block/ListData.php | 47 + .../CommonMark/Node/Block/ListItem.php | 37 + .../CommonMark/Node/Block/ThematicBreak.php | 20 + .../Node/Inline/AbstractWebResource.php | 41 + .../Extension/CommonMark/Node/Inline/Code.php | 23 + .../CommonMark/Node/Inline/Emphasis.php | 42 + .../CommonMark/Node/Inline/HtmlInline.php | 24 + .../CommonMark/Node/Inline/Image.php | 49 + .../Extension/CommonMark/Node/Inline/Link.php | 49 + .../CommonMark/Node/Inline/Strong.php | 42 + .../Parser/Block/BlockQuoteParser.php | 60 + .../Parser/Block/BlockQuoteStartParser.php | 39 + .../Parser/Block/FencedCodeParser.php | 84 + .../Parser/Block/FencedCodeStartParser.php | 40 + .../CommonMark/Parser/Block/HeadingParser.php | 51 + .../Parser/Block/HeadingStartParser.php | 80 + .../Parser/Block/HtmlBlockParser.php | 82 + .../Parser/Block/HtmlBlockStartParser.php | 62 + .../Parser/Block/IndentedCodeParser.php | 83 + .../Parser/Block/IndentedCodeStartParser.php | 42 + .../Parser/Block/ListBlockParser.php | 79 + .../Parser/Block/ListBlockStartParser.php | 153 + .../Parser/Block/ListItemParser.php | 90 + .../Parser/Block/ThematicBreakParser.php | 42 + .../Parser/Block/ThematicBreakStartParser.php | 40 + .../Parser/Inline/AutolinkParser.php | 54 + .../Parser/Inline/BacktickParser.php | 70 + .../CommonMark/Parser/Inline/BangParser.php | 46 + .../Parser/Inline/CloseBracketParser.php | 212 + .../CommonMark/Parser/Inline/EntityParser.php | 42 + .../Parser/Inline/EscapableParser.php | 57 + .../Parser/Inline/HtmlInlineParser.php | 41 + .../Parser/Inline/OpenBracketParser.php | 44 + .../Renderer/Block/BlockQuoteRenderer.php | 70 + .../Renderer/Block/FencedCodeRenderer.php | 76 + .../Renderer/Block/HeadingRenderer.php | 64 + .../Renderer/Block/HtmlBlockRenderer.php | 66 + .../Renderer/Block/IndentedCodeRenderer.php | 61 + .../Renderer/Block/ListBlockRenderer.php | 86 + .../Renderer/Block/ListItemRenderer.php | 74 + .../Renderer/Block/ThematicBreakRenderer.php | 56 + .../Renderer/Inline/CodeRenderer.php | 57 + .../Renderer/Inline/EmphasisRenderer.php | 56 + .../Renderer/Inline/HtmlInlineRenderer.php | 66 + .../Renderer/Inline/ImageRenderer.php | 107 + .../Renderer/Inline/LinkRenderer.php | 89 + .../Renderer/Inline/StrongRenderer.php | 56 + .../ConfigurableExtensionInterface.php | 21 + .../ApplyDefaultAttributesProcessor.php | 65 + .../DefaultAttributesExtension.php | 39 + .../DescriptionListExtension.php | 42 + .../ConsecutiveDescriptionListMerger.php | 41 + .../Event/LooseDescriptionHandler.php | 66 + .../DescriptionList/Node/Description.php | 39 + .../DescriptionList/Node/DescriptionList.php | 20 + .../DescriptionList/Node/DescriptionTerm.php | 20 + .../Parser/DescriptionContinueParser.php | 71 + .../Parser/DescriptionListContinueParser.php | 53 + .../Parser/DescriptionStartParser.php | 73 + .../Parser/DescriptionTermContinueParser.php | 52 + .../Renderer/DescriptionListRenderer.php | 39 + .../Renderer/DescriptionRenderer.php | 37 + .../Renderer/DescriptionTermRenderer.php | 37 + .../DisallowedRawHtmlExtension.php | 51 + .../DisallowedRawHtmlRenderer.php | 62 + .../Embed/Bridge/OscaroteroEmbedAdapter.php | 50 + .../Embed/DomainFilteringAdapter.php | 53 + .../commonmark/src/Extension/Embed/Embed.php | 50 + .../Extension/Embed/EmbedAdapterInterface.php | 25 + .../src/Extension/Embed/EmbedExtension.php | 48 + .../src/Extension/Embed/EmbedParser.php | 62 + .../src/Extension/Embed/EmbedProcessor.php | 70 + .../src/Extension/Embed/EmbedRenderer.php | 35 + .../src/Extension/Embed/EmbedStartParser.php | 53 + .../src/Extension/ExtensionInterface.php | 24 + .../ExternalLink/ExternalLinkExtension.php | 47 + .../ExternalLink/ExternalLinkProcessor.php | 119 + .../Event/AnonymousFootnotesListener.php | 62 + .../FixOrphanedFootnotesAndRefsListener.php | 68 + .../Event/GatherFootnotesListener.php | 106 + .../Event/NumberFootnotesListener.php | 75 + .../Extension/Footnote/FootnoteExtension.php | 70 + .../src/Extension/Footnote/Node/Footnote.php | 37 + .../Footnote/Node/FootnoteBackref.php | 40 + .../Footnote/Node/FootnoteContainer.php | 21 + .../Extension/Footnote/Node/FootnoteRef.php | 57 + .../Parser/AnonymousFootnoteRefParser.php | 66 + .../Footnote/Parser/FootnoteParser.php | 68 + .../Footnote/Parser/FootnoteRefParser.php | 57 + .../Footnote/Parser/FootnoteStartParser.php | 56 + .../Renderer/FootnoteBackrefRenderer.php | 81 + .../Renderer/FootnoteContainerRenderer.php | 71 + .../Footnote/Renderer/FootnoteRefRenderer.php | 87 + .../Footnote/Renderer/FootnoteRenderer.php | 80 + .../Data/FrontMatterDataParserInterface.php | 26 + .../Data/LibYamlFrontMatterParser.php | 47 + .../Data/SymfonyYamlFrontMatterParser.php | 39 + .../Exception/InvalidFrontMatterException.php | 24 + .../FrontMatter/FrontMatterExtension.php | 46 + .../FrontMatter/FrontMatterParser.php | 64 + .../FrontMatterParserInterface.php | 21 + .../FrontMatterProviderInterface.php | 22 + .../Input/MarkdownInputWithFrontMatter.php | 43 + .../FrontMatterPostRenderListener.php | 35 + .../Listener/FrontMatterPreParser.php | 37 + .../Output/RenderedContentWithFrontMatter.php | 51 + .../GithubFlavoredMarkdownExtension.php | 33 + .../HeadingPermalink/HeadingPermalink.php | 37 + .../HeadingPermalinkExtension.php | 49 + .../HeadingPermalinkProcessor.php | 101 + .../HeadingPermalinkRenderer.php | 106 + .../Extension/InlinesOnly/ChildRenderer.php | 35 + .../InlinesOnly/InlinesOnlyExtension.php | 73 + .../Mention/Generator/CallbackGenerator.php | 54 + .../Generator/MentionGeneratorInterface.php | 22 + .../Generator/StringTemplateLinkGenerator.php | 34 + .../src/Extension/Mention/Mention.php | 93 + .../Extension/Mention/MentionExtension.php | 61 + .../src/Extension/Mention/MentionParser.php | 87 + .../src/Extension/SmartPunct/DashParser.php | 59 + .../Extension/SmartPunct/EllipsesParser.php | 38 + .../src/Extension/SmartPunct/Quote.php | 30 + .../src/Extension/SmartPunct/QuoteParser.php | 105 + .../Extension/SmartPunct/QuoteProcessor.php | 82 + .../ReplaceUnpairedQuotesListener.php | 43 + .../SmartPunct/SmartPunctExtension.php | 64 + .../Extension/Strikethrough/Strikethrough.php | 39 + .../StrikethroughDelimiterProcessor.php | 63 + .../Strikethrough/StrikethroughExtension.php | 26 + .../Strikethrough/StrikethroughRenderer.php | 50 + .../commonmark/src/Extension/Table/Table.php | 22 + .../src/Extension/Table/TableCell.php | 99 + .../src/Extension/Table/TableCellRenderer.php | 89 + .../src/Extension/Table/TableExtension.php | 62 + .../src/Extension/Table/TableParser.php | 200 + .../src/Extension/Table/TableRenderer.php | 58 + .../src/Extension/Table/TableRow.php | 22 + .../src/Extension/Table/TableRowRenderer.php | 56 + .../src/Extension/Table/TableSection.php | 64 + .../Extension/Table/TableSectionRenderer.php | 70 + .../src/Extension/Table/TableStartParser.php | 158 + .../TableOfContents/Node/TableOfContents.php | 20 + .../Node/TableOfContentsPlaceholder.php | 20 + .../Normalizer/AsIsNormalizerStrategy.php | 72 + .../Normalizer/FlatNormalizerStrategy.php | 33 + .../NormalizerStrategyInterface.php | 21 + .../Normalizer/RelativeNormalizerStrategy.php | 67 + .../TableOfContentsBuilder.php | 106 + .../TableOfContentsExtension.php | 53 + .../TableOfContentsGenerator.php | 168 + .../TableOfContentsGeneratorInterface.php | 22 + .../TableOfContentsPlaceholderParser.php | 74 + .../TableOfContentsPlaceholderRenderer.php | 40 + .../TableOfContentsRenderer.php | 56 + .../Extension/TaskList/TaskListExtension.php | 26 + .../Extension/TaskList/TaskListItemMarker.php | 39 + .../TaskList/TaskListItemMarkerParser.php | 55 + .../TaskList/TaskListItemMarkerRenderer.php | 70 + .../src/GithubFlavoredMarkdownConverter.php | 45 + .../commonmark/src/Input/MarkdownInput.php | 102 + .../src/Input/MarkdownInputInterface.php | 26 + .../commonmark/src/MarkdownConverter.php | 93 + .../src/MarkdownConverterInterface.php | 34 + .../src/Node/Block/AbstractBlock.php | 64 + .../commonmark/src/Node/Block/Document.php | 56 + .../commonmark/src/Node/Block/Paragraph.php | 21 + .../src/Node/Block/TightBlockInterface.php | 21 + .../src/Node/Inline/AbstractInline.php | 23 + .../Node/Inline/AbstractStringContainer.php | 47 + .../src/Node/Inline/AdjacentTextMerger.php | 105 + .../src/Node/Inline/DelimitedInterface.php | 21 + .../commonmark/src/Node/Inline/Newline.php | 40 + .../commonmark/src/Node/Inline/Text.php | 25 + .../league/commonmark/src/Node/Node.php | 262 + .../commonmark/src/Node/NodeIterator.php | 58 + .../league/commonmark/src/Node/NodeWalker.php | 80 + .../commonmark/src/Node/NodeWalkerEvent.php | 42 + .../league/commonmark/src/Node/Query.php | 139 + .../commonmark/src/Node/Query/AndExpr.php | 55 + .../src/Node/Query/ExpressionInterface.php | 21 + .../commonmark/src/Node/Query/OrExpr.php | 55 + .../src/Node/RawMarkupContainerInterface.php | 21 + .../src/Node/StringContainerHelper.php | 54 + .../src/Node/StringContainerInterface.php | 27 + .../src/Normalizer/SlugNormalizer.php | 56 + .../src/Normalizer/TextNormalizer.php | 39 + .../Normalizer/TextNormalizerInterface.php | 33 + .../src/Normalizer/UniqueSlugNormalizer.php | 56 + .../UniqueSlugNormalizerInterface.php | 28 + .../commonmark/src/Output/RenderedContent.php | 49 + .../src/Output/RenderedContentInterface.php | 29 + .../Block/AbstractBlockContinueParser.php | 47 + .../src/Parser/Block/BlockContinue.php | 73 + .../Block/BlockContinueParserInterface.php | 64 + ...lockContinueParserWithInlinesInterface.php | 24 + .../src/Parser/Block/BlockStart.php | 124 + .../Block/BlockStartParserInterface.php | 33 + .../src/Parser/Block/DocumentBlockParser.php | 53 + .../src/Parser/Block/ParagraphParser.php | 87 + .../SkipLinesStartingWithLettersParser.php | 45 + .../league/commonmark/src/Parser/Cursor.php | 493 + .../commonmark/src/Parser/CursorState.php | 56 + .../Parser/Inline/InlineParserInterface.php | 23 + .../src/Parser/Inline/InlineParserMatch.php | 87 + .../src/Parser/Inline/NewlineParser.php | 53 + .../src/Parser/InlineParserContext.php | 120 + .../src/Parser/InlineParserEngine.php | 177 + .../Parser/InlineParserEngineInterface.php | 27 + .../commonmark/src/Parser/MarkdownParser.php | 346 + .../src/Parser/MarkdownParserInterface.php | 25 + .../src/Parser/MarkdownParserState.php | 57 + .../Parser/MarkdownParserStateInterface.php | 36 + .../src/Parser/ParserLogicException.php | 20 + .../commonmark/src/Reference/Reference.php | 54 + .../src/Reference/ReferenceInterface.php | 29 + .../commonmark/src/Reference/ReferenceMap.php | 77 + .../src/Reference/ReferenceMapInterface.php | 31 + .../src/Reference/ReferenceParser.php | 324 + .../src/Reference/ReferenceableInterface.php | 19 + .../src/Renderer/Block/DocumentRenderer.php | 57 + .../src/Renderer/Block/ParagraphRenderer.php | 74 + .../Renderer/ChildNodeRendererInterface.php | 31 + .../Renderer/DocumentRendererInterface.php | 28 + .../commonmark/src/Renderer/HtmlDecorator.php | 45 + .../commonmark/src/Renderer/HtmlRenderer.php | 100 + .../src/Renderer/Inline/NewlineRenderer.php | 76 + .../src/Renderer/Inline/TextRenderer.php | 54 + .../Renderer/MarkdownRendererInterface.php | 30 + .../Renderer/NoMatchingRendererException.php | 20 + .../src/Renderer/NodeRendererInterface.php | 27 + .../commonmark/src/Util/ArrayCollection.php | 173 + .../src/Util/Html5EntityDecoder.php | 75 + .../commonmark/src/Util/HtmlElement.php | 160 + .../league/commonmark/src/Util/HtmlFilter.php | 55 + .../commonmark/src/Util/LinkParserHelper.php | 142 + .../commonmark/src/Util/PrioritizedList.php | 73 + .../commonmark/src/Util/RegexHelper.php | 237 + .../league/commonmark/src/Util/SpecReader.php | 71 + .../league/commonmark/src/Util/UrlEncoder.php | 69 + .../vendor/league/commonmark/src/Util/Xml.php | 33 + .../src/Xml/FallbackNodeXmlRenderer.php | 85 + .../src/Xml/MarkdownToXmlConverter.php | 59 + .../src/Xml/XmlNodeRendererInterface.php | 28 + .../league/commonmark/src/Xml/XmlRenderer.php | 135 + apigen/vendor/league/config/CHANGELOG.md | 42 + apigen/vendor/league/config/LICENSE.md | 28 + apigen/vendor/league/config/README.md | 153 + apigen/vendor/league/config/composer.json | 69 + .../league/config/src/Configuration.php | 255 + .../src/ConfigurationAwareInterface.php | 22 + .../src/ConfigurationBuilderInterface.php | 21 + .../config/src/ConfigurationInterface.php | 46 + .../src/ConfigurationProviderInterface.php | 22 + .../ConfigurationExceptionInterface.php | 21 + .../InvalidConfigurationException.php | 46 + .../src/Exception/UnknownOptionException.php | 33 + .../src/Exception/ValidationException.php | 37 + .../src/MutableConfigurationInterface.php | 34 + .../config/src/ReadOnlyConfiguration.php | 40 + .../config/src/SchemaBuilderInterface.php | 27 + .../vendor/michelf/php-markdown/.editorconfig | 11 - apigen/vendor/michelf/php-markdown/.gitignore | 3 - .../michelf/php-markdown/.scrutinizer.yml | 36 - .../vendor/michelf/php-markdown/.travis.yml | 29 - apigen/vendor/michelf/php-markdown/License.md | 36 - .../php-markdown/Michelf/Markdown.inc.php | 10 - .../michelf/php-markdown/Michelf/Markdown.php | 1909 --- .../Michelf/MarkdownExtra.inc.php | 11 - .../php-markdown/Michelf/MarkdownExtra.php | 1893 -- .../Michelf/MarkdownInterface.inc.php | 9 - .../Michelf/MarkdownInterface.php | 38 - apigen/vendor/michelf/php-markdown/Readme.md | 437 - apigen/vendor/michelf/php-markdown/Readme.php | 33 - .../vendor/michelf/php-markdown/composer.json | 29 - .../michelf/php-markdown/phpunit.xml.dist | 24 - .../michelf/php-markdown/test/bootstrap.php | 6 - .../test/helpers/MarkdownTestHelper.php | 267 - .../test/integration/PhpMarkdownTest.php | 173 - .../Amps and angle encoding.text | 21 - .../Amps and angle encoding.xhtml | 17 - .../resources/markdown.mdtest/Auto links.text | 13 - .../markdown.mdtest/Auto links.xhtml | 18 - .../markdown.mdtest/Backslash escapes.text | 120 - .../markdown.mdtest/Backslash escapes.xhtml | 118 - .../Blockquotes with code blocks.text | 11 - .../Blockquotes with code blocks.xhtml | 15 - .../markdown.mdtest/Code Blocks.text | 14 - .../markdown.mdtest/Code Blocks.xhtml | 18 - .../resources/markdown.mdtest/Code Spans.text | 5 - .../markdown.mdtest/Code Spans.xhtml | 5 - ...apped paragraphs with list-like lines.text | 8 - ...pped paragraphs with list-like lines.xhtml | 8 - .../markdown.mdtest/Horizontal rules.text | 67 - .../markdown.mdtest/Horizontal rules.xhtml | 71 - .../resources/markdown.mdtest/Images.text | 26 - .../resources/markdown.mdtest/Images.xhtml | 21 - .../Inline HTML (Advanced).text | 30 - .../Inline HTML (Advanced).xhtml | 30 - .../markdown.mdtest/Inline HTML (Simple).html | 72 - .../markdown.mdtest/Inline HTML (Simple).text | 69 - .../markdown.mdtest/Inline HTML comments.html | 13 - .../markdown.mdtest/Inline HTML comments.text | 13 - .../markdown.mdtest/Links, inline style.text | 24 - .../markdown.mdtest/Links, inline style.xhtml | 23 - .../Links, reference style.text | 71 - .../Links, reference style.xhtml | 52 - .../Links, shortcut references.text | 20 - .../Links, shortcut references.xhtml | 9 - .../Literal quotes in titles.text | 7 - .../Literal quotes in titles.xhtml | 3 - .../Markdown Documentation - Basics.text | 306 - .../Markdown Documentation - Basics.xhtml | 314 - .../Markdown Documentation - Syntax.text | 888 - .../Markdown Documentation - Syntax.xhtml | 942 - .../markdown.mdtest/Nested blockquotes.text | 5 - .../markdown.mdtest/Nested blockquotes.xhtml | 9 - .../Ordered and unordered lists.text | 131 - .../Ordered and unordered lists.xhtml | 148 - .../Strong and em together.text | 7 - .../Strong and em together.xhtml | 7 - .../test/resources/markdown.mdtest/Tabs.text | 21 - .../test/resources/markdown.mdtest/Tabs.xhtml | 25 - .../resources/markdown.mdtest/Tidyness.text | 5 - .../resources/markdown.mdtest/Tidyness.xhtml | 8 - .../php-markdown-extra.mdtest/Abbr.text | 31 - .../php-markdown-extra.mdtest/Abbr.xhtml | 15 - ...tick Fenced Code Blocks Special Cases.text | 69 - ...ick Fenced Code Blocks Special Cases.xhtml | 61 - .../Backtick Fenced Code Blocks.text | 123 - .../Backtick Fenced Code Blocks.xhtml | 109 - .../Definition Lists.text | 115 - .../Definition Lists.xhtml | 155 - .../php-markdown-extra.mdtest/Emphasis.text | 100 - .../php-markdown-extra.mdtest/Emphasis.xhtml | 106 - .../php-markdown-extra.mdtest/Footnotes.text | 70 - .../php-markdown-extra.mdtest/Footnotes.xhtml | 103 - .../Headers with attributes.text | 41 - .../Headers with attributes.xhtml | 37 - .../Inline HTML with Markdown content.text | 110 - .../Inline HTML with Markdown content.xhtml | 131 - .../Link & Image Attributes.text | 10 - .../Link & Image Attributes.xhtml | 8 - .../php-markdown-extra.mdtest/Tables.text | 113 - .../php-markdown-extra.mdtest/Tables.xhtml | 333 - ...ilde Fenced Code Blocks Special Cases.text | 69 - ...lde Fenced Code Blocks Special Cases.xhtml | 61 - .../Tilde Fenced Code Blocks.text | 123 - .../Tilde Fenced Code Blocks.xhtml | 109 - .../php-markdown.mdtest/Adjacent Lists.text | 10 - .../php-markdown.mdtest/Adjacent Lists.xhtml | 19 - .../php-markdown.mdtest/Auto Links.text | 3 - .../php-markdown.mdtest/Auto Links.xhtml | 3 - .../Backslash escapes.text | 1 - .../Backslash escapes.xhtml | 1 - .../php-markdown.mdtest/Code Spans.text | 6 - .../php-markdown.mdtest/Code Spans.xhtml | 6 - .../Code block in a list item.text | 15 - .../Code block in a list item.xhtml | 18 - .../Code block on second line.text | 2 - .../Code block on second line.xhtml | 2 - .../Code block regressions.text | 15 - .../Code block regressions.xhtml | 18 - .../php-markdown.mdtest/Email auto links.text | 24 - .../Email auto links.xhtml | 23 - .../php-markdown.mdtest/Emphasis.text | 101 - .../php-markdown.mdtest/Emphasis.xhtml | 105 - .../php-markdown.mdtest/Empty List Item.text | 35 - .../php-markdown.mdtest/Empty List Item.xhtml | 47 - .../php-markdown.mdtest/Headers.text | 9 - .../php-markdown.mdtest/Headers.xhtml | 39 - .../php-markdown.mdtest/Horizontal Rules.text | 29 - .../Horizontal Rules.xhtml | 30 - .../Inline HTML (Simple).html | 25 - .../Inline HTML (Simple).text | 25 - .../Inline HTML (Span).text | 4 - .../Inline HTML (Span).xhtml | 4 - .../Inline HTML comments.html | 9 - .../Inline HTML comments.text | 9 - .../php-markdown.mdtest/Ins & del.text | 17 - .../php-markdown.mdtest/Ins & del.xhtml | 17 - .../Links, inline style.text | 9 - .../Links, inline style.xhtml | 7 - .../php-markdown.mdtest/MD5 Hashes.text | 11 - .../php-markdown.mdtest/MD5 Hashes.xhtml | 11 - .../Mixed OLs and ULs.text | 13 - .../Mixed OLs and ULs.xhtml | 21 - .../php-markdown.mdtest/Nesting.text | 11 - .../php-markdown.mdtest/Nesting.xhtml | 11 - .../PHP-Specific Bugs.text | 22 - .../PHP-Specific Bugs.xhtml | 17 - .../php-markdown.mdtest/Parens in URL.text | 14 - .../php-markdown.mdtest/Parens in URL.xhtml | 11 - .../Quotes in attributes.text | 5 - .../Quotes in attributes.xhtml | 5 - .../php-markdown.mdtest/Tight blocks.text | 1 - .../php-markdown.mdtest/Tight blocks.xhtml | 21 - .../php-markdown.mdtest/XML empty tag.text | 2 - .../php-markdown.mdtest/XML empty tag.xhtml | 2 - .../test/unit/MarkdownExtraTest.php | 51 - apigen/vendor/nette/application/composer.json | 54 - .../vendor/nette/application/contributing.md | 33 - apigen/vendor/nette/application/readme.md | 12 - .../src/Application/Application.php | 225 - .../src/Application/ErrorPresenter.php | 53 - .../application/src/Application/Helpers.php | 31 - .../src/Application/IPresenter.php | 21 - .../src/Application/IPresenterFactory.php | 31 - .../application/src/Application/IResponse.php | 24 - .../application/src/Application/IRouter.php | 35 - .../src/Application/LinkGenerator.php | 88 - .../src/Application/MicroPresenter.php | 162 - .../src/Application/PresenterFactory.php | 153 - .../application/src/Application/Request.php | 237 - .../Responses/CallbackResponse.php | 41 - .../Application/Responses/FileResponse.php | 132 - .../Application/Responses/ForwardResponse.php | 46 - .../Application/Responses/JsonResponse.php | 66 - .../Responses/RedirectResponse.php | 65 - .../Application/Responses/TextResponse.php | 55 - .../src/Application/Routers/CliRouter.php | 113 - .../src/Application/Routers/Route.php | 793 - .../src/Application/Routers/RouteList.php | 130 - .../src/Application/Routers/SimpleRouter.php | 150 - .../src/Application/UI/BadSignalException.php | 20 - .../src/Application/UI/Component.php | 412 - .../Application/UI/ComponentReflection.php | 354 - .../src/Application/UI/Control.php | 185 - .../application/src/Application/UI/Form.php | 150 - .../src/Application/UI/IRenderable.php | 28 - .../src/Application/UI/ISignalReceiver.php | 22 - .../src/Application/UI/IStatePersistent.php | 28 - .../src/Application/UI/ITemplate.php | 35 - .../src/Application/UI/ITemplateFactory.php | 21 - .../Application/UI/InvalidLinkException.php | 16 - .../application/src/Application/UI/Link.php | 105 - .../src/Application/UI/MethodReflection.php | 63 - .../src/Application/UI/Multiplier.php | 32 - .../src/Application/UI/Presenter.php | 1431 -- .../src/Application/exceptions.php | 70 - .../src/Application/templates/error.phtml | 38 - .../ApplicationDI/ApplicationExtension.php | 165 - .../Bridges/ApplicationDI/LatteExtension.php | 96 - .../PresenterFactoryCallback.php | 61 - .../ApplicationDI/RoutingExtension.php | 87 - .../ApplicationLatte/ILatteFactory.php | 20 - .../src/Bridges/ApplicationLatte/Loader.php | 28 - .../ApplicationLatte/SnippetBridge.php | 94 - .../src/Bridges/ApplicationLatte/Template.php | 240 - .../ApplicationLatte/TemplateFactory.php | 134 - .../src/Bridges/ApplicationLatte/UIMacros.php | 158 - .../Bridges/ApplicationLatte/UIRuntime.php | 49 - .../Bridges/ApplicationTracy/RoutingPanel.php | 163 - .../templates/RoutingPanel.panel.phtml | 95 - .../templates/RoutingPanel.tab.phtml | 13 - .../nette/application/src/compatibility.php | 9 - apigen/vendor/nette/bootstrap/composer.json | 52 - apigen/vendor/nette/bootstrap/contributing.md | 27 - apigen/vendor/nette/bootstrap/license.md | 60 - apigen/vendor/nette/bootstrap/readme.md | 61 - .../bootstrap/src/Bootstrap/Configurator.php | 395 - .../src/Bridges/Framework/TracyBridge.php | 74 - apigen/vendor/nette/caching/composer.json | 43 - apigen/vendor/nette/caching/contributing.md | 33 - apigen/vendor/nette/caching/license.md | 60 - apigen/vendor/nette/caching/readme.md | 239 - .../src/Bridges/CacheDI/CacheExtension.php | 77 - .../src/Bridges/CacheLatte/CacheMacro.php | 140 - .../nette/caching/src/Caching/Cache.php | 376 - .../nette/caching/src/Caching/IBulkReader.php | 22 - .../nette/caching/src/Caching/IStorage.php | 51 - .../caching/src/Caching/OutputHelper.php | 50 - .../src/Caching/Storages/DevNullStorage.php | 43 - .../src/Caching/Storages/FileStorage.php | 386 - .../caching/src/Caching/Storages/IJournal.php | 29 - .../src/Caching/Storages/MemcachedStorage.php | 165 - .../src/Caching/Storages/MemoryStorage.php | 53 - .../Caching/Storages/NewMemcachedStorage.php | 193 - .../src/Caching/Storages/SQLiteJournal.php | 145 - .../src/Caching/Storages/SQLiteStorage.php | 137 - .../nette/component-model/composer.json | 38 - .../nette/component-model/contributing.md | 33 - .../vendor/nette/component-model/license.md | 60 - apigen/vendor/nette/component-model/readme.md | 29 - .../src/ComponentModel/ArrayAccess.php | 64 - .../src/ComponentModel/Component.php | 340 - .../src/ComponentModel/Container.php | 244 - .../src/ComponentModel/IComponent.php | 36 - .../src/ComponentModel/IContainer.php | 41 - .../RecursiveComponentIterator.php | 45 - apigen/vendor/nette/di/.phpstorm.meta.php | 3 + apigen/vendor/nette/di/composer.json | 29 +- apigen/vendor/nette/di/readme.md | 42 +- .../di/src/Bridges/DITracy/ContainerPanel.php | 69 +- .../templates/ContainerPanel.panel.phtml | 41 +- .../templates/ContainerPanel.tab.phtml | 3 +- .../nette/di/src/DI/Attributes/Inject.php | 18 + apigen/vendor/nette/di/src/DI/Autowiring.php | 167 + apigen/vendor/nette/di/src/DI/Compiler.php | 458 +- .../nette/di/src/DI/CompilerExtension.php | 99 +- .../vendor/nette/di/src/DI/Config/Adapter.php | 25 + .../di/src/DI/Config/Adapters/IniAdapter.php | 151 - .../di/src/DI/Config/Adapters/NeonAdapter.php | 169 +- .../di/src/DI/Config/Adapters/PhpAdapter.php | 13 +- .../vendor/nette/di/src/DI/Config/Helpers.php | 70 +- .../nette/di/src/DI/Config/IAdapter.php | 29 - .../vendor/nette/di/src/DI/Config/Loader.php | 101 +- apigen/vendor/nette/di/src/DI/Container.php | 359 +- .../nette/di/src/DI/ContainerBuilder.php | 842 +- .../nette/di/src/DI/ContainerLoader.php | 48 +- .../src/DI/Definitions/AccessorDefinition.php | 140 + .../di/src/DI/Definitions/Definition.php | 219 + .../src/DI/Definitions/FactoryDefinition.php | 291 + .../src/DI/Definitions/ImportedDefinition.php | 54 + .../src/DI/Definitions/LocatorDefinition.php | 180 + .../nette/di/src/DI/Definitions/Reference.php | 69 + .../src/DI/Definitions/ServiceDefinition.php | 223 + .../nette/di/src/DI/Definitions/Statement.php | 76 + .../nette/di/src/DI/DependencyChecker.php | 107 +- .../nette/di/src/DI/DynamicParameter.php | 20 + .../src/DI/Extensions/ConstantsExtension.php | 10 +- .../di/src/DI/Extensions/DIExtension.php | 114 +- .../src/DI/Extensions/DecoratorExtension.php | 59 +- .../di/src/DI/Extensions/DefinitionSchema.php | 276 + .../src/DI/Extensions/ExtensionsExtension.php | 26 +- .../di/src/DI/Extensions/InjectExtension.php | 114 +- .../src/DI/Extensions/ParametersExtension.php | 107 + .../di/src/DI/Extensions/PhpExtension.php | 30 +- .../di/src/DI/Extensions/SearchExtension.php | 158 + .../src/DI/Extensions/ServicesExtension.php | 252 + apigen/vendor/nette/di/src/DI/Helpers.php | 302 +- .../vendor/nette/di/src/DI/PhpGenerator.php | 301 +- .../vendor/nette/di/src/DI/PhpReflection.php | 273 - apigen/vendor/nette/di/src/DI/Resolver.php | 702 + .../nette/di/src/DI/ServiceDefinition.php | 381 - apigen/vendor/nette/di/src/DI/Statement.php | 60 - apigen/vendor/nette/di/src/DI/exceptions.php | 20 +- apigen/vendor/nette/di/src/compatibility.php | 39 + apigen/vendor/nette/finder/composer.json | 22 +- apigen/vendor/nette/finder/contributing.md | 33 - apigen/vendor/nette/finder/readme.md | 177 +- .../vendor/nette/finder/src/Utils/Finder.php | 380 - apigen/vendor/nette/http/appveyor.yml | 29 - apigen/vendor/nette/http/composer.json | 42 - apigen/vendor/nette/http/contributing.md | 33 - apigen/vendor/nette/http/license.md | 60 - apigen/vendor/nette/http/readme.md | 222 - .../http/src/Bridges/HttpDI/HttpExtension.php | 160 - .../src/Bridges/HttpDI/SessionExtension.php | 95 - .../src/Bridges/HttpTracy/SessionPanel.php | 43 - .../templates/SessionPanel.panel.phtml | 36 - .../templates/SessionPanel.tab.phtml | 8 - apigen/vendor/nette/http/src/Http/Context.php | 100 - .../vendor/nette/http/src/Http/FileUpload.php | 215 - apigen/vendor/nette/http/src/Http/Helpers.php | 74 - .../vendor/nette/http/src/Http/IRequest.php | 138 - .../vendor/nette/http/src/Http/IResponse.php | 179 - .../nette/http/src/Http/ISessionStorage.php | 29 - apigen/vendor/nette/http/src/Http/Request.php | 339 - .../nette/http/src/Http/RequestFactory.php | 287 - .../vendor/nette/http/src/Http/Response.php | 322 - apigen/vendor/nette/http/src/Http/Session.php | 546 - .../nette/http/src/Http/SessionSection.php | 223 - apigen/vendor/nette/http/src/Http/Url.php | 514 - .../vendor/nette/http/src/Http/UrlScript.php | 81 - .../nette/http/src/Http/UserStorage.php | 192 - apigen/vendor/nette/mail/composer.json | 42 - apigen/vendor/nette/mail/contributing.md | 33 - apigen/vendor/nette/mail/license.md | 60 - apigen/vendor/nette/mail/readme.md | 86 - .../mail/src/Bridges/MailDI/MailExtension.php | 49 - .../nette/mail/src/Mail/FallbackMailer.php | 85 - apigen/vendor/nette/mail/src/Mail/IMailer.php | 23 - apigen/vendor/nette/mail/src/Mail/Message.php | 444 - .../vendor/nette/mail/src/Mail/MimePart.php | 331 - .../nette/mail/src/Mail/SendmailMailer.php | 56 - .../vendor/nette/mail/src/Mail/SmtpMailer.php | 220 - .../vendor/nette/mail/src/Mail/exceptions.php | 33 - apigen/vendor/nette/neon/bin/neon-lint | 92 + apigen/vendor/nette/neon/composer.json | 19 +- apigen/vendor/nette/neon/contributing.md | 33 - apigen/vendor/nette/neon/license.md | 4 +- apigen/vendor/nette/neon/readme.md | 476 +- apigen/vendor/nette/neon/src/Neon/Decoder.php | 345 +- apigen/vendor/nette/neon/src/Neon/Encoder.php | 114 +- apigen/vendor/nette/neon/src/Neon/Entity.php | 23 +- .../vendor/nette/neon/src/Neon/Exception.php | 2 + apigen/vendor/nette/neon/src/Neon/Lexer.php | 83 + apigen/vendor/nette/neon/src/Neon/Neon.php | 49 +- apigen/vendor/nette/neon/src/Neon/Node.php | 35 + .../neon/src/Neon/Node/ArrayItemNode.php | 90 + .../nette/neon/src/Neon/Node/ArrayNode.php | 35 + .../neon/src/Neon/Node/BlockArrayNode.php | 31 + .../neon/src/Neon/Node/EntityChainNode.php | 49 + .../nette/neon/src/Neon/Node/EntityNode.php | 53 + .../neon/src/Neon/Node/InlineArrayNode.php | 28 + .../nette/neon/src/Neon/Node/LiteralNode.php | 91 + .../nette/neon/src/Neon/Node/StringNode.php | 93 + apigen/vendor/nette/neon/src/Neon/Parser.php | 264 + apigen/vendor/nette/neon/src/Neon/Token.php | 29 + .../nette/neon/src/Neon/TokenStream.php | 95 + .../vendor/nette/neon/src/Neon/Traverser.php | 79 + apigen/vendor/nette/neon/src/neon.php | 7 - apigen/vendor/nette/neon/syntax.txt | 32 - .../vendor/nette/php-generator/composer.json | 21 +- .../nette/php-generator/contributing.md | 33 - apigen/vendor/nette/php-generator/readme.md | 630 +- .../src/PhpGenerator/Attribute.php | 49 + .../src/PhpGenerator/ClassLike.php | 130 + .../src/PhpGenerator/ClassType.php | 481 +- .../src/PhpGenerator/Closure.php | 22 +- .../src/PhpGenerator/Constant.php | 40 +- .../php-generator/src/PhpGenerator/Dumper.php | 187 +- .../src/PhpGenerator/EnumCase.php | 36 + .../src/PhpGenerator/EnumType.php | 144 + .../src/PhpGenerator/Extractor.php | 478 + .../src/PhpGenerator/Factory.php | 282 +- .../src/PhpGenerator/GlobalFunction.php | 20 +- .../src/PhpGenerator/Helpers.php | 117 +- .../src/PhpGenerator/InterfaceType.php | 75 + .../src/PhpGenerator/Literal.php | 28 +- .../php-generator/src/PhpGenerator/Method.php | 74 +- .../src/PhpGenerator/Parameter.php | 85 +- .../src/PhpGenerator/PhpFile.php | 104 +- .../src/PhpGenerator/PhpLiteral.php | 1 + .../src/PhpGenerator/PhpNamespace.php | 296 +- .../src/PhpGenerator/Printer.php | 462 +- .../src/PhpGenerator/PromotedParameter.php | 45 + .../src/PhpGenerator/Property.php | 76 +- .../src/PhpGenerator/PsrPrinter.php | 8 +- .../src/PhpGenerator/TraitType.php | 50 + .../src/PhpGenerator/TraitUse.php | 49 + .../PhpGenerator/Traits/AttributeAware.php | 48 + .../src/PhpGenerator/Traits/CommentAware.php | 9 +- .../PhpGenerator/Traits/ConstantsAware.php | 73 + .../src/PhpGenerator/Traits/FunctionLike.php | 111 +- .../src/PhpGenerator/Traits/MethodsAware.php | 82 + .../src/PhpGenerator/Traits/NameAware.php | 7 +- .../PhpGenerator/Traits/PropertiesAware.php | 75 + .../src/PhpGenerator/Traits/TraitsAware.php | 64 + .../PhpGenerator/Traits/VisibilityAware.php | 33 +- .../php-generator/src/PhpGenerator/Type.php | 123 +- apigen/vendor/nette/reflection/composer.json | 40 - .../vendor/nette/reflection/contributing.md | 33 - apigen/vendor/nette/reflection/license.md | 60 - apigen/vendor/nette/reflection/readme.md | 89 - .../ReflectionDI/ReflectionExtension.php | 34 - .../reflection/src/Reflection/Annotation.php | 36 - .../src/Reflection/AnnotationsParser.php | 419 - .../reflection/src/Reflection/ClassType.php | 204 - .../reflection/src/Reflection/Extension.php | 46 - .../src/Reflection/GlobalFunction.php | 133 - .../reflection/src/Reflection/Helpers.php | 31 - .../reflection/src/Reflection/IAnnotation.php | 17 - .../reflection/src/Reflection/Method.php | 167 - .../reflection/src/Reflection/Parameter.php | 90 - .../reflection/src/Reflection/Property.php | 96 - .../robot-loader/.github/issue_template.md | 16 - .../.github/pull_request_template.md | 12 - .../vendor/nette/robot-loader/composer.json | 22 +- .../vendor/nette/robot-loader/contributing.md | 33 - apigen/vendor/nette/robot-loader/readme.md | 119 +- .../src/RobotLoader/RobotLoader.php | 533 +- apigen/vendor/nette/safe-stream/composer.json | 38 - .../vendor/nette/safe-stream/contributing.md | 33 - apigen/vendor/nette/safe-stream/license.md | 60 - apigen/vendor/nette/safe-stream/readme.md | 81 - .../safe-stream/src/SafeStream/SafeStream.php | 285 - .../vendor/nette/safe-stream/src/loader.php | 7 - apigen/vendor/nette/schema/composer.json | 39 + .../nette/{application => schema}/license.md | 0 apigen/vendor/nette/schema/readme.md | 537 + .../nette/schema/src/Schema/Context.php | 59 + .../schema/src/Schema/DynamicParameter.php | 15 + .../schema/src/Schema/Elements/AnyOf.php | 150 + .../nette/schema/src/Schema/Elements/Base.php | 167 + .../schema/src/Schema/Elements/Structure.php | 206 + .../nette/schema/src/Schema/Elements/Type.php | 221 + .../vendor/nette/schema/src/Schema/Expect.php | 119 + .../nette/schema/src/Schema/Helpers.php | 198 + .../nette/schema/src/Schema/Message.php | 89 + .../nette/schema/src/Schema/Processor.php | 105 + .../vendor/nette/schema/src/Schema/Schema.php | 37 + .../schema/src/Schema/ValidationException.php | 55 + apigen/vendor/nette/utils/.phpstorm.meta.php | 6 + apigen/vendor/nette/utils/composer.json | 36 +- apigen/vendor/nette/utils/contributing.md | 33 - apigen/vendor/nette/utils/readme.md | 166 +- .../vendor/nette/utils/src/HtmlStringable.php | 22 + .../utils/src/Iterators/CachingIterator.php | 53 +- .../nette/utils/src/Iterators/Mapper.php | 6 +- apigen/vendor/nette/utils/src/SmartObject.php | 140 + apigen/vendor/nette/utils/src/StaticClass.php | 34 + apigen/vendor/nette/utils/src/Translator.php | 25 + .../nette/utils/src/Utils/ArrayHash.php | 55 +- .../nette/utils/src/Utils/ArrayList.php | 87 +- .../vendor/nette/utils/src/Utils/Arrays.php | 354 +- .../vendor/nette/utils/src/Utils/Callback.php | 150 +- .../vendor/nette/utils/src/Utils/DateTime.php | 97 +- .../vendor/nette/utils/src/Utils/FileInfo.php | 69 + .../nette/utils/src/Utils/FileSystem.php | 290 +- .../vendor/nette/utils/src/Utils/Finder.php | 510 + .../vendor/nette/utils/src/Utils/Floats.php | 107 + .../vendor/nette/utils/src/Utils/Helpers.php | 104 + apigen/vendor/nette/utils/src/Utils/Html.php | 548 +- .../nette/utils/src/Utils/IHtmlString.php | 18 - .../nette/utils/src/Utils/ITranslator.php | 24 - apigen/vendor/nette/utils/src/Utils/Image.php | 754 +- .../nette/utils/src/Utils/ImageColor.php | 75 + .../nette/utils/src/Utils/ImageType.php | 25 + apigen/vendor/nette/utils/src/Utils/Json.php | 73 +- .../nette/utils/src/Utils/LegacyObject.php | 160 - .../nette/utils/src/Utils/ObjectHelpers.php | 121 +- .../nette/utils/src/Utils/ObjectMixin.php | 493 - .../nette/utils/src/Utils/Paginator.php | 138 +- .../vendor/nette/utils/src/Utils/Random.php | 61 +- .../nette/utils/src/Utils/Reflection.php | 251 +- .../utils/src/Utils/ReflectionMethod.php | 36 + .../nette/utils/src/Utils/SmartObject.php | 231 - .../nette/utils/src/Utils/StaticClass.php | 34 - .../vendor/nette/utils/src/Utils/Strings.php | 593 +- apigen/vendor/nette/utils/src/Utils/Type.php | 267 + .../nette/utils/src/Utils/Validators.php | 320 +- .../nette/utils/src/Utils/exceptions.php | 111 +- .../vendor/nette/utils/src/compatibility.php | 32 + apigen/vendor/nette/utils/src/exceptions.php | 109 + apigen/vendor/nette/utils/src/loader.php | 16 - apigen/vendor/nikic/php-parser/LICENSE | 29 + apigen/vendor/nikic/php-parser/README.md | 225 + apigen/vendor/nikic/php-parser/bin/php-parse | 205 + apigen/vendor/nikic/php-parser/composer.json | 41 + .../vendor/nikic/php-parser/grammar/README.md | 30 + .../nikic/php-parser/grammar/parser.template | 106 + apigen/vendor/nikic/php-parser/grammar/php5.y | 1046 ++ apigen/vendor/nikic/php-parser/grammar/php7.y | 1245 ++ .../nikic/php-parser/grammar/phpyLang.php | 184 + .../php-parser/grammar/rebuildParsers.php | 81 + .../nikic/php-parser/grammar/tokens.template | 17 + .../vendor/nikic/php-parser/grammar/tokens.y | 115 + .../php-parser/lib/PhpParser/Builder.php | 13 + .../lib/PhpParser/Builder/ClassConst.php | 148 + .../lib/PhpParser/Builder/Class_.php | 146 + .../lib/PhpParser/Builder/Declaration.php | 43 + .../lib/PhpParser/Builder/EnumCase.php | 85 + .../lib/PhpParser/Builder/Enum_.php | 117 + .../lib/PhpParser/Builder/FunctionLike.php | 73 + .../lib/PhpParser/Builder/Function_.php | 67 + .../lib/PhpParser/Builder/Interface_.php | 93 + .../lib/PhpParser/Builder/Method.php | 146 + .../lib/PhpParser/Builder/Namespace_.php | 45 + .../lib/PhpParser/Builder/Param.php | 168 + .../lib/PhpParser/Builder/Property.php | 161 + .../lib/PhpParser/Builder/TraitUse.php | 64 + .../PhpParser/Builder/TraitUseAdaptation.php | 148 + .../lib/PhpParser/Builder/Trait_.php | 78 + .../php-parser/lib/PhpParser/Builder/Use_.php | 49 + .../lib/PhpParser/BuilderFactory.php | 399 + .../lib/PhpParser/BuilderHelpers.php | 335 + .../php-parser/lib/PhpParser/Comment.php | 239 + .../php-parser/lib/PhpParser/Comment/Doc.php | 7 + .../ConstExprEvaluationException.php | 6 + .../lib/PhpParser/ConstExprEvaluator.php | 229 + .../nikic/php-parser/lib/PhpParser/Error.php | 180 + .../php-parser/lib/PhpParser/ErrorHandler.php | 13 + .../lib/PhpParser/ErrorHandler/Collecting.php | 46 + .../lib/PhpParser/ErrorHandler/Throwing.php | 18 + .../lib/PhpParser/Internal/DiffElem.php | 27 + .../lib/PhpParser/Internal/Differ.php | 164 + .../Internal/PrintableNewAnonClassNode.php | 64 + .../lib/PhpParser/Internal/TokenStream.php | 286 + .../php-parser/lib/PhpParser/JsonDecoder.php | 103 + .../nikic/php-parser/lib/PhpParser/Lexer.php | 560 + .../lib/PhpParser/Lexer/Emulative.php | 251 + .../Lexer/TokenEmulator/AttributeEmulator.php | 56 + .../CoaleseEqualTokenEmulator.php | 47 + .../Lexer/TokenEmulator/EnumTokenEmulator.php | 31 + .../TokenEmulator/ExplicitOctalEmulator.php | 44 + .../FlexibleDocStringEmulator.php | 76 + .../Lexer/TokenEmulator/FnTokenEmulator.php | 23 + .../Lexer/TokenEmulator/KeywordEmulator.php | 62 + .../TokenEmulator/MatchTokenEmulator.php | 23 + .../TokenEmulator/NullsafeTokenEmulator.php | 67 + .../NumericLiteralSeparatorEmulator.php | 105 + .../ReadonlyFunctionTokenEmulator.php | 31 + .../TokenEmulator/ReadonlyTokenEmulator.php | 36 + .../Lexer/TokenEmulator/ReverseEmulator.php | 36 + .../Lexer/TokenEmulator/TokenEmulator.php | 25 + .../php-parser/lib/PhpParser/NameContext.php | 285 + .../nikic/php-parser/lib/PhpParser/Node.php | 151 + .../php-parser/lib/PhpParser/Node/Arg.php | 46 + .../lib/PhpParser/Node/Attribute.php | 34 + .../lib/PhpParser/Node/AttributeGroup.php | 29 + .../lib/PhpParser/Node/ComplexType.php | 14 + .../php-parser/lib/PhpParser/Node/Const_.php | 37 + .../php-parser/lib/PhpParser/Node/Expr.php | 9 + .../lib/PhpParser/Node/Expr/ArrayDimFetch.php | 34 + .../lib/PhpParser/Node/Expr/ArrayItem.php | 41 + .../lib/PhpParser/Node/Expr/Array_.php | 34 + .../lib/PhpParser/Node/Expr/ArrowFunction.php | 79 + .../lib/PhpParser/Node/Expr/Assign.php | 34 + .../lib/PhpParser/Node/Expr/AssignOp.php | 30 + .../Node/Expr/AssignOp/BitwiseAnd.php | 12 + .../Node/Expr/AssignOp/BitwiseOr.php | 12 + .../Node/Expr/AssignOp/BitwiseXor.php | 12 + .../PhpParser/Node/Expr/AssignOp/Coalesce.php | 12 + .../PhpParser/Node/Expr/AssignOp/Concat.php | 12 + .../lib/PhpParser/Node/Expr/AssignOp/Div.php | 12 + .../PhpParser/Node/Expr/AssignOp/Minus.php | 12 + .../lib/PhpParser/Node/Expr/AssignOp/Mod.php | 12 + .../lib/PhpParser/Node/Expr/AssignOp/Mul.php | 12 + .../lib/PhpParser/Node/Expr/AssignOp/Plus.php | 12 + .../lib/PhpParser/Node/Expr/AssignOp/Pow.php | 12 + .../Node/Expr/AssignOp/ShiftLeft.php | 12 + .../Node/Expr/AssignOp/ShiftRight.php | 12 + .../lib/PhpParser/Node/Expr/AssignRef.php | 34 + .../lib/PhpParser/Node/Expr/BinaryOp.php | 40 + .../Node/Expr/BinaryOp/BitwiseAnd.php | 16 + .../Node/Expr/BinaryOp/BitwiseOr.php | 16 + .../Node/Expr/BinaryOp/BitwiseXor.php | 16 + .../Node/Expr/BinaryOp/BooleanAnd.php | 16 + .../Node/Expr/BinaryOp/BooleanOr.php | 16 + .../PhpParser/Node/Expr/BinaryOp/Coalesce.php | 16 + .../PhpParser/Node/Expr/BinaryOp/Concat.php | 16 + .../lib/PhpParser/Node/Expr/BinaryOp/Div.php | 16 + .../PhpParser/Node/Expr/BinaryOp/Equal.php | 16 + .../PhpParser/Node/Expr/BinaryOp/Greater.php | 16 + .../Node/Expr/BinaryOp/GreaterOrEqual.php | 16 + .../Node/Expr/BinaryOp/Identical.php | 16 + .../Node/Expr/BinaryOp/LogicalAnd.php | 16 + .../Node/Expr/BinaryOp/LogicalOr.php | 16 + .../Node/Expr/BinaryOp/LogicalXor.php | 16 + .../PhpParser/Node/Expr/BinaryOp/Minus.php | 16 + .../lib/PhpParser/Node/Expr/BinaryOp/Mod.php | 16 + .../lib/PhpParser/Node/Expr/BinaryOp/Mul.php | 16 + .../PhpParser/Node/Expr/BinaryOp/NotEqual.php | 16 + .../Node/Expr/BinaryOp/NotIdentical.php | 16 + .../lib/PhpParser/Node/Expr/BinaryOp/Plus.php | 16 + .../lib/PhpParser/Node/Expr/BinaryOp/Pow.php | 16 + .../Node/Expr/BinaryOp/ShiftLeft.php | 16 + .../Node/Expr/BinaryOp/ShiftRight.php | 16 + .../PhpParser/Node/Expr/BinaryOp/Smaller.php | 16 + .../Node/Expr/BinaryOp/SmallerOrEqual.php | 16 + .../Node/Expr/BinaryOp/Spaceship.php | 16 + .../lib/PhpParser/Node/Expr/BitwiseNot.php | 30 + .../lib/PhpParser/Node/Expr/BooleanNot.php | 30 + .../lib/PhpParser/Node/Expr/CallLike.php | 39 + .../lib/PhpParser/Node/Expr/Cast.php | 26 + .../lib/PhpParser/Node/Expr/Cast/Array_.php | 12 + .../lib/PhpParser/Node/Expr/Cast/Bool_.php | 12 + .../lib/PhpParser/Node/Expr/Cast/Double.php | 17 + .../lib/PhpParser/Node/Expr/Cast/Int_.php | 12 + .../lib/PhpParser/Node/Expr/Cast/Object_.php | 12 + .../lib/PhpParser/Node/Expr/Cast/String_.php | 12 + .../lib/PhpParser/Node/Expr/Cast/Unset_.php | 12 + .../PhpParser/Node/Expr/ClassConstFetch.php | 36 + .../lib/PhpParser/Node/Expr/Clone_.php | 30 + .../lib/PhpParser/Node/Expr/Closure.php | 79 + .../lib/PhpParser/Node/Expr/ClosureUse.php | 34 + .../lib/PhpParser/Node/Expr/ConstFetch.php | 31 + .../lib/PhpParser/Node/Expr/Empty_.php | 30 + .../lib/PhpParser/Node/Expr/Error.php | 31 + .../lib/PhpParser/Node/Expr/ErrorSuppress.php | 30 + .../lib/PhpParser/Node/Expr/Eval_.php | 30 + .../lib/PhpParser/Node/Expr/Exit_.php | 34 + .../lib/PhpParser/Node/Expr/FuncCall.php | 39 + .../lib/PhpParser/Node/Expr/Include_.php | 39 + .../lib/PhpParser/Node/Expr/Instanceof_.php | 35 + .../lib/PhpParser/Node/Expr/Isset_.php | 30 + .../lib/PhpParser/Node/Expr/List_.php | 30 + .../lib/PhpParser/Node/Expr/Match_.php | 31 + .../lib/PhpParser/Node/Expr/MethodCall.php | 45 + .../lib/PhpParser/Node/Expr/New_.php | 41 + .../Node/Expr/NullsafeMethodCall.php | 45 + .../Node/Expr/NullsafePropertyFetch.php | 35 + .../lib/PhpParser/Node/Expr/PostDec.php | 30 + .../lib/PhpParser/Node/Expr/PostInc.php | 30 + .../lib/PhpParser/Node/Expr/PreDec.php | 30 + .../lib/PhpParser/Node/Expr/PreInc.php | 30 + .../lib/PhpParser/Node/Expr/Print_.php | 30 + .../lib/PhpParser/Node/Expr/PropertyFetch.php | 35 + .../lib/PhpParser/Node/Expr/ShellExec.php | 30 + .../lib/PhpParser/Node/Expr/StaticCall.php | 46 + .../Node/Expr/StaticPropertyFetch.php | 36 + .../lib/PhpParser/Node/Expr/Ternary.php | 38 + .../lib/PhpParser/Node/Expr/Throw_.php | 30 + .../lib/PhpParser/Node/Expr/UnaryMinus.php | 30 + .../lib/PhpParser/Node/Expr/UnaryPlus.php | 30 + .../lib/PhpParser/Node/Expr/Variable.php | 30 + .../lib/PhpParser/Node/Expr/YieldFrom.php | 30 + .../lib/PhpParser/Node/Expr/Yield_.php | 34 + .../lib/PhpParser/Node/FunctionLike.php | 43 + .../lib/PhpParser/Node/Identifier.php | 75 + .../lib/PhpParser/Node/IntersectionType.php | 30 + .../lib/PhpParser/Node/MatchArm.php | 31 + .../php-parser/lib/PhpParser/Node/Name.php | 254 + .../PhpParser/Node/Name/FullyQualified.php | 50 + .../lib/PhpParser/Node/Name/Relative.php | 50 + .../lib/PhpParser/Node/NullableType.php | 28 + .../php-parser/lib/PhpParser/Node/Param.php | 60 + .../php-parser/lib/PhpParser/Node/Scalar.php | 7 + .../lib/PhpParser/Node/Scalar/DNumber.php | 77 + .../lib/PhpParser/Node/Scalar/Encapsed.php | 31 + .../Node/Scalar/EncapsedStringPart.php | 30 + .../lib/PhpParser/Node/Scalar/LNumber.php | 80 + .../lib/PhpParser/Node/Scalar/MagicConst.php | 28 + .../Node/Scalar/MagicConst/Class_.php | 16 + .../PhpParser/Node/Scalar/MagicConst/Dir.php | 16 + .../PhpParser/Node/Scalar/MagicConst/File.php | 16 + .../Node/Scalar/MagicConst/Function_.php | 16 + .../PhpParser/Node/Scalar/MagicConst/Line.php | 16 + .../Node/Scalar/MagicConst/Method.php | 16 + .../Node/Scalar/MagicConst/Namespace_.php | 16 + .../Node/Scalar/MagicConst/Trait_.php | 16 + .../lib/PhpParser/Node/Scalar/String_.php | 157 + .../php-parser/lib/PhpParser/Node/Stmt.php | 9 + .../lib/PhpParser/Node/Stmt/Break_.php | 30 + .../lib/PhpParser/Node/Stmt/Case_.php | 34 + .../lib/PhpParser/Node/Stmt/Catch_.php | 41 + .../lib/PhpParser/Node/Stmt/ClassConst.php | 85 + .../lib/PhpParser/Node/Stmt/ClassLike.php | 109 + .../lib/PhpParser/Node/Stmt/ClassMethod.php | 161 + .../lib/PhpParser/Node/Stmt/Class_.php | 137 + .../lib/PhpParser/Node/Stmt/Const_.php | 30 + .../lib/PhpParser/Node/Stmt/Continue_.php | 30 + .../PhpParser/Node/Stmt/DeclareDeclare.php | 34 + .../lib/PhpParser/Node/Stmt/Declare_.php | 34 + .../lib/PhpParser/Node/Stmt/Do_.php | 34 + .../lib/PhpParser/Node/Stmt/Echo_.php | 30 + .../lib/PhpParser/Node/Stmt/ElseIf_.php | 34 + .../lib/PhpParser/Node/Stmt/Else_.php | 30 + .../lib/PhpParser/Node/Stmt/EnumCase.php | 37 + .../lib/PhpParser/Node/Stmt/Enum_.php | 40 + .../lib/PhpParser/Node/Stmt/Expression.php | 33 + .../lib/PhpParser/Node/Stmt/Finally_.php | 30 + .../lib/PhpParser/Node/Stmt/For_.php | 43 + .../lib/PhpParser/Node/Stmt/Foreach_.php | 47 + .../lib/PhpParser/Node/Stmt/Function_.php | 77 + .../lib/PhpParser/Node/Stmt/Global_.php | 30 + .../lib/PhpParser/Node/Stmt/Goto_.php | 31 + .../lib/PhpParser/Node/Stmt/GroupUse.php | 39 + .../lib/PhpParser/Node/Stmt/HaltCompiler.php | 30 + .../lib/PhpParser/Node/Stmt/If_.php | 43 + .../lib/PhpParser/Node/Stmt/InlineHTML.php | 30 + .../lib/PhpParser/Node/Stmt/Interface_.php | 37 + .../lib/PhpParser/Node/Stmt/Label.php | 31 + .../lib/PhpParser/Node/Stmt/Namespace_.php | 38 + .../lib/PhpParser/Node/Stmt/Nop.php | 17 + .../lib/PhpParser/Node/Stmt/Property.php | 91 + .../PhpParser/Node/Stmt/PropertyProperty.php | 34 + .../lib/PhpParser/Node/Stmt/Return_.php | 30 + .../lib/PhpParser/Node/Stmt/StaticVar.php | 37 + .../lib/PhpParser/Node/Stmt/Static_.php | 30 + .../lib/PhpParser/Node/Stmt/Switch_.php | 34 + .../lib/PhpParser/Node/Stmt/Throw_.php | 30 + .../lib/PhpParser/Node/Stmt/TraitUse.php | 34 + .../Node/Stmt/TraitUseAdaptation.php | 13 + .../Node/Stmt/TraitUseAdaptation/Alias.php | 38 + .../Stmt/TraitUseAdaptation/Precedence.php | 34 + .../lib/PhpParser/Node/Stmt/Trait_.php | 32 + .../lib/PhpParser/Node/Stmt/TryCatch.php | 38 + .../lib/PhpParser/Node/Stmt/Unset_.php | 30 + .../lib/PhpParser/Node/Stmt/UseUse.php | 52 + .../lib/PhpParser/Node/Stmt/Use_.php | 47 + .../lib/PhpParser/Node/Stmt/While_.php | 34 + .../lib/PhpParser/Node/UnionType.php | 28 + .../lib/PhpParser/Node/VarLikeIdentifier.php | 17 + .../PhpParser/Node/VariadicPlaceholder.php | 27 + .../php-parser/lib/PhpParser/NodeAbstract.php | 178 + .../php-parser/lib/PhpParser/NodeDumper.php | 206 + .../php-parser/lib/PhpParser/NodeFinder.php | 81 + .../lib/PhpParser/NodeTraverser.php | 291 + .../lib/PhpParser/NodeTraverserInterface.php | 29 + .../php-parser/lib/PhpParser/NodeVisitor.php | 72 + .../PhpParser/NodeVisitor/CloningVisitor.php | 20 + .../PhpParser/NodeVisitor/FindingVisitor.php | 48 + .../NodeVisitor/FirstFindingVisitor.php | 50 + .../PhpParser/NodeVisitor/NameResolver.php | 257 + .../NodeVisitor/NodeConnectingVisitor.php | 52 + .../NodeVisitor/ParentConnectingVisitor.php | 41 + .../lib/PhpParser/NodeVisitorAbstract.php | 25 + .../nikic/php-parser/lib/PhpParser/Parser.php | 18 + .../lib/PhpParser/Parser/Multiple.php | 55 + .../php-parser/lib/PhpParser/Parser/Php5.php | 2682 +++ .../php-parser/lib/PhpParser/Parser/Php7.php | 2898 ++++ .../lib/PhpParser/Parser/Tokens.php | 148 + .../lib/PhpParser/ParserAbstract.php | 1060 ++ .../lib/PhpParser/ParserFactory.php | 44 + .../lib/PhpParser/PrettyPrinter/Standard.php | 1126 ++ .../lib/PhpParser/PrettyPrinterAbstract.php | 1576 ++ .../vendor/phpstan/php-8-stubs/.gitattributes | 3 + apigen/vendor/phpstan/php-8-stubs/.gitignore | 2 + .../phpstan/php-8-stubs/Php8StubsMap.php | 2764 +++ apigen/vendor/phpstan/php-8-stubs/README.md | 4 + .../vendor/phpstan/php-8-stubs/composer.json | 8 + .../vendor/phpstan/php-8-stubs/composer.lock | 18 + .../vendor/phpstan/php-8-stubs/stubs/LICENSE | 68 + .../stubs/Zend/AllowDynamicProperties.php | 10 + .../stubs/Zend/ArgumentCountError.php | 5 + .../stubs/Zend/ArithmeticError.php | 5 + .../php-8-stubs/stubs/Zend/ArrayAccess.php | 26 + .../php-8-stubs/stubs/Zend/Attribute.php | 89 + .../php-8-stubs/stubs/Zend/BackedEnum.php | 8 + .../stubs/Zend/ClosedGeneratorException.php | 5 + .../php-8-stubs/stubs/Zend/Closure.php | 21 + .../php-8-stubs/stubs/Zend/CompileError.php | 5 + .../php-8-stubs/stubs/Zend/Countable.php | 10 + .../stubs/Zend/DivisionByZeroError.php | 5 + .../phpstan/php-8-stubs/stubs/Zend/Error.php | 62 + .../php-8-stubs/stubs/Zend/ErrorException.php | 11 + .../php-8-stubs/stubs/Zend/Exception.php | 47 + .../phpstan/php-8-stubs/stubs/Zend/Fiber.php | 44 + .../php-8-stubs/stubs/Zend/FiberError.php | 9 + .../php-8-stubs/stubs/Zend/Generator.php | 30 + .../stubs/Zend/InternalIterator.php | 23 + .../php-8-stubs/stubs/Zend/Iterator.php | 30 + .../stubs/Zend/IteratorAggregate.php | 10 + .../php-8-stubs/stubs/Zend/Override.php | 13 + .../php-8-stubs/stubs/Zend/ParseError.php | 5 + .../stubs/Zend/ReturnTypeWillChange.php | 9 + .../stubs/Zend/SensitiveParameter.php | 13 + .../stubs/Zend/SensitiveParameterValue.php | 19 + .../php-8-stubs/stubs/Zend/Serializable.php | 9 + .../php-8-stubs/stubs/Zend/Stringable.php | 6 + .../php-8-stubs/stubs/Zend/Throwable.php | 13 + .../php-8-stubs/stubs/Zend/Traversable.php | 6 + .../php-8-stubs/stubs/Zend/TypeError.php | 5 + .../stubs/Zend/UnhandledMatchError.php | 5 + .../php-8-stubs/stubs/Zend/UnitEnum.php | 8 + .../php-8-stubs/stubs/Zend/ValueError.php | 5 + .../php-8-stubs/stubs/Zend/WeakMap.php | 29 + .../php-8-stubs/stubs/Zend/WeakReference.php | 15 + .../php-8-stubs/stubs/Zend/class_alias.php | 5 + .../php-8-stubs/stubs/Zend/class_exists.php | 5 + .../stubs/Zend/debug_backtrace.php | 8 + .../stubs/Zend/debug_print_backtrace.php | 5 + .../phpstan/php-8-stubs/stubs/Zend/define.php | 11 + .../php-8-stubs/stubs/Zend/defined.php | 5 + .../php-8-stubs/stubs/Zend/enum_exists.php | 6 + .../stubs/Zend/error_reporting.php | 5 + .../stubs/Zend/extension_loaded.php | 5 + .../php-8-stubs/stubs/Zend/func_get_arg.php | 5 + .../php-8-stubs/stubs/Zend/func_get_args.php | 5 + .../php-8-stubs/stubs/Zend/func_num_args.php | 5 + .../stubs/Zend/function_exists.php | 5 + .../stubs/Zend/gc_collect_cycles.php | 5 + .../php-8-stubs/stubs/Zend/gc_disable.php | 5 + .../php-8-stubs/stubs/Zend/gc_enable.php | 5 + .../php-8-stubs/stubs/Zend/gc_enabled.php | 5 + .../php-8-stubs/stubs/Zend/gc_mem_caches.php | 6 + .../php-8-stubs/stubs/Zend/gc_status.php | 8 + .../stubs/Zend/get_called_class.php | 5 + .../php-8-stubs/stubs/Zend/get_class.php | 5 + .../stubs/Zend/get_class_methods.php | 8 + .../php-8-stubs/stubs/Zend/get_class_vars.php | 8 + .../stubs/Zend/get_declared_classes.php | 8 + .../stubs/Zend/get_declared_interfaces.php | 8 + .../stubs/Zend/get_declared_traits.php | 8 + .../stubs/Zend/get_defined_constants.php | 8 + .../stubs/Zend/get_defined_functions.php | 8 + .../stubs/Zend/get_defined_vars.php | 8 + .../stubs/Zend/get_extension_funcs.php | 8 + .../stubs/Zend/get_included_files.php | 8 + .../stubs/Zend/get_loaded_extensions.php | 8 + .../stubs/Zend/get_mangled_object_vars.php | 5 + .../stubs/Zend/get_object_vars.php | 5 + .../stubs/Zend/get_parent_class.php | 5 + .../stubs/Zend/get_required_files.php | 8 + .../stubs/Zend/get_resource_id.php | 6 + .../stubs/Zend/get_resource_type.php | 6 + .../php-8-stubs/stubs/Zend/get_resources.php | 5 + .../stubs/Zend/interface_exists.php | 5 + .../phpstan/php-8-stubs/stubs/Zend/is_a.php | 6 + .../php-8-stubs/stubs/Zend/is_subclass_of.php | 6 + .../php-8-stubs/stubs/Zend/method_exists.php | 6 + .../stubs/Zend/property_exists.php | 6 + .../stubs/Zend/restore_error_handler.php | 10 + .../stubs/Zend/restore_exception_handler.php | 10 + .../stubs/Zend/set_error_handler.php | 6 + .../stubs/Zend/set_exception_handler.php | 6 + .../php-8-stubs/stubs/Zend/stdClass.php | 7 + .../php-8-stubs/stubs/Zend/strcasecmp.php | 5 + .../phpstan/php-8-stubs/stubs/Zend/strcmp.php | 5 + .../phpstan/php-8-stubs/stubs/Zend/strlen.php | 5 + .../php-8-stubs/stubs/Zend/strncasecmp.php | 5 + .../php-8-stubs/stubs/Zend/strncmp.php | 5 + .../php-8-stubs/stubs/Zend/trait_exists.php | 5 + .../php-8-stubs/stubs/Zend/trigger_error.php | 5 + .../php-8-stubs/stubs/Zend/user_error.php | 6 + .../php-8-stubs/stubs/Zend/zend_thread_id.php | 6 + .../php-8-stubs/stubs/Zend/zend_version.php | 6 + .../php-8-stubs/stubs/ext/bcmath/bcadd.php | 6 + .../php-8-stubs/stubs/ext/bcmath/bccomp.php | 5 + .../php-8-stubs/stubs/ext/bcmath/bcdiv.php | 5 + .../php-8-stubs/stubs/ext/bcmath/bcmod.php | 5 + .../php-8-stubs/stubs/ext/bcmath/bcmul.php | 5 + .../php-8-stubs/stubs/ext/bcmath/bcpow.php | 5 + .../php-8-stubs/stubs/ext/bcmath/bcpowmod.php | 5 + .../php-8-stubs/stubs/ext/bcmath/bcscale.php | 5 + .../php-8-stubs/stubs/ext/bcmath/bcsqrt.php | 5 + .../php-8-stubs/stubs/ext/bcmath/bcsub.php | 5 + .../php-8-stubs/stubs/ext/bz2/bzclose.php | 9 + .../php-8-stubs/stubs/ext/bz2/bzcompress.php | 5 + .../stubs/ext/bz2/bzdecompress.php | 5 + .../php-8-stubs/stubs/ext/bz2/bzerrno.php | 12 + .../php-8-stubs/stubs/ext/bz2/bzerror.php | 16 + .../php-8-stubs/stubs/ext/bz2/bzerrstr.php | 12 + .../php-8-stubs/stubs/ext/bz2/bzflush.php | 9 + .../php-8-stubs/stubs/ext/bz2/bzopen.php | 10 + .../php-8-stubs/stubs/ext/bz2/bzread.php | 6 + .../php-8-stubs/stubs/ext/bz2/bzwrite.php | 9 + .../stubs/ext/calendar/cal_days_in_month.php | 6 + .../stubs/ext/calendar/cal_from_jd.php | 8 + .../stubs/ext/calendar/cal_info.php | 8 + .../stubs/ext/calendar/cal_to_jd.php | 5 + .../stubs/ext/calendar/easter_date.php | 5 + .../stubs/ext/calendar/easter_days.php | 5 + .../stubs/ext/calendar/frenchtojd.php | 5 + .../stubs/ext/calendar/gregoriantojd.php | 5 + .../stubs/ext/calendar/jddayofweek.php | 5 + .../stubs/ext/calendar/jdmonthname.php | 5 + .../stubs/ext/calendar/jdtofrench.php | 5 + .../stubs/ext/calendar/jdtogregorian.php | 5 + .../stubs/ext/calendar/jdtojewish.php | 5 + .../stubs/ext/calendar/jdtojulian.php | 5 + .../stubs/ext/calendar/jdtounix.php | 5 + .../stubs/ext/calendar/jewishtojd.php | 5 + .../stubs/ext/calendar/juliantojd.php | 5 + .../stubs/ext/calendar/unixtojd.php | 5 + .../stubs/ext/com_dotnet/COMPersistHelper.php | 32 + .../php-8-stubs/stubs/ext/com_dotnet/com.php | 8 + .../stubs/ext/com_dotnet/com_create_guid.php | 5 + .../stubs/ext/com_dotnet/com_event_sink.php | 5 + .../stubs/ext/com_dotnet/com_exception.php | 6 + .../ext/com_dotnet/com_get_active_object.php | 5 + .../stubs/ext/com_dotnet/com_load_typelib.php | 5 + .../stubs/ext/com_dotnet/com_message_pump.php | 5 + .../ext/com_dotnet/com_print_typeinfo.php | 5 + .../ext/com_dotnet/com_safearray_proxy.php | 7 + .../stubs/ext/com_dotnet/dotnet.php | 9 + .../stubs/ext/com_dotnet/variant.php | 8 + .../stubs/ext/com_dotnet/variant_abs.php | 5 + .../stubs/ext/com_dotnet/variant_add.php | 5 + .../stubs/ext/com_dotnet/variant_and.php | 5 + .../stubs/ext/com_dotnet/variant_cast.php | 5 + .../stubs/ext/com_dotnet/variant_cat.php | 5 + .../stubs/ext/com_dotnet/variant_cmp.php | 5 + .../variant_date_from_timestamp.php | 5 + .../com_dotnet/variant_date_to_timestamp.php | 5 + .../stubs/ext/com_dotnet/variant_div.php | 5 + .../stubs/ext/com_dotnet/variant_eqv.php | 5 + .../stubs/ext/com_dotnet/variant_fix.php | 5 + .../stubs/ext/com_dotnet/variant_get_type.php | 5 + .../stubs/ext/com_dotnet/variant_idiv.php | 5 + .../stubs/ext/com_dotnet/variant_imp.php | 5 + .../stubs/ext/com_dotnet/variant_int.php | 5 + .../stubs/ext/com_dotnet/variant_mod.php | 5 + .../stubs/ext/com_dotnet/variant_mul.php | 5 + .../stubs/ext/com_dotnet/variant_neg.php | 5 + .../stubs/ext/com_dotnet/variant_not.php | 5 + .../stubs/ext/com_dotnet/variant_or.php | 5 + .../stubs/ext/com_dotnet/variant_pow.php | 5 + .../stubs/ext/com_dotnet/variant_round.php | 5 + .../stubs/ext/com_dotnet/variant_set.php | 6 + .../stubs/ext/com_dotnet/variant_set_type.php | 5 + .../stubs/ext/com_dotnet/variant_sub.php | 5 + .../stubs/ext/com_dotnet/variant_xor.php | 5 + .../stubs/ext/ctype/ctype_alnum.php | 6 + .../stubs/ext/ctype/ctype_alpha.php | 5 + .../stubs/ext/ctype/ctype_cntrl.php | 5 + .../stubs/ext/ctype/ctype_digit.php | 5 + .../stubs/ext/ctype/ctype_graph.php | 5 + .../stubs/ext/ctype/ctype_lower.php | 5 + .../stubs/ext/ctype/ctype_print.php | 5 + .../stubs/ext/ctype/ctype_punct.php | 5 + .../stubs/ext/ctype/ctype_space.php | 5 + .../stubs/ext/ctype/ctype_upper.php | 5 + .../stubs/ext/ctype/ctype_xdigit.php | 5 + .../php-8-stubs/stubs/ext/curl/CURLFile.php | 44 + .../stubs/ext/curl/CURLStringFile.php | 9 + .../php-8-stubs/stubs/ext/curl/CurlHandle.php | 6 + .../stubs/ext/curl/CurlMultiHandle.php | 5 + .../stubs/ext/curl/CurlShareHandle.php | 5 + .../php-8-stubs/stubs/ext/curl/curl_close.php | 5 + .../stubs/ext/curl/curl_copy_handle.php | 5 + .../php-8-stubs/stubs/ext/curl/curl_errno.php | 5 + .../php-8-stubs/stubs/ext/curl/curl_error.php | 5 + .../stubs/ext/curl/curl_escape.php | 6 + .../php-8-stubs/stubs/ext/curl/curl_exec.php | 6 + .../stubs/ext/curl/curl_file_create.php | 5 + .../stubs/ext/curl/curl_getinfo.php | 5 + .../php-8-stubs/stubs/ext/curl/curl_init.php | 5 + .../stubs/ext/curl/curl_multi_add_handle.php | 5 + .../stubs/ext/curl/curl_multi_close.php | 5 + .../stubs/ext/curl/curl_multi_errno.php | 5 + .../stubs/ext/curl/curl_multi_exec.php | 6 + .../stubs/ext/curl/curl_multi_getcontent.php | 5 + .../stubs/ext/curl/curl_multi_info_read.php | 9 + .../stubs/ext/curl/curl_multi_init.php | 5 + .../ext/curl/curl_multi_remove_handle.php | 5 + .../stubs/ext/curl/curl_multi_select.php | 5 + .../stubs/ext/curl/curl_multi_setopt.php | 5 + .../stubs/ext/curl/curl_multi_strerror.php | 5 + .../php-8-stubs/stubs/ext/curl/curl_pause.php | 6 + .../php-8-stubs/stubs/ext/curl/curl_reset.php | 6 + .../stubs/ext/curl/curl_setopt.php | 5 + .../stubs/ext/curl/curl_setopt_array.php | 5 + .../stubs/ext/curl/curl_share_close.php | 5 + .../stubs/ext/curl/curl_share_errno.php | 5 + .../stubs/ext/curl/curl_share_init.php | 5 + .../stubs/ext/curl/curl_share_setopt.php | 5 + .../stubs/ext/curl/curl_share_strerror.php | 5 + .../stubs/ext/curl/curl_strerror.php | 5 + .../stubs/ext/curl/curl_unescape.php | 5 + .../stubs/ext/curl/curl_upkeep.php | 7 + .../stubs/ext/curl/curl_version.php | 8 + .../php-8-stubs/stubs/ext/date/DateError.php | 9 + .../stubs/ext/date/DateException.php | 9 + .../stubs/ext/date/DateInterval.php | 41 + .../date/DateInvalidOperationException.php | 9 + .../ext/date/DateInvalidTimeZoneException.php | 9 + .../DateMalformedIntervalStringException.php | 9 + .../DateMalformedPeriodStringException.php | 9 + .../ext/date/DateMalformedStringException.php | 9 + .../stubs/ext/date/DateObjectError.php | 9 + .../php-8-stubs/stubs/ext/date/DatePeriod.php | 79 + .../stubs/ext/date/DateRangeError.php | 9 + .../php-8-stubs/stubs/ext/date/DateTime.php | 157 + .../stubs/ext/date/DateTimeImmutable.php | 151 + .../stubs/ext/date/DateTimeInterface.php | 83 + .../stubs/ext/date/DateTimeZone.php | 158 + .../php-8-stubs/stubs/ext/date/checkdate.php | 5 + .../php-8-stubs/stubs/ext/date/date.php | 5 + .../php-8-stubs/stubs/ext/date/date_add.php | 5 + .../stubs/ext/date/date_create.php | 5 + .../ext/date/date_create_from_format.php | 5 + .../stubs/ext/date/date_create_immutable.php | 5 + .../date_create_immutable_from_format.php | 5 + .../stubs/ext/date/date_date_set.php | 5 + .../ext/date/date_default_timezone_get.php | 5 + .../ext/date/date_default_timezone_set.php | 5 + .../php-8-stubs/stubs/ext/date/date_diff.php | 5 + .../stubs/ext/date/date_format.php | 5 + .../stubs/ext/date/date_get_last_errors.php | 8 + .../date_interval_create_from_date_string.php | 5 + .../stubs/ext/date/date_interval_format.php | 5 + .../stubs/ext/date/date_isodate_set.php | 5 + .../stubs/ext/date/date_modify.php | 5 + .../stubs/ext/date/date_offset_get.php | 5 + .../php-8-stubs/stubs/ext/date/date_parse.php | 8 + .../stubs/ext/date/date_parse_from_format.php | 8 + .../php-8-stubs/stubs/ext/date/date_sub.php | 5 + .../stubs/ext/date/date_sun_info.php | 8 + .../stubs/ext/date/date_sunrise.php | 5 + .../stubs/ext/date/date_sunset.php | 5 + .../stubs/ext/date/date_time_set.php | 5 + .../stubs/ext/date/date_timestamp_get.php | 5 + .../stubs/ext/date/date_timestamp_set.php | 5 + .../stubs/ext/date/date_timezone_get.php | 5 + .../stubs/ext/date/date_timezone_set.php | 5 + .../php-8-stubs/stubs/ext/date/getdate.php | 8 + .../php-8-stubs/stubs/ext/date/gmdate.php | 5 + .../php-8-stubs/stubs/ext/date/gmmktime.php | 5 + .../php-8-stubs/stubs/ext/date/gmstrftime.php | 5 + .../php-8-stubs/stubs/ext/date/idate.php | 5 + .../php-8-stubs/stubs/ext/date/localtime.php | 8 + .../php-8-stubs/stubs/ext/date/mktime.php | 5 + .../php-8-stubs/stubs/ext/date/strftime.php | 5 + .../php-8-stubs/stubs/ext/date/strtotime.php | 6 + .../php-8-stubs/stubs/ext/date/time.php | 5 + .../ext/date/timezone_abbreviations_list.php | 8 + .../ext/date/timezone_identifiers_list.php | 8 + .../stubs/ext/date/timezone_location_get.php | 8 + .../ext/date/timezone_name_from_abbr.php | 5 + .../stubs/ext/date/timezone_name_get.php | 5 + .../stubs/ext/date/timezone_offset_get.php | 5 + .../stubs/ext/date/timezone_open.php | 5 + .../ext/date/timezone_transitions_get.php | 8 + .../stubs/ext/date/timezone_version_get.php | 5 + .../php-8-stubs/stubs/ext/dba/dba_close.php | 6 + .../php-8-stubs/stubs/ext/dba/dba_delete.php | 15 + .../php-8-stubs/stubs/ext/dba/dba_exists.php | 15 + .../php-8-stubs/stubs/ext/dba/dba_fetch.php | 19 + .../stubs/ext/dba/dba_firstkey.php | 6 + .../stubs/ext/dba/dba_handlers.php | 8 + .../php-8-stubs/stubs/ext/dba/dba_insert.php | 15 + .../stubs/ext/dba/dba_key_split.php | 5 + .../php-8-stubs/stubs/ext/dba/dba_list.php | 5 + .../php-8-stubs/stubs/ext/dba/dba_nextkey.php | 6 + .../php-8-stubs/stubs/ext/dba/dba_open.php | 18 + .../stubs/ext/dba/dba_optimize.php | 6 + .../php-8-stubs/stubs/ext/dba/dba_popen.php | 20 + .../php-8-stubs/stubs/ext/dba/dba_replace.php | 15 + .../php-8-stubs/stubs/ext/dba/dba_sync.php | 6 + .../php-8-stubs/stubs/ext/dom/DOMAttr.php | 15 + .../stubs/ext/dom/DOMCdataSection.php | 8 + .../stubs/ext/dom/DOMCharacterData.php | 52 + .../stubs/ext/dom/DOMChildNode.php | 12 + .../php-8-stubs/stubs/ext/dom/DOMComment.php | 8 + .../php-8-stubs/stubs/ext/dom/DOMDocument.php | 218 + .../stubs/ext/dom/DOMDocumentFragment.php | 28 + .../stubs/ext/dom/DOMDocumentType.php | 6 + .../php-8-stubs/stubs/ext/dom/DOMElement.php | 160 + .../php-8-stubs/stubs/ext/dom/DOMEntity.php | 5 + .../stubs/ext/dom/DOMEntityReference.php | 8 + .../stubs/ext/dom/DOMException.php | 5 + .../stubs/ext/dom/DOMImplementation.php | 27 + .../stubs/ext/dom/DOMNameSpaceNode.php | 15 + .../stubs/ext/dom/DOMNamedNodeMap.php | 36 + .../php-8-stubs/stubs/ext/dom/DOMNode.php | 129 + .../php-8-stubs/stubs/ext/dom/DOMNodeList.php | 19 + .../php-8-stubs/stubs/ext/dom/DOMNotation.php | 5 + .../stubs/ext/dom/DOMParentNode.php | 12 + .../ext/dom/DOMProcessingInstruction.php | 8 + .../php-8-stubs/stubs/ext/dom/DOMText.php | 27 + .../php-8-stubs/stubs/ext/dom/DOMXPath.php | 37 + .../stubs/ext/dom/dom_import_simplexml.php | 6 + .../stubs/ext/enchant/EnchantBroker.php | 6 + .../stubs/ext/enchant/EnchantDictionary.php | 5 + .../ext/enchant/enchant_broker_describe.php | 8 + .../enchant/enchant_broker_dict_exists.php | 5 + .../stubs/ext/enchant/enchant_broker_free.php | 6 + .../ext/enchant/enchant_broker_free_dict.php | 6 + .../enchant/enchant_broker_get_dict_path.php | 6 + .../ext/enchant/enchant_broker_get_error.php | 5 + .../stubs/ext/enchant/enchant_broker_init.php | 5 + .../ext/enchant/enchant_broker_list_dicts.php | 8 + .../enchant/enchant_broker_request_dict.php | 5 + .../enchant_broker_request_pwl_dict.php | 5 + .../enchant/enchant_broker_set_dict_path.php | 6 + .../enchant/enchant_broker_set_ordering.php | 5 + .../stubs/ext/enchant/enchant_dict_add.php | 5 + .../enchant/enchant_dict_add_to_personal.php | 9 + .../enchant/enchant_dict_add_to_session.php | 5 + .../stubs/ext/enchant/enchant_dict_check.php | 5 + .../ext/enchant/enchant_dict_describe.php | 8 + .../ext/enchant/enchant_dict_get_error.php | 5 + .../ext/enchant/enchant_dict_is_added.php | 5 + .../enchant/enchant_dict_is_in_session.php | 9 + .../ext/enchant/enchant_dict_quick_check.php | 6 + .../enchant_dict_store_replacement.php | 5 + .../ext/enchant/enchant_dict_suggest.php | 8 + .../stubs/ext/exif/exif_imagetype.php | 5 + .../stubs/ext/exif/exif_read_data.php | 9 + .../stubs/ext/exif/exif_tagname.php | 6 + .../stubs/ext/exif/exif_thumbnail.php | 11 + .../phpstan/php-8-stubs/stubs/ext/ffi/FFI.php | 93 + .../php-8-stubs/stubs/ext/ffi/FFI/CData.php | 7 + .../php-8-stubs/stubs/ext/ffi/FFI/CType.php | 454 + .../stubs/ext/ffi/FFI/Exception.php | 7 + .../stubs/ext/ffi/FFI/ParserException.php | 7 + .../php-8-stubs/stubs/ext/fileinfo/finfo.php | 35 + .../stubs/ext/fileinfo/finfo_buffer.php | 18 + .../stubs/ext/fileinfo/finfo_close.php | 13 + .../stubs/ext/fileinfo/finfo_file.php | 19 + .../stubs/ext/fileinfo/finfo_open.php | 12 + .../stubs/ext/fileinfo/finfo_set_flags.php | 13 + .../stubs/ext/fileinfo/mime_content_type.php | 8 + .../stubs/ext/filter/filter_has_var.php | 6 + .../stubs/ext/filter/filter_id.php | 5 + .../stubs/ext/filter/filter_input.php | 5 + .../stubs/ext/filter/filter_input_array.php | 5 + .../stubs/ext/filter/filter_list.php | 8 + .../stubs/ext/filter/filter_var.php | 5 + .../stubs/ext/filter/filter_var_array.php | 5 + .../stubs/ext/ftp/FTP/Connection.php | 12 + .../php-8-stubs/stubs/ext/ftp/ftp_alloc.php | 15 + .../php-8-stubs/stubs/ext/ftp/ftp_append.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_cdup.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_chdir.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_chmod.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_close.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_connect.php | 12 + .../php-8-stubs/stubs/ext/ftp/ftp_delete.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_exec.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_fget.php | 15 + .../php-8-stubs/stubs/ext/ftp/ftp_fput.php | 15 + .../php-8-stubs/stubs/ext/ftp/ftp_get.php | 11 + .../stubs/ext/ftp/ftp_get_option.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_login.php | 13 + .../php-8-stubs/stubs/ext/ftp/ftp_mdtm.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_mkdir.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_mlsd.php | 15 + .../stubs/ext/ftp/ftp_nb_continue.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_nb_fget.php | 15 + .../php-8-stubs/stubs/ext/ftp/ftp_nb_fput.php | 15 + .../php-8-stubs/stubs/ext/ftp/ftp_nb_get.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_nb_put.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_nlist.php | 15 + .../php-8-stubs/stubs/ext/ftp/ftp_pasv.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_put.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_pwd.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_quit.php | 15 + .../php-8-stubs/stubs/ext/ftp/ftp_raw.php | 15 + .../php-8-stubs/stubs/ext/ftp/ftp_rawlist.php | 15 + .../php-8-stubs/stubs/ext/ftp/ftp_rename.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_rmdir.php | 11 + .../stubs/ext/ftp/ftp_set_option.php | 15 + .../php-8-stubs/stubs/ext/ftp/ftp_site.php | 11 + .../php-8-stubs/stubs/ext/ftp/ftp_size.php | 11 + .../stubs/ext/ftp/ftp_ssl_connect.php | 13 + .../php-8-stubs/stubs/ext/ftp/ftp_systype.php | 11 + .../php-8-stubs/stubs/ext/gd/GdFont.php | 10 + .../php-8-stubs/stubs/ext/gd/GdImage.php | 6 + .../php-8-stubs/stubs/ext/gd/gd_info.php | 8 + .../php-8-stubs/stubs/ext/gd/imageaffine.php | 5 + .../stubs/ext/gd/imageaffinematrixconcat.php | 8 + .../stubs/ext/gd/imageaffinematrixget.php | 9 + .../stubs/ext/gd/imagealphablending.php | 5 + .../stubs/ext/gd/imageantialias.php | 5 + .../php-8-stubs/stubs/ext/gd/imagearc.php | 5 + .../php-8-stubs/stubs/ext/gd/imageavif.php | 8 + .../php-8-stubs/stubs/ext/gd/imagebmp.php | 7 + .../php-8-stubs/stubs/ext/gd/imagechar.php | 10 + .../php-8-stubs/stubs/ext/gd/imagecharup.php | 10 + .../stubs/ext/gd/imagecolorallocate.php | 5 + .../stubs/ext/gd/imagecolorallocatealpha.php | 5 + .../php-8-stubs/stubs/ext/gd/imagecolorat.php | 5 + .../stubs/ext/gd/imagecolorclosest.php | 5 + .../stubs/ext/gd/imagecolorclosestalpha.php | 5 + .../stubs/ext/gd/imagecolorclosesthwb.php | 5 + .../stubs/ext/gd/imagecolordeallocate.php | 5 + .../stubs/ext/gd/imagecolorexact.php | 5 + .../stubs/ext/gd/imagecolorexactalpha.php | 5 + .../stubs/ext/gd/imagecolormatch.php | 5 + .../stubs/ext/gd/imagecolorresolve.php | 5 + .../stubs/ext/gd/imagecolorresolvealpha.php | 5 + .../stubs/ext/gd/imagecolorset.php | 10 + .../stubs/ext/gd/imagecolorsforindex.php | 8 + .../stubs/ext/gd/imagecolorstotal.php | 5 + .../stubs/ext/gd/imagecolortransparent.php | 5 + .../stubs/ext/gd/imageconvolution.php | 5 + .../php-8-stubs/stubs/ext/gd/imagecopy.php | 5 + .../stubs/ext/gd/imagecopymerge.php | 5 + .../stubs/ext/gd/imagecopymergegray.php | 5 + .../stubs/ext/gd/imagecopyresampled.php | 5 + .../stubs/ext/gd/imagecopyresized.php | 5 + .../php-8-stubs/stubs/ext/gd/imagecreate.php | 5 + .../stubs/ext/gd/imagecreatefromavif.php | 8 + .../stubs/ext/gd/imagecreatefrombmp.php | 6 + .../stubs/ext/gd/imagecreatefromgd.php | 5 + .../stubs/ext/gd/imagecreatefromgd2.php | 5 + .../stubs/ext/gd/imagecreatefromgd2part.php | 5 + .../stubs/ext/gd/imagecreatefromgif.php | 5 + .../stubs/ext/gd/imagecreatefromjpeg.php | 6 + .../stubs/ext/gd/imagecreatefrompng.php | 7 + .../stubs/ext/gd/imagecreatefromstring.php | 5 + .../stubs/ext/gd/imagecreatefromtga.php | 7 + .../stubs/ext/gd/imagecreatefromwbmp.php | 6 + .../stubs/ext/gd/imagecreatefromwebp.php | 7 + .../stubs/ext/gd/imagecreatefromxbm.php | 6 + .../stubs/ext/gd/imagecreatefromxpm.php | 6 + .../stubs/ext/gd/imagecreatetruecolor.php | 5 + .../php-8-stubs/stubs/ext/gd/imagecrop.php | 5 + .../stubs/ext/gd/imagecropauto.php | 5 + .../stubs/ext/gd/imagedashedline.php | 5 + .../php-8-stubs/stubs/ext/gd/imagedestroy.php | 6 + .../php-8-stubs/stubs/ext/gd/imageellipse.php | 5 + .../php-8-stubs/stubs/ext/gd/imagefill.php | 5 + .../stubs/ext/gd/imagefilledarc.php | 5 + .../stubs/ext/gd/imagefilledellipse.php | 5 + .../stubs/ext/gd/imagefilledpolygon.php | 5 + .../stubs/ext/gd/imagefilledrectangle.php | 5 + .../stubs/ext/gd/imagefilltoborder.php | 5 + .../php-8-stubs/stubs/ext/gd/imagefilter.php | 7 + .../php-8-stubs/stubs/ext/gd/imageflip.php | 5 + .../stubs/ext/gd/imagefontheight.php | 10 + .../stubs/ext/gd/imagefontwidth.php | 10 + .../php-8-stubs/stubs/ext/gd/imageftbbox.php | 9 + .../php-8-stubs/stubs/ext/gd/imagefttext.php | 8 + .../stubs/ext/gd/imagegammacorrect.php | 5 + .../php-8-stubs/stubs/ext/gd/imagegd.php | 5 + .../php-8-stubs/stubs/ext/gd/imagegd2.php | 10 + .../php-8-stubs/stubs/ext/gd/imagegetclip.php | 8 + .../stubs/ext/gd/imagegetinterpolation.php | 5 + .../php-8-stubs/stubs/ext/gd/imagegif.php | 6 + .../stubs/ext/gd/imagegrabscreen.php | 5 + .../stubs/ext/gd/imagegrabwindow.php | 6 + .../stubs/ext/gd/imageinterlace.php | 5 + .../stubs/ext/gd/imageistruecolor.php | 5 + .../php-8-stubs/stubs/ext/gd/imagejpeg.php | 8 + .../stubs/ext/gd/imagelayereffect.php | 5 + .../php-8-stubs/stubs/ext/gd/imageline.php | 5 + .../stubs/ext/gd/imageloadfont.php | 10 + .../stubs/ext/gd/imageopenpolygon.php | 5 + .../stubs/ext/gd/imagepalettecopy.php | 5 + .../stubs/ext/gd/imagepalettetotruecolor.php | 5 + .../php-8-stubs/stubs/ext/gd/imagepng.php | 7 + .../php-8-stubs/stubs/ext/gd/imagepolygon.php | 5 + .../stubs/ext/gd/imagerectangle.php | 5 + .../stubs/ext/gd/imageresolution.php | 8 + .../php-8-stubs/stubs/ext/gd/imagerotate.php | 14 + .../stubs/ext/gd/imagesavealpha.php | 5 + .../php-8-stubs/stubs/ext/gd/imagescale.php | 5 + .../stubs/ext/gd/imagesetbrush.php | 5 + .../php-8-stubs/stubs/ext/gd/imagesetclip.php | 5 + .../stubs/ext/gd/imagesetinterpolation.php | 5 + .../stubs/ext/gd/imagesetpixel.php | 5 + .../stubs/ext/gd/imagesetstyle.php | 5 + .../stubs/ext/gd/imagesetthickness.php | 5 + .../php-8-stubs/stubs/ext/gd/imagesettile.php | 5 + .../php-8-stubs/stubs/ext/gd/imagestring.php | 10 + .../stubs/ext/gd/imagestringup.php | 10 + .../php-8-stubs/stubs/ext/gd/imagesx.php | 5 + .../php-8-stubs/stubs/ext/gd/imagesy.php | 5 + .../stubs/ext/gd/imagetruecolortopalette.php | 5 + .../php-8-stubs/stubs/ext/gd/imagettfbbox.php | 8 + .../php-8-stubs/stubs/ext/gd/imagettftext.php | 8 + .../php-8-stubs/stubs/ext/gd/imagetypes.php | 5 + .../php-8-stubs/stubs/ext/gd/imagewbmp.php | 7 + .../php-8-stubs/stubs/ext/gd/imagewebp.php | 8 + .../php-8-stubs/stubs/ext/gd/imagexbm.php | 6 + .../php-8-stubs/stubs/ext/gettext/_.php | 6 + .../ext/gettext/bind_textdomain_codeset.php | 7 + .../stubs/ext/gettext/bindtextdomain.php | 5 + .../stubs/ext/gettext/dcgettext.php | 5 + .../stubs/ext/gettext/dcngettext.php | 7 + .../stubs/ext/gettext/dgettext.php | 5 + .../stubs/ext/gettext/dngettext.php | 7 + .../php-8-stubs/stubs/ext/gettext/gettext.php | 5 + .../stubs/ext/gettext/ngettext.php | 6 + .../stubs/ext/gettext/textdomain.php | 6 + .../phpstan/php-8-stubs/stubs/ext/gmp/GMP.php | 18 + .../php-8-stubs/stubs/ext/gmp/gmp_abs.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_add.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_and.php | 5 + .../stubs/ext/gmp/gmp_binomial.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_clrbit.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_cmp.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_com.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_div.php | 6 + .../php-8-stubs/stubs/ext/gmp/gmp_div_q.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_div_qr.php | 8 + .../php-8-stubs/stubs/ext/gmp/gmp_div_r.php | 5 + .../stubs/ext/gmp/gmp_divexact.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_export.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_fact.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_gcd.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_gcdext.php | 8 + .../php-8-stubs/stubs/ext/gmp/gmp_hamdist.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_import.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_init.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_intval.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_invert.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_jacobi.php | 5 + .../stubs/ext/gmp/gmp_kronecker.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_lcm.php | 5 + .../stubs/ext/gmp/gmp_legendre.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_mod.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_mul.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_neg.php | 5 + .../stubs/ext/gmp/gmp_nextprime.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_or.php | 5 + .../stubs/ext/gmp/gmp_perfect_power.php | 5 + .../stubs/ext/gmp/gmp_perfect_square.php | 5 + .../stubs/ext/gmp/gmp_popcount.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_pow.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_powm.php | 5 + .../stubs/ext/gmp/gmp_prob_prime.php | 5 + .../stubs/ext/gmp/gmp_random_bits.php | 5 + .../stubs/ext/gmp/gmp_random_range.php | 5 + .../stubs/ext/gmp/gmp_random_seed.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_root.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_rootrem.php | 8 + .../php-8-stubs/stubs/ext/gmp/gmp_scan0.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_scan1.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_setbit.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_sign.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_sqrt.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_sqrtrem.php | 8 + .../php-8-stubs/stubs/ext/gmp/gmp_strval.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_sub.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_testbit.php | 5 + .../php-8-stubs/stubs/ext/gmp/gmp_xor.php | 5 + .../stubs/ext/hash/HashContext.php | 15 + .../php-8-stubs/stubs/ext/hash/hash.php | 13 + .../php-8-stubs/stubs/ext/hash/hash_algos.php | 9 + .../php-8-stubs/stubs/ext/hash/hash_copy.php | 5 + .../stubs/ext/hash/hash_equals.php | 5 + .../php-8-stubs/stubs/ext/hash/hash_file.php | 11 + .../php-8-stubs/stubs/ext/hash/hash_final.php | 5 + .../php-8-stubs/stubs/ext/hash/hash_hkdf.php | 5 + .../php-8-stubs/stubs/ext/hash/hash_hmac.php | 5 + .../stubs/ext/hash/hash_hmac_algos.php | 9 + .../stubs/ext/hash/hash_hmac_file.php | 5 + .../php-8-stubs/stubs/ext/hash/hash_init.php | 11 + .../stubs/ext/hash/hash_pbkdf2.php | 11 + .../stubs/ext/hash/hash_update.php | 5 + .../stubs/ext/hash/hash_update_file.php | 6 + .../stubs/ext/hash/hash_update_stream.php | 6 + .../php-8-stubs/stubs/ext/hash/mhash.php | 5 + .../stubs/ext/hash/mhash_count.php | 5 + .../stubs/ext/hash/mhash_get_block_size.php | 6 + .../stubs/ext/hash/mhash_get_hash_name.php | 5 + .../stubs/ext/hash/mhash_keygen_s2k.php | 5 + .../php-8-stubs/stubs/ext/iconv/iconv.php | 5 + .../stubs/ext/iconv/iconv_get_encoding.php | 8 + .../stubs/ext/iconv/iconv_mime_decode.php | 5 + .../ext/iconv/iconv_mime_decode_headers.php | 8 + .../stubs/ext/iconv/iconv_mime_encode.php | 5 + .../stubs/ext/iconv/iconv_set_encoding.php | 5 + .../stubs/ext/iconv/iconv_strlen.php | 6 + .../stubs/ext/iconv/iconv_strpos.php | 5 + .../stubs/ext/iconv/iconv_strrpos.php | 5 + .../stubs/ext/iconv/iconv_substr.php | 5 + .../stubs/ext/imap/IMAP/Connection.php | 12 + .../php-8-stubs/stubs/ext/imap/imap_8bit.php | 5 + .../stubs/ext/imap/imap_alerts.php | 5 + .../stubs/ext/imap/imap_append.php | 11 + .../stubs/ext/imap/imap_base64.php | 5 + .../stubs/ext/imap/imap_binary.php | 5 + .../php-8-stubs/stubs/ext/imap/imap_body.php | 11 + .../stubs/ext/imap/imap_bodystruct.php | 14 + .../php-8-stubs/stubs/ext/imap/imap_check.php | 11 + .../stubs/ext/imap/imap_clearflag_full.php | 16 + .../php-8-stubs/stubs/ext/imap/imap_close.php | 18 + .../stubs/ext/imap/imap_create.php | 15 + .../stubs/ext/imap/imap_createmailbox.php | 11 + .../stubs/ext/imap/imap_delete.php | 18 + .../stubs/ext/imap/imap_deletemailbox.php | 11 + .../stubs/ext/imap/imap_errors.php | 5 + .../stubs/ext/imap/imap_expunge.php | 18 + .../stubs/ext/imap/imap_fetch_overview.php | 11 + .../stubs/ext/imap/imap_fetchbody.php | 11 + .../stubs/ext/imap/imap_fetchheader.php | 11 + .../stubs/ext/imap/imap_fetchmime.php | 11 + .../stubs/ext/imap/imap_fetchstructure.php | 11 + .../stubs/ext/imap/imap_fetchtext.php | 15 + .../php-8-stubs/stubs/ext/imap/imap_gc.php | 18 + .../stubs/ext/imap/imap_get_quota.php | 13 + .../stubs/ext/imap/imap_get_quotaroot.php | 11 + .../stubs/ext/imap/imap_getacl.php | 11 + .../stubs/ext/imap/imap_getmailboxes.php | 11 + .../stubs/ext/imap/imap_getsubscribed.php | 11 + .../stubs/ext/imap/imap_headerinfo.php | 11 + .../stubs/ext/imap/imap_headers.php | 11 + .../stubs/ext/imap/imap_is_open.php | 6 + .../stubs/ext/imap/imap_last_error.php | 5 + .../php-8-stubs/stubs/ext/imap/imap_list.php | 11 + .../stubs/ext/imap/imap_listmailbox.php | 15 + .../stubs/ext/imap/imap_listscan.php | 11 + .../stubs/ext/imap/imap_listsubscribed.php | 15 + .../php-8-stubs/stubs/ext/imap/imap_lsub.php | 11 + .../php-8-stubs/stubs/ext/imap/imap_mail.php | 6 + .../stubs/ext/imap/imap_mail_compose.php | 5 + .../stubs/ext/imap/imap_mail_copy.php | 11 + .../stubs/ext/imap/imap_mail_move.php | 11 + .../stubs/ext/imap/imap_mailboxmsginfo.php | 11 + .../ext/imap/imap_mime_header_decode.php | 6 + .../php-8-stubs/stubs/ext/imap/imap_msgno.php | 11 + .../stubs/ext/imap/imap_mutf7_to_utf8.php | 5 + .../stubs/ext/imap/imap_num_msg.php | 11 + .../stubs/ext/imap/imap_num_recent.php | 11 + .../php-8-stubs/stubs/ext/imap/imap_open.php | 14 + .../php-8-stubs/stubs/ext/imap/imap_ping.php | 11 + .../stubs/ext/imap/imap_qprint.php | 5 + .../stubs/ext/imap/imap_rename.php | 15 + .../stubs/ext/imap/imap_renamemailbox.php | 11 + .../stubs/ext/imap/imap_reopen.php | 13 + .../ext/imap/imap_rfc822_parse_adrlist.php | 5 + .../ext/imap/imap_rfc822_parse_headers.php | 5 + .../ext/imap/imap_rfc822_write_address.php | 5 + .../stubs/ext/imap/imap_savebody.php | 15 + .../php-8-stubs/stubs/ext/imap/imap_scan.php | 15 + .../stubs/ext/imap/imap_scanmailbox.php | 15 + .../stubs/ext/imap/imap_search.php | 11 + .../stubs/ext/imap/imap_set_quota.php | 11 + .../stubs/ext/imap/imap_setacl.php | 11 + .../stubs/ext/imap/imap_setflag_full.php | 16 + .../php-8-stubs/stubs/ext/imap/imap_sort.php | 11 + .../stubs/ext/imap/imap_status.php | 14 + .../stubs/ext/imap/imap_subscribe.php | 11 + .../stubs/ext/imap/imap_thread.php | 11 + .../stubs/ext/imap/imap_timeout.php | 5 + .../php-8-stubs/stubs/ext/imap/imap_uid.php | 11 + .../stubs/ext/imap/imap_undelete.php | 18 + .../stubs/ext/imap/imap_unsubscribe.php | 11 + .../stubs/ext/imap/imap_utf7_decode.php | 5 + .../stubs/ext/imap/imap_utf7_encode.php | 5 + .../php-8-stubs/stubs/ext/imap/imap_utf8.php | 5 + .../stubs/ext/imap/imap_utf8_to_mutf7.php | 6 + .../stubs/ext/intl/IntlException.php | 6 + .../intl/breakiterator/IntlBreakIterator.php | 266 + .../IntlCodePointBreakIterator.php | 12 + .../intl/breakiterator/IntlPartsIterator.php | 35 + .../IntlRuleBasedBreakIterator.php | 36 + .../stubs/ext/intl/calendar/IntlCalendar.php | 607 + .../intl/calendar/IntlGregorianCalendar.php | 48 + .../stubs/ext/intl/collator/Collator.php | 258 + .../stubs/ext/intl/collator_asort.php | 5 + .../stubs/ext/intl/collator_compare.php | 5 + .../stubs/ext/intl/collator_create.php | 6 + .../stubs/ext/intl/collator_get_attribute.php | 5 + .../ext/intl/collator_get_error_code.php | 5 + .../ext/intl/collator_get_error_message.php | 5 + .../stubs/ext/intl/collator_get_locale.php | 5 + .../stubs/ext/intl/collator_get_sort_key.php | 5 + .../stubs/ext/intl/collator_get_strength.php | 5 + .../stubs/ext/intl/collator_set_attribute.php | 5 + .../stubs/ext/intl/collator_set_strength.php | 5 + .../stubs/ext/intl/collator_sort.php | 5 + .../ext/intl/collator_sort_with_sort_keys.php | 5 + .../stubs/ext/intl/common/IntlIterator.php | 41 + .../stubs/ext/intl/converter/UConverter.php | 379 + .../stubs/ext/intl/datefmt_create.php | 14 + .../stubs/ext/intl/datefmt_format.php | 6 + .../stubs/ext/intl/datefmt_format_object.php | 9 + .../stubs/ext/intl/datefmt_get_calendar.php | 5 + .../ext/intl/datefmt_get_calendar_object.php | 5 + .../stubs/ext/intl/datefmt_get_datetype.php | 5 + .../stubs/ext/intl/datefmt_get_error_code.php | 5 + .../ext/intl/datefmt_get_error_message.php | 5 + .../stubs/ext/intl/datefmt_get_locale.php | 5 + .../stubs/ext/intl/datefmt_get_pattern.php | 5 + .../stubs/ext/intl/datefmt_get_timetype.php | 5 + .../stubs/ext/intl/datefmt_get_timezone.php | 5 + .../ext/intl/datefmt_get_timezone_id.php | 5 + .../stubs/ext/intl/datefmt_is_lenient.php | 5 + .../stubs/ext/intl/datefmt_localtime.php | 9 + .../stubs/ext/intl/datefmt_parse.php | 6 + .../stubs/ext/intl/datefmt_set_calendar.php | 5 + .../stubs/ext/intl/datefmt_set_lenient.php | 5 + .../stubs/ext/intl/datefmt_set_pattern.php | 5 + .../stubs/ext/intl/datefmt_set_timezone.php | 12 + .../ext/intl/dateformat/IntlDateFormatter.php | 264 + .../dateformat/IntlDatePatternGenerator.php | 16 + .../ext/intl/formatter/NumberFormatter.php | 600 + .../stubs/ext/intl/grapheme_extract.php | 6 + .../stubs/ext/intl/grapheme_stripos.php | 5 + .../stubs/ext/intl/grapheme_stristr.php | 5 + .../stubs/ext/intl/grapheme_strlen.php | 6 + .../stubs/ext/intl/grapheme_strpos.php | 5 + .../stubs/ext/intl/grapheme_strripos.php | 5 + .../stubs/ext/intl/grapheme_strrpos.php | 5 + .../stubs/ext/intl/grapheme_strstr.php | 5 + .../stubs/ext/intl/grapheme_substr.php | 5 + .../stubs/ext/intl/idn_to_ascii.php | 7 + .../stubs/ext/intl/idn_to_utf8.php | 6 + .../stubs/ext/intl/intl_error_name.php | 5 + .../stubs/ext/intl/intl_get_error_code.php | 6 + .../stubs/ext/intl/intl_get_error_message.php | 5 + .../stubs/ext/intl/intl_is_failure.php | 5 + .../stubs/ext/intl/intlcal_add.php | 5 + .../stubs/ext/intl/intlcal_after.php | 5 + .../stubs/ext/intl/intlcal_before.php | 5 + .../stubs/ext/intl/intlcal_clear.php | 10 + .../ext/intl/intlcal_create_instance.php | 7 + .../stubs/ext/intl/intlcal_equals.php | 5 + .../ext/intl/intlcal_field_difference.php | 5 + .../stubs/ext/intl/intlcal_from_date_time.php | 5 + .../stubs/ext/intl/intlcal_get.php | 5 + .../ext/intl/intlcal_get_actual_maximum.php | 5 + .../ext/intl/intlcal_get_actual_minimum.php | 5 + .../intl/intlcal_get_available_locales.php | 8 + .../ext/intl/intlcal_get_day_of_week_type.php | 5 + .../stubs/ext/intl/intlcal_get_error_code.php | 5 + .../ext/intl/intlcal_get_error_message.php | 5 + .../intl/intlcal_get_first_day_of_week.php | 5 + .../ext/intl/intlcal_get_greatest_minimum.php | 5 + .../intlcal_get_keyword_values_for_locale.php | 5 + .../ext/intl/intlcal_get_least_maximum.php | 5 + .../stubs/ext/intl/intlcal_get_locale.php | 5 + .../stubs/ext/intl/intlcal_get_maximum.php | 5 + ...intlcal_get_minimal_days_in_first_week.php | 5 + .../stubs/ext/intl/intlcal_get_minimum.php | 5 + .../stubs/ext/intl/intlcal_get_now.php | 5 + .../intlcal_get_repeated_wall_time_option.php | 5 + .../intlcal_get_skipped_wall_time_option.php | 5 + .../stubs/ext/intl/intlcal_get_time.php | 5 + .../stubs/ext/intl/intlcal_get_time_zone.php | 5 + .../stubs/ext/intl/intlcal_get_type.php | 5 + .../intl/intlcal_get_weekend_transition.php | 5 + .../ext/intl/intlcal_in_daylight_time.php | 5 + .../ext/intl/intlcal_is_equivalent_to.php | 5 + .../stubs/ext/intl/intlcal_is_lenient.php | 5 + .../stubs/ext/intl/intlcal_is_set.php | 5 + .../stubs/ext/intl/intlcal_is_weekend.php | 5 + .../stubs/ext/intl/intlcal_roll.php | 6 + .../stubs/ext/intl/intlcal_set.php | 10 + .../intl/intlcal_set_first_day_of_week.php | 10 + .../stubs/ext/intl/intlcal_set_lenient.php | 10 + ...intlcal_set_minimal_days_in_first_week.php | 10 + .../intlcal_set_repeated_wall_time_option.php | 10 + .../intlcal_set_skipped_wall_time_option.php | 10 + .../stubs/ext/intl/intlcal_set_time.php | 5 + .../stubs/ext/intl/intlcal_set_time_zone.php | 6 + .../stubs/ext/intl/intlcal_to_date_time.php | 5 + .../ext/intl/intlgregcal_create_instance.php | 13 + .../intl/intlgregcal_get_gregorian_change.php | 5 + .../ext/intl/intlgregcal_is_leap_year.php | 5 + .../intl/intlgregcal_set_gregorian_change.php | 5 + .../ext/intl/intltz_count_equivalent_ids.php | 6 + .../stubs/ext/intl/intltz_create_default.php | 5 + .../ext/intl/intltz_create_enumeration.php | 6 + .../ext/intl/intltz_create_time_zone.php | 5 + ...intltz_create_time_zone_id_enumeration.php | 5 + .../ext/intl/intltz_from_date_time_zone.php | 5 + .../ext/intl/intltz_get_canonical_id.php | 6 + .../ext/intl/intltz_get_display_name.php | 5 + .../stubs/ext/intl/intltz_get_dst_savings.php | 5 + .../ext/intl/intltz_get_equivalent_id.php | 5 + .../stubs/ext/intl/intltz_get_error_code.php | 5 + .../ext/intl/intltz_get_error_message.php | 5 + .../stubs/ext/intl/intltz_get_gmt.php | 5 + .../stubs/ext/intl/intltz_get_id.php | 5 + .../ext/intl/intltz_get_id_for_windows_id.php | 5 + .../stubs/ext/intl/intltz_get_offset.php | 9 + .../stubs/ext/intl/intltz_get_raw_offset.php | 5 + .../stubs/ext/intl/intltz_get_region.php | 5 + .../ext/intl/intltz_get_tz_data_version.php | 5 + .../stubs/ext/intl/intltz_get_unknown.php | 5 + .../stubs/ext/intl/intltz_get_windows_id.php | 6 + .../stubs/ext/intl/intltz_has_same_rules.php | 6 + .../ext/intl/intltz_to_date_time_zone.php | 5 + .../ext/intl/intltz_use_daylight_time.php | 5 + .../stubs/ext/intl/locale/Locale.php | 205 + .../ext/intl/locale_accept_from_http.php | 5 + .../stubs/ext/intl/locale_canonicalize.php | 5 + .../stubs/ext/intl/locale_compose.php | 5 + .../stubs/ext/intl/locale_filter_matches.php | 5 + .../ext/intl/locale_get_all_variants.php | 5 + .../stubs/ext/intl/locale_get_default.php | 6 + .../ext/intl/locale_get_display_language.php | 5 + .../ext/intl/locale_get_display_name.php | 5 + .../ext/intl/locale_get_display_region.php | 5 + .../ext/intl/locale_get_display_script.php | 5 + .../ext/intl/locale_get_display_variant.php | 5 + .../stubs/ext/intl/locale_get_keywords.php | 8 + .../ext/intl/locale_get_primary_language.php | 5 + .../stubs/ext/intl/locale_get_region.php | 5 + .../stubs/ext/intl/locale_get_script.php | 5 + .../stubs/ext/intl/locale_lookup.php | 5 + .../stubs/ext/intl/locale_parse.php | 5 + .../stubs/ext/intl/locale_set_default.php | 5 + .../stubs/ext/intl/msgfmt_create.php | 6 + .../stubs/ext/intl/msgfmt_format.php | 5 + .../stubs/ext/intl/msgfmt_format_message.php | 5 + .../stubs/ext/intl/msgfmt_get_error_code.php | 5 + .../ext/intl/msgfmt_get_error_message.php | 5 + .../stubs/ext/intl/msgfmt_get_locale.php | 5 + .../stubs/ext/intl/msgfmt_get_pattern.php | 5 + .../stubs/ext/intl/msgfmt_parse.php | 8 + .../stubs/ext/intl/msgfmt_parse_message.php | 8 + .../stubs/ext/intl/msgfmt_set_pattern.php | 5 + .../ext/intl/msgformat/MessageFormatter.php | 87 + .../stubs/ext/intl/normalizer/Normalizer.php | 92 + .../intl/normalizer_get_raw_decomposition.php | 6 + .../ext/intl/normalizer_is_normalized.php | 5 + .../stubs/ext/intl/normalizer_normalize.php | 6 + .../stubs/ext/intl/numfmt_create.php | 6 + .../stubs/ext/intl/numfmt_format.php | 5 + .../stubs/ext/intl/numfmt_format_currency.php | 5 + .../stubs/ext/intl/numfmt_get_attribute.php | 5 + .../stubs/ext/intl/numfmt_get_error_code.php | 5 + .../ext/intl/numfmt_get_error_message.php | 5 + .../stubs/ext/intl/numfmt_get_locale.php | 5 + .../stubs/ext/intl/numfmt_get_pattern.php | 5 + .../stubs/ext/intl/numfmt_get_symbol.php | 5 + .../ext/intl/numfmt_get_text_attribute.php | 5 + .../stubs/ext/intl/numfmt_parse.php | 6 + .../stubs/ext/intl/numfmt_parse_currency.php | 9 + .../stubs/ext/intl/numfmt_set_attribute.php | 5 + .../stubs/ext/intl/numfmt_set_pattern.php | 5 + .../stubs/ext/intl/numfmt_set_symbol.php | 5 + .../ext/intl/numfmt_set_text_attribute.php | 5 + .../intl/resourcebundle/ResourceBundle.php | 60 + .../stubs/ext/intl/resourcebundle_count.php | 5 + .../stubs/ext/intl/resourcebundle_create.php | 7 + .../stubs/ext/intl/resourcebundle_get.php | 6 + .../intl/resourcebundle_get_error_code.php | 5 + .../intl/resourcebundle_get_error_message.php | 5 + .../stubs/ext/intl/resourcebundle_locales.php | 8 + .../ext/intl/spoofchecker/Spoofchecker.php | 140 + .../stubs/ext/intl/timezone/IntlTimeZone.php | 273 + .../intl/transliterator/Transliterator.php | 76 + .../stubs/ext/intl/transliterator_create.php | 6 + .../intl/transliterator_create_from_rules.php | 5 + .../intl/transliterator_create_inverse.php | 5 + .../intl/transliterator_get_error_code.php | 5 + .../intl/transliterator_get_error_message.php | 5 + .../ext/intl/transliterator_list_ids.php | 8 + .../ext/intl/transliterator_transliterate.php | 5 + .../stubs/ext/intl/uchar/IntlChar.php | 4427 +++++ .../stubs/ext/json/JsonException.php | 5 + .../stubs/ext/json/JsonSerializable.php | 10 + .../stubs/ext/json/json_decode.php | 5 + .../stubs/ext/json/json_encode.php | 6 + .../stubs/ext/json/json_last_error.php | 5 + .../stubs/ext/json/json_last_error_msg.php | 5 + .../stubs/ext/json/json_validate.php | 6 + .../stubs/ext/ldap/LDAP/Connection.php | 12 + .../stubs/ext/ldap/LDAP/Result.php | 12 + .../stubs/ext/ldap/LDAP/ResultEntry.php | 12 + .../stubs/ext/ldap/ldap_8859_to_t61.php | 5 + .../php-8-stubs/stubs/ext/ldap/ldap_add.php | 11 + .../stubs/ext/ldap/ldap_add_ext.php | 14 + .../php-8-stubs/stubs/ext/ldap/ldap_bind.php | 11 + .../stubs/ext/ldap/ldap_bind_ext.php | 14 + .../php-8-stubs/stubs/ext/ldap/ldap_close.php | 15 + .../stubs/ext/ldap/ldap_compare.php | 11 + .../stubs/ext/ldap/ldap_connect.php | 14 + .../stubs/ext/ldap/ldap_connect_wallet.php | 7 + .../stubs/ext/ldap/ldap_count_entries.php | 14 + .../stubs/ext/ldap/ldap_count_references.php | 14 + .../stubs/ext/ldap/ldap_delete.php | 11 + .../stubs/ext/ldap/ldap_delete_ext.php | 14 + .../stubs/ext/ldap/ldap_dn2ufn.php | 5 + .../stubs/ext/ldap/ldap_err2str.php | 5 + .../php-8-stubs/stubs/ext/ldap/ldap_errno.php | 11 + .../php-8-stubs/stubs/ext/ldap/ldap_error.php | 11 + .../stubs/ext/ldap/ldap_escape.php | 6 + .../php-8-stubs/stubs/ext/ldap/ldap_exop.php | 24 + .../stubs/ext/ldap/ldap_exop_passwd.php | 21 + .../stubs/ext/ldap/ldap_exop_refresh.php | 15 + .../stubs/ext/ldap/ldap_exop_sync.php | 10 + .../stubs/ext/ldap/ldap_exop_whoami.php | 15 + .../stubs/ext/ldap/ldap_explode_dn.php | 8 + .../stubs/ext/ldap/ldap_first_attribute.php | 14 + .../stubs/ext/ldap/ldap_first_entry.php | 15 + .../stubs/ext/ldap/ldap_first_reference.php | 15 + .../stubs/ext/ldap/ldap_free_result.php | 11 + .../stubs/ext/ldap/ldap_get_attributes.php | 18 + .../stubs/ext/ldap/ldap_get_dn.php | 14 + .../stubs/ext/ldap/ldap_get_entries.php | 18 + .../stubs/ext/ldap/ldap_get_option.php | 15 + .../stubs/ext/ldap/ldap_get_values.php | 20 + .../stubs/ext/ldap/ldap_get_values_len.php | 18 + .../php-8-stubs/stubs/ext/ldap/ldap_list.php | 15 + .../stubs/ext/ldap/ldap_mod_add.php | 11 + .../stubs/ext/ldap/ldap_mod_add_ext.php | 14 + .../stubs/ext/ldap/ldap_mod_del.php | 11 + .../stubs/ext/ldap/ldap_mod_del_ext.php | 14 + .../stubs/ext/ldap/ldap_mod_replace.php | 11 + .../stubs/ext/ldap/ldap_mod_replace_ext.php | 14 + .../stubs/ext/ldap/ldap_modify.php | 15 + .../stubs/ext/ldap/ldap_modify_batch.php | 11 + .../stubs/ext/ldap/ldap_next_attribute.php | 14 + .../stubs/ext/ldap/ldap_next_entry.php | 15 + .../stubs/ext/ldap/ldap_next_reference.php | 15 + .../stubs/ext/ldap/ldap_parse_exop.php | 24 + .../stubs/ext/ldap/ldap_parse_reference.php | 18 + .../stubs/ext/ldap/ldap_parse_result.php | 30 + .../php-8-stubs/stubs/ext/ldap/ldap_read.php | 17 + .../stubs/ext/ldap/ldap_rename.php | 13 + .../stubs/ext/ldap/ldap_rename_ext.php | 14 + .../stubs/ext/ldap/ldap_sasl_bind.php | 13 + .../stubs/ext/ldap/ldap_search.php | 15 + .../stubs/ext/ldap/ldap_set_option.php | 15 + .../stubs/ext/ldap/ldap_set_rebind_proc.php | 17 + .../stubs/ext/ldap/ldap_start_tls.php | 15 + .../stubs/ext/ldap/ldap_t61_to_8859.php | 6 + .../stubs/ext/ldap/ldap_unbind.php | 13 + .../stubs/ext/libxml/LibXMLError.php | 6 + .../stubs/ext/libxml/libxml_clear_errors.php | 5 + .../libxml/libxml_disable_entity_loader.php | 6 + .../stubs/ext/libxml/libxml_get_errors.php | 5 + .../libxml_get_external_entity_loader.php | 6 + .../ext/libxml/libxml_get_last_error.php | 5 + .../libxml_set_external_entity_loader.php | 5 + .../ext/libxml/libxml_set_streams_context.php | 6 + .../ext/libxml/libxml_use_internal_errors.php | 5 + .../stubs/ext/mbstring/mb_check_encoding.php | 5 + .../php-8-stubs/stubs/ext/mbstring/mb_chr.php | 5 + .../stubs/ext/mbstring/mb_convert_case.php | 5 + .../ext/mbstring/mb_convert_encoding.php | 8 + .../stubs/ext/mbstring/mb_convert_kana.php | 5 + .../ext/mbstring/mb_convert_variables.php | 5 + .../ext/mbstring/mb_decode_mimeheader.php | 5 + .../ext/mbstring/mb_decode_numericentity.php | 5 + .../stubs/ext/mbstring/mb_detect_encoding.php | 5 + .../stubs/ext/mbstring/mb_detect_order.php | 8 + .../ext/mbstring/mb_encode_mimeheader.php | 5 + .../ext/mbstring/mb_encode_numericentity.php | 5 + .../ext/mbstring/mb_encoding_aliases.php | 8 + .../stubs/ext/mbstring/mb_ereg.php | 6 + .../stubs/ext/mbstring/mb_ereg_match.php | 5 + .../stubs/ext/mbstring/mb_ereg_replace.php | 5 + .../ext/mbstring/mb_ereg_replace_callback.php | 5 + .../stubs/ext/mbstring/mb_ereg_search.php | 5 + .../ext/mbstring/mb_ereg_search_getpos.php | 5 + .../ext/mbstring/mb_ereg_search_getregs.php | 8 + .../ext/mbstring/mb_ereg_search_init.php | 5 + .../stubs/ext/mbstring/mb_ereg_search_pos.php | 8 + .../ext/mbstring/mb_ereg_search_regs.php | 8 + .../ext/mbstring/mb_ereg_search_setpos.php | 5 + .../stubs/ext/mbstring/mb_eregi.php | 6 + .../stubs/ext/mbstring/mb_eregi_replace.php | 5 + .../stubs/ext/mbstring/mb_get_info.php | 8 + .../stubs/ext/mbstring/mb_http_input.php | 8 + .../stubs/ext/mbstring/mb_http_output.php | 5 + .../ext/mbstring/mb_internal_encoding.php | 5 + .../stubs/ext/mbstring/mb_language.php | 6 + .../stubs/ext/mbstring/mb_list_encodings.php | 5 + .../php-8-stubs/stubs/ext/mbstring/mb_ord.php | 5 + .../stubs/ext/mbstring/mb_output_handler.php | 5 + .../stubs/ext/mbstring/mb_parse_str.php | 6 + .../ext/mbstring/mb_preferred_mime_name.php | 5 + .../stubs/ext/mbstring/mb_regex_encoding.php | 6 + .../ext/mbstring/mb_regex_set_options.php | 5 + .../stubs/ext/mbstring/mb_scrub.php | 5 + .../stubs/ext/mbstring/mb_send_mail.php | 5 + .../stubs/ext/mbstring/mb_split.php | 8 + .../stubs/ext/mbstring/mb_str_pad.php | 6 + .../stubs/ext/mbstring/mb_str_split.php | 5 + .../stubs/ext/mbstring/mb_strcut.php | 5 + .../stubs/ext/mbstring/mb_strimwidth.php | 5 + .../stubs/ext/mbstring/mb_stripos.php | 5 + .../stubs/ext/mbstring/mb_stristr.php | 5 + .../stubs/ext/mbstring/mb_strlen.php | 5 + .../stubs/ext/mbstring/mb_strpos.php | 5 + .../stubs/ext/mbstring/mb_strrchr.php | 5 + .../stubs/ext/mbstring/mb_strrichr.php | 5 + .../stubs/ext/mbstring/mb_strripos.php | 5 + .../stubs/ext/mbstring/mb_strrpos.php | 5 + .../stubs/ext/mbstring/mb_strstr.php | 5 + .../stubs/ext/mbstring/mb_strtolower.php | 5 + .../stubs/ext/mbstring/mb_strtoupper.php | 5 + .../stubs/ext/mbstring/mb_strwidth.php | 5 + .../ext/mbstring/mb_substitute_character.php | 5 + .../stubs/ext/mbstring/mb_substr.php | 5 + .../stubs/ext/mbstring/mb_substr_count.php | 5 + .../php-8-stubs/stubs/ext/mysqli/mysqli.php | 356 + .../stubs/ext/mysqli/mysqli_affected_rows.php | 5 + .../stubs/ext/mysqli/mysqli_autocommit.php | 5 + .../ext/mysqli/mysqli_begin_transaction.php | 5 + .../stubs/ext/mysqli/mysqli_change_user.php | 5 + .../ext/mysqli/mysqli_character_set_name.php | 5 + .../stubs/ext/mysqli/mysqli_close.php | 10 + .../stubs/ext/mysqli/mysqli_commit.php | 5 + .../stubs/ext/mysqli/mysqli_connect.php | 5 + .../stubs/ext/mysqli/mysqli_connect_errno.php | 5 + .../stubs/ext/mysqli/mysqli_connect_error.php | 5 + .../stubs/ext/mysqli/mysqli_data_seek.php | 5 + .../stubs/ext/mysqli/mysqli_debug.php | 10 + .../stubs/ext/mysqli/mysqli_driver.php | 6 + .../ext/mysqli/mysqli_dump_debug_info.php | 5 + .../stubs/ext/mysqli/mysqli_errno.php | 5 + .../stubs/ext/mysqli/mysqli_error.php | 5 + .../stubs/ext/mysqli/mysqli_error_list.php | 8 + .../stubs/ext/mysqli/mysqli_escape_string.php | 6 + .../stubs/ext/mysqli/mysqli_execute.php | 12 + .../stubs/ext/mysqli/mysqli_execute_query.php | 6 + .../stubs/ext/mysqli/mysqli_fetch_all.php | 9 + .../stubs/ext/mysqli/mysqli_fetch_array.php | 9 + .../stubs/ext/mysqli/mysqli_fetch_assoc.php | 8 + .../stubs/ext/mysqli/mysqli_fetch_column.php | 6 + .../stubs/ext/mysqli/mysqli_fetch_field.php | 5 + .../ext/mysqli/mysqli_fetch_field_direct.php | 5 + .../stubs/ext/mysqli/mysqli_fetch_fields.php | 8 + .../stubs/ext/mysqli/mysqli_fetch_lengths.php | 8 + .../stubs/ext/mysqli/mysqli_fetch_object.php | 5 + .../stubs/ext/mysqli/mysqli_fetch_row.php | 8 + .../stubs/ext/mysqli/mysqli_field_count.php | 5 + .../stubs/ext/mysqli/mysqli_field_seek.php | 10 + .../stubs/ext/mysqli/mysqli_field_tell.php | 5 + .../stubs/ext/mysqli/mysqli_free_result.php | 5 + .../stubs/ext/mysqli/mysqli_get_charset.php | 6 + .../ext/mysqli/mysqli_get_client_info.php | 5 + .../ext/mysqli/mysqli_get_client_stats.php | 8 + .../ext/mysqli/mysqli_get_client_version.php | 5 + .../mysqli/mysqli_get_connection_stats.php | 9 + .../stubs/ext/mysqli/mysqli_get_host_info.php | 5 + .../ext/mysqli/mysqli_get_links_stats.php | 8 + .../ext/mysqli/mysqli_get_proto_info.php | 5 + .../ext/mysqli/mysqli_get_server_info.php | 5 + .../ext/mysqli/mysqli_get_server_version.php | 5 + .../stubs/ext/mysqli/mysqli_get_warnings.php | 5 + .../stubs/ext/mysqli/mysqli_info.php | 5 + .../stubs/ext/mysqli/mysqli_init.php | 5 + .../stubs/ext/mysqli/mysqli_insert_id.php | 5 + .../stubs/ext/mysqli/mysqli_kill.php | 5 + .../stubs/ext/mysqli/mysqli_more_results.php | 5 + .../stubs/ext/mysqli/mysqli_multi_query.php | 5 + .../stubs/ext/mysqli/mysqli_next_result.php | 5 + .../stubs/ext/mysqli/mysqli_num_fields.php | 5 + .../stubs/ext/mysqli/mysqli_num_rows.php | 5 + .../stubs/ext/mysqli/mysqli_options.php | 6 + .../stubs/ext/mysqli/mysqli_ping.php | 5 + .../stubs/ext/mysqli/mysqli_poll.php | 6 + .../stubs/ext/mysqli/mysqli_prepare.php | 6 + .../stubs/ext/mysqli/mysqli_query.php | 5 + .../stubs/ext/mysqli/mysqli_real_connect.php | 5 + .../ext/mysqli/mysqli_real_escape_string.php | 5 + .../stubs/ext/mysqli/mysqli_real_query.php | 5 + .../ext/mysqli/mysqli_reap_async_query.php | 6 + .../stubs/ext/mysqli/mysqli_refresh.php | 5 + .../ext/mysqli/mysqli_release_savepoint.php | 6 + .../stubs/ext/mysqli/mysqli_report.php | 5 + .../stubs/ext/mysqli/mysqli_result.php | 115 + .../stubs/ext/mysqli/mysqli_rollback.php | 5 + .../stubs/ext/mysqli/mysqli_savepoint.php | 5 + .../stubs/ext/mysqli/mysqli_select_db.php | 5 + .../stubs/ext/mysqli/mysqli_set_charset.php | 5 + .../stubs/ext/mysqli/mysqli_set_opt.php | 9 + .../stubs/ext/mysqli/mysqli_sql_exception.php | 9 + .../stubs/ext/mysqli/mysqli_sqlstate.php | 5 + .../stubs/ext/mysqli/mysqli_ssl_set.php | 10 + .../stubs/ext/mysqli/mysqli_stat.php | 5 + .../stubs/ext/mysqli/mysqli_stmt.php | 171 + .../ext/mysqli/mysqli_stmt_affected_rows.php | 5 + .../stubs/ext/mysqli/mysqli_stmt_attr_get.php | 5 + .../stubs/ext/mysqli/mysqli_stmt_attr_set.php | 5 + .../ext/mysqli/mysqli_stmt_bind_param.php | 5 + .../ext/mysqli/mysqli_stmt_bind_result.php | 5 + .../stubs/ext/mysqli/mysqli_stmt_close.php | 10 + .../ext/mysqli/mysqli_stmt_data_seek.php | 5 + .../stubs/ext/mysqli/mysqli_stmt_errno.php | 5 + .../stubs/ext/mysqli/mysqli_stmt_error.php | 5 + .../ext/mysqli/mysqli_stmt_error_list.php | 8 + .../stubs/ext/mysqli/mysqli_stmt_execute.php | 10 + .../stubs/ext/mysqli/mysqli_stmt_fetch.php | 5 + .../ext/mysqli/mysqli_stmt_field_count.php | 5 + .../ext/mysqli/mysqli_stmt_free_result.php | 5 + .../ext/mysqli/mysqli_stmt_get_result.php | 6 + .../ext/mysqli/mysqli_stmt_get_warnings.php | 6 + .../stubs/ext/mysqli/mysqli_stmt_init.php | 5 + .../ext/mysqli/mysqli_stmt_insert_id.php | 5 + .../ext/mysqli/mysqli_stmt_more_results.php | 6 + .../ext/mysqli/mysqli_stmt_next_result.php | 5 + .../stubs/ext/mysqli/mysqli_stmt_num_rows.php | 6 + .../ext/mysqli/mysqli_stmt_param_count.php | 5 + .../stubs/ext/mysqli/mysqli_stmt_prepare.php | 5 + .../stubs/ext/mysqli/mysqli_stmt_reset.php | 5 + .../mysqli/mysqli_stmt_result_metadata.php | 5 + .../ext/mysqli/mysqli_stmt_send_long_data.php | 5 + .../stubs/ext/mysqli/mysqli_stmt_sqlstate.php | 5 + .../ext/mysqli/mysqli_stmt_store_result.php | 5 + .../stubs/ext/mysqli/mysqli_store_result.php | 5 + .../stubs/ext/mysqli/mysqli_thread_id.php | 5 + .../stubs/ext/mysqli/mysqli_thread_safe.php | 5 + .../stubs/ext/mysqli/mysqli_use_result.php | 5 + .../stubs/ext/mysqli/mysqli_warning.php | 11 + .../stubs/ext/mysqli/mysqli_warning_count.php | 5 + .../stubs/ext/oci8/OCICollection.php | 69 + .../php-8-stubs/stubs/ext/oci8/OCILob.php | 178 + .../stubs/ext/oci8/oci_bind_array_by_name.php | 9 + .../stubs/ext/oci8/oci_bind_by_name.php | 6 + .../php-8-stubs/stubs/ext/oci8/oci_cancel.php | 6 + .../stubs/ext/oci8/oci_client_version.php | 5 + .../php-8-stubs/stubs/ext/oci8/oci_close.php | 6 + .../stubs/ext/oci8/oci_collection_append.php | 5 + .../stubs/ext/oci8/oci_collection_assign.php | 5 + .../oci8/oci_collection_element_assign.php | 5 + .../ext/oci8/oci_collection_element_get.php | 5 + .../stubs/ext/oci8/oci_collection_max.php | 5 + .../stubs/ext/oci8/oci_collection_size.php | 5 + .../stubs/ext/oci8/oci_collection_trim.php | 5 + .../php-8-stubs/stubs/ext/oci8/oci_commit.php | 6 + .../stubs/ext/oci8/oci_connect.php | 8 + .../stubs/ext/oci8/oci_define_by_name.php | 7 + .../php-8-stubs/stubs/ext/oci8/oci_error.php | 9 + .../stubs/ext/oci8/oci_execute.php | 6 + .../php-8-stubs/stubs/ext/oci8/oci_fetch.php | 6 + .../stubs/ext/oci8/oci_fetch_all.php | 9 + .../stubs/ext/oci8/oci_fetch_array.php | 6 + .../stubs/ext/oci8/oci_fetch_assoc.php | 6 + .../stubs/ext/oci8/oci_fetch_object.php | 6 + .../stubs/ext/oci8/oci_fetch_row.php | 6 + .../stubs/ext/oci8/oci_field_is_null.php | 6 + .../stubs/ext/oci8/oci_field_name.php | 6 + .../stubs/ext/oci8/oci_field_precision.php | 6 + .../stubs/ext/oci8/oci_field_scale.php | 6 + .../stubs/ext/oci8/oci_field_size.php | 6 + .../stubs/ext/oci8/oci_field_type.php | 6 + .../stubs/ext/oci8/oci_field_type_raw.php | 6 + .../stubs/ext/oci8/oci_free_collection.php | 5 + .../stubs/ext/oci8/oci_free_cursor.php | 9 + .../stubs/ext/oci8/oci_free_descriptor.php | 5 + .../stubs/ext/oci8/oci_free_statement.php | 6 + .../ext/oci8/oci_get_implicit_resultset.php | 9 + .../stubs/ext/oci8/oci_lob_append.php | 5 + .../stubs/ext/oci8/oci_lob_copy.php | 5 + .../stubs/ext/oci8/oci_lob_eof.php | 5 + .../stubs/ext/oci8/oci_lob_erase.php | 5 + .../stubs/ext/oci8/oci_lob_export.php | 5 + .../stubs/ext/oci8/oci_lob_flush.php | 5 + .../stubs/ext/oci8/oci_lob_import.php | 5 + .../stubs/ext/oci8/oci_lob_is_equal.php | 5 + .../stubs/ext/oci8/oci_lob_load.php | 5 + .../stubs/ext/oci8/oci_lob_read.php | 5 + .../stubs/ext/oci8/oci_lob_rewind.php | 5 + .../stubs/ext/oci8/oci_lob_save.php | 5 + .../stubs/ext/oci8/oci_lob_seek.php | 5 + .../stubs/ext/oci8/oci_lob_size.php | 5 + .../stubs/ext/oci8/oci_lob_tell.php | 5 + .../stubs/ext/oci8/oci_lob_truncate.php | 5 + .../stubs/ext/oci8/oci_lob_write.php | 5 + .../stubs/ext/oci8/oci_new_collection.php | 6 + .../stubs/ext/oci8/oci_new_connect.php | 6 + .../stubs/ext/oci8/oci_new_cursor.php | 9 + .../stubs/ext/oci8/oci_new_descriptor.php | 6 + .../stubs/ext/oci8/oci_num_fields.php | 6 + .../stubs/ext/oci8/oci_num_rows.php | 6 + .../php-8-stubs/stubs/ext/oci8/oci_parse.php | 9 + .../stubs/ext/oci8/oci_password_change.php | 9 + .../stubs/ext/oci8/oci_pconnect.php | 6 + .../ext/oci8/oci_register_taf_callback.php | 6 + .../php-8-stubs/stubs/ext/oci8/oci_result.php | 6 + .../stubs/ext/oci8/oci_rollback.php | 6 + .../stubs/ext/oci8/oci_server_version.php | 6 + .../stubs/ext/oci8/oci_set_action.php | 6 + .../stubs/ext/oci8/oci_set_call_timeout.php | 6 + .../ext/oci8/oci_set_client_identifier.php | 6 + .../stubs/ext/oci8/oci_set_client_info.php | 8 + .../stubs/ext/oci8/oci_set_db_operation.php | 6 + .../stubs/ext/oci8/oci_set_edition.php | 5 + .../stubs/ext/oci8/oci_set_module_name.php | 6 + .../stubs/ext/oci8/oci_set_prefetch.php | 6 + .../stubs/ext/oci8/oci_set_prefetch_lob.php | 7 + .../stubs/ext/oci8/oci_statement_type.php | 6 + .../ext/oci8/oci_unregister_taf_callback.php | 6 + .../stubs/ext/oci8/ocibindbyname.php | 10 + .../php-8-stubs/stubs/ext/oci8/ocicancel.php | 10 + .../stubs/ext/oci8/ocicollappend.php | 9 + .../stubs/ext/oci8/ocicollassignelem.php | 9 + .../stubs/ext/oci8/ocicollgetelem.php | 9 + .../php-8-stubs/stubs/ext/oci8/ocicollmax.php | 9 + .../stubs/ext/oci8/ocicollsize.php | 9 + .../stubs/ext/oci8/ocicolltrim.php | 9 + .../stubs/ext/oci8/ocicolumnisnull.php | 10 + .../stubs/ext/oci8/ocicolumnname.php | 10 + .../stubs/ext/oci8/ocicolumnprecision.php | 10 + .../stubs/ext/oci8/ocicolumnscale.php | 10 + .../stubs/ext/oci8/ocicolumnsize.php | 10 + .../stubs/ext/oci8/ocicolumntype.php | 10 + .../stubs/ext/oci8/ocicolumntyperaw.php | 10 + .../php-8-stubs/stubs/ext/oci8/ocicommit.php | 10 + .../stubs/ext/oci8/ocidefinebyname.php | 10 + .../php-8-stubs/stubs/ext/oci8/ocierror.php | 10 + .../php-8-stubs/stubs/ext/oci8/ociexecute.php | 10 + .../php-8-stubs/stubs/ext/oci8/ocifetch.php | 10 + .../stubs/ext/oci8/ocifetchinto.php | 10 + .../stubs/ext/oci8/ocifetchstatement.php | 11 + .../stubs/ext/oci8/ocifreecollection.php | 9 + .../stubs/ext/oci8/ocifreecursor.php | 10 + .../stubs/ext/oci8/ocifreedesc.php | 9 + .../stubs/ext/oci8/ocifreestatement.php | 10 + .../stubs/ext/oci8/ocigetbufferinglob.php | 5 + .../php-8-stubs/stubs/ext/oci8/ociloadlob.php | 9 + .../php-8-stubs/stubs/ext/oci8/ocilogoff.php | 10 + .../php-8-stubs/stubs/ext/oci8/ocilogon.php | 10 + .../stubs/ext/oci8/ocinewcollection.php | 10 + .../stubs/ext/oci8/ocinewcursor.php | 11 + .../stubs/ext/oci8/ocinewdescriptor.php | 10 + .../php-8-stubs/stubs/ext/oci8/ocinlogon.php | 10 + .../php-8-stubs/stubs/ext/oci8/ocinumcols.php | 10 + .../php-8-stubs/stubs/ext/oci8/ociparse.php | 11 + .../stubs/ext/oci8/ocipasswordchange.php | 11 + .../php-8-stubs/stubs/ext/oci8/ociplogon.php | 10 + .../php-8-stubs/stubs/ext/oci8/ociresult.php | 10 + .../stubs/ext/oci8/ocirollback.php | 10 + .../stubs/ext/oci8/ocirowcount.php | 10 + .../php-8-stubs/stubs/ext/oci8/ocisavelob.php | 9 + .../stubs/ext/oci8/ocisavelobfile.php | 9 + .../stubs/ext/oci8/ociserverversion.php | 10 + .../stubs/ext/oci8/ocisetbufferinglob.php | 5 + .../stubs/ext/oci8/ocisetprefetch.php | 10 + .../stubs/ext/oci8/ocistatementtype.php | 10 + .../stubs/ext/oci8/ociwritelobtofile.php | 9 + .../stubs/ext/odbc/odbc_autocommit.php | 12 + .../stubs/ext/odbc/odbc_binmode.php | 6 + .../php-8-stubs/stubs/ext/odbc/odbc_close.php | 6 + .../stubs/ext/odbc/odbc_close_all.php | 6 + .../stubs/ext/odbc/odbc_columnprivileges.php | 9 + .../stubs/ext/odbc/odbc_columns.php | 9 + .../stubs/ext/odbc/odbc_commit.php | 6 + .../stubs/ext/odbc/odbc_connect.php | 6 + .../odbc/odbc_connection_string_is_quoted.php | 8 + .../ext/odbc/odbc_connection_string_quote.php | 6 + .../odbc_connection_string_should_quote.php | 6 + .../stubs/ext/odbc/odbc_cursor.php | 6 + .../stubs/ext/odbc/odbc_data_source.php | 14 + .../php-8-stubs/stubs/ext/odbc/odbc_do.php | 10 + .../php-8-stubs/stubs/ext/odbc/odbc_error.php | 6 + .../stubs/ext/odbc/odbc_errormsg.php | 6 + .../php-8-stubs/stubs/ext/odbc/odbc_exec.php | 10 + .../stubs/ext/odbc/odbc_execute.php | 6 + .../stubs/ext/odbc/odbc_fetch_array.php | 6 + .../stubs/ext/odbc/odbc_fetch_into.php | 10 + .../stubs/ext/odbc/odbc_fetch_object.php | 7 + .../stubs/ext/odbc/odbc_fetch_row.php | 6 + .../stubs/ext/odbc/odbc_field_len.php | 6 + .../stubs/ext/odbc/odbc_field_name.php | 6 + .../stubs/ext/odbc/odbc_field_num.php | 6 + .../stubs/ext/odbc/odbc_field_precision.php | 9 + .../stubs/ext/odbc/odbc_field_scale.php | 6 + .../stubs/ext/odbc/odbc_field_type.php | 6 + .../stubs/ext/odbc/odbc_foreignkeys.php | 9 + .../stubs/ext/odbc/odbc_free_result.php | 6 + .../stubs/ext/odbc/odbc_gettypeinfo.php | 9 + .../stubs/ext/odbc/odbc_longreadlen.php | 6 + .../stubs/ext/odbc/odbc_next_result.php | 7 + .../stubs/ext/odbc/odbc_num_fields.php | 7 + .../stubs/ext/odbc/odbc_num_rows.php | 6 + .../stubs/ext/odbc/odbc_pconnect.php | 6 + .../stubs/ext/odbc/odbc_prepare.php | 9 + .../stubs/ext/odbc/odbc_primarykeys.php | 9 + .../stubs/ext/odbc/odbc_procedurecolumns.php | 10 + .../stubs/ext/odbc/odbc_procedures.php | 9 + .../stubs/ext/odbc/odbc_result.php | 6 + .../stubs/ext/odbc/odbc_result_all.php | 6 + .../stubs/ext/odbc/odbc_rollback.php | 6 + .../stubs/ext/odbc/odbc_setoption.php | 6 + .../stubs/ext/odbc/odbc_specialcolumns.php | 10 + .../stubs/ext/odbc/odbc_statistics.php | 9 + .../stubs/ext/odbc/odbc_tableprivileges.php | 10 + .../stubs/ext/odbc/odbc_tables.php | 9 + .../ext/opcache/opcache_compile_file.php | 5 + .../ext/opcache/opcache_get_configuration.php | 8 + .../stubs/ext/opcache/opcache_get_status.php | 8 + .../stubs/ext/opcache/opcache_invalidate.php | 5 + .../ext/opcache/opcache_is_script_cached.php | 5 + .../stubs/ext/opcache/opcache_reset.php | 6 + .../ext/openssl/OpenSSLAsymmetricKey.php | 5 + .../stubs/ext/openssl/OpenSSLCertificate.php | 6 + .../OpenSSLCertificateSigningRequest.php | 5 + .../ext/openssl/openssl_cipher_iv_length.php | 5 + .../ext/openssl/openssl_cipher_key_length.php | 6 + .../stubs/ext/openssl/openssl_cms_decrypt.php | 9 + .../stubs/ext/openssl/openssl_cms_encrypt.php | 12 + .../stubs/ext/openssl/openssl_cms_read.php | 6 + .../stubs/ext/openssl/openssl_cms_sign.php | 6 + .../stubs/ext/openssl/openssl_cms_verify.php | 5 + .../stubs/ext/openssl/openssl_csr_export.php | 6 + .../openssl/openssl_csr_export_to_file.php | 5 + .../openssl/openssl_csr_get_public_key.php | 5 + .../ext/openssl/openssl_csr_get_subject.php | 8 + .../stubs/ext/openssl/openssl_csr_new.php | 6 + .../stubs/ext/openssl/openssl_csr_sign.php | 6 + .../stubs/ext/openssl/openssl_decrypt.php | 10 + .../ext/openssl/openssl_dh_compute_key.php | 5 + .../stubs/ext/openssl/openssl_digest.php | 6 + .../stubs/ext/openssl/openssl_encrypt.php | 6 + .../ext/openssl/openssl_error_string.php | 5 + .../stubs/ext/openssl/openssl_free_key.php | 9 + .../openssl/openssl_get_cert_locations.php | 8 + .../openssl/openssl_get_cipher_methods.php | 8 + .../ext/openssl/openssl_get_curve_names.php | 9 + .../ext/openssl/openssl_get_md_methods.php | 8 + .../ext/openssl/openssl_get_privatekey.php | 9 + .../ext/openssl/openssl_get_publickey.php | 9 + .../stubs/ext/openssl/openssl_open.php | 9 + .../stubs/ext/openssl/openssl_pbkdf2.php | 5 + .../ext/openssl/openssl_pkcs12_export.php | 9 + .../openssl/openssl_pkcs12_export_to_file.php | 6 + .../stubs/ext/openssl/openssl_pkcs12_read.php | 6 + .../ext/openssl/openssl_pkcs7_decrypt.php | 9 + .../ext/openssl/openssl_pkcs7_encrypt.php | 12 + .../stubs/ext/openssl/openssl_pkcs7_read.php | 6 + .../stubs/ext/openssl/openssl_pkcs7_sign.php | 6 + .../ext/openssl/openssl_pkcs7_verify.php | 5 + .../stubs/ext/openssl/openssl_pkey_derive.php | 9 + .../stubs/ext/openssl/openssl_pkey_export.php | 9 + .../openssl/openssl_pkey_export_to_file.php | 6 + .../stubs/ext/openssl/openssl_pkey_free.php | 6 + .../ext/openssl/openssl_pkey_get_details.php | 8 + .../ext/openssl/openssl_pkey_get_private.php | 6 + .../ext/openssl/openssl_pkey_get_public.php | 6 + .../stubs/ext/openssl/openssl_pkey_new.php | 5 + .../ext/openssl/openssl_private_decrypt.php | 9 + .../ext/openssl/openssl_private_encrypt.php | 9 + .../ext/openssl/openssl_public_decrypt.php | 9 + .../ext/openssl/openssl_public_encrypt.php | 9 + .../openssl/openssl_random_pseudo_bytes.php | 6 + .../stubs/ext/openssl/openssl_seal.php | 10 + .../stubs/ext/openssl/openssl_sign.php | 9 + .../stubs/ext/openssl/openssl_spki_export.php | 5 + .../openssl/openssl_spki_export_challenge.php | 5 + .../stubs/ext/openssl/openssl_spki_new.php | 5 + .../stubs/ext/openssl/openssl_spki_verify.php | 5 + .../stubs/ext/openssl/openssl_verify.php | 6 + .../openssl_x509_check_private_key.php | 6 + .../ext/openssl/openssl_x509_checkpurpose.php | 5 + .../stubs/ext/openssl/openssl_x509_export.php | 6 + .../openssl/openssl_x509_export_to_file.php | 5 + .../ext/openssl/openssl_x509_fingerprint.php | 5 + .../stubs/ext/openssl/openssl_x509_free.php | 6 + .../stubs/ext/openssl/openssl_x509_parse.php | 8 + .../stubs/ext/openssl/openssl_x509_read.php | 5 + .../stubs/ext/openssl/openssl_x509_verify.php | 6 + .../stubs/ext/pcntl/pcntl_alarm.php | 5 + .../stubs/ext/pcntl/pcntl_async_signals.php | 5 + .../stubs/ext/pcntl/pcntl_errno.php | 6 + .../stubs/ext/pcntl/pcntl_exec.php | 5 + .../stubs/ext/pcntl/pcntl_fork.php | 6 + .../stubs/ext/pcntl/pcntl_forkx.php | 8 + .../stubs/ext/pcntl/pcntl_get_last_error.php | 5 + .../stubs/ext/pcntl/pcntl_getpriority.php | 6 + .../stubs/ext/pcntl/pcntl_rfork.php | 8 + .../stubs/ext/pcntl/pcntl_setpriority.php | 7 + .../stubs/ext/pcntl/pcntl_signal.php | 6 + .../stubs/ext/pcntl/pcntl_signal_dispatch.php | 5 + .../ext/pcntl/pcntl_signal_get_handler.php | 6 + .../stubs/ext/pcntl/pcntl_sigprocmask.php | 7 + .../stubs/ext/pcntl/pcntl_sigtimedwait.php | 6 + .../stubs/ext/pcntl/pcntl_sigwaitinfo.php | 9 + .../stubs/ext/pcntl/pcntl_strerror.php | 6 + .../stubs/ext/pcntl/pcntl_unshare.php | 6 + .../stubs/ext/pcntl/pcntl_wait.php | 9 + .../stubs/ext/pcntl/pcntl_waitpid.php | 9 + .../stubs/ext/pcntl/pcntl_wexitstatus.php | 5 + .../stubs/ext/pcntl/pcntl_wifcontinued.php | 6 + .../stubs/ext/pcntl/pcntl_wifexited.php | 7 + .../stubs/ext/pcntl/pcntl_wifsignaled.php | 6 + .../stubs/ext/pcntl/pcntl_wifstopped.php | 5 + .../stubs/ext/pcntl/pcntl_wstopsig.php | 5 + .../stubs/ext/pcntl/pcntl_wtermsig.php | 5 + .../stubs/ext/pcre/preg_filter.php | 8 + .../php-8-stubs/stubs/ext/pcre/preg_grep.php | 5 + .../stubs/ext/pcre/preg_last_error.php | 5 + .../stubs/ext/pcre/preg_last_error_msg.php | 5 + .../php-8-stubs/stubs/ext/pcre/preg_match.php | 7 + .../stubs/ext/pcre/preg_match_all.php | 6 + .../php-8-stubs/stubs/ext/pcre/preg_quote.php | 5 + .../stubs/ext/pcre/preg_replace.php | 8 + .../stubs/ext/pcre/preg_replace_callback.php | 8 + .../ext/pcre/preg_replace_callback_array.php | 6 + .../php-8-stubs/stubs/ext/pcre/preg_split.php | 8 + .../phpstan/php-8-stubs/stubs/ext/pdo/PDO.php | 552 + .../stubs/ext/pdo/PDOException.php | 6 + .../php-8-stubs/stubs/ext/pdo/PDORow.php | 5 + .../stubs/ext/pdo/PDOStatement.php | 139 + .../php-8-stubs/stubs/ext/pdo/pdo_drivers.php | 8 + .../stubs/ext/pdo_pgsql/PDO_PGSql_Ext.php | 67 + .../stubs/ext/pdo_sqlite/PDO_SQLite_Ext.php | 28 + .../stubs/ext/pgsql/PgSql/Connection.php | 12 + .../php-8-stubs/stubs/ext/pgsql/PgSql/Lob.php | 12 + .../stubs/ext/pgsql/PgSql/Result.php | 12 + .../stubs/ext/pgsql/pg_affected_rows.php | 11 + .../stubs/ext/pgsql/pg_cancel_query.php | 11 + .../stubs/ext/pgsql/pg_client_encoding.php | 11 + .../stubs/ext/pgsql/pg_clientencoding.php | 19 + .../php-8-stubs/stubs/ext/pgsql/pg_close.php | 16 + .../stubs/ext/pgsql/pg_cmdtuples.php | 19 + .../stubs/ext/pgsql/pg_connect.php | 12 + .../stubs/ext/pgsql/pg_connect_poll.php | 11 + .../stubs/ext/pgsql/pg_connection_busy.php | 11 + .../stubs/ext/pgsql/pg_connection_reset.php | 11 + .../stubs/ext/pgsql/pg_connection_status.php | 11 + .../stubs/ext/pgsql/pg_consume_input.php | 11 + .../stubs/ext/pgsql/pg_convert.php | 15 + .../stubs/ext/pgsql/pg_copy_from.php | 11 + .../stubs/ext/pgsql/pg_copy_to.php | 15 + .../php-8-stubs/stubs/ext/pgsql/pg_dbname.php | 12 + .../php-8-stubs/stubs/ext/pgsql/pg_delete.php | 12 + .../stubs/ext/pgsql/pg_end_copy.php | 11 + .../ext/pgsql/pg_enter_pipeline_mode.php | 7 + .../stubs/ext/pgsql/pg_errormessage.php | 19 + .../stubs/ext/pgsql/pg_escape_bytea.php | 15 + .../stubs/ext/pgsql/pg_escape_identifier.php | 15 + .../stubs/ext/pgsql/pg_escape_literal.php | 15 + .../stubs/ext/pgsql/pg_escape_string.php | 15 + .../php-8-stubs/stubs/ext/pgsql/pg_exec.php | 19 + .../stubs/ext/pgsql/pg_execute.php | 20 + .../stubs/ext/pgsql/pg_exit_pipeline_mode.php | 6 + .../stubs/ext/pgsql/pg_fetch_all.php | 15 + .../stubs/ext/pgsql/pg_fetch_all_columns.php | 15 + .../stubs/ext/pgsql/pg_fetch_array.php | 17 + .../stubs/ext/pgsql/pg_fetch_assoc.php | 17 + .../stubs/ext/pgsql/pg_fetch_object.php | 12 + .../stubs/ext/pgsql/pg_fetch_result.php | 27 + .../stubs/ext/pgsql/pg_fetch_row.php | 17 + .../stubs/ext/pgsql/pg_field_is_null.php | 21 + .../stubs/ext/pgsql/pg_field_name.php | 12 + .../stubs/ext/pgsql/pg_field_num.php | 11 + .../stubs/ext/pgsql/pg_field_prtlen.php | 21 + .../stubs/ext/pgsql/pg_field_size.php | 11 + .../stubs/ext/pgsql/pg_field_table.php | 11 + .../stubs/ext/pgsql/pg_field_type.php | 11 + .../stubs/ext/pgsql/pg_field_type_oid.php | 12 + .../stubs/ext/pgsql/pg_fieldisnull.php | 21 + .../stubs/ext/pgsql/pg_fieldname.php | 19 + .../stubs/ext/pgsql/pg_fieldnum.php | 19 + .../stubs/ext/pgsql/pg_fieldprtlen.php | 21 + .../stubs/ext/pgsql/pg_fieldsize.php | 19 + .../stubs/ext/pgsql/pg_fieldtype.php | 19 + .../php-8-stubs/stubs/ext/pgsql/pg_flush.php | 11 + .../stubs/ext/pgsql/pg_free_result.php | 11 + .../stubs/ext/pgsql/pg_freeresult.php | 19 + .../stubs/ext/pgsql/pg_get_notify.php | 15 + .../stubs/ext/pgsql/pg_get_pid.php | 11 + .../stubs/ext/pgsql/pg_get_result.php | 15 + .../stubs/ext/pgsql/pg_getlastoid.php | 19 + .../php-8-stubs/stubs/ext/pgsql/pg_host.php | 12 + .../php-8-stubs/stubs/ext/pgsql/pg_insert.php | 15 + .../stubs/ext/pgsql/pg_last_error.php | 11 + .../stubs/ext/pgsql/pg_last_notice.php | 11 + .../stubs/ext/pgsql/pg_last_oid.php | 12 + .../stubs/ext/pgsql/pg_lo_close.php | 11 + .../stubs/ext/pgsql/pg_lo_create.php | 19 + .../stubs/ext/pgsql/pg_lo_export.php | 21 + .../stubs/ext/pgsql/pg_lo_import.php | 22 + .../stubs/ext/pgsql/pg_lo_open.php | 20 + .../stubs/ext/pgsql/pg_lo_read.php | 12 + .../stubs/ext/pgsql/pg_lo_read_all.php | 11 + .../stubs/ext/pgsql/pg_lo_seek.php | 11 + .../stubs/ext/pgsql/pg_lo_tell.php | 11 + .../stubs/ext/pgsql/pg_lo_truncate.php | 11 + .../stubs/ext/pgsql/pg_lo_unlink.php | 18 + .../stubs/ext/pgsql/pg_lo_write.php | 11 + .../stubs/ext/pgsql/pg_loclose.php | 19 + .../stubs/ext/pgsql/pg_locreate.php | 22 + .../stubs/ext/pgsql/pg_loexport.php | 25 + .../stubs/ext/pgsql/pg_loimport.php | 25 + .../php-8-stubs/stubs/ext/pgsql/pg_loopen.php | 23 + .../php-8-stubs/stubs/ext/pgsql/pg_loread.php | 19 + .../stubs/ext/pgsql/pg_loreadall.php | 19 + .../stubs/ext/pgsql/pg_lounlink.php | 22 + .../stubs/ext/pgsql/pg_lowrite.php | 19 + .../stubs/ext/pgsql/pg_meta_data.php | 15 + .../stubs/ext/pgsql/pg_num_fields.php | 11 + .../stubs/ext/pgsql/pg_num_rows.php | 11 + .../stubs/ext/pgsql/pg_numfields.php | 19 + .../stubs/ext/pgsql/pg_numrows.php | 19 + .../stubs/ext/pgsql/pg_options.php | 12 + .../stubs/ext/pgsql/pg_parameter_status.php | 15 + .../stubs/ext/pgsql/pg_pconnect.php | 11 + .../php-8-stubs/stubs/ext/pgsql/pg_ping.php | 11 + .../stubs/ext/pgsql/pg_pipeline_status.php | 6 + .../stubs/ext/pgsql/pg_pipeline_sync.php | 6 + .../php-8-stubs/stubs/ext/pgsql/pg_port.php | 12 + .../stubs/ext/pgsql/pg_prepare.php | 18 + .../stubs/ext/pgsql/pg_put_line.php | 12 + .../php-8-stubs/stubs/ext/pgsql/pg_query.php | 18 + .../stubs/ext/pgsql/pg_query_params.php | 20 + .../php-8-stubs/stubs/ext/pgsql/pg_result.php | 21 + .../stubs/ext/pgsql/pg_result_error.php | 12 + .../stubs/ext/pgsql/pg_result_error_field.php | 12 + .../stubs/ext/pgsql/pg_result_seek.php | 11 + .../stubs/ext/pgsql/pg_result_status.php | 12 + .../php-8-stubs/stubs/ext/pgsql/pg_select.php | 15 + .../stubs/ext/pgsql/pg_send_execute.php | 11 + .../stubs/ext/pgsql/pg_send_flush_request.php | 6 + .../stubs/ext/pgsql/pg_send_prepare.php | 11 + .../stubs/ext/pgsql/pg_send_query.php | 11 + .../stubs/ext/pgsql/pg_send_query_params.php | 11 + .../ext/pgsql/pg_set_client_encoding.php | 12 + .../pgsql/pg_set_error_context_visibility.php | 8 + .../ext/pgsql/pg_set_error_verbosity.php | 12 + .../stubs/ext/pgsql/pg_setclientencoding.php | 20 + .../php-8-stubs/stubs/ext/pgsql/pg_socket.php | 18 + .../php-8-stubs/stubs/ext/pgsql/pg_trace.php | 16 + .../stubs/ext/pgsql/pg_transaction_status.php | 11 + .../php-8-stubs/stubs/ext/pgsql/pg_tty.php | 12 + .../stubs/ext/pgsql/pg_unescape_bytea.php | 5 + .../stubs/ext/pgsql/pg_untrace.php | 16 + .../php-8-stubs/stubs/ext/pgsql/pg_update.php | 12 + .../stubs/ext/pgsql/pg_version.php | 15 + .../php-8-stubs/stubs/ext/phar/Phar.php | 514 + .../php-8-stubs/stubs/ext/phar/PharData.php | 388 + .../stubs/ext/phar/PharException.php | 6 + .../stubs/ext/phar/PharFileInfo.php | 93 + .../stubs/ext/posix/posix_access.php | 6 + .../stubs/ext/posix/posix_ctermid.php | 6 + .../stubs/ext/posix/posix_eaccess.php | 7 + .../stubs/ext/posix/posix_errno.php | 6 + .../stubs/ext/posix/posix_fpathconf.php | 7 + .../stubs/ext/posix/posix_get_last_error.php | 6 + .../stubs/ext/posix/posix_getcwd.php | 5 + .../stubs/ext/posix/posix_getegid.php | 5 + .../stubs/ext/posix/posix_geteuid.php | 5 + .../stubs/ext/posix/posix_getgid.php | 6 + .../stubs/ext/posix/posix_getgrgid.php | 8 + .../stubs/ext/posix/posix_getgrnam.php | 8 + .../stubs/ext/posix/posix_getgroups.php | 10 + .../stubs/ext/posix/posix_getlogin.php | 7 + .../stubs/ext/posix/posix_getpgid.php | 6 + .../stubs/ext/posix/posix_getpgrp.php | 6 + .../stubs/ext/posix/posix_getpid.php | 5 + .../stubs/ext/posix/posix_getppid.php | 5 + .../stubs/ext/posix/posix_getpwnam.php | 8 + .../stubs/ext/posix/posix_getpwuid.php | 8 + .../stubs/ext/posix/posix_getrlimit.php | 19 + .../stubs/ext/posix/posix_getsid.php | 7 + .../stubs/ext/posix/posix_getuid.php | 5 + .../stubs/ext/posix/posix_initgroups.php | 6 + .../stubs/ext/posix/posix_isatty.php | 6 + .../stubs/ext/posix/posix_kill.php | 6 + .../stubs/ext/posix/posix_mkfifo.php | 6 + .../stubs/ext/posix/posix_mknod.php | 7 + .../stubs/ext/posix/posix_pathconf.php | 7 + .../stubs/ext/posix/posix_setegid.php | 6 + .../stubs/ext/posix/posix_seteuid.php | 6 + .../stubs/ext/posix/posix_setgid.php | 5 + .../stubs/ext/posix/posix_setpgid.php | 6 + .../stubs/ext/posix/posix_setrlimit.php | 7 + .../stubs/ext/posix/posix_setsid.php | 6 + .../stubs/ext/posix/posix_setuid.php | 5 + .../stubs/ext/posix/posix_strerror.php | 5 + .../stubs/ext/posix/posix_sysconf.php | 7 + .../stubs/ext/posix/posix_times.php | 8 + .../stubs/ext/posix/posix_ttyname.php | 7 + .../stubs/ext/posix/posix_uname.php | 9 + .../stubs/ext/pspell/PSpell/Config.php | 12 + .../stubs/ext/pspell/PSpell/Dictionary.php | 12 + .../ext/pspell/pspell_add_to_personal.php | 10 + .../ext/pspell/pspell_add_to_session.php | 10 + .../stubs/ext/pspell/pspell_check.php | 10 + .../stubs/ext/pspell/pspell_clear_session.php | 10 + .../stubs/ext/pspell/pspell_config_create.php | 10 + .../ext/pspell/pspell_config_data_dir.php | 10 + .../ext/pspell/pspell_config_dict_dir.php | 10 + .../stubs/ext/pspell/pspell_config_ignore.php | 10 + .../stubs/ext/pspell/pspell_config_mode.php | 10 + .../ext/pspell/pspell_config_personal.php | 10 + .../stubs/ext/pspell/pspell_config_repl.php | 10 + .../ext/pspell/pspell_config_runtogether.php | 10 + .../ext/pspell/pspell_config_save_repl.php | 10 + .../stubs/ext/pspell/pspell_new.php | 11 + .../stubs/ext/pspell/pspell_new_config.php | 10 + .../stubs/ext/pspell/pspell_new_personal.php | 10 + .../stubs/ext/pspell/pspell_save_wordlist.php | 10 + .../ext/pspell/pspell_store_replacement.php | 10 + .../stubs/ext/pspell/pspell_suggest.php | 14 + .../random/Random/BrokenRandomEngineError.php | 11 + .../ext/random/Random/CryptoSafeEngine.php | 8 + .../stubs/ext/random/Random/Engine.php | 9 + .../ext/random/Random/Engine/Mt19937.php | 26 + .../Random/Engine/PcgOneseq128XslRr64.php | 33 + .../stubs/ext/random/Random/Engine/Secure.php | 16 + .../Random/Engine/Xoshiro256StarStar.php | 36 + .../ext/random/Random/IntervalBoundary.php | 12 + .../stubs/ext/random/Random/RandomError.php | 11 + .../ext/random/Random/RandomException.php | 11 + .../stubs/ext/random/Random/Randomizer.php | 50 + .../stubs/ext/random/getrandmax.php | 7 + .../stubs/ext/random/lcg_value.php | 6 + .../stubs/ext/random/mt_getrandmax.php | 6 + .../php-8-stubs/stubs/ext/random/mt_rand.php | 6 + .../php-8-stubs/stubs/ext/random/mt_srand.php | 11 + .../php-8-stubs/stubs/ext/random/rand.php | 6 + .../stubs/ext/random/random_bytes.php | 7 + .../stubs/ext/random/random_int.php | 6 + .../php-8-stubs/stubs/ext/random/srand.php | 13 + .../stubs/ext/readline/readline.php | 6 + .../ext/readline/readline_add_history.php | 5 + .../readline_callback_handler_install.php | 6 + .../readline_callback_handler_remove.php | 5 + .../readline/readline_callback_read_char.php | 5 + .../ext/readline/readline_clear_history.php | 5 + .../readline/readline_completion_function.php | 5 + .../stubs/ext/readline/readline_info.php | 9 + .../ext/readline/readline_list_history.php | 9 + .../ext/readline/readline_on_new_line.php | 6 + .../ext/readline/readline_read_history.php | 6 + .../stubs/ext/readline/readline_redisplay.php | 5 + .../ext/readline/readline_write_history.php | 5 + .../stubs/ext/reflection/Reflection.php | 12 + .../ext/reflection/ReflectionAttribute.php | 36 + .../stubs/ext/reflection/ReflectionClass.php | 407 + .../reflection/ReflectionClassConstant.php | 121 + .../stubs/ext/reflection/ReflectionEnum.php | 29 + .../reflection/ReflectionEnumBackedCase.php | 12 + .../ext/reflection/ReflectionEnumUnitCase.php | 19 + .../ext/reflection/ReflectionException.php | 6 + .../ext/reflection/ReflectionExtension.php | 98 + .../stubs/ext/reflection/ReflectionFiber.php | 25 + .../ext/reflection/ReflectionFunction.php | 50 + .../reflection/ReflectionFunctionAbstract.php | 218 + .../ext/reflection/ReflectionGenerator.php | 50 + .../reflection/ReflectionIntersectionType.php | 9 + .../stubs/ext/reflection/ReflectionMethod.php | 153 + .../ext/reflection/ReflectionNamedType.php | 19 + .../stubs/ext/reflection/ReflectionObject.php | 8 + .../ext/reflection/ReflectionParameter.php | 158 + .../ext/reflection/ReflectionProperty.php | 177 + .../ext/reflection/ReflectionReference.php | 18 + .../stubs/ext/reflection/ReflectionType.php | 25 + .../ext/reflection/ReflectionUnionType.php | 8 + .../reflection/ReflectionZendExtension.php | 56 + .../stubs/ext/reflection/Reflector.php | 5 + .../stubs/ext/session/SessionHandler.php | 54 + .../ext/session/SessionHandlerInterface.php | 35 + .../stubs/ext/session/SessionIdInterface.php | 10 + ...SessionUpdateTimestampHandlerInterface.php | 15 + .../stubs/ext/session/session_abort.php | 5 + .../ext/session/session_cache_expire.php | 5 + .../ext/session/session_cache_limiter.php | 5 + .../stubs/ext/session/session_commit.php | 6 + .../stubs/ext/session/session_create_id.php | 5 + .../stubs/ext/session/session_decode.php | 5 + .../stubs/ext/session/session_destroy.php | 5 + .../stubs/ext/session/session_encode.php | 5 + .../stubs/ext/session/session_gc.php | 5 + .../ext/session/session_get_cookie_params.php | 8 + .../stubs/ext/session/session_id.php | 5 + .../stubs/ext/session/session_module_name.php | 5 + .../stubs/ext/session/session_name.php | 6 + .../ext/session/session_regenerate_id.php | 5 + .../ext/session/session_register_shutdown.php | 5 + .../stubs/ext/session/session_reset.php | 5 + .../stubs/ext/session/session_save_path.php | 5 + .../ext/session/session_set_cookie_params.php | 5 + .../ext/session/session_set_save_handler.php | 18 + .../stubs/ext/session/session_start.php | 5 + .../stubs/ext/session/session_status.php | 5 + .../stubs/ext/session/session_unset.php | 5 + .../stubs/ext/session/session_write_close.php | 5 + .../php-8-stubs/stubs/ext/shmop/Shmop.php | 6 + .../stubs/ext/shmop/shmop_close.php | 6 + .../stubs/ext/shmop/shmop_delete.php | 5 + .../stubs/ext/shmop/shmop_open.php | 5 + .../stubs/ext/shmop/shmop_read.php | 5 + .../stubs/ext/shmop/shmop_size.php | 5 + .../stubs/ext/shmop/shmop_write.php | 5 + .../stubs/ext/simplexml/SimpleXMLElement.php | 146 + .../stubs/ext/simplexml/SimpleXMLIterator.php | 5 + .../ext/simplexml/simplexml_import_dom.php | 5 + .../ext/simplexml/simplexml_load_file.php | 6 + .../ext/simplexml/simplexml_load_string.php | 5 + .../php-8-stubs/stubs/ext/snmp/SNMP.php | 232 + .../stubs/ext/snmp/SNMPException.php | 5 + .../php-8-stubs/stubs/ext/snmp/snmp2_get.php | 5 + .../stubs/ext/snmp/snmp2_getnext.php | 5 + .../stubs/ext/snmp/snmp2_real_walk.php | 5 + .../php-8-stubs/stubs/ext/snmp/snmp2_set.php | 5 + .../php-8-stubs/stubs/ext/snmp/snmp2_walk.php | 5 + .../php-8-stubs/stubs/ext/snmp/snmp3_get.php | 5 + .../stubs/ext/snmp/snmp3_getnext.php | 5 + .../stubs/ext/snmp/snmp3_real_walk.php | 5 + .../php-8-stubs/stubs/ext/snmp/snmp3_set.php | 5 + .../php-8-stubs/stubs/ext/snmp/snmp3_walk.php | 5 + .../stubs/ext/snmp/snmp_get_quick_print.php | 5 + .../ext/snmp/snmp_get_valueretrieval.php | 5 + .../stubs/ext/snmp/snmp_read_mib.php | 5 + .../stubs/ext/snmp/snmp_set_enum_print.php | 10 + .../ext/snmp/snmp_set_oid_numeric_print.php | 12 + .../ext/snmp/snmp_set_oid_output_format.php | 10 + .../stubs/ext/snmp/snmp_set_quick_print.php | 10 + .../ext/snmp/snmp_set_valueretrieval.php | 10 + .../php-8-stubs/stubs/ext/snmp/snmpget.php | 6 + .../stubs/ext/snmp/snmpgetnext.php | 5 + .../stubs/ext/snmp/snmprealwalk.php | 5 + .../php-8-stubs/stubs/ext/snmp/snmpset.php | 5 + .../php-8-stubs/stubs/ext/snmp/snmpwalk.php | 5 + .../stubs/ext/snmp/snmpwalkoid.php | 6 + .../php-8-stubs/stubs/ext/soap/SoapClient.php | 102 + .../php-8-stubs/stubs/ext/soap/SoapFault.php | 11 + .../php-8-stubs/stubs/ext/soap/SoapHeader.php | 8 + .../php-8-stubs/stubs/ext/soap/SoapParam.php | 8 + .../php-8-stubs/stubs/ext/soap/SoapServer.php | 65 + .../php-8-stubs/stubs/ext/soap/SoapVar.php | 8 + .../stubs/ext/soap/is_soap_fault.php | 5 + .../stubs/ext/soap/use_soap_error_handler.php | 6 + .../stubs/ext/sockets/AddressInfo.php | 5 + .../php-8-stubs/stubs/ext/sockets/Socket.php | 6 + .../stubs/ext/sockets/socket_accept.php | 5 + .../ext/sockets/socket_addrinfo_bind.php | 5 + .../ext/sockets/socket_addrinfo_connect.php | 5 + .../ext/sockets/socket_addrinfo_explain.php | 8 + .../ext/sockets/socket_addrinfo_lookup.php | 8 + .../stubs/ext/sockets/socket_atmark.php | 8 + .../stubs/ext/sockets/socket_bind.php | 5 + .../stubs/ext/sockets/socket_clear_error.php | 5 + .../stubs/ext/sockets/socket_close.php | 5 + .../stubs/ext/sockets/socket_cmsg_space.php | 5 + .../stubs/ext/sockets/socket_connect.php | 5 + .../stubs/ext/sockets/socket_create.php | 5 + .../ext/sockets/socket_create_listen.php | 5 + .../stubs/ext/sockets/socket_create_pair.php | 7 + .../ext/sockets/socket_export_stream.php | 6 + .../stubs/ext/sockets/socket_get_option.php | 8 + .../stubs/ext/sockets/socket_getopt.php | 8 + .../stubs/ext/sockets/socket_getpeername.php | 9 + .../stubs/ext/sockets/socket_getsockname.php | 9 + .../ext/sockets/socket_import_stream.php | 6 + .../stubs/ext/sockets/socket_last_error.php | 6 + .../stubs/ext/sockets/socket_listen.php | 5 + .../stubs/ext/sockets/socket_read.php | 5 + .../stubs/ext/sockets/socket_recv.php | 6 + .../stubs/ext/sockets/socket_recvfrom.php | 10 + .../stubs/ext/sockets/socket_recvmsg.php | 5 + .../stubs/ext/sockets/socket_select.php | 5 + .../stubs/ext/sockets/socket_send.php | 5 + .../stubs/ext/sockets/socket_sendmsg.php | 5 + .../stubs/ext/sockets/socket_sendto.php | 5 + .../stubs/ext/sockets/socket_set_block.php | 5 + .../stubs/ext/sockets/socket_set_nonblock.php | 5 + .../stubs/ext/sockets/socket_set_option.php | 6 + .../stubs/ext/sockets/socket_setopt.php | 9 + .../stubs/ext/sockets/socket_shutdown.php | 7 + .../stubs/ext/sockets/socket_strerror.php | 5 + .../stubs/ext/sockets/socket_write.php | 5 + .../socket_wsaprotocol_info_export.php | 6 + .../socket_wsaprotocol_info_import.php | 5 + .../socket_wsaprotocol_info_release.php | 5 + .../stubs/ext/sodium/SodiumException.php | 5 + .../stubs/ext/sodium/sodium_add.php | 5 + .../stubs/ext/sodium/sodium_base642bin.php | 5 + .../stubs/ext/sodium/sodium_bin2base64.php | 6 + .../stubs/ext/sodium/sodium_bin2hex.php | 5 + .../stubs/ext/sodium/sodium_compare.php | 5 + .../sodium_crypto_aead_aes256gcm_decrypt.php | 6 + .../sodium_crypto_aead_aes256gcm_encrypt.php | 5 + ...ium_crypto_aead_aes256gcm_is_available.php | 6 + .../sodium_crypto_aead_aes256gcm_keygen.php | 5 + ...m_crypto_aead_chacha20poly1305_decrypt.php | 6 + ...m_crypto_aead_chacha20poly1305_encrypt.php | 5 + ...pto_aead_chacha20poly1305_ietf_decrypt.php | 5 + ...pto_aead_chacha20poly1305_ietf_encrypt.php | 5 + ...ypto_aead_chacha20poly1305_ietf_keygen.php | 5 + ...um_crypto_aead_chacha20poly1305_keygen.php | 5 + ...to_aead_xchacha20poly1305_ietf_decrypt.php | 6 + ...to_aead_xchacha20poly1305_ietf_encrypt.php | 5 + ...pto_aead_xchacha20poly1305_ietf_keygen.php | 5 + .../stubs/ext/sodium/sodium_crypto_auth.php | 6 + .../ext/sodium/sodium_crypto_auth_keygen.php | 5 + .../ext/sodium/sodium_crypto_auth_verify.php | 5 + .../stubs/ext/sodium/sodium_crypto_box.php | 5 + .../ext/sodium/sodium_crypto_box_keypair.php | 5 + ...x_keypair_from_secretkey_and_publickey.php | 5 + .../ext/sodium/sodium_crypto_box_open.php | 5 + .../sodium/sodium_crypto_box_publickey.php | 5 + ...um_crypto_box_publickey_from_secretkey.php | 5 + .../ext/sodium/sodium_crypto_box_seal.php | 5 + .../sodium/sodium_crypto_box_seal_open.php | 5 + .../sodium/sodium_crypto_box_secretkey.php | 5 + .../sodium/sodium_crypto_box_seed_keypair.php | 5 + .../sodium_crypto_core_ristretto255_add.php | 7 + ...ium_crypto_core_ristretto255_from_hash.php | 6 + ...rypto_core_ristretto255_is_valid_point.php | 6 + ...sodium_crypto_core_ristretto255_random.php | 6 + ...um_crypto_core_ristretto255_scalar_add.php | 6 + ...to_core_ristretto255_scalar_complement.php | 6 + ...crypto_core_ristretto255_scalar_invert.php | 6 + ...um_crypto_core_ristretto255_scalar_mul.php | 6 + ...crypto_core_ristretto255_scalar_negate.php | 6 + ...crypto_core_ristretto255_scalar_random.php | 6 + ...crypto_core_ristretto255_scalar_reduce.php | 6 + ...um_crypto_core_ristretto255_scalar_sub.php | 6 + .../sodium_crypto_core_ristretto255_sub.php | 6 + .../ext/sodium/sodium_crypto_generichash.php | 5 + .../sodium_crypto_generichash_final.php | 5 + .../sodium/sodium_crypto_generichash_init.php | 5 + .../sodium_crypto_generichash_keygen.php | 5 + .../sodium_crypto_generichash_update.php | 10 + .../sodium_crypto_kdf_derive_from_key.php | 5 + .../ext/sodium/sodium_crypto_kdf_keygen.php | 5 + .../sodium_crypto_kx_client_session_keys.php | 5 + .../ext/sodium/sodium_crypto_kx_keypair.php | 5 + .../ext/sodium/sodium_crypto_kx_publickey.php | 5 + .../ext/sodium/sodium_crypto_kx_secretkey.php | 5 + .../sodium/sodium_crypto_kx_seed_keypair.php | 5 + .../sodium_crypto_kx_server_session_keys.php | 8 + .../stubs/ext/sodium/sodium_crypto_pwhash.php | 6 + ...ium_crypto_pwhash_scryptsalsa208sha256.php | 7 + ...crypto_pwhash_scryptsalsa208sha256_str.php | 5 + ...pwhash_scryptsalsa208sha256_str_verify.php | 5 + .../ext/sodium/sodium_crypto_pwhash_str.php | 5 + .../sodium_crypto_pwhash_str_needs_rehash.php | 7 + .../sodium_crypto_pwhash_str_verify.php | 5 + .../ext/sodium/sodium_crypto_scalarmult.php | 6 + .../sodium/sodium_crypto_scalarmult_base.php | 7 + .../sodium_crypto_scalarmult_ristretto255.php | 7 + ...um_crypto_scalarmult_ristretto255_base.php | 6 + .../ext/sodium/sodium_crypto_secretbox.php | 5 + .../sodium/sodium_crypto_secretbox_keygen.php | 5 + .../sodium/sodium_crypto_secretbox_open.php | 5 + ...cretstream_xchacha20poly1305_init_pull.php | 5 + ...cretstream_xchacha20poly1305_init_push.php | 5 + ..._secretstream_xchacha20poly1305_keygen.php | 6 + ...to_secretstream_xchacha20poly1305_pull.php | 5 + ...to_secretstream_xchacha20poly1305_push.php | 5 + ...o_secretstream_xchacha20poly1305_rekey.php | 5 + .../ext/sodium/sodium_crypto_shorthash.php | 6 + .../sodium/sodium_crypto_shorthash_keygen.php | 5 + .../stubs/ext/sodium/sodium_crypto_sign.php | 5 + .../sodium/sodium_crypto_sign_detached.php | 5 + ...m_crypto_sign_ed25519_pk_to_curve25519.php | 5 + ...m_crypto_sign_ed25519_sk_to_curve25519.php | 5 + .../ext/sodium/sodium_crypto_sign_keypair.php | 5 + ...n_keypair_from_secretkey_and_publickey.php | 5 + .../ext/sodium/sodium_crypto_sign_open.php | 5 + .../sodium/sodium_crypto_sign_publickey.php | 5 + ...m_crypto_sign_publickey_from_secretkey.php | 5 + .../sodium/sodium_crypto_sign_secretkey.php | 5 + .../sodium_crypto_sign_seed_keypair.php | 5 + .../sodium_crypto_sign_verify_detached.php | 5 + .../stubs/ext/sodium/sodium_crypto_stream.php | 5 + .../sodium/sodium_crypto_stream_keygen.php | 5 + .../sodium/sodium_crypto_stream_xchacha20.php | 7 + .../sodium_crypto_stream_xchacha20_keygen.php | 6 + .../sodium_crypto_stream_xchacha20_xor.php | 6 + .../sodium_crypto_stream_xchacha20_xor_ic.php | 6 + .../ext/sodium/sodium_crypto_stream_xor.php | 5 + .../stubs/ext/sodium/sodium_hex2bin.php | 5 + .../stubs/ext/sodium/sodium_increment.php | 5 + .../stubs/ext/sodium/sodium_memcmp.php | 5 + .../stubs/ext/sodium/sodium_memzero.php | 5 + .../stubs/ext/sodium/sodium_pad.php | 5 + .../stubs/ext/sodium/sodium_unpad.php | 5 + .../stubs/ext/spl/AppendIterator.php | 57 + .../stubs/ext/spl/ArrayIterator.php | 222 + .../php-8-stubs/stubs/ext/spl/ArrayObject.php | 189 + .../ext/spl/BadFunctionCallException.php | 6 + .../stubs/ext/spl/BadMethodCallException.php | 6 + .../stubs/ext/spl/CachingIterator.php | 135 + .../stubs/ext/spl/CallbackFilterIterator.php | 15 + .../stubs/ext/spl/DirectoryIterator.php | 76 + .../stubs/ext/spl/DomainException.php | 6 + .../stubs/ext/spl/EmptyIterator.php | 41 + .../stubs/ext/spl/FilesystemIterator.php | 115 + .../stubs/ext/spl/FilterIterator.php | 27 + .../stubs/ext/spl/GlobIterator.php | 16 + .../stubs/ext/spl/InfiniteIterator.php | 15 + .../ext/spl/InvalidArgumentException.php | 6 + .../stubs/ext/spl/IteratorIterator.php | 50 + .../stubs/ext/spl/LengthException.php | 6 + .../stubs/ext/spl/LimitIterator.php | 43 + .../stubs/ext/spl/LogicException.php | 7 + .../stubs/ext/spl/MultipleIterator.php | 117 + .../stubs/ext/spl/NoRewindIterator.php | 43 + .../stubs/ext/spl/OutOfBoundsException.php | 6 + .../stubs/ext/spl/OutOfRangeException.php | 6 + .../stubs/ext/spl/OuterIterator.php | 10 + .../stubs/ext/spl/OverflowException.php | 6 + .../stubs/ext/spl/ParentIterator.php | 16 + .../stubs/ext/spl/RangeException.php | 6 + .../stubs/ext/spl/RecursiveArrayIterator.php | 25 + .../ext/spl/RecursiveCachingIterator.php | 22 + .../spl/RecursiveCallbackFilterIterator.php | 23 + .../ext/spl/RecursiveDirectoryIterator.php | 36 + .../stubs/ext/spl/RecursiveFilterIterator.php | 22 + .../stubs/ext/spl/RecursiveIterator.php | 15 + .../ext/spl/RecursiveIteratorIterator.php | 151 + .../stubs/ext/spl/RecursiveRegexIterator.php | 30 + .../stubs/ext/spl/RecursiveTreeIterator.php | 88 + .../stubs/ext/spl/RegexIterator.php | 106 + .../stubs/ext/spl/RuntimeException.php | 6 + .../stubs/ext/spl/SeekableIterator.php | 10 + .../stubs/ext/spl/SplDoublyLinkedList.php | 216 + .../php-8-stubs/stubs/ext/spl/SplFileInfo.php | 218 + .../stubs/ext/spl/SplFileObject.php | 256 + .../stubs/ext/spl/SplFixedArray.php | 95 + .../php-8-stubs/stubs/ext/spl/SplHeap.php | 101 + .../php-8-stubs/stubs/ext/spl/SplMaxHeap.php | 12 + .../php-8-stubs/stubs/ext/spl/SplMinHeap.php | 12 + .../stubs/ext/spl/SplObjectStorage.php | 183 + .../php-8-stubs/stubs/ext/spl/SplObserver.php | 11 + .../stubs/ext/spl/SplPriorityQueue.php | 140 + .../php-8-stubs/stubs/ext/spl/SplQueue.php | 21 + .../php-8-stubs/stubs/ext/spl/SplStack.php | 5 + .../php-8-stubs/stubs/ext/spl/SplSubject.php | 20 + .../stubs/ext/spl/SplTempFileObject.php | 8 + .../stubs/ext/spl/UnderflowException.php | 6 + .../ext/spl/UnexpectedValueException.php | 6 + .../stubs/ext/spl/class_implements.php | 10 + .../stubs/ext/spl/class_parents.php | 9 + .../php-8-stubs/stubs/ext/spl/class_uses.php | 9 + .../stubs/ext/spl/iterator_apply.php | 5 + .../stubs/ext/spl/iterator_count.php | 10 + .../stubs/ext/spl/iterator_to_array.php | 10 + .../stubs/ext/spl/spl_autoload.php | 5 + .../stubs/ext/spl/spl_autoload_call.php | 5 + .../stubs/ext/spl/spl_autoload_extensions.php | 5 + .../stubs/ext/spl/spl_autoload_functions.php | 5 + .../stubs/ext/spl/spl_autoload_register.php | 5 + .../stubs/ext/spl/spl_autoload_unregister.php | 5 + .../php-8-stubs/stubs/ext/spl/spl_classes.php | 8 + .../stubs/ext/spl/spl_object_hash.php | 5 + .../stubs/ext/spl/spl_object_id.php | 5 + .../php-8-stubs/stubs/ext/sqlite3/SQLite3.php | 431 + .../stubs/ext/sqlite3/SQLite3Exception.php | 10 + .../stubs/ext/sqlite3/SQLite3Result.php | 47 + .../stubs/ext/sqlite3/SQLite3Stmt.php | 71 + .../stubs/ext/standard/AssertionError.php | 6 + .../stubs/ext/standard/Directory.php | 30 + .../ext/standard/__PHP_Incomplete_Class.php | 7 + .../php-8-stubs/stubs/ext/standard/abs.php | 6 + .../php-8-stubs/stubs/ext/standard/acos.php | 5 + .../php-8-stubs/stubs/ext/standard/acosh.php | 5 + .../stubs/ext/standard/addcslashes.php | 5 + .../stubs/ext/standard/addslashes.php | 5 + .../ext/standard/array_change_key_case.php | 5 + .../stubs/ext/standard/array_chunk.php | 5 + .../stubs/ext/standard/array_column.php | 5 + .../stubs/ext/standard/array_combine.php | 5 + .../stubs/ext/standard/array_count_values.php | 9 + .../stubs/ext/standard/array_diff.php | 5 + .../stubs/ext/standard/array_diff_assoc.php | 5 + .../stubs/ext/standard/array_diff_key.php | 5 + .../stubs/ext/standard/array_diff_uassoc.php | 6 + .../stubs/ext/standard/array_diff_ukey.php | 6 + .../stubs/ext/standard/array_fill.php | 5 + .../stubs/ext/standard/array_fill_keys.php | 5 + .../stubs/ext/standard/array_filter.php | 5 + .../stubs/ext/standard/array_flip.php | 9 + .../stubs/ext/standard/array_intersect.php | 5 + .../ext/standard/array_intersect_assoc.php | 5 + .../ext/standard/array_intersect_key.php | 5 + .../ext/standard/array_intersect_uassoc.php | 6 + .../ext/standard/array_intersect_ukey.php | 6 + .../stubs/ext/standard/array_is_list.php | 6 + .../stubs/ext/standard/array_key_exists.php | 6 + .../stubs/ext/standard/array_key_first.php | 5 + .../stubs/ext/standard/array_key_last.php | 5 + .../stubs/ext/standard/array_keys.php | 8 + .../stubs/ext/standard/array_map.php | 5 + .../stubs/ext/standard/array_merge.php | 5 + .../ext/standard/array_merge_recursive.php | 5 + .../stubs/ext/standard/array_multisort.php | 11 + .../stubs/ext/standard/array_pad.php | 5 + .../stubs/ext/standard/array_pop.php | 5 + .../stubs/ext/standard/array_product.php | 5 + .../stubs/ext/standard/array_push.php | 6 + .../stubs/ext/standard/array_rand.php | 5 + .../stubs/ext/standard/array_reduce.php | 5 + .../stubs/ext/standard/array_replace.php | 5 + .../ext/standard/array_replace_recursive.php | 5 + .../stubs/ext/standard/array_reverse.php | 5 + .../stubs/ext/standard/array_search.php | 5 + .../stubs/ext/standard/array_shift.php | 5 + .../stubs/ext/standard/array_slice.php | 5 + .../stubs/ext/standard/array_splice.php | 5 + .../stubs/ext/standard/array_sum.php | 5 + .../stubs/ext/standard/array_udiff.php | 6 + .../stubs/ext/standard/array_udiff_assoc.php | 6 + .../stubs/ext/standard/array_udiff_uassoc.php | 6 + .../stubs/ext/standard/array_uintersect.php | 6 + .../ext/standard/array_uintersect_assoc.php | 6 + .../ext/standard/array_uintersect_uassoc.php | 6 + .../stubs/ext/standard/array_unique.php | 5 + .../stubs/ext/standard/array_unshift.php | 5 + .../stubs/ext/standard/array_values.php | 8 + .../stubs/ext/standard/array_walk.php | 10 + .../ext/standard/array_walk_recursive.php | 10 + .../php-8-stubs/stubs/ext/standard/arsort.php | 10 + .../php-8-stubs/stubs/ext/standard/asin.php | 5 + .../php-8-stubs/stubs/ext/standard/asinh.php | 5 + .../php-8-stubs/stubs/ext/standard/asort.php | 10 + .../php-8-stubs/stubs/ext/standard/assert.php | 7 + .../stubs/ext/standard/assert_options.php | 5 + .../php-8-stubs/stubs/ext/standard/atan.php | 5 + .../php-8-stubs/stubs/ext/standard/atan2.php | 5 + .../php-8-stubs/stubs/ext/standard/atanh.php | 5 + .../stubs/ext/standard/base64_decode.php | 5 + .../stubs/ext/standard/base64_encode.php | 6 + .../stubs/ext/standard/base_convert.php | 5 + .../stubs/ext/standard/basename.php | 5 + .../stubs/ext/standard/bin2hex.php | 6 + .../php-8-stubs/stubs/ext/standard/bindec.php | 5 + .../stubs/ext/standard/boolval.php | 5 + .../stubs/ext/standard/call_user_func.php | 5 + .../ext/standard/call_user_func_array.php | 5 + .../php-8-stubs/stubs/ext/standard/ceil.php | 5 + .../php-8-stubs/stubs/ext/standard/chdir.php | 5 + .../stubs/ext/standard/checkdnsrr.php | 6 + .../php-8-stubs/stubs/ext/standard/chgrp.php | 5 + .../php-8-stubs/stubs/ext/standard/chmod.php | 6 + .../php-8-stubs/stubs/ext/standard/chop.php | 6 + .../php-8-stubs/stubs/ext/standard/chown.php | 5 + .../php-8-stubs/stubs/ext/standard/chr.php | 5 + .../php-8-stubs/stubs/ext/standard/chroot.php | 6 + .../stubs/ext/standard/chunk_split.php | 5 + .../stubs/ext/standard/clearstatcache.php | 6 + .../stubs/ext/standard/closedir.php | 6 + .../stubs/ext/standard/closelog.php | 10 + .../stubs/ext/standard/compact.php | 10 + .../stubs/ext/standard/config_get_hash.php | 9 + .../stubs/ext/standard/connection_aborted.php | 5 + .../stubs/ext/standard/connection_status.php | 5 + .../stubs/ext/standard/constant.php | 6 + .../stubs/ext/standard/convert_uudecode.php | 5 + .../stubs/ext/standard/convert_uuencode.php | 6 + .../php-8-stubs/stubs/ext/standard/copy.php | 6 + .../php-8-stubs/stubs/ext/standard/cos.php | 5 + .../php-8-stubs/stubs/ext/standard/cosh.php | 5 + .../php-8-stubs/stubs/ext/standard/count.php | 5 + .../stubs/ext/standard/count_chars.php | 9 + .../php-8-stubs/stubs/ext/standard/crc32.php | 6 + .../php-8-stubs/stubs/ext/standard/crypt.php | 6 + .../stubs/ext/standard/current.php | 5 + .../stubs/ext/standard/debug_zval_dump.php | 5 + .../php-8-stubs/stubs/ext/standard/decbin.php | 5 + .../php-8-stubs/stubs/ext/standard/dechex.php | 5 + .../php-8-stubs/stubs/ext/standard/decoct.php | 5 + .../stubs/ext/standard/deg2rad.php | 5 + .../php-8-stubs/stubs/ext/standard/dir.php | 6 + .../stubs/ext/standard/dirname.php | 5 + .../stubs/ext/standard/disk_free_space.php | 5 + .../stubs/ext/standard/disk_total_space.php | 5 + .../stubs/ext/standard/diskfreespace.php | 6 + .../php-8-stubs/stubs/ext/standard/dl.php | 5 + .../stubs/ext/standard/dns_check_record.php | 6 + .../stubs/ext/standard/dns_get_mx.php | 9 + .../stubs/ext/standard/dns_get_record.php | 10 + .../stubs/ext/standard/doubleval.php | 6 + .../php-8-stubs/stubs/ext/standard/end.php | 5 + .../stubs/ext/standard/error_clear_last.php | 5 + .../stubs/ext/standard/error_get_last.php | 8 + .../stubs/ext/standard/error_log.php | 5 + .../stubs/ext/standard/escapeshellarg.php | 5 + .../stubs/ext/standard/escapeshellcmd.php | 5 + .../php-8-stubs/stubs/ext/standard/exec.php | 11 + .../php-8-stubs/stubs/ext/standard/exp.php | 5 + .../stubs/ext/standard/explode.php | 9 + .../php-8-stubs/stubs/ext/standard/expm1.php | 5 + .../stubs/ext/standard/extract.php | 6 + .../php-8-stubs/stubs/ext/standard/fclose.php | 6 + .../stubs/ext/standard/fdatasync.php | 7 + .../php-8-stubs/stubs/ext/standard/fdiv.php | 5 + .../php-8-stubs/stubs/ext/standard/feof.php | 6 + .../php-8-stubs/stubs/ext/standard/fflush.php | 6 + .../php-8-stubs/stubs/ext/standard/fgetc.php | 6 + .../stubs/ext/standard/fgetcsv.php | 9 + .../php-8-stubs/stubs/ext/standard/fgets.php | 6 + .../php-8-stubs/stubs/ext/standard/file.php | 9 + .../stubs/ext/standard/file_exists.php | 5 + .../stubs/ext/standard/file_get_contents.php | 6 + .../stubs/ext/standard/file_put_contents.php | 6 + .../stubs/ext/standard/fileatime.php | 6 + .../stubs/ext/standard/filectime.php | 5 + .../stubs/ext/standard/filegroup.php | 5 + .../stubs/ext/standard/fileinode.php | 5 + .../stubs/ext/standard/filemtime.php | 5 + .../stubs/ext/standard/fileowner.php | 5 + .../stubs/ext/standard/fileperms.php | 5 + .../stubs/ext/standard/filesize.php | 5 + .../stubs/ext/standard/filetype.php | 5 + .../stubs/ext/standard/floatval.php | 5 + .../php-8-stubs/stubs/ext/standard/flock.php | 11 + .../php-8-stubs/stubs/ext/standard/floor.php | 5 + .../php-8-stubs/stubs/ext/standard/flush.php | 5 + .../php-8-stubs/stubs/ext/standard/fmod.php | 5 + .../stubs/ext/standard/fnmatch.php | 6 + .../php-8-stubs/stubs/ext/standard/fopen.php | 9 + .../ext/standard/forward_static_call.php | 5 + .../standard/forward_static_call_array.php | 5 + .../stubs/ext/standard/fpassthru.php | 6 + .../stubs/ext/standard/fprintf.php | 6 + .../stubs/ext/standard/fputcsv.php | 12 + .../php-8-stubs/stubs/ext/standard/fputs.php | 9 + .../php-8-stubs/stubs/ext/standard/fread.php | 6 + .../php-8-stubs/stubs/ext/standard/fscanf.php | 9 + .../php-8-stubs/stubs/ext/standard/fseek.php | 6 + .../stubs/ext/standard/fsockopen.php | 11 + .../php-8-stubs/stubs/ext/standard/fstat.php | 9 + .../php-8-stubs/stubs/ext/standard/fsync.php | 7 + .../php-8-stubs/stubs/ext/standard/ftell.php | 6 + .../php-8-stubs/stubs/ext/standard/ftok.php | 8 + .../stubs/ext/standard/ftruncate.php | 6 + .../php-8-stubs/stubs/ext/standard/fwrite.php | 6 + .../stubs/ext/standard/get_browser.php | 10 + .../stubs/ext/standard/get_cfg_var.php | 5 + .../stubs/ext/standard/get_current_user.php | 6 + .../stubs/ext/standard/get_debug_type.php | 5 + .../stubs/ext/standard/get_headers.php | 9 + .../standard/get_html_translation_table.php | 14 + .../stubs/ext/standard/get_include_path.php | 5 + .../stubs/ext/standard/get_meta_tags.php | 8 + .../php-8-stubs/stubs/ext/standard/getcwd.php | 6 + .../php-8-stubs/stubs/ext/standard/getenv.php | 8 + .../stubs/ext/standard/gethostbyaddr.php | 6 + .../stubs/ext/standard/gethostbyname.php | 5 + .../stubs/ext/standard/gethostbynamel.php | 8 + .../stubs/ext/standard/gethostname.php | 8 + .../stubs/ext/standard/getimagesize.php | 9 + .../ext/standard/getimagesizefromstring.php | 9 + .../stubs/ext/standard/getlastmod.php | 5 + .../stubs/ext/standard/getmxrr.php | 10 + .../stubs/ext/standard/getmygid.php | 5 + .../stubs/ext/standard/getmyinode.php | 5 + .../stubs/ext/standard/getmypid.php | 5 + .../stubs/ext/standard/getmyuid.php | 6 + .../php-8-stubs/stubs/ext/standard/getopt.php | 10 + .../stubs/ext/standard/getprotobyname.php | 7 + .../stubs/ext/standard/getprotobynumber.php | 7 + .../stubs/ext/standard/getrandmax.php | 6 + .../stubs/ext/standard/getrusage.php | 10 + .../stubs/ext/standard/getservbyname.php | 6 + .../stubs/ext/standard/getservbyport.php | 7 + .../stubs/ext/standard/gettimeofday.php | 8 + .../stubs/ext/standard/gettype.php | 7 + .../php-8-stubs/stubs/ext/standard/glob.php | 9 + .../php-8-stubs/stubs/ext/standard/header.php | 6 + .../ext/standard/header_register_callback.php | 6 + .../stubs/ext/standard/header_remove.php | 5 + .../stubs/ext/standard/headers_list.php | 8 + .../stubs/ext/standard/headers_sent.php | 9 + .../php-8-stubs/stubs/ext/standard/hebrev.php | 5 + .../stubs/ext/standard/hex2bin.php | 5 + .../php-8-stubs/stubs/ext/standard/hexdec.php | 5 + .../stubs/ext/standard/highlight_file.php | 5 + .../stubs/ext/standard/highlight_string.php | 5 + .../php-8-stubs/stubs/ext/standard/hrtime.php | 7 + .../stubs/ext/standard/html_entity_decode.php | 10 + .../stubs/ext/standard/htmlentities.php | 11 + .../stubs/ext/standard/htmlspecialchars.php | 13 + .../ext/standard/htmlspecialchars_decode.php | 10 + .../stubs/ext/standard/http_build_query.php | 6 + .../stubs/ext/standard/http_response_code.php | 5 + .../php-8-stubs/stubs/ext/standard/hypot.php | 5 + .../stubs/ext/standard/ignore_user_abort.php | 5 + .../ext/standard/image_type_to_extension.php | 5 + .../ext/standard/image_type_to_mime_type.php | 6 + .../stubs/ext/standard/implode.php | 5 + .../stubs/ext/standard/in_array.php | 5 + .../stubs/ext/standard/inet_ntop.php | 7 + .../stubs/ext/standard/inet_pton.php | 7 + .../stubs/ext/standard/ini_alter.php | 12 + .../stubs/ext/standard/ini_get.php | 5 + .../stubs/ext/standard/ini_get_all.php | 8 + .../stubs/ext/standard/ini_parse_quantity.php | 6 + .../stubs/ext/standard/ini_restore.php | 5 + .../stubs/ext/standard/ini_set.php | 10 + .../php-8-stubs/stubs/ext/standard/intdiv.php | 5 + .../php-8-stubs/stubs/ext/standard/intval.php | 5 + .../stubs/ext/standard/ip2long.php | 5 + .../stubs/ext/standard/iptcembed.php | 6 + .../stubs/ext/standard/iptcparse.php | 8 + .../stubs/ext/standard/is_array.php | 5 + .../stubs/ext/standard/is_bool.php | 5 + .../stubs/ext/standard/is_callable.php | 6 + .../stubs/ext/standard/is_countable.php | 5 + .../php-8-stubs/stubs/ext/standard/is_dir.php | 5 + .../stubs/ext/standard/is_double.php | 6 + .../stubs/ext/standard/is_executable.php | 5 + .../stubs/ext/standard/is_file.php | 5 + .../stubs/ext/standard/is_finite.php | 5 + .../stubs/ext/standard/is_float.php | 5 + .../stubs/ext/standard/is_infinite.php | 5 + .../php-8-stubs/stubs/ext/standard/is_int.php | 5 + .../stubs/ext/standard/is_integer.php | 6 + .../stubs/ext/standard/is_iterable.php | 5 + .../stubs/ext/standard/is_link.php | 5 + .../stubs/ext/standard/is_long.php | 6 + .../php-8-stubs/stubs/ext/standard/is_nan.php | 5 + .../stubs/ext/standard/is_null.php | 5 + .../stubs/ext/standard/is_numeric.php | 5 + .../stubs/ext/standard/is_object.php | 5 + .../stubs/ext/standard/is_readable.php | 5 + .../stubs/ext/standard/is_resource.php | 5 + .../stubs/ext/standard/is_scalar.php | 5 + .../stubs/ext/standard/is_string.php | 5 + .../stubs/ext/standard/is_uploaded_file.php | 5 + .../stubs/ext/standard/is_writable.php | 5 + .../stubs/ext/standard/is_writeable.php | 6 + .../php-8-stubs/stubs/ext/standard/join.php | 6 + .../php-8-stubs/stubs/ext/standard/key.php | 5 + .../stubs/ext/standard/key_exists.php | 9 + .../php-8-stubs/stubs/ext/standard/krsort.php | 10 + .../php-8-stubs/stubs/ext/standard/ksort.php | 10 + .../stubs/ext/standard/lcfirst.php | 5 + .../stubs/ext/standard/lcg_value.php | 6 + .../php-8-stubs/stubs/ext/standard/lchgrp.php | 5 + .../php-8-stubs/stubs/ext/standard/lchown.php | 6 + .../stubs/ext/standard/levenshtein.php | 6 + .../php-8-stubs/stubs/ext/standard/link.php | 5 + .../stubs/ext/standard/linkinfo.php | 5 + .../stubs/ext/standard/localeconv.php | 8 + .../php-8-stubs/stubs/ext/standard/log.php | 5 + .../php-8-stubs/stubs/ext/standard/log10.php | 5 + .../php-8-stubs/stubs/ext/standard/log1p.php | 5 + .../stubs/ext/standard/long2ip.php | 5 + .../php-8-stubs/stubs/ext/standard/lstat.php | 8 + .../php-8-stubs/stubs/ext/standard/ltrim.php | 5 + .../php-8-stubs/stubs/ext/standard/mail.php | 7 + .../php-8-stubs/stubs/ext/standard/max.php | 5 + .../php-8-stubs/stubs/ext/standard/md5.php | 6 + .../stubs/ext/standard/md5_file.php | 5 + .../ext/standard/memory_get_peak_usage.php | 5 + .../stubs/ext/standard/memory_get_usage.php | 5 + .../ext/standard/memory_reset_peak_usage.php | 6 + .../stubs/ext/standard/metaphone.php | 7 + .../stubs/ext/standard/microtime.php | 7 + .../php-8-stubs/stubs/ext/standard/min.php | 5 + .../php-8-stubs/stubs/ext/standard/mkdir.php | 6 + .../stubs/ext/standard/move_uploaded_file.php | 5 + .../stubs/ext/standard/mt_getrandmax.php | 5 + .../stubs/ext/standard/mt_rand.php | 5 + .../stubs/ext/standard/mt_srand.php | 12 + .../stubs/ext/standard/natcasesort.php | 10 + .../stubs/ext/standard/natsort.php | 10 + .../stubs/ext/standard/net_get_interfaces.php | 8 + .../php-8-stubs/stubs/ext/standard/next.php | 5 + .../php-8-stubs/stubs/ext/standard/nl2br.php | 5 + .../stubs/ext/standard/nl_langinfo.php | 6 + .../stubs/ext/standard/number_format.php | 5 + .../stubs/ext/standard/ob_clean.php | 5 + .../stubs/ext/standard/ob_end_clean.php | 5 + .../stubs/ext/standard/ob_end_flush.php | 5 + .../stubs/ext/standard/ob_flush.php | 5 + .../stubs/ext/standard/ob_get_clean.php | 5 + .../stubs/ext/standard/ob_get_contents.php | 5 + .../stubs/ext/standard/ob_get_flush.php | 5 + .../stubs/ext/standard/ob_get_length.php | 5 + .../stubs/ext/standard/ob_get_level.php | 5 + .../stubs/ext/standard/ob_get_status.php | 8 + .../stubs/ext/standard/ob_implicit_flush.php | 5 + .../stubs/ext/standard/ob_list_handlers.php | 8 + .../stubs/ext/standard/ob_start.php | 7 + .../php-8-stubs/stubs/ext/standard/octdec.php | 5 + .../stubs/ext/standard/opendir.php | 10 + .../stubs/ext/standard/openlog.php | 14 + .../php-8-stubs/stubs/ext/standard/ord.php | 5 + .../ext/standard/output_add_rewrite_var.php | 5 + .../standard/output_reset_rewrite_vars.php | 5 + .../php-8-stubs/stubs/ext/standard/pack.php | 7 + .../stubs/ext/standard/parse_ini_file.php | 8 + .../stubs/ext/standard/parse_ini_string.php | 9 + .../stubs/ext/standard/parse_str.php | 6 + .../stubs/ext/standard/parse_url.php | 11 + .../stubs/ext/standard/passthru.php | 14 + .../stubs/ext/standard/password_algos.php | 5 + .../stubs/ext/standard/password_get_info.php | 9 + .../stubs/ext/standard/password_hash.php | 5 + .../ext/standard/password_needs_rehash.php | 5 + .../stubs/ext/standard/password_verify.php | 5 + .../stubs/ext/standard/pathinfo.php | 8 + .../php-8-stubs/stubs/ext/standard/pclose.php | 6 + .../stubs/ext/standard/pfsockopen.php | 10 + .../ext/standard/php_ini_loaded_file.php | 5 + .../ext/standard/php_ini_scanned_files.php | 5 + .../stubs/ext/standard/php_sapi_name.php | 5 + .../ext/standard/php_strip_whitespace.php | 5 + .../stubs/ext/standard/php_uname.php | 5 + .../stubs/ext/standard/php_user_filter.php | 30 + .../stubs/ext/standard/phpcredits.php | 10 + .../stubs/ext/standard/phpinfo.php | 11 + .../stubs/ext/standard/phpversion.php | 5 + .../php-8-stubs/stubs/ext/standard/pi.php | 5 + .../php-8-stubs/stubs/ext/standard/popen.php | 6 + .../php-8-stubs/stubs/ext/standard/pos.php | 6 + .../php-8-stubs/stubs/ext/standard/pow.php | 5 + .../php-8-stubs/stubs/ext/standard/prev.php | 5 + .../stubs/ext/standard/print_r.php | 5 + .../php-8-stubs/stubs/ext/standard/printf.php | 5 + .../stubs/ext/standard/proc_close.php | 6 + .../stubs/ext/standard/proc_get_status.php | 9 + .../stubs/ext/standard/proc_nice.php | 6 + .../stubs/ext/standard/proc_open.php | 11 + .../stubs/ext/standard/proc_terminate.php | 6 + .../php-8-stubs/stubs/ext/standard/putenv.php | 6 + .../ext/standard/quoted_printable_decode.php | 7 + .../ext/standard/quoted_printable_encode.php | 5 + .../stubs/ext/standard/quotemeta.php | 5 + .../stubs/ext/standard/rad2deg.php | 5 + .../php-8-stubs/stubs/ext/standard/rand.php | 5 + .../stubs/ext/standard/random_bytes.php | 6 + .../stubs/ext/standard/random_int.php | 5 + .../php-8-stubs/stubs/ext/standard/range.php | 14 + .../stubs/ext/standard/rawurldecode.php | 5 + .../stubs/ext/standard/rawurlencode.php | 5 + .../stubs/ext/standard/readdir.php | 6 + .../stubs/ext/standard/readfile.php | 6 + .../stubs/ext/standard/readlink.php | 7 + .../stubs/ext/standard/realpath.php | 5 + .../stubs/ext/standard/realpath_cache_get.php | 8 + .../ext/standard/realpath_cache_size.php | 5 + .../standard/register_shutdown_function.php | 10 + .../ext/standard/register_tick_function.php | 6 + .../php-8-stubs/stubs/ext/standard/rename.php | 6 + .../php-8-stubs/stubs/ext/standard/reset.php | 5 + .../php-8-stubs/stubs/ext/standard/rewind.php | 6 + .../stubs/ext/standard/rewinddir.php | 6 + .../php-8-stubs/stubs/ext/standard/rmdir.php | 6 + .../php-8-stubs/stubs/ext/standard/round.php | 5 + .../php-8-stubs/stubs/ext/standard/rsort.php | 10 + .../php-8-stubs/stubs/ext/standard/rtrim.php | 5 + .../ext/standard/sapi_windows_cp_conv.php | 5 + .../ext/standard/sapi_windows_cp_get.php | 5 + .../ext/standard/sapi_windows_cp_is_utf8.php | 5 + .../ext/standard/sapi_windows_cp_set.php | 7 + .../sapi_windows_generate_ctrl_event.php | 5 + .../sapi_windows_set_ctrl_handler.php | 5 + .../standard/sapi_windows_vt100_support.php | 7 + .../stubs/ext/standard/scandir.php | 9 + .../stubs/ext/standard/serialize.php | 5 + .../stubs/ext/standard/set_file_buffer.php | 9 + .../stubs/ext/standard/set_include_path.php | 5 + .../stubs/ext/standard/set_time_limit.php | 7 + .../stubs/ext/standard/setcookie.php | 5 + .../stubs/ext/standard/setlocale.php | 9 + .../stubs/ext/standard/setrawcookie.php | 5 + .../stubs/ext/standard/settype.php | 5 + .../php-8-stubs/stubs/ext/standard/sha1.php | 6 + .../stubs/ext/standard/sha1_file.php | 5 + .../stubs/ext/standard/shell_exec.php | 5 + .../stubs/ext/standard/show_source.php | 6 + .../stubs/ext/standard/shuffle.php | 10 + .../stubs/ext/standard/similar_text.php | 6 + .../php-8-stubs/stubs/ext/standard/sin.php | 5 + .../php-8-stubs/stubs/ext/standard/sinh.php | 5 + .../php-8-stubs/stubs/ext/standard/sizeof.php | 6 + .../php-8-stubs/stubs/ext/standard/sleep.php | 5 + .../stubs/ext/standard/socket_get_status.php | 9 + .../ext/standard/socket_set_blocking.php | 9 + .../stubs/ext/standard/socket_set_timeout.php | 9 + .../php-8-stubs/stubs/ext/standard/sort.php | 10 + .../stubs/ext/standard/soundex.php | 6 + .../stubs/ext/standard/sprintf.php | 6 + .../php-8-stubs/stubs/ext/standard/sqrt.php | 5 + .../php-8-stubs/stubs/ext/standard/srand.php | 12 + .../php-8-stubs/stubs/ext/standard/sscanf.php | 8 + .../php-8-stubs/stubs/ext/standard/stat.php | 8 + .../stubs/ext/standard/str_contains.php | 5 + .../stubs/ext/standard/str_decrement.php | 6 + .../stubs/ext/standard/str_ends_with.php | 5 + .../stubs/ext/standard/str_getcsv.php | 8 + .../stubs/ext/standard/str_increment.php | 6 + .../stubs/ext/standard/str_ireplace.php | 9 + .../stubs/ext/standard/str_pad.php | 5 + .../stubs/ext/standard/str_repeat.php | 5 + .../stubs/ext/standard/str_replace.php | 9 + .../stubs/ext/standard/str_rot13.php | 5 + .../stubs/ext/standard/str_shuffle.php | 5 + .../stubs/ext/standard/str_split.php | 8 + .../stubs/ext/standard/str_starts_with.php | 5 + .../stubs/ext/standard/str_word_count.php | 8 + .../php-8-stubs/stubs/ext/standard/strchr.php | 6 + .../stubs/ext/standard/strcoll.php | 6 + .../stubs/ext/standard/strcspn.php | 5 + .../ext/standard/stream_bucket_append.php | 6 + .../standard/stream_bucket_make_writeable.php | 7 + .../stubs/ext/standard/stream_bucket_new.php | 6 + .../ext/standard/stream_bucket_prepend.php | 6 + .../ext/standard/stream_context_create.php | 6 + .../standard/stream_context_get_default.php | 6 + .../standard/stream_context_get_options.php | 8 + .../standard/stream_context_get_params.php | 9 + .../standard/stream_context_set_default.php | 6 + .../standard/stream_context_set_option.php | 6 + .../standard/stream_context_set_options.php | 7 + .../standard/stream_context_set_params.php | 6 + .../ext/standard/stream_copy_to_stream.php | 10 + .../ext/standard/stream_filter_append.php | 9 + .../ext/standard/stream_filter_prepend.php | 9 + .../ext/standard/stream_filter_register.php | 5 + .../ext/standard/stream_filter_remove.php | 6 + .../ext/standard/stream_get_contents.php | 6 + .../stubs/ext/standard/stream_get_filters.php | 8 + .../stubs/ext/standard/stream_get_line.php | 6 + .../ext/standard/stream_get_meta_data.php | 8 + .../ext/standard/stream_get_transports.php | 8 + .../ext/standard/stream_get_wrappers.php | 8 + .../stubs/ext/standard/stream_is_local.php | 6 + .../stubs/ext/standard/stream_isatty.php | 6 + .../ext/standard/stream_register_wrapper.php | 6 + .../standard/stream_resolve_include_path.php | 5 + .../stubs/ext/standard/stream_select.php | 12 + .../ext/standard/stream_set_blocking.php | 6 + .../ext/standard/stream_set_chunk_size.php | 7 + .../ext/standard/stream_set_read_buffer.php | 6 + .../stubs/ext/standard/stream_set_timeout.php | 7 + .../ext/standard/stream_set_write_buffer.php | 6 + .../ext/standard/stream_socket_accept.php | 22 + .../ext/standard/stream_socket_client.php | 11 + .../standard/stream_socket_enable_crypto.php | 9 + .../ext/standard/stream_socket_get_name.php | 6 + .../stubs/ext/standard/stream_socket_pair.php | 10 + .../ext/standard/stream_socket_recvfrom.php | 9 + .../ext/standard/stream_socket_sendto.php | 6 + .../ext/standard/stream_socket_server.php | 11 + .../ext/standard/stream_socket_shutdown.php | 7 + .../ext/standard/stream_supports_lock.php | 6 + .../ext/standard/stream_wrapper_register.php | 6 + .../ext/standard/stream_wrapper_restore.php | 5 + .../standard/stream_wrapper_unregister.php | 5 + .../stubs/ext/standard/strip_tags.php | 5 + .../stubs/ext/standard/stripcslashes.php | 5 + .../stubs/ext/standard/stripos.php | 5 + .../stubs/ext/standard/stripslashes.php | 5 + .../stubs/ext/standard/stristr.php | 5 + .../stubs/ext/standard/strnatcasecmp.php | 5 + .../stubs/ext/standard/strnatcmp.php | 5 + .../stubs/ext/standard/strpbrk.php | 5 + .../php-8-stubs/stubs/ext/standard/strpos.php | 5 + .../stubs/ext/standard/strptime.php | 11 + .../stubs/ext/standard/strrchr.php | 14 + .../php-8-stubs/stubs/ext/standard/strrev.php | 5 + .../stubs/ext/standard/strripos.php | 5 + .../stubs/ext/standard/strrpos.php | 5 + .../php-8-stubs/stubs/ext/standard/strspn.php | 5 + .../php-8-stubs/stubs/ext/standard/strstr.php | 5 + .../php-8-stubs/stubs/ext/standard/strtok.php | 5 + .../stubs/ext/standard/strtolower.php | 5 + .../stubs/ext/standard/strtoupper.php | 5 + .../php-8-stubs/stubs/ext/standard/strtr.php | 5 + .../php-8-stubs/stubs/ext/standard/strval.php | 5 + .../php-8-stubs/stubs/ext/standard/substr.php | 5 + .../stubs/ext/standard/substr_compare.php | 5 + .../stubs/ext/standard/substr_count.php | 5 + .../stubs/ext/standard/substr_replace.php | 8 + .../stubs/ext/standard/symlink.php | 5 + .../stubs/ext/standard/sys_get_temp_dir.php | 6 + .../stubs/ext/standard/sys_getloadavg.php | 10 + .../php-8-stubs/stubs/ext/standard/syslog.php | 10 + .../php-8-stubs/stubs/ext/standard/system.php | 6 + .../php-8-stubs/stubs/ext/standard/tan.php | 5 + .../php-8-stubs/stubs/ext/standard/tanh.php | 5 + .../stubs/ext/standard/tempnam.php | 5 + .../stubs/ext/standard/time_nanosleep.php | 9 + .../stubs/ext/standard/time_sleep_until.php | 5 + .../stubs/ext/standard/tmpfile.php | 6 + .../php-8-stubs/stubs/ext/standard/touch.php | 6 + .../php-8-stubs/stubs/ext/standard/trim.php | 5 + .../php-8-stubs/stubs/ext/standard/uasort.php | 10 + .../stubs/ext/standard/ucfirst.php | 5 + .../stubs/ext/standard/ucwords.php | 5 + .../php-8-stubs/stubs/ext/standard/uksort.php | 10 + .../php-8-stubs/stubs/ext/standard/umask.php | 5 + .../php-8-stubs/stubs/ext/standard/uniqid.php | 7 + .../php-8-stubs/stubs/ext/standard/unlink.php | 6 + .../php-8-stubs/stubs/ext/standard/unpack.php | 9 + .../ext/standard/unregister_tick_function.php | 5 + .../stubs/ext/standard/unserialize.php | 5 + .../stubs/ext/standard/urldecode.php | 5 + .../stubs/ext/standard/urlencode.php | 5 + .../php-8-stubs/stubs/ext/standard/usleep.php | 5 + .../php-8-stubs/stubs/ext/standard/usort.php | 10 + .../stubs/ext/standard/utf8_decode.php | 5 + .../stubs/ext/standard/utf8_encode.php | 5 + .../stubs/ext/standard/var_dump.php | 6 + .../stubs/ext/standard/var_export.php | 5 + .../stubs/ext/standard/version_compare.php | 6 + .../stubs/ext/standard/vfprintf.php | 6 + .../stubs/ext/standard/vprintf.php | 5 + .../stubs/ext/standard/vsprintf.php | 5 + .../stubs/ext/standard/wordwrap.php | 5 + .../stubs/ext/sysvmsg/SysvMessageQueue.php | 6 + .../stubs/ext/sysvmsg/msg_get_queue.php | 5 + .../stubs/ext/sysvmsg/msg_queue_exists.php | 5 + .../stubs/ext/sysvmsg/msg_receive.php | 9 + .../stubs/ext/sysvmsg/msg_remove_queue.php | 5 + .../stubs/ext/sysvmsg/msg_send.php | 9 + .../stubs/ext/sysvmsg/msg_set_queue.php | 5 + .../stubs/ext/sysvmsg/msg_stat_queue.php | 5 + .../stubs/ext/sysvsem/SysvSemaphore.php | 6 + .../stubs/ext/sysvsem/sem_acquire.php | 5 + .../php-8-stubs/stubs/ext/sysvsem/sem_get.php | 5 + .../stubs/ext/sysvsem/sem_release.php | 5 + .../stubs/ext/sysvsem/sem_remove.php | 5 + .../stubs/ext/sysvshm/SysvSharedMemory.php | 6 + .../stubs/ext/sysvshm/shm_attach.php | 5 + .../stubs/ext/sysvshm/shm_detach.php | 5 + .../stubs/ext/sysvshm/shm_get_var.php | 5 + .../stubs/ext/sysvshm/shm_has_var.php | 5 + .../stubs/ext/sysvshm/shm_put_var.php | 5 + .../stubs/ext/sysvshm/shm_remove.php | 5 + .../stubs/ext/sysvshm/shm_remove_var.php | 5 + .../php-8-stubs/stubs/ext/tidy/tidy.php | 152 + .../php-8-stubs/stubs/ext/tidy/tidyNode.php | 35 + .../stubs/ext/tidy/tidy_access_count.php | 5 + .../stubs/ext/tidy/tidy_clean_repair.php | 5 + .../stubs/ext/tidy/tidy_config_count.php | 5 + .../stubs/ext/tidy/tidy_diagnose.php | 5 + .../stubs/ext/tidy/tidy_error_count.php | 5 + .../stubs/ext/tidy/tidy_get_body.php | 5 + .../stubs/ext/tidy/tidy_get_config.php | 6 + .../stubs/ext/tidy/tidy_get_error_buffer.php | 5 + .../stubs/ext/tidy/tidy_get_head.php | 5 + .../stubs/ext/tidy/tidy_get_html.php | 5 + .../stubs/ext/tidy/tidy_get_html_ver.php | 5 + .../stubs/ext/tidy/tidy_get_opt_doc.php | 6 + .../stubs/ext/tidy/tidy_get_output.php | 5 + .../stubs/ext/tidy/tidy_get_release.php | 5 + .../stubs/ext/tidy/tidy_get_root.php | 5 + .../stubs/ext/tidy/tidy_get_status.php | 5 + .../stubs/ext/tidy/tidy_getopt.php | 5 + .../stubs/ext/tidy/tidy_is_xhtml.php | 5 + .../stubs/ext/tidy/tidy_is_xml.php | 5 + .../stubs/ext/tidy/tidy_parse_file.php | 5 + .../stubs/ext/tidy/tidy_parse_string.php | 6 + .../stubs/ext/tidy/tidy_repair_file.php | 5 + .../stubs/ext/tidy/tidy_repair_string.php | 5 + .../stubs/ext/tidy/tidy_warning_count.php | 5 + .../stubs/ext/tokenizer/PhpToken.php | 25 + .../stubs/ext/tokenizer/token_get_all.php | 6 + .../stubs/ext/tokenizer/token_name.php | 5 + .../php-8-stubs/stubs/ext/xml/XMLParser.php | 5 + .../stubs/ext/xml/xml_error_string.php | 5 + .../ext/xml/xml_get_current_byte_index.php | 5 + .../ext/xml/xml_get_current_column_number.php | 5 + .../ext/xml/xml_get_current_line_number.php | 5 + .../stubs/ext/xml/xml_get_error_code.php | 5 + .../php-8-stubs/stubs/ext/xml/xml_parse.php | 5 + .../stubs/ext/xml/xml_parse_into_struct.php | 18 + .../stubs/ext/xml/xml_parser_create.php | 6 + .../stubs/ext/xml/xml_parser_create_ns.php | 5 + .../stubs/ext/xml/xml_parser_free.php | 5 + .../stubs/ext/xml/xml_parser_get_option.php | 11 + .../stubs/ext/xml/xml_parser_set_option.php | 12 + .../xml/xml_set_character_data_handler.php | 12 + .../stubs/ext/xml/xml_set_default_handler.php | 12 + .../stubs/ext/xml/xml_set_element_handler.php | 18 + .../xml_set_end_namespace_decl_handler.php | 12 + .../xml_set_external_entity_ref_handler.php | 12 + .../ext/xml/xml_set_notation_decl_handler.php | 12 + .../stubs/ext/xml/xml_set_object.php | 10 + ...xml_set_processing_instruction_handler.php | 12 + .../xml_set_start_namespace_decl_handler.php | 12 + .../xml_set_unparsed_entity_decl_handler.php | 12 + .../stubs/ext/xmlreader/XMLReader.php | 306 + .../stubs/ext/xmlwriter/XMLWriter.php | 343 + .../ext/xmlwriter/xmlwriter_end_attribute.php | 5 + .../ext/xmlwriter/xmlwriter_end_cdata.php | 5 + .../ext/xmlwriter/xmlwriter_end_comment.php | 5 + .../ext/xmlwriter/xmlwriter_end_document.php | 5 + .../stubs/ext/xmlwriter/xmlwriter_end_dtd.php | 5 + .../xmlwriter/xmlwriter_end_dtd_attlist.php | 5 + .../xmlwriter/xmlwriter_end_dtd_element.php | 5 + .../xmlwriter/xmlwriter_end_dtd_entity.php | 5 + .../ext/xmlwriter/xmlwriter_end_element.php | 5 + .../stubs/ext/xmlwriter/xmlwriter_end_pi.php | 5 + .../stubs/ext/xmlwriter/xmlwriter_flush.php | 5 + .../xmlwriter/xmlwriter_full_end_element.php | 5 + .../ext/xmlwriter/xmlwriter_open_memory.php | 5 + .../ext/xmlwriter/xmlwriter_open_uri.php | 6 + .../ext/xmlwriter/xmlwriter_output_memory.php | 5 + .../ext/xmlwriter/xmlwriter_set_indent.php | 5 + .../xmlwriter/xmlwriter_set_indent_string.php | 5 + .../xmlwriter/xmlwriter_start_attribute.php | 5 + .../xmlwriter_start_attribute_ns.php | 5 + .../ext/xmlwriter/xmlwriter_start_cdata.php | 5 + .../ext/xmlwriter/xmlwriter_start_comment.php | 5 + .../xmlwriter/xmlwriter_start_document.php | 5 + .../ext/xmlwriter/xmlwriter_start_dtd.php | 5 + .../xmlwriter/xmlwriter_start_dtd_attlist.php | 5 + .../xmlwriter/xmlwriter_start_dtd_element.php | 5 + .../xmlwriter/xmlwriter_start_dtd_entity.php | 5 + .../ext/xmlwriter/xmlwriter_start_element.php | 5 + .../xmlwriter/xmlwriter_start_element_ns.php | 5 + .../ext/xmlwriter/xmlwriter_start_pi.php | 5 + .../stubs/ext/xmlwriter/xmlwriter_text.php | 5 + .../xmlwriter/xmlwriter_write_attribute.php | 5 + .../xmlwriter_write_attribute_ns.php | 5 + .../ext/xmlwriter/xmlwriter_write_cdata.php | 5 + .../ext/xmlwriter/xmlwriter_write_comment.php | 5 + .../ext/xmlwriter/xmlwriter_write_dtd.php | 5 + .../xmlwriter/xmlwriter_write_dtd_attlist.php | 5 + .../xmlwriter/xmlwriter_write_dtd_element.php | 5 + .../xmlwriter/xmlwriter_write_dtd_entity.php | 5 + .../ext/xmlwriter/xmlwriter_write_element.php | 5 + .../xmlwriter/xmlwriter_write_element_ns.php | 5 + .../ext/xmlwriter/xmlwriter_write_pi.php | 5 + .../ext/xmlwriter/xmlwriter_write_raw.php | 5 + .../stubs/ext/xsl/XSLTProcessor.php | 91 + .../php-8-stubs/stubs/ext/zip/ZipArchive.php | 1805 ++ .../php-8-stubs/stubs/ext/zip/zip_close.php | 9 + .../stubs/ext/zip/zip_entry_close.php | 9 + .../ext/zip/zip_entry_compressedsize.php | 9 + .../ext/zip/zip_entry_compressionmethod.php | 9 + .../stubs/ext/zip/zip_entry_filesize.php | 9 + .../stubs/ext/zip/zip_entry_name.php | 9 + .../stubs/ext/zip/zip_entry_open.php | 10 + .../stubs/ext/zip/zip_entry_read.php | 9 + .../php-8-stubs/stubs/ext/zip/zip_open.php | 10 + .../php-8-stubs/stubs/ext/zip/zip_read.php | 10 + .../stubs/ext/zlib/DeflateContext.php | 5 + .../stubs/ext/zlib/InflateContext.php | 6 + .../stubs/ext/zlib/deflate_add.php | 5 + .../stubs/ext/zlib/deflate_init.php | 5 + .../php-8-stubs/stubs/ext/zlib/gzclose.php | 9 + .../php-8-stubs/stubs/ext/zlib/gzcompress.php | 5 + .../php-8-stubs/stubs/ext/zlib/gzdecode.php | 5 + .../php-8-stubs/stubs/ext/zlib/gzdeflate.php | 5 + .../php-8-stubs/stubs/ext/zlib/gzencode.php | 5 + .../php-8-stubs/stubs/ext/zlib/gzeof.php | 9 + .../php-8-stubs/stubs/ext/zlib/gzfile.php | 8 + .../php-8-stubs/stubs/ext/zlib/gzgetc.php | 9 + .../php-8-stubs/stubs/ext/zlib/gzgets.php | 9 + .../php-8-stubs/stubs/ext/zlib/gzinflate.php | 5 + .../php-8-stubs/stubs/ext/zlib/gzopen.php | 6 + .../php-8-stubs/stubs/ext/zlib/gzpassthru.php | 9 + .../php-8-stubs/stubs/ext/zlib/gzputs.php | 9 + .../php-8-stubs/stubs/ext/zlib/gzread.php | 9 + .../php-8-stubs/stubs/ext/zlib/gzrewind.php | 9 + .../php-8-stubs/stubs/ext/zlib/gzseek.php | 9 + .../php-8-stubs/stubs/ext/zlib/gztell.php | 9 + .../stubs/ext/zlib/gzuncompress.php | 5 + .../php-8-stubs/stubs/ext/zlib/gzwrite.php | 9 + .../stubs/ext/zlib/inflate_add.php | 5 + .../stubs/ext/zlib/inflate_get_read_len.php | 5 + .../stubs/ext/zlib/inflate_get_status.php | 5 + .../stubs/ext/zlib/inflate_init.php | 5 + .../stubs/ext/zlib/ob_gzhandler.php | 5 + .../php-8-stubs/stubs/ext/zlib/readgzfile.php | 5 + .../stubs/ext/zlib/zlib_decode.php | 5 + .../stubs/ext/zlib/zlib_encode.php | 5 + .../stubs/ext/zlib/zlib_get_coding_type.php | 5 + .../apache2handler/apache_get_modules.php | 5 + .../apache2handler/apache_get_version.php | 5 + .../sapi/apache2handler/apache_getenv.php | 5 + .../sapi/apache2handler/apache_lookup_uri.php | 6 + .../stubs/sapi/apache2handler/apache_note.php | 5 + .../apache2handler/apache_request_headers.php | 5 + .../apache_response_headers.php | 5 + .../sapi/apache2handler/apache_setenv.php | 5 + .../sapi/apache2handler/getallheaders.php | 6 + .../stubs/sapi/apache2handler/virtual.php | 5 + .../stubs/sapi/cgi/apache_child_terminate.php | 6 + .../stubs/sapi/cgi/apache_request_headers.php | 5 + .../sapi/cgi/apache_response_headers.php | 5 + .../stubs/sapi/cgi/getallheaders.php | 6 + .../stubs/sapi/cli/apache_request_headers.php | 5 + .../sapi/cli/apache_response_headers.php | 5 + .../stubs/sapi/cli/cli_get_process_title.php | 5 + .../stubs/sapi/cli/cli_set_process_title.php | 5 + .../stubs/sapi/cli/getallheaders.php | 5 + .../sapi/fpm/fpm/apache_request_headers.php | 5 + .../sapi/fpm/fpm/fastcgi_finish_request.php | 6 + .../stubs/sapi/fpm/fpm/fpm_get_status.php | 5 + .../stubs/sapi/fpm/fpm/getallheaders.php | 6 + .../sapi/litespeed/apache_get_modules.php | 5 + .../sapi/litespeed/apache_request_headers.php | 6 + .../litespeed/apache_response_headers.php | 6 + .../stubs/sapi/litespeed/getallheaders.php | 6 + .../litespeed/litespeed_finish_request.php | 5 + .../litespeed/litespeed_request_headers.php | 6 + .../litespeed/litespeed_response_headers.php | 5 + .../stubs/sapi/phpdbg/phpdbg_break_file.php | 5 + .../sapi/phpdbg/phpdbg_break_function.php | 5 + .../stubs/sapi/phpdbg/phpdbg_break_method.php | 5 + .../stubs/sapi/phpdbg/phpdbg_break_next.php | 6 + .../stubs/sapi/phpdbg/phpdbg_clear.php | 5 + .../stubs/sapi/phpdbg/phpdbg_color.php | 5 + .../stubs/sapi/phpdbg/phpdbg_end_oplog.php | 5 + .../stubs/sapi/phpdbg/phpdbg_exec.php | 5 + .../sapi/phpdbg/phpdbg_get_executable.php | 5 + .../stubs/sapi/phpdbg/phpdbg_prompt.php | 5 + .../stubs/sapi/phpdbg/phpdbg_start_oplog.php | 5 + apigen/vendor/phpstan/phpdoc-parser/LICENSE | 21 + apigen/vendor/phpstan/phpdoc-parser/README.md | 121 + .../phpstan/phpdoc-parser/composer.json | 44 + .../phpdoc-parser/phpstan-baseline.neon | 26 + .../src/Ast/AbstractNodeVisitor.php | 34 + .../phpdoc-parser/src/Ast/Attribute.php | 16 + .../Ast/ConstExpr/ConstExprArrayItemNode.php | 36 + .../src/Ast/ConstExpr/ConstExprArrayNode.php | 30 + .../src/Ast/ConstExpr/ConstExprFalseNode.php | 17 + .../src/Ast/ConstExpr/ConstExprFloatNode.php | 26 + .../Ast/ConstExpr/ConstExprIntegerNode.php | 26 + .../src/Ast/ConstExpr/ConstExprNode.php | 10 + .../src/Ast/ConstExpr/ConstExprNullNode.php | 17 + .../src/Ast/ConstExpr/ConstExprStringNode.php | 26 + .../src/Ast/ConstExpr/ConstExprTrueNode.php | 17 + .../src/Ast/ConstExpr/ConstFetchNode.php | 35 + .../ConstExpr/DoctrineConstExprStringNode.php | 42 + .../QuoteAwareConstExprStringNode.php | 78 + .../phpstan/phpdoc-parser/src/Ast/Node.php | 22 + .../phpdoc-parser/src/Ast/NodeAttributes.php | 38 + .../phpdoc-parser/src/Ast/NodeTraverser.php | 312 + .../phpdoc-parser/src/Ast/NodeVisitor.php | 87 + .../src/Ast/NodeVisitor/CloningVisitor.php | 20 + .../Ast/PhpDoc/AssertTagMethodValueNode.php | 50 + .../Ast/PhpDoc/AssertTagPropertyValueNode.php | 50 + .../src/Ast/PhpDoc/AssertTagValueNode.php | 46 + .../src/Ast/PhpDoc/DeprecatedTagValueNode.php | 27 + .../PhpDoc/Doctrine/DoctrineAnnotation.php | 35 + .../Ast/PhpDoc/Doctrine/DoctrineArgument.php | 43 + .../src/Ast/PhpDoc/Doctrine/DoctrineArray.php | 32 + .../Ast/PhpDoc/Doctrine/DoctrineArrayItem.php | 47 + .../PhpDoc/Doctrine/DoctrineTagValueNode.php | 36 + .../src/Ast/PhpDoc/ExtendsTagValueNode.php | 32 + .../src/Ast/PhpDoc/GenericTagValueNode.php | 26 + .../src/Ast/PhpDoc/ImplementsTagValueNode.php | 32 + .../src/Ast/PhpDoc/InvalidTagValueNode.php | 53 + .../src/Ast/PhpDoc/MethodTagValueNode.php | 58 + .../PhpDoc/MethodTagValueParameterNode.php | 49 + .../src/Ast/PhpDoc/MixinTagValueNode.php | 32 + .../src/Ast/PhpDoc/ParamOutTagValueNode.php | 35 + .../src/Ast/PhpDoc/ParamTagValueNode.php | 46 + .../src/Ast/PhpDoc/PhpDocChildNode.php | 10 + .../src/Ast/PhpDoc/PhpDocNode.php | 371 + .../src/Ast/PhpDoc/PhpDocTagNode.php | 36 + .../src/Ast/PhpDoc/PhpDocTagValueNode.php | 10 + .../src/Ast/PhpDoc/PhpDocTextNode.php | 26 + .../src/Ast/PhpDoc/PropertyTagValueNode.php | 36 + .../src/Ast/PhpDoc/ReturnTagValueNode.php | 32 + .../src/Ast/PhpDoc/SelfOutTagValueNode.php | 32 + .../src/Ast/PhpDoc/TemplateTagValueNode.php | 42 + .../src/Ast/PhpDoc/ThrowsTagValueNode.php | 32 + .../PhpDoc/TypeAliasImportTagValueNode.php | 38 + .../src/Ast/PhpDoc/TypeAliasTagValueNode.php | 32 + .../Ast/PhpDoc/TypelessParamTagValueNode.php | 41 + .../src/Ast/PhpDoc/UsesTagValueNode.php | 32 + .../src/Ast/PhpDoc/VarTagValueNode.php | 36 + .../src/Ast/Type/ArrayShapeItemNode.php | 49 + .../src/Ast/Type/ArrayShapeNode.php | 48 + .../src/Ast/Type/ArrayTypeNode.php | 34 + .../src/Ast/Type/CallableTypeNode.php | 43 + .../Ast/Type/CallableTypeParameterNode.php | 48 + .../Type/ConditionalTypeForParameterNode.php | 49 + .../src/Ast/Type/ConditionalTypeNode.php | 49 + .../src/Ast/Type/ConstTypeNode.php | 26 + .../src/Ast/Type/GenericTypeNode.php | 58 + .../src/Ast/Type/IdentifierTypeNode.php | 26 + .../src/Ast/Type/IntersectionTypeNode.php | 37 + .../src/Ast/Type/InvalidTypeNode.php | 38 + .../src/Ast/Type/NullableTypeNode.php | 26 + .../src/Ast/Type/ObjectShapeItemNode.php | 48 + .../src/Ast/Type/ObjectShapeNode.php | 31 + .../src/Ast/Type/OffsetAccessTypeNode.php | 37 + .../src/Ast/Type/ThisTypeNode.php | 17 + .../phpdoc-parser/src/Ast/Type/TypeNode.php | 10 + .../src/Ast/Type/UnionTypeNode.php | 37 + .../phpstan/phpdoc-parser/src/Lexer/Lexer.php | 198 + .../src/Parser/ConstExprParser.php | 333 + .../src/Parser/ParserException.php | 106 + .../phpdoc-parser/src/Parser/PhpDocParser.php | 1219 ++ .../src/Parser/StringUnescaper.php | 96 + .../src/Parser/TokenIterator.php | 383 + .../phpdoc-parser/src/Parser/TypeParser.php | 924 + .../phpdoc-parser/src/Printer/DiffElem.php | 44 + .../phpdoc-parser/src/Printer/Differ.php | 196 + .../phpdoc-parser/src/Printer/Printer.php | 828 + apigen/vendor/psr/container/.gitignore | 3 + apigen/vendor/psr/container/LICENSE | 21 + apigen/vendor/psr/container/README.md | 13 + apigen/vendor/psr/container/composer.json | 27 + .../src/ContainerExceptionInterface.php | 12 + .../psr/container/src/ContainerInterface.php | 36 + .../src/NotFoundExceptionInterface.php | 10 + .../vendor/psr/event-dispatcher/.editorconfig | 15 + apigen/vendor/psr/event-dispatcher/.gitignore | 2 + apigen/vendor/psr/event-dispatcher/LICENSE | 21 + apigen/vendor/psr/event-dispatcher/README.md | 6 + .../vendor/psr/event-dispatcher/composer.json | 26 + .../src/EventDispatcherInterface.php | 21 + .../src/ListenerProviderInterface.php | 19 + .../src/StoppableEventInterface.php | 26 + apigen/vendor/psr/log/LICENSE | 19 - .../vendor/psr/log/Psr/Log/AbstractLogger.php | 128 - .../log/Psr/Log/InvalidArgumentException.php | 7 - apigen/vendor/psr/log/Psr/Log/LogLevel.php | 18 - .../psr/log/Psr/Log/LoggerAwareInterface.php | 18 - .../psr/log/Psr/Log/LoggerAwareTrait.php | 26 - .../psr/log/Psr/Log/LoggerInterface.php | 125 - apigen/vendor/psr/log/Psr/Log/LoggerTrait.php | 142 - apigen/vendor/psr/log/Psr/Log/NullLogger.php | 30 - .../vendor/psr/log/Psr/Log/Test/DummyTest.php | 18 - .../log/Psr/Log/Test/LoggerInterfaceTest.php | 138 - .../psr/log/Psr/Log/Test/TestLogger.php | 147 - apigen/vendor/psr/log/README.md | 58 - apigen/vendor/psr/log/composer.json | 26 - apigen/vendor/seld/jsonlint/.gitignore | 3 - apigen/vendor/seld/jsonlint/.travis.yml | 28 - apigen/vendor/seld/jsonlint/CHANGELOG.md | 70 - apigen/vendor/seld/jsonlint/LICENSE | 19 - apigen/vendor/seld/jsonlint/README.md | 89 - apigen/vendor/seld/jsonlint/bin/jsonlint | 117 - apigen/vendor/seld/jsonlint/composer.json | 24 - apigen/vendor/seld/jsonlint/phpunit.xml.dist | 25 - .../Seld/JsonLint/DuplicateKeyException.php | 26 - .../jsonlint/src/Seld/JsonLint/JsonParser.php | 502 - .../seld/jsonlint/src/Seld/JsonLint/Lexer.php | 217 - .../src/Seld/JsonLint/ParsingException.php | 28 - .../jsonlint/src/Seld/JsonLint/Undefined.php | 16 - .../seld/jsonlint/tests/JsonParserTest.php | 234 - apigen/vendor/seld/jsonlint/tests/bom.json | 6 - .../vendor/seld/jsonlint/tests/bootstrap.php | 13 - apigen/vendor/symfony/console/.gitignore | 3 - apigen/vendor/symfony/console/Application.php | 1084 +- .../symfony/console/Attribute/AsCommand.php | 39 + apigen/vendor/symfony/console/CHANGELOG.md | 179 + .../console/CI/GithubActionReporter.php | 99 + apigen/vendor/symfony/console/Color.php | 133 + .../symfony/console/Command/Command.php | 431 +- .../console/Command/CompleteCommand.php | 223 + .../console/Command/DumpCompletionCommand.php | 161 + .../symfony/console/Command/HelpCommand.php | 46 +- .../symfony/console/Command/LazyCommand.php | 207 + .../symfony/console/Command/ListCommand.php | 58 +- .../symfony/console/Command/LockableTrait.php | 68 + .../Command/SignalableCommandInterface.php | 34 + .../CommandLoader/CommandLoaderInterface.php | 38 + .../CommandLoader/ContainerCommandLoader.php | 55 + .../CommandLoader/FactoryCommandLoader.php | 54 + .../console/Completion/CompletionInput.php | 246 + .../Completion/CompletionSuggestions.php | 97 + .../Output/BashCompletionOutput.php | 33 + .../Output/CompletionOutputInterface.php | 25 + .../Output/FishCompletionOutput.php | 33 + .../Completion/Output/ZshCompletionOutput.php | 36 + .../symfony/console/Completion/Suggestion.php | 41 + .../vendor/symfony/console/ConsoleEvents.php | 51 +- apigen/vendor/symfony/console/Cursor.php | 203 + .../AddConsoleCommandPass.php | 134 + .../Descriptor/ApplicationDescription.php | 90 +- .../symfony/console/Descriptor/Descriptor.php | 65 +- .../Descriptor/DescriptorInterface.php | 8 +- .../console/Descriptor/JsonDescriptor.php | 141 +- .../console/Descriptor/MarkdownDescriptor.php | 123 +- .../Descriptor/ReStructuredTextDescriptor.php | 272 + .../console/Descriptor/TextDescriptor.php | 158 +- .../console/Descriptor/XmlDescriptor.php | 112 +- .../console/Event/ConsoleCommandEvent.php | 21 +- .../console/Event/ConsoleErrorEvent.php | 57 + .../symfony/console/Event/ConsoleEvent.php | 20 +- .../console/Event/ConsoleExceptionEvent.php | 67 - .../console/Event/ConsoleSignalEvent.php | 56 + .../console/Event/ConsoleTerminateEvent.php | 29 +- .../console/EventListener/ErrorListener.php | 101 + .../Exception/CommandNotFoundException.php | 16 +- .../console/Exception/ExceptionInterface.php | 2 +- .../Exception/InvalidOptionException.php | 2 +- .../Exception/MissingInputException.php | 21 + .../Exception/NamespaceNotFoundException.php | 21 + .../console/Formatter/NullOutputFormatter.php | 51 + .../Formatter/NullOutputFormatterStyle.php | 54 + .../console/Formatter/OutputFormatter.php | 201 +- .../Formatter/OutputFormatterInterface.php | 33 +- .../Formatter/OutputFormatterStyle.php | 175 +- .../OutputFormatterStyleInterface.php | 24 +- .../Formatter/OutputFormatterStyleStack.php | 34 +- .../WrappableOutputFormatterInterface.php | 27 + .../console/Helper/DebugFormatterHelper.php | 49 +- .../console/Helper/DescriptorHelper.php | 29 +- .../symfony/console/Helper/DialogHelper.php | 502 - .../vendor/symfony/console/Helper/Dumper.php | 57 + .../console/Helper/FormatterHelper.php | 41 +- .../vendor/symfony/console/Helper/Helper.php | 109 +- .../console/Helper/HelperInterface.php | 10 +- .../symfony/console/Helper/HelperSet.php | 61 +- .../console/Helper/InputAwareHelper.php | 2 +- .../symfony/console/Helper/OutputWrapper.php | 76 + .../symfony/console/Helper/ProcessHelper.php | 78 +- .../symfony/console/Helper/ProgressBar.php | 621 +- .../symfony/console/Helper/ProgressHelper.php | 469 - .../console/Helper/ProgressIndicator.php | 216 +- .../symfony/console/Helper/QuestionHelper.php | 474 +- .../console/Helper/SymfonyQuestionHelper.php | 53 +- .../vendor/symfony/console/Helper/Table.php | 745 +- .../symfony/console/Helper/TableCell.php | 38 +- .../symfony/console/Helper/TableCellStyle.php | 84 + .../symfony/console/Helper/TableHelper.php | 264 - .../symfony/console/Helper/TableRows.php | 30 + .../symfony/console/Helper/TableSeparator.php | 2 +- .../symfony/console/Helper/TableStyle.php | 256 +- .../symfony/console/Input/ArgvInput.php | 186 +- .../symfony/console/Input/ArrayInput.php | 85 +- apigen/vendor/symfony/console/Input/Input.php | 112 +- .../symfony/console/Input/InputArgument.php | 81 +- .../console/Input/InputAwareInterface.php | 2 + .../symfony/console/Input/InputDefinition.php | 250 +- .../symfony/console/Input/InputInterface.php | 77 +- .../symfony/console/Input/InputOption.php | 141 +- .../Input/StreamableInputInterface.php | 39 + .../symfony/console/Input/StringInput.php | 64 +- apigen/vendor/symfony/console/LICENSE | 2 +- .../symfony/console/Logger/ConsoleLogger.php | 74 +- .../symfony/console/Output/AnsiColorMode.php | 106 + .../symfony/console/Output/BufferedOutput.php | 12 +- .../symfony/console/Output/ConsoleOutput.php | 74 +- .../console/Output/ConsoleOutputInterface.php | 11 +- .../console/Output/ConsoleSectionOutput.php | 244 + .../symfony/console/Output/NullOutput.php | 59 +- .../vendor/symfony/console/Output/Output.php | 78 +- .../console/Output/OutputInterface.php | 77 +- .../symfony/console/Output/StreamOutput.php | 39 +- .../console/Output/TrimmedBufferOutput.php | 61 + .../console/Question/ChoiceQuestion.php | 66 +- .../console/Question/ConfirmationQuestion.php | 12 +- .../symfony/console/Question/Question.php | 181 +- apigen/vendor/symfony/console/README.md | 26 +- .../symfony/console/Resources/completion.bash | 94 + .../symfony/console/Resources/completion.fish | 29 + .../symfony/console/Resources/completion.zsh | 82 + apigen/vendor/symfony/console/Shell.php | 229 - .../console/SignalRegistry/SignalRegistry.php | 57 + .../console/SingleCommandApplication.php | 72 + .../symfony/console/Style/OutputStyle.php | 79 +- .../symfony/console/Style/StyleInterface.php | 80 +- .../symfony/console/Style/SymfonyStyle.php | 343 +- apigen/vendor/symfony/console/Terminal.php | 236 + .../console/Tester/ApplicationTester.php | 108 +- .../Tester/CommandCompletionTester.php | 56 + .../symfony/console/Tester/CommandTester.php | 83 +- .../Tester/Constraint/CommandIsSuccessful.php | 43 + .../symfony/console/Tester/TesterTrait.php | 178 + .../symfony/console/Tests/ApplicationTest.php | 1385 -- .../console/Tests/Command/CommandTest.php | 462 - .../console/Tests/Command/HelpCommandTest.php | 71 - .../console/Tests/Command/ListCommandTest.php | 113 - .../Descriptor/AbstractDescriptorTest.php | 107 - .../Tests/Descriptor/JsonDescriptorTest.php | 35 - .../Descriptor/MarkdownDescriptorTest.php | 45 - .../Tests/Descriptor/ObjectsProvider.php | 82 - .../Tests/Descriptor/TextDescriptorTest.php | 45 - .../Tests/Descriptor/XmlDescriptorTest.php | 27 - .../console/Tests/Fixtures/BarBucCommand.php | 11 - .../Tests/Fixtures/DescriptorApplication1.php | 18 - .../Tests/Fixtures/DescriptorApplication2.php | 24 - .../DescriptorApplicationMbString.php | 24 - .../Tests/Fixtures/DescriptorCommand1.php | 27 - .../Tests/Fixtures/DescriptorCommand2.php | 32 - .../Fixtures/DescriptorCommandMbString.php | 32 - .../console/Tests/Fixtures/DummyOutput.php | 36 - .../console/Tests/Fixtures/Foo1Command.php | 26 - .../console/Tests/Fixtures/Foo2Command.php | 21 - .../console/Tests/Fixtures/Foo3Command.php | 29 - .../console/Tests/Fixtures/Foo4Command.php | 11 - .../console/Tests/Fixtures/Foo5Command.php | 10 - .../console/Tests/Fixtures/Foo6Command.php | 11 - .../console/Tests/Fixtures/FooCommand.php | 33 - .../console/Tests/Fixtures/FooOptCommand.php | 36 - .../Fixtures/FooSubnamespaced1Command.php | 26 - .../Fixtures/FooSubnamespaced2Command.php | 26 - .../console/Tests/Fixtures/FoobarCommand.php | 25 - .../Style/SymfonyStyle/command/command_0.php | 11 - .../Style/SymfonyStyle/command/command_1.php | 13 - .../Style/SymfonyStyle/command/command_10.php | 17 - .../Style/SymfonyStyle/command/command_11.php | 12 - .../Style/SymfonyStyle/command/command_12.php | 13 - .../Style/SymfonyStyle/command/command_13.php | 15 - .../Style/SymfonyStyle/command/command_14.php | 17 - .../Style/SymfonyStyle/command/command_15.php | 14 - .../Style/SymfonyStyle/command/command_16.php | 15 - .../Style/SymfonyStyle/command/command_17.php | 13 - .../Style/SymfonyStyle/command/command_2.php | 16 - .../Style/SymfonyStyle/command/command_3.php | 12 - .../Style/SymfonyStyle/command/command_4.php | 34 - .../Style/SymfonyStyle/command/command_5.php | 37 - .../Style/SymfonyStyle/command/command_6.php | 16 - .../Style/SymfonyStyle/command/command_7.php | 15 - .../Style/SymfonyStyle/command/command_8.php | 26 - .../Style/SymfonyStyle/command/command_9.php | 11 - .../Style/SymfonyStyle/output/output_0.txt | 3 - .../Style/SymfonyStyle/output/output_1.txt | 9 - .../Style/SymfonyStyle/output/output_10.txt | 7 - .../Style/SymfonyStyle/output/output_11.txt | 4 - .../Style/SymfonyStyle/output/output_12.txt | 6 - .../Style/SymfonyStyle/output/output_13.txt | 7 - .../Style/SymfonyStyle/output/output_14.txt | 6 - .../Style/SymfonyStyle/output/output_15.txt | 7 - .../Style/SymfonyStyle/output/output_16.txt | 8 - .../Style/SymfonyStyle/output/output_17.txt | 7 - .../Style/SymfonyStyle/output/output_2.txt | 13 - .../Style/SymfonyStyle/output/output_3.txt | 7 - .../Style/SymfonyStyle/output/output_4.txt | 32 - .../Style/SymfonyStyle/output/output_5.txt | 18 - .../Style/SymfonyStyle/output/output_6.txt | 6 - .../Style/SymfonyStyle/output/output_7.txt | 5 - .../Style/SymfonyStyle/output/output_8.txt | 9 - .../Style/SymfonyStyle/output/output_9.txt | 5 - .../console/Tests/Fixtures/TestCommand.php | 28 - .../console/Tests/Fixtures/TestTiti.php | 21 - .../console/Tests/Fixtures/TestToto.php | 22 - .../console/Tests/Fixtures/application_1.json | 172 - .../console/Tests/Fixtures/application_1.md | 201 - .../console/Tests/Fixtures/application_1.txt | 17 - .../console/Tests/Fixtures/application_1.xml | 110 - .../console/Tests/Fixtures/application_2.json | 354 - .../console/Tests/Fixtures/application_2.md | 396 - .../console/Tests/Fixtures/application_2.txt | 22 - .../console/Tests/Fixtures/application_2.xml | 190 - .../Tests/Fixtures/application_astext1.txt | 20 - .../Tests/Fixtures/application_astext2.txt | 16 - .../Tests/Fixtures/application_asxml1.txt | 146 - .../Tests/Fixtures/application_asxml2.txt | 37 - .../Tests/Fixtures/application_gethelp.txt | 1 - .../Tests/Fixtures/application_mbstring.md | 309 - .../Tests/Fixtures/application_mbstring.txt | 19 - .../Fixtures/application_renderexception1.txt | 6 - .../Fixtures/application_renderexception2.txt | 8 - .../Fixtures/application_renderexception3.txt | 18 - .../application_renderexception3decorated.txt | 18 - .../Fixtures/application_renderexception4.txt | 7 - ...plication_renderexception_doublewidth1.txt | 8 - ..._renderexception_doublewidth1decorated.txt | 8 - ...plication_renderexception_doublewidth2.txt | 9 - ...plication_renderexception_escapeslines.txt | 9 - ...application_renderexception_linebreaks.txt | 11 - .../Tests/Fixtures/application_run1.txt | 17 - .../Tests/Fixtures/application_run2.txt | 29 - .../Tests/Fixtures/application_run3.txt | 27 - .../Tests/Fixtures/application_run4.txt | 1 - .../console/Tests/Fixtures/command_1.json | 14 - .../console/Tests/Fixtures/command_1.md | 11 - .../console/Tests/Fixtures/command_1.txt | 7 - .../console/Tests/Fixtures/command_1.xml | 12 - .../console/Tests/Fixtures/command_2.json | 32 - .../console/Tests/Fixtures/command_2.md | 33 - .../console/Tests/Fixtures/command_2.txt | 13 - .../console/Tests/Fixtures/command_2.xml | 21 - .../console/Tests/Fixtures/command_astext.txt | 18 - .../console/Tests/Fixtures/command_asxml.txt | 38 - .../Tests/Fixtures/command_mbstring.md | 33 - .../Tests/Fixtures/command_mbstring.txt | 13 - .../Tests/Fixtures/definition_astext.txt | 11 - .../Tests/Fixtures/definition_asxml.txt | 39 - .../Tests/Fixtures/input_argument_1.json | 7 - .../Tests/Fixtures/input_argument_1.md | 7 - .../Tests/Fixtures/input_argument_1.txt | 1 - .../Tests/Fixtures/input_argument_1.xml | 5 - .../Tests/Fixtures/input_argument_2.json | 7 - .../Tests/Fixtures/input_argument_2.md | 7 - .../Tests/Fixtures/input_argument_2.txt | 1 - .../Tests/Fixtures/input_argument_2.xml | 5 - .../Tests/Fixtures/input_argument_3.json | 7 - .../Tests/Fixtures/input_argument_3.md | 7 - .../Tests/Fixtures/input_argument_3.txt | 1 - .../Tests/Fixtures/input_argument_3.xml | 7 - .../Tests/Fixtures/input_argument_4.json | 7 - .../Tests/Fixtures/input_argument_4.md | 8 - .../Tests/Fixtures/input_argument_4.txt | 2 - .../Tests/Fixtures/input_argument_4.xml | 6 - ...input_argument_with_default_inf_value.json | 7 - .../input_argument_with_default_inf_value.md | 7 - .../input_argument_with_default_inf_value.txt | 1 - .../input_argument_with_default_inf_value.xml | 7 - .../Fixtures/input_argument_with_style.json | 7 - .../Fixtures/input_argument_with_style.md | 7 - .../Fixtures/input_argument_with_style.txt | 1 - .../Fixtures/input_argument_with_style.xml | 7 - .../Tests/Fixtures/input_definition_1.json | 4 - .../Tests/Fixtures/input_definition_1.md | 0 .../Tests/Fixtures/input_definition_1.txt | 0 .../Tests/Fixtures/input_definition_1.xml | 5 - .../Tests/Fixtures/input_definition_2.json | 12 - .../Tests/Fixtures/input_definition_2.md | 9 - .../Tests/Fixtures/input_definition_2.txt | 2 - .../Tests/Fixtures/input_definition_2.xml | 10 - .../Tests/Fixtures/input_definition_3.json | 14 - .../Tests/Fixtures/input_definition_3.md | 11 - .../Tests/Fixtures/input_definition_3.txt | 2 - .../Tests/Fixtures/input_definition_3.xml | 9 - .../Tests/Fixtures/input_definition_4.json | 22 - .../Tests/Fixtures/input_definition_4.md | 21 - .../Tests/Fixtures/input_definition_4.txt | 5 - .../Tests/Fixtures/input_definition_4.xml | 14 - .../Tests/Fixtures/input_option_1.json | 9 - .../console/Tests/Fixtures/input_option_1.md | 9 - .../console/Tests/Fixtures/input_option_1.txt | 1 - .../console/Tests/Fixtures/input_option_1.xml | 4 - .../Tests/Fixtures/input_option_2.json | 9 - .../console/Tests/Fixtures/input_option_2.md | 9 - .../console/Tests/Fixtures/input_option_2.txt | 1 - .../console/Tests/Fixtures/input_option_2.xml | 7 - .../Tests/Fixtures/input_option_3.json | 9 - .../console/Tests/Fixtures/input_option_3.md | 9 - .../console/Tests/Fixtures/input_option_3.txt | 1 - .../console/Tests/Fixtures/input_option_3.xml | 5 - .../Tests/Fixtures/input_option_4.json | 9 - .../console/Tests/Fixtures/input_option_4.md | 9 - .../console/Tests/Fixtures/input_option_4.txt | 1 - .../console/Tests/Fixtures/input_option_4.xml | 5 - .../Tests/Fixtures/input_option_5.json | 9 - .../console/Tests/Fixtures/input_option_5.md | 10 - .../console/Tests/Fixtures/input_option_5.txt | 2 - .../console/Tests/Fixtures/input_option_5.xml | 6 - .../Tests/Fixtures/input_option_6.json | 9 - .../console/Tests/Fixtures/input_option_6.md | 9 - .../console/Tests/Fixtures/input_option_6.txt | 1 - .../console/Tests/Fixtures/input_option_6.xml | 5 - .../input_option_with_default_inf_value.json | 9 - .../input_option_with_default_inf_value.md | 9 - .../input_option_with_default_inf_value.txt | 1 - .../input_option_with_default_inf_value.xml | 7 - .../Fixtures/input_option_with_style.json | 9 - .../Tests/Fixtures/input_option_with_style.md | 9 - .../Fixtures/input_option_with_style.txt | 1 - .../Fixtures/input_option_with_style.xml | 7 - .../input_option_with_style_array.json | 12 - .../Fixtures/input_option_with_style_array.md | 9 - .../input_option_with_style_array.txt | 1 - .../input_option_with_style_array.xml | 8 - .../OutputFormatterStyleStackTest.php | 71 - .../Formatter/OutputFormatterStyleTest.php | 100 - .../Tests/Formatter/OutputFormatterTest.php | 283 - .../Tests/Helper/FormatterHelperTest.php | 93 - .../console/Tests/Helper/HelperSetTest.php | 127 - .../console/Tests/Helper/HelperTest.php | 55 - .../Tests/Helper/LegacyDialogHelperTest.php | 259 - .../Tests/Helper/LegacyProgressHelperTest.php | 225 - .../Tests/Helper/LegacyTableHelperTest.php | 317 - .../Tests/Helper/ProcessHelperTest.php | 119 - .../console/Tests/Helper/ProgressBarTest.php | 662 - .../Tests/Helper/ProgressIndicatorTest.php | 183 - .../Tests/Helper/QuestionHelperTest.php | 681 - .../Helper/SymfonyQuestionHelperTest.php | 172 - .../console/Tests/Helper/TableStyleTest.php | 28 - .../console/Tests/Helper/TableTest.php | 795 - .../console/Tests/Input/ArgvInputTest.php | 421 - .../console/Tests/Input/ArrayInputTest.php | 150 - .../console/Tests/Input/InputArgumentTest.php | 117 - .../Tests/Input/InputDefinitionTest.php | 441 - .../console/Tests/Input/InputOptionTest.php | 210 - .../symfony/console/Tests/Input/InputTest.php | 133 - .../console/Tests/Input/StringInputTest.php | 100 - .../Tests/Logger/ConsoleLoggerTest.php | 171 - .../Tests/Output/ConsoleOutputTest.php | 42 - .../console/Tests/Output/NullOutputTest.php | 88 - .../console/Tests/Output/OutputTest.php | 176 - .../console/Tests/Output/StreamOutputTest.php | 61 - .../console/Tests/Style/SymfonyStyleTest.php | 73 - .../Tests/Tester/ApplicationTesterTest.php | 70 - .../Tests/Tester/CommandTesterTest.php | 85 - apigen/vendor/symfony/console/composer.json | 40 +- .../vendor/symfony/console/phpunit.xml.dist | 41 - apigen/vendor/symfony/debug/.gitignore | 3 - .../vendor/symfony/debug/BufferingLogger.php | 37 - apigen/vendor/symfony/debug/CHANGELOG.md | 47 - apigen/vendor/symfony/debug/Debug.php | 63 - .../vendor/symfony/debug/DebugClassLoader.php | 314 - apigen/vendor/symfony/debug/ErrorHandler.php | 664 - .../Exception/ClassNotFoundException.php | 33 - .../debug/Exception/ContextErrorException.php | 36 - .../debug/Exception/FatalErrorException.php | 82 - .../debug/Exception/FatalThrowableError.php | 44 - .../debug/Exception/FlattenException.php | 256 - .../debug/Exception/OutOfMemoryException.php | 21 - .../Exception/UndefinedFunctionException.php | 33 - .../Exception/UndefinedMethodException.php | 33 - .../vendor/symfony/debug/ExceptionHandler.php | 414 - .../ClassNotFoundFatalErrorHandler.php | 206 - .../FatalErrorHandlerInterface.php | 32 - .../UndefinedFunctionFatalErrorHandler.php | 84 - .../UndefinedMethodFatalErrorHandler.php | 60 - apigen/vendor/symfony/debug/LICENSE | 19 - apigen/vendor/symfony/debug/README.md | 13 - .../symfony/debug/Resources/ext/README.md | 134 - .../symfony/debug/Resources/ext/config.m4 | 63 - .../symfony/debug/Resources/ext/config.w32 | 13 - .../debug/Resources/ext/php_symfony_debug.h | 60 - .../debug/Resources/ext/symfony_debug.c | 283 - .../debug/Resources/ext/tests/001.phpt | 151 - .../debug/Resources/ext/tests/002.phpt | 64 - .../debug/Resources/ext/tests/002_1.phpt | 47 - .../debug/Resources/ext/tests/003.phpt | 85 - .../debug/Tests/DebugClassLoaderTest.php | 315 - .../symfony/debug/Tests/ErrorHandlerTest.php | 509 - .../Tests/Exception/FlattenExceptionTest.php | 270 - .../debug/Tests/ExceptionHandlerTest.php | 132 - .../ClassNotFoundFatalErrorHandlerTest.php | 178 - ...UndefinedFunctionFatalErrorHandlerTest.php | 80 - .../UndefinedMethodFatalErrorHandlerTest.php | 66 - .../debug/Tests/Fixtures/ClassAlias.php | 3 - .../debug/Tests/Fixtures/DeprecatedClass.php | 12 - .../Tests/Fixtures/DeprecatedInterface.php | 12 - .../Tests/Fixtures/NonDeprecatedInterface.php | 7 - .../debug/Tests/Fixtures/PEARClass.php | 5 - .../debug/Tests/Fixtures/ToStringThrower.php | 24 - .../debug/Tests/Fixtures/casemismatch.php | 7 - .../debug/Tests/Fixtures/notPsr0Bis.php | 7 - .../Tests/Fixtures/psr4/Psr4CaseMismatch.php | 7 - .../debug/Tests/Fixtures/reallyNotPsr0.php | 7 - .../debug/Tests/Fixtures2/RequiredTwice.php | 7 - .../vendor/symfony/debug/Tests/HeaderMock.php | 38 - .../debug/Tests/MockExceptionHandler.php | 24 - apigen/vendor/symfony/debug/composer.json | 41 - apigen/vendor/symfony/debug/phpunit.xml.dist | 31 - .../deprecation-contracts/CHANGELOG.md | 5 + .../symfony/deprecation-contracts/LICENSE | 19 + .../symfony/deprecation-contracts/README.md | 26 + .../deprecation-contracts/composer.json | 35 + .../deprecation-contracts/function.php | 27 + .../Component/OptionsResolver/.gitignore | 3 - .../Component/OptionsResolver/CHANGELOG.md | 46 - .../Exception/AccessException.php | 22 - .../Exception/ExceptionInterface.php | 21 - .../Exception/InvalidArgumentException.php | 21 - .../Exception/InvalidOptionsException.php | 23 - .../Exception/MissingOptionsException.php | 23 - .../Exception/NoSuchOptionException.php | 26 - .../Exception/OptionDefinitionException.php | 21 - .../Exception/UndefinedOptionsException.php | 24 - .../Symfony/Component/OptionsResolver/LICENSE | 19 - .../Component/OptionsResolver/Options.php | 22 - .../OptionsResolver/OptionsResolver.php | 1175 -- .../OptionsResolverInterface.php | 213 - .../Component/OptionsResolver/README.md | 20 - .../Tests/LegacyOptionsResolverTest.php | 719 - .../Tests/LegacyOptionsTest.php | 339 - .../Tests/OptionsResolver2Dot6Test.php | 1510 -- .../Component/OptionsResolver/composer.json | 34 - .../OptionsResolver/phpunit.xml.dist | 27 - .../vendor/symfony/polyfill-ctype/Ctype.php | 227 - apigen/vendor/symfony/polyfill-ctype/LICENSE | 19 - .../vendor/symfony/polyfill-ctype/README.md | 12 - .../symfony/polyfill-ctype/bootstrap.php | 26 - .../symfony/polyfill-ctype/composer.json | 34 - .../polyfill-intl-grapheme/Grapheme.php | 247 + .../symfony/polyfill-intl-grapheme/LICENSE | 19 + .../symfony/polyfill-intl-grapheme/README.md | 31 + .../polyfill-intl-grapheme/bootstrap.php | 58 + .../polyfill-intl-grapheme/bootstrap80.php | 50 + .../polyfill-intl-grapheme/composer.json | 38 + .../symfony/polyfill-intl-normalizer/LICENSE | 19 + .../polyfill-intl-normalizer/Normalizer.php | 310 + .../polyfill-intl-normalizer/README.md | 14 + .../Resources/stubs/Normalizer.php | 17 + .../unidata/canonicalComposition.php | 945 + .../unidata/canonicalDecomposition.php | 2065 +++ .../Resources/unidata/combiningClass.php | 876 + .../unidata/compatibilityDecomposition.php | 3695 ++++ .../polyfill-intl-normalizer/bootstrap.php | 23 + .../polyfill-intl-normalizer/bootstrap80.php | 19 + .../polyfill-intl-normalizer/composer.json | 39 + .../vendor/symfony/polyfill-mbstring/LICENSE | 19 - .../symfony/polyfill-mbstring/Mbstring.php | 847 - .../symfony/polyfill-mbstring/README.md | 13 - .../Resources/unidata/lowerCase.php | 1096 -- .../Resources/unidata/titleCaseRegexp.php | 5 - .../Resources/unidata/upperCase.php | 1104 -- .../symfony/polyfill-mbstring/bootstrap.php | 64 - .../symfony/polyfill-mbstring/composer.json | 34 - .../service-contracts/Attribute/Required.php | 25 + .../Attribute/SubscribedService.php | 47 + .../symfony/service-contracts/CHANGELOG.md | 5 + .../vendor/symfony/service-contracts/LICENSE | 19 + .../symfony/service-contracts/README.md | 9 + .../service-contracts/ResetInterface.php | 33 + .../service-contracts/ServiceLocatorTrait.php | 115 + .../ServiceProviderInterface.php | 45 + .../ServiceSubscriberInterface.php | 62 + .../ServiceSubscriberTrait.php | 78 + .../Test/ServiceLocatorTest.php | 23 + .../Test/ServiceLocatorTestCase.php | 92 + .../symfony/service-contracts/composer.json | 41 + .../vendor/symfony/string/AbstractString.php | 711 + .../symfony/string/AbstractUnicodeString.php | 590 + apigen/vendor/symfony/string/ByteString.php | 485 + apigen/vendor/symfony/string/CHANGELOG.md | 40 + .../vendor/symfony/string/CodePointString.php | 260 + .../string/Exception/ExceptionInterface.php | 16 + .../Exception/InvalidArgumentException.php | 16 + .../string/Exception/RuntimeException.php | 16 + .../string/Inflector/EnglishInflector.php | 520 + .../string/Inflector/FrenchInflector.php | 151 + .../string/Inflector/InflectorInterface.php | 33 + apigen/vendor/symfony/string/LICENSE | 19 + apigen/vendor/symfony/string/LazyString.php | 145 + apigen/vendor/symfony/string/README.md | 14 + .../Resources/data/wcswidth_table_wide.php | 1155 ++ .../Resources/data/wcswidth_table_zero.php | 1415 ++ .../symfony/string/Resources/functions.php | 38 + .../symfony/string/Slugger/AsciiSlugger.php | 210 + .../string/Slugger/SluggerInterface.php | 27 + .../vendor/symfony/string/UnicodeString.php | 358 + apigen/vendor/symfony/string/composer.json | 43 + apigen/vendor/symfony/yaml/.gitignore | 3 - apigen/vendor/symfony/yaml/CHANGELOG.md | 28 - apigen/vendor/symfony/yaml/Dumper.php | 77 - apigen/vendor/symfony/yaml/Escaper.php | 101 - .../symfony/yaml/Exception/DumpException.php | 21 - .../yaml/Exception/ExceptionInterface.php | 21 - .../symfony/yaml/Exception/ParseException.php | 144 - .../yaml/Exception/RuntimeException.php | 21 - apigen/vendor/symfony/yaml/Inline.php | 609 - apigen/vendor/symfony/yaml/LICENSE | 19 - apigen/vendor/symfony/yaml/Parser.php | 852 - apigen/vendor/symfony/yaml/README.md | 13 - .../vendor/symfony/yaml/Tests/DumperTest.php | 257 - .../yaml/Tests/Fixtures/YtsAnchorAlias.yml | 31 - .../yaml/Tests/Fixtures/YtsBasicTests.yml | 202 - .../yaml/Tests/Fixtures/YtsBlockMapping.yml | 51 - .../Tests/Fixtures/YtsDocumentSeparator.yml | 85 - .../yaml/Tests/Fixtures/YtsErrorTests.yml | 25 - .../Tests/Fixtures/YtsFlowCollections.yml | 60 - .../yaml/Tests/Fixtures/YtsFoldedScalars.yml | 176 - .../Tests/Fixtures/YtsNullsAndEmpties.yml | 45 - .../Fixtures/YtsSpecificationExamples.yml | 1697 -- .../yaml/Tests/Fixtures/YtsTypeTransfers.yml | 244 - .../yaml/Tests/Fixtures/embededPhp.yml | 1 - .../yaml/Tests/Fixtures/escapedCharacters.yml | 155 - .../symfony/yaml/Tests/Fixtures/index.yml | 18 - .../yaml/Tests/Fixtures/sfComments.yml | 76 - .../symfony/yaml/Tests/Fixtures/sfCompact.yml | 159 - .../yaml/Tests/Fixtures/sfMergeKey.yml | 66 - .../symfony/yaml/Tests/Fixtures/sfObjects.yml | 11 - .../symfony/yaml/Tests/Fixtures/sfQuotes.yml | 33 - .../symfony/yaml/Tests/Fixtures/sfTests.yml | 149 - .../Tests/Fixtures/unindentedCollections.yml | 82 - .../vendor/symfony/yaml/Tests/InlineTest.php | 506 - .../symfony/yaml/Tests/ParseExceptionTest.php | 42 - .../vendor/symfony/yaml/Tests/ParserTest.php | 1300 -- apigen/vendor/symfony/yaml/Tests/YamlTest.php | 56 - apigen/vendor/symfony/yaml/Unescaper.php | 156 - apigen/vendor/symfony/yaml/Yaml.php | 99 - apigen/vendor/symfony/yaml/composer.json | 34 - apigen/vendor/symfony/yaml/phpunit.xml.dist | 30 - apigen/vendor/tracy/tracy/.eslintrc.js | 21 - apigen/vendor/tracy/tracy/.phpstorm.meta.php | 8 - apigen/vendor/tracy/tracy/appveyor.yml | 33 - apigen/vendor/tracy/tracy/composer.json | 41 - apigen/vendor/tracy/tracy/contributing.md | 33 - apigen/vendor/tracy/tracy/examples/ajax.php | 82 - .../tracy/examples/assets/E_COMPILE_ERROR.php | 5 - .../tracy/tracy/examples/assets/arrow.png | Bin 817 -> 0 bytes .../tracy/tracy/examples/assets/style.css | 28 - .../vendor/tracy/tracy/examples/barDump.php | 32 - .../tracy/tracy/examples/dump-snapshot.php | 56 - apigen/vendor/tracy/tracy/examples/dump.php | 50 - .../vendor/tracy/tracy/examples/exception.php | 52 - .../tracy/tracy/examples/fatal-error.php | 24 - .../tracy/tracy/examples/firelogger.php | 45 - apigen/vendor/tracy/tracy/examples/notice.php | 33 - .../tracy/tracy/examples/output-debugger.php | 17 - .../tracy/tracy/examples/preloading.php | 37 - .../vendor/tracy/tracy/examples/redirect.php | 36 - .../vendor/tracy/tracy/examples/warning.php | 26 - apigen/vendor/tracy/tracy/license.md | 55 - apigen/vendor/tracy/tracy/readme.md | 355 - .../tracy/tracy/src/Bridges/Nette/Bridge.php | 136 - .../tracy/src/Bridges/Nette/MailSender.php | 57 - .../src/Bridges/Nette/TracyExtension.php | 136 - .../Bridges/Psr/PsrToTracyLoggerAdapter.php | 62 - .../Bridges/Psr/TracyToPsrLoggerAdapter.php | 61 - .../vendor/tracy/tracy/src/Tracy/Bar/Bar.php | 241 - .../tracy/src/Tracy/Bar/DefaultBarPanel.php | 54 - .../tracy/tracy/src/Tracy/Bar/IBarPanel.php | 30 - .../tracy/tracy/src/Tracy/Bar/assets/bar.css | 407 - .../tracy/tracy/src/Tracy/Bar/assets/bar.js | 688 - .../tracy/src/Tracy/Bar/assets/bar.phtml | 37 - .../tracy/src/Tracy/Bar/assets/loader.phtml | 33 - .../tracy/src/Tracy/Bar/assets/panels.phtml | 35 - .../src/Tracy/Bar/panels/dumps.panel.phtml | 35 - .../src/Tracy/Bar/panels/dumps.tab.phtml | 19 - .../src/Tracy/Bar/panels/errors.panel.phtml | 26 - .../src/Tracy/Bar/panels/errors.tab.phtml | 31 - .../src/Tracy/Bar/panels/info.panel.phtml | 120 - .../tracy/src/Tracy/Bar/panels/info.tab.phtml | 20 - .../tracy/src/Tracy/BlueScreen/BlueScreen.php | 373 - .../Tracy/BlueScreen/assets/bluescreen.css | 255 - .../src/Tracy/BlueScreen/assets/bluescreen.js | 75 - .../src/Tracy/BlueScreen/assets/content.phtml | 373 - .../src/Tracy/BlueScreen/assets/page.phtml | 55 - .../tracy/src/Tracy/Debugger/Debugger.php | 609 - .../src/Tracy/Debugger/assets/error.500.phtml | 41 - .../tracy/tracy/src/Tracy/Dumper/Dumper.php | 688 - .../tracy/src/Tracy/Dumper/assets/dumper.css | 70 - .../tracy/src/Tracy/Dumper/assets/dumper.js | 214 - .../vendor/tracy/tracy/src/Tracy/Helpers.php | 320 - .../tracy/src/Tracy/Logger/FireLogger.php | 180 - .../tracy/tracy/src/Tracy/Logger/ILogger.php | 27 - .../tracy/tracy/src/Tracy/Logger/Logger.php | 200 - .../Tracy/OutputDebugger/OutputDebugger.php | 80 - .../tracy/src/Tracy/TableSort/table-sort.css | 15 - .../tracy/src/Tracy/TableSort/table-sort.js | 43 - .../tracy/tracy/src/Tracy/Toggle/toggle.css | 29 - .../tracy/tracy/src/Tracy/Toggle/toggle.js | 107 - .../tracy/tracy/src/Tracy/shortcuts.php | 46 - apigen/vendor/tracy/tracy/src/tracy.php | 22 - .../tracy/tools/create-phar/create-phar.php | 87 - .../tools/open-in-editor/linux/install.sh | 38 - .../tools/open-in-editor/linux/open-editor.sh | 101 - .../tools/open-in-editor/windows/install.cmd | 8 - .../open-in-editor/windows/open-editor.js | 81 - entrypoint.sh | 2 +- 5844 files changed, 437851 insertions(+), 161390 deletions(-) create mode 100644 .github/workflows/release.yml delete mode 100644 .github/workflows/twitter-post.yml create mode 100644 .gitignore delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/LICENSE.md delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/README.md delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Broker.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Broker/Backend.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Broker/Backend/Memory.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Dummy/ReflectionClass.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/BaseException.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/BrokerException.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/FileProcessingException.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/ParseException.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/RuntimeException.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/StreamException.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflection.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflectionClass.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflectionConstant.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflectionExtension.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflectionFunction.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflectionFunctionBase.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflectionMethod.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflectionNamespace.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflectionParameter.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflectionProperty.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Invalid/ReflectionClass.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Invalid/ReflectionConstant.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Invalid/ReflectionElement.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Invalid/ReflectionFunction.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/IReflection.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionClass.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionConstant.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionExtension.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionFunction.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionMethod.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionParameter.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionProperty.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionAnnotation.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionBase.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionClass.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionConstant.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionElement.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFile.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFileNamespace.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFunction.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFunctionBase.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionMethod.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionNamespace.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionParameter.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionProperty.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Resolver.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Stream/FileStream.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Stream/StreamBase.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Stream/StringStream.php delete mode 100644 apigen/vendor/andrewsville/php-token-reflection/composer.json create mode 100644 apigen/vendor/apigen/apigen/README.md delete mode 100644 apigen/vendor/apigen/apigen/UPGRADE-4.0.md create mode 100644 apigen/vendor/apigen/apigen/apigen.neon delete mode 100644 apigen/vendor/apigen/apigen/bin/bootstrap.php delete mode 100644 apigen/vendor/apigen/apigen/box.json create mode 100644 apigen/vendor/apigen/apigen/composer.lock delete mode 100644 apigen/vendor/apigen/apigen/generate-api.sh create mode 100644 apigen/vendor/apigen/apigen/src/Analyzer.php create mode 100644 apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeResult.php create mode 100644 apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeState.php create mode 100644 apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeTask.php create mode 100644 apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeTaskHandler.php create mode 100644 apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeTaskHandlerFactory.php create mode 100644 apigen/vendor/apigen/apigen/src/Analyzer/BodySkippingLexer.php create mode 100644 apigen/vendor/apigen/apigen/src/Analyzer/Filter.php create mode 100644 apigen/vendor/apigen/apigen/src/Analyzer/IdentifierKind.php create mode 100644 apigen/vendor/apigen/apigen/src/Analyzer/NameContextFrame.php create mode 100644 apigen/vendor/apigen/apigen/src/Analyzer/NodeVisitors/PhpDocResolver.php create mode 100644 apigen/vendor/apigen/apigen/src/Bootstrap.php delete mode 100644 apigen/vendor/apigen/apigen/src/Charset/CharsetConvertor.php delete mode 100644 apigen/vendor/apigen/apigen/src/Charset/CharsetDetector.php delete mode 100644 apigen/vendor/apigen/apigen/src/Charset/Configuration/CharsetOptionsResolver.php delete mode 100644 apigen/vendor/apigen/apigen/src/Charset/Encoding.php delete mode 100644 apigen/vendor/apigen/apigen/src/Command/Command.php delete mode 100644 apigen/vendor/apigen/apigen/src/Command/GenerateCommand.php delete mode 100644 apigen/vendor/apigen/apigen/src/Command/SelfUpdateCommand.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/Configuration.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/ConfigurationOptions.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/ConfigurationOptionsResolver.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/Exceptions/ConfigurationException.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/OptionsResolverFactory.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/Readers/AbstractFile.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/Readers/Exceptions/FileNotReadableException.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/Readers/Exceptions/MissingFileException.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/Readers/NeonFile.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/Readers/ReaderFactory.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/Readers/ReaderInterface.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/Readers/YamlFile.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/Theme/ThemeConfig.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/Theme/ThemeConfigFactory.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/Theme/ThemeConfigOptions.php delete mode 100644 apigen/vendor/apigen/apigen/src/Configuration/Theme/ThemeConfigOptionsResolver.php delete mode 100644 apigen/vendor/apigen/apigen/src/Console/Application.php delete mode 100644 apigen/vendor/apigen/apigen/src/Console/IO.php delete mode 100644 apigen/vendor/apigen/apigen/src/Console/IOInterface.php delete mode 100644 apigen/vendor/apigen/apigen/src/Console/Input/LiberalFormatArgvInput.php delete mode 100644 apigen/vendor/apigen/apigen/src/Console/ProgressBar.php delete mode 100644 apigen/vendor/apigen/apigen/src/Console/Question/ConfirmationQuestion.php delete mode 100644 apigen/vendor/apigen/apigen/src/DI/ApiGenExtension.php delete mode 100644 apigen/vendor/apigen/apigen/src/DI/CharsetConvertorExtension.php delete mode 100644 apigen/vendor/apigen/apigen/src/DI/ParserExtension.php delete mode 100644 apigen/vendor/apigen/apigen/src/DI/apigen.services.neon delete mode 100644 apigen/vendor/apigen/apigen/src/DI/config.neon delete mode 100644 apigen/vendor/apigen/apigen/src/DI/parser.services.neon delete mode 100644 apigen/vendor/apigen/apigen/src/Events/InjectConfig.php delete mode 100644 apigen/vendor/apigen/apigen/src/Events/ProgressBarIncrement.php delete mode 100644 apigen/vendor/apigen/apigen/src/Events/SetIoOnConsoleRun.php delete mode 100644 apigen/vendor/apigen/apigen/src/FileSystem/FileSystem.php delete mode 100644 apigen/vendor/apigen/apigen/src/FileSystem/ZipArchiveGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/ConditionalTemplateGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/GeneratorQueue.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/Markups/MarkdownMarkup.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/Markups/Markup.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/Resolvers/ElementResolver.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/Resolvers/RelativePathResolver.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/SourceCodeHighlighter/FshlSourceCodeHighlighter.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/SourceCodeHighlighter/SourceCodeHighlighter.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/StepCounter.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/AnnotationGroupsGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ClassElementGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/CombinedGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ConstantElementGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/E404Generator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ElementListGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/FunctionElementGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/Loaders/NamespaceAndPackageLoader.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/NamespaceGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/OpensearchGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/OverviewGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/PackageGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/RobotsGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/SitemapGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/SourceCodeGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/TreeGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ZipGenerator.php create mode 100644 apigen/vendor/apigen/apigen/src/Helpers.php delete mode 100644 apigen/vendor/apigen/apigen/src/Herrera/Box/Compactor/PhpNette.php create mode 100644 apigen/vendor/apigen/apigen/src/Index/FileIndex.php create mode 100644 apigen/vendor/apigen/apigen/src/Index/Index.php create mode 100644 apigen/vendor/apigen/apigen/src/Index/NamespaceIndex.php create mode 100644 apigen/vendor/apigen/apigen/src/Indexer.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/AliasInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/AliasReferenceInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/ClassInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/ClassLikeInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/ClassLikeReferenceInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/ConstantInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/ConstantReferenceInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/ElementInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/EnumCaseInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/EnumInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/ErrorInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/ErrorKind.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/ArgExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/ArrayExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/ArrayItemExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/BinaryOpExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/BooleanExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/ClassConstantFetchExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/ConstantFetchExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/DimFetchExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/FloatExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/IntegerExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/NewExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/NullExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/NullSafePropertyFetchExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/PropertyFetchExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/StringExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/TernaryExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Expr/UnaryOpExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/ExprInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/FunctionInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/FunctionReferenceInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/GenericParameterInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/GenericParameterVariance.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/InterfaceInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/MemberInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/MemberReferenceInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/MethodInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/MethodReferenceInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/MissingInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/NameInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/ParameterInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/PropertyInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/PropertyReferenceInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/TraitInfo.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Traits/HasGenericParameters.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Traits/HasLineLocation.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Traits/HasTags.php create mode 100644 apigen/vendor/apigen/apigen/src/Info/Traits/HasVisibility.php create mode 100644 apigen/vendor/apigen/apigen/src/Locator.php delete mode 100644 apigen/vendor/apigen/apigen/src/MemoryLimit.php delete mode 100644 apigen/vendor/apigen/apigen/src/Parser/Broker/Backend.php delete mode 100644 apigen/vendor/apigen/apigen/src/Parser/Elements/AutocompleteElements.php delete mode 100644 apigen/vendor/apigen/apigen/src/Parser/Elements/ElementExtractor.php delete mode 100644 apigen/vendor/apigen/apigen/src/Parser/Elements/ElementFilter.php delete mode 100644 apigen/vendor/apigen/apigen/src/Parser/Elements/ElementSorter.php delete mode 100644 apigen/vendor/apigen/apigen/src/Parser/Elements/ElementStorage.php delete mode 100644 apigen/vendor/apigen/apigen/src/Parser/Elements/Elements.php delete mode 100644 apigen/vendor/apigen/apigen/src/Parser/Elements/GroupSorter.php delete mode 100644 apigen/vendor/apigen/apigen/src/Parser/Parser.php delete mode 100644 apigen/vendor/apigen/apigen/src/Parser/ParserResult.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/Extractors/AnnotationMethodExtractor.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/Extractors/AnnotationPropertyExtractor.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/Extractors/ClassMagicElementsExtractor.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/Extractors/ClassTraitElementsExtractor.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/Extractors/MagicMethodExtractor.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/Extractors/MagicPropertyExtractor.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/Extractors/ParentClassElementsExtractor.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/Parts/IsDocumentedMagic.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/Parts/StartLineEndLine.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/Parts/StartPositionEndPositionMagic.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/Parts/Visibility.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/ReflectionBase.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/ReflectionClass.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/ReflectionConstant.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/ReflectionElement.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/ReflectionExtension.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/ReflectionFunction.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/ReflectionFunctionBase.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/ReflectionMethod.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/ReflectionMethodMagic.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/ReflectionParameter.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/ReflectionParameterMagic.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/ReflectionProperty.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/ReflectionPropertyMagic.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/TokenReflection/Reflection.php delete mode 100644 apigen/vendor/apigen/apigen/src/Reflection/TokenReflection/ReflectionFactory.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Filter.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteCascadingLoader.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteEngineFactory.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteExtension.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteFunctions.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/LattePreNode.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTask.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTaskContext.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTaskHandler.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTaskHandlerFactory.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTaskType.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderer.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/ClassLikeTemplate.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/ConfigParameters.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/FunctionTemplate.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/IndexTemplate.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/LayoutParameters.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/NamespaceTemplate.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/SitemapTemplate.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/SourceTemplate.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/TreeTemplate.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/assets/main.css create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/assets/main.js create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/@index.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/alias.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/aliasLink.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/aliasSummary.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/autoBreakingLine.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeDescription.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeKind.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeLink.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeLinks.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeReference.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeSignature.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeSignatureTable.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classTree.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constant.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constantInherited.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constantInheritedSummary.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constantSummary.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/description.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/elementSummary.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/elementSummaryGroup.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/enumCase.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/enumCaseSummary.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/expr.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/functionDescription.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/functionLinks.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/genericParameters.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/head.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/layout.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/member.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberDescription.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberLink.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberSourceLink.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberVisibility.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/menu.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/menuElements.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/menuGroup.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/method.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodInherited.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodInheritedSummary.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodRelation.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodSignature.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodSummary.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodUsed.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodUsedSummary.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/namespaceLinks.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/navbar.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/parameter.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/property.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyInherited.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyInheritedSummary.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertySummary.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyUsed.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyUsedSummary.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/search.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/source.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/type.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/classLike.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/function.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/index.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/namespace.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/sitemap.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/source.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/tree.latte create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/SourceHighlighter.php create mode 100644 apigen/vendor/apigen/apigen/src/Renderer/UrlGenerator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Scanner/Scanner.php create mode 100644 apigen/vendor/apigen/apigen/src/Scheduler.php create mode 100644 apigen/vendor/apigen/apigen/src/Scheduler/ExecScheduler.php create mode 100644 apigen/vendor/apigen/apigen/src/Scheduler/ForkScheduler.php create mode 100644 apigen/vendor/apigen/apigen/src/Scheduler/SchedulerFactory.php create mode 100644 apigen/vendor/apigen/apigen/src/Scheduler/SimpleScheduler.php create mode 100644 apigen/vendor/apigen/apigen/src/Scheduler/WorkerScheduler.php create mode 100644 apigen/vendor/apigen/apigen/src/Scheduler/worker.php create mode 100644 apigen/vendor/apigen/apigen/src/Task/Task.php create mode 100644 apigen/vendor/apigen/apigen/src/Task/TaskHandler.php create mode 100644 apigen/vendor/apigen/apigen/src/Task/TaskHandlerFactory.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Exceptions/UnsupportedElementException.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Filters/AnnotationFilters.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Filters/ElementUrlFilters.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Filters/Filters.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/ElementLinkFactory.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/ElementUrlFactory.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/LinkBuilder.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/Strings.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Filters/NamespaceAndPackageUrlFilters.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Filters/PathFilters.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Filters/PhpManualFilters.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Filters/ResolverFilters.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Filters/SourceFilters.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Filters/UrlFilters.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/Template.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/TemplateElementsLoader.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/TemplateFactory.php delete mode 100644 apigen/vendor/apigen/apigen/src/Templating/TemplateNavigator.php delete mode 100644 apigen/vendor/apigen/apigen/src/Theme/ThemeConfigPathResolver.php delete mode 100644 apigen/vendor/apigen/apigen/src/Theme/ThemeResources.php delete mode 100644 apigen/vendor/apigen/apigen/src/Tree.php delete mode 100644 apigen/vendor/apigen/apigen/update-gh-pages.sh delete mode 100644 apigen/vendor/apigen/theme-bootstrap/.gitattributes delete mode 100644 apigen/vendor/apigen/theme-bootstrap/LICENSE delete mode 100644 apigen/vendor/apigen/theme-bootstrap/README.md delete mode 100644 apigen/vendor/apigen/theme-bootstrap/composer.json delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/404.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/@elementlist.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/@layout.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/annotation-group.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/class.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/combined.js.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/config.neon delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/constant.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/elementlist.js.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/function.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/js/jquery.autocomplete.js delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/js/jquery.cookie.js delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/js/jquery.min.js delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/js/jquery.sortElements.js delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/js/jquery.sprintf.js delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/js/main.js delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/namespace.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/opensearch.xml.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/overview.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/package.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/resources/bootstrap.min.css delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/resources/collapsed.png delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/resources/inherit.png delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/resources/resize.png delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/resources/sort.png delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/resources/style.css delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/resources/tree-cleaner.png delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/resources/tree-hasnext.png delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/resources/tree-last.png delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/resources/tree-vertical.png delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/robots.txt.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/sitemap.xml.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/source.latte delete mode 100644 apigen/vendor/apigen/theme-bootstrap/src/tree.latte delete mode 100644 apigen/vendor/apigen/theme-default/.gitattributes delete mode 100644 apigen/vendor/apigen/theme-default/LICENSE delete mode 100644 apigen/vendor/apigen/theme-default/README.md delete mode 100644 apigen/vendor/apigen/theme-default/composer.json delete mode 100644 apigen/vendor/apigen/theme-default/src/404.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/@elementlist.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/@layout.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/annotation-group.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/class.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/combined.js.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/config.neon delete mode 100644 apigen/vendor/apigen/theme-default/src/constant.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/elementlist.js.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/function.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/js/jquery.autocomplete.js delete mode 100644 apigen/vendor/apigen/theme-default/src/js/jquery.cookie.js delete mode 100644 apigen/vendor/apigen/theme-default/src/js/jquery.min.js delete mode 100644 apigen/vendor/apigen/theme-default/src/js/jquery.sortElements.js delete mode 100644 apigen/vendor/apigen/theme-default/src/js/jquery.sprintf.js delete mode 100644 apigen/vendor/apigen/theme-default/src/js/main.js delete mode 100644 apigen/vendor/apigen/theme-default/src/namespace.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/opensearch.xml.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/overview.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/package.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/resources/collapsed.png delete mode 100644 apigen/vendor/apigen/theme-default/src/resources/footer.png delete mode 100644 apigen/vendor/apigen/theme-default/src/resources/inherit.png delete mode 100644 apigen/vendor/apigen/theme-default/src/resources/resize.png delete mode 100644 apigen/vendor/apigen/theme-default/src/resources/sort.png delete mode 100644 apigen/vendor/apigen/theme-default/src/resources/style.css delete mode 100644 apigen/vendor/apigen/theme-default/src/resources/tree-cleaner.png delete mode 100644 apigen/vendor/apigen/theme-default/src/resources/tree-hasnext.png delete mode 100644 apigen/vendor/apigen/theme-default/src/resources/tree-last.png delete mode 100644 apigen/vendor/apigen/theme-default/src/resources/tree-vertical.png delete mode 100644 apigen/vendor/apigen/theme-default/src/robots.txt.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/sitemap.xml.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/source.latte delete mode 100644 apigen/vendor/apigen/theme-default/src/tree.latte delete mode 100644 apigen/vendor/bin/apigen.bat delete mode 100644 apigen/vendor/bin/jsonlint delete mode 100644 apigen/vendor/bin/jsonlint.bat create mode 100644 apigen/vendor/bin/latte-lint create mode 100644 apigen/vendor/bin/neon-lint create mode 100644 apigen/vendor/bin/php-parse delete mode 100644 apigen/vendor/bin/validate-json delete mode 100644 apigen/vendor/bin/validate-json.bat create mode 100644 apigen/vendor/composer/InstalledVersions.php create mode 100644 apigen/vendor/composer/installed.php create mode 100644 apigen/vendor/composer/platform_check.php create mode 100644 apigen/vendor/dflydev/dot-access-data/CHANGELOG.md create mode 100644 apigen/vendor/dflydev/dot-access-data/LICENSE create mode 100644 apigen/vendor/dflydev/dot-access-data/README.md create mode 100644 apigen/vendor/dflydev/dot-access-data/composer.json create mode 100644 apigen/vendor/dflydev/dot-access-data/src/Data.php create mode 100644 apigen/vendor/dflydev/dot-access-data/src/DataInterface.php create mode 100644 apigen/vendor/dflydev/dot-access-data/src/Exception/DataException.php create mode 100644 apigen/vendor/dflydev/dot-access-data/src/Exception/InvalidPathException.php create mode 100644 apigen/vendor/dflydev/dot-access-data/src/Exception/MissingPathException.php create mode 100644 apigen/vendor/dflydev/dot-access-data/src/Util.php delete mode 100644 apigen/vendor/herrera-io/json/.gitignore delete mode 100644 apigen/vendor/herrera-io/json/.travis.yml delete mode 100644 apigen/vendor/herrera-io/json/LICENSE delete mode 100644 apigen/vendor/herrera-io/json/README.md delete mode 100644 apigen/vendor/herrera-io/json/composer.json delete mode 100644 apigen/vendor/herrera-io/json/phpunit.xml.dist delete mode 100644 apigen/vendor/herrera-io/json/src/lib/Herrera/Json/Exception/Exception.php delete mode 100644 apigen/vendor/herrera-io/json/src/lib/Herrera/Json/Exception/ExceptionInterface.php delete mode 100644 apigen/vendor/herrera-io/json/src/lib/Herrera/Json/Exception/FileException.php delete mode 100644 apigen/vendor/herrera-io/json/src/lib/Herrera/Json/Exception/JsonException.php delete mode 100644 apigen/vendor/herrera-io/json/src/lib/Herrera/Json/Json.php delete mode 100644 apigen/vendor/herrera-io/json/src/lib/json_version.php delete mode 100644 apigen/vendor/herrera-io/json/src/tests/Herrera/Json/Tests/Exception/ExceptionTest.php delete mode 100644 apigen/vendor/herrera-io/json/src/tests/Herrera/Json/Tests/Exception/JsonExceptionTest.php delete mode 100644 apigen/vendor/herrera-io/json/src/tests/Herrera/Json/Tests/JsonTest.php delete mode 100644 apigen/vendor/herrera-io/json/src/tests/bootstrap.php delete mode 100644 apigen/vendor/herrera-io/phar-update/.gitignore delete mode 100644 apigen/vendor/herrera-io/phar-update/.travis.yml delete mode 100644 apigen/vendor/herrera-io/phar-update/LICENSE delete mode 100644 apigen/vendor/herrera-io/phar-update/README.md delete mode 100644 apigen/vendor/herrera-io/phar-update/composer.json delete mode 100644 apigen/vendor/herrera-io/phar-update/phpunit.xml.dist delete mode 100644 apigen/vendor/herrera-io/phar-update/res/schema.json delete mode 100644 apigen/vendor/herrera-io/phar-update/src/lib/Herrera/Phar/Update/Exception/Exception.php delete mode 100644 apigen/vendor/herrera-io/phar-update/src/lib/Herrera/Phar/Update/Exception/ExceptionInterface.php delete mode 100644 apigen/vendor/herrera-io/phar-update/src/lib/Herrera/Phar/Update/Exception/FileException.php delete mode 100644 apigen/vendor/herrera-io/phar-update/src/lib/Herrera/Phar/Update/Exception/InvalidArgumentException.php delete mode 100644 apigen/vendor/herrera-io/phar-update/src/lib/Herrera/Phar/Update/Exception/LogicException.php delete mode 100644 apigen/vendor/herrera-io/phar-update/src/lib/Herrera/Phar/Update/Manager.php delete mode 100644 apigen/vendor/herrera-io/phar-update/src/lib/Herrera/Phar/Update/Manifest.php delete mode 100644 apigen/vendor/herrera-io/phar-update/src/lib/Herrera/Phar/Update/Update.php delete mode 100644 apigen/vendor/herrera-io/phar-update/src/lib/constants.php delete mode 100644 apigen/vendor/herrera-io/phar-update/src/tests/Herrera/Phar/Update/Exception/ExceptionTest.php delete mode 100644 apigen/vendor/herrera-io/phar-update/src/tests/Herrera/Phar/Update/ManagerTest.php delete mode 100644 apigen/vendor/herrera-io/phar-update/src/tests/Herrera/Phar/Update/ManifestTest.php delete mode 100644 apigen/vendor/herrera-io/phar-update/src/tests/Herrera/Phar/Update/UpdateTest.php delete mode 100644 apigen/vendor/herrera-io/phar-update/src/tests/bootstrap.php delete mode 100644 apigen/vendor/herrera-io/version/.gitignore delete mode 100644 apigen/vendor/herrera-io/version/.travis.yml delete mode 100644 apigen/vendor/herrera-io/version/LICENSE delete mode 100644 apigen/vendor/herrera-io/version/README.md delete mode 100644 apigen/vendor/herrera-io/version/composer.json delete mode 100644 apigen/vendor/herrera-io/version/doc/00-Installing.md delete mode 100644 apigen/vendor/herrera-io/version/doc/01-Building.md delete mode 100644 apigen/vendor/herrera-io/version/doc/02-Comparing.md delete mode 100644 apigen/vendor/herrera-io/version/doc/03-Dumping.md delete mode 100644 apigen/vendor/herrera-io/version/doc/04-Parsing.md delete mode 100644 apigen/vendor/herrera-io/version/doc/05-Validating.md delete mode 100644 apigen/vendor/herrera-io/version/phpunit.xml.dist delete mode 100644 apigen/vendor/herrera-io/version/src/lib/Herrera/Version/Builder.php delete mode 100644 apigen/vendor/herrera-io/version/src/lib/Herrera/Version/Comparator.php delete mode 100644 apigen/vendor/herrera-io/version/src/lib/Herrera/Version/Dumper.php delete mode 100644 apigen/vendor/herrera-io/version/src/lib/Herrera/Version/Exception/InvalidIdentifierException.php delete mode 100644 apigen/vendor/herrera-io/version/src/lib/Herrera/Version/Exception/InvalidNumberException.php delete mode 100644 apigen/vendor/herrera-io/version/src/lib/Herrera/Version/Exception/InvalidStringRepresentationException.php delete mode 100644 apigen/vendor/herrera-io/version/src/lib/Herrera/Version/Exception/VersionException.php delete mode 100644 apigen/vendor/herrera-io/version/src/lib/Herrera/Version/Parser.php delete mode 100644 apigen/vendor/herrera-io/version/src/lib/Herrera/Version/Validator.php delete mode 100644 apigen/vendor/herrera-io/version/src/lib/Herrera/Version/Version.php delete mode 100644 apigen/vendor/herrera-io/version/src/tests/lib/Herrera/Version/Tests/BuilderTest.php delete mode 100644 apigen/vendor/herrera-io/version/src/tests/lib/Herrera/Version/Tests/ComparatorTest.php delete mode 100644 apigen/vendor/herrera-io/version/src/tests/lib/Herrera/Version/Tests/DumperTest.php delete mode 100644 apigen/vendor/herrera-io/version/src/tests/lib/Herrera/Version/Tests/Exception/InvalidIdentifierExceptionTest.php delete mode 100644 apigen/vendor/herrera-io/version/src/tests/lib/Herrera/Version/Tests/Exception/InvalidNumberExceptionTest.php delete mode 100644 apigen/vendor/herrera-io/version/src/tests/lib/Herrera/Version/Tests/Exception/InvalidStringRepresentationExceptionTest.php delete mode 100644 apigen/vendor/herrera-io/version/src/tests/lib/Herrera/Version/Tests/ParserTest.php delete mode 100644 apigen/vendor/herrera-io/version/src/tests/lib/Herrera/Version/Tests/ValidatorTest.php delete mode 100644 apigen/vendor/herrera-io/version/src/tests/lib/Herrera/Version/Tests/VersionTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/.github/workflows/main.yml create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/.github/workflows/testLinks.yml create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/.github/workflows/testPeclExtensions.yml create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/.gitignore create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/.php-cs-fixer.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/.space.kts create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/CONTRIBUTING.md create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Core/Core.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Core/Core_c.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Core/Core_d.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Ev/Ev.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/FFI/.phpstorm.meta.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/FFI/FFI.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Inspections.xml create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/LuaSandbox/LuaSandbox.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/PDO/PDO.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Parle/ErrorInfo.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Parle/Lexer.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Parle/LexerException.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Parle/Parser.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Parle/ParserException.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Parle/RLexer.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Parle/RParser.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Parle/Stack.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Parle/Token.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Phar/Phar.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/PhpStormStubsMap.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/README.md create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/.phpstorm.meta.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/Reflection.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionAttribute.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionClass.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionClassConstant.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionEnum.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionEnumBackedCase.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionEnumPureCase.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionEnumUnitCase.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionException.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionExtension.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionFiber.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionFunction.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionFunctionAbstract.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionGenerator.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionIntersectionType.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionMethod.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionNamedType.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionObject.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionParameter.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionProperty.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionReference.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionType.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionUnionType.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/ReflectionZendExtension.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Reflection/Reflector.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/SPL/SPL.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/SPL/SPL_c1.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/SPL/SPL_f.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/SQLite/SQLite.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/SaxonC/SaxonC.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/SimpleXML/SimpleXML.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/SplType/SplType.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/Zend OPcache/OPcache.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ZendCache/ZendCache.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ZendDebugger/ZendDebugger.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ZendUtils/ZendUtils.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/aerospike/Bytes.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/aerospike/aerospike.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/amqp/amqp.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/apache/apache.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/apcu/apcu.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ast/ast.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/bcmath/bcmath.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/blackfire/blackfire.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/bz2/bz2.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/calendar/calendar.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/cassandra/cassandra.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/com_dotnet/com_dotnet.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/composer.json create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/couchbase/couchbase.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/couchbase_v2/couchbase.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/couchbase_v2/toplevel.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/crypto/crypto.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ctype/ctype.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/cubrid/cubrid.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/curl/CURLStringFile.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/curl/curl.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/curl/curl_d.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/date/date.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/date/date_c.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/date/date_d.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/dba/dba.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/decimal/decimal.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/dio/dio.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/dio/dio_d.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/docker-compose.yml create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/dom/dom.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/dom/dom_c.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ds/ds.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/eio/eio.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/elastic_apm/elastic_apm.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/enchant/enchant.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/event/event.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/exif/exif.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/expect/expect.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/fann/fann.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ffmpeg/ffmpeg.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/fileinfo/fileinfo.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/filter/filter.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/fpm/fpm.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ftp/Connection.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ftp/ftp.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/gd/GdFont.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/gd/gd.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/gearman/gearman.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/geoip/geoip.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/geos/geos.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/gettext/gettext.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/gmagick/gmagick.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/gmp/gmp.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/gnupg/gnupg.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/grpc/grpc.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/hash/hash.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/http/http.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/http/http3.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ibm_db2/ibm_db2.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/iconv/iconv.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/igbinary/igbinary.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/imagick/imagick.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/imap/Connection.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/imap/imap.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/inotify/inotify.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/interbase/interbase.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/intl/IntlChar.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/intl/IntlDatePatternGenerator.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/intl/intl.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/json/json.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/judy/judy.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ldap/Connection.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ldap/Result.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ldap/ResultEntry.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ldap/ldap.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/leveldb/LevelDB.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/libevent/libevent.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/libsodium/libsodium.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/libvirt-php/libvirt-php.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/libxml/libxml.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/lua/lua.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/lzf/lzf.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/mailparse/mailparse.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/mapscript/mapscript.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/mbstring/mbstring.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/mcrypt/mcrypt.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/memcache/memcache.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/memcached/memcached.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meminfo/meminfo.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/.phpstorm.meta.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/attributes/ArrayShape.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/attributes/Deprecated.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/attributes/ExpectedValues.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/attributes/Immutable.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/attributes/Language.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/attributes/NoReturn.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/attributes/Pure.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/attributes/internal/LanguageLevelTypeAware.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/attributes/internal/PhpStormStubsElementAvailable.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/attributes/internal/ReturnTypeContract.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/attributes/internal/TentativeType.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/encodings/.phpstorm.meta.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/hash_algo/.phpstorm.meta.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/locales/.phpstorm.meta.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/mockery/.phpstorm.meta.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/phpunit/.phpstorm.meta.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/meta/psr/log/.phpstorm.meta.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ming/ming.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/mongo/mongo.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/mongodb/ServerApi.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/mongodb/mongodb.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/mosquitto-php/mosquitto-php.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/mqseries/mqseries.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/msgpack/msgpack.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/mssql/mssql.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/mysql/mysql.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/mysql_xdevapi/mysql_xdevapi.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/mysqli/mysqli.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ncurses/ncurses.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/newrelic/newrelic.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/oauth/oauth.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/oci8/oci8.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/oci8/oci8v3.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/odbc/odbc.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/openssl/openssl.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Channel.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Channel/Error.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Channel/Error/Closed.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Channel/Error/Existence.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Channel/Error/IllegalValue.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Error.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Events.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Events/Error.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Events/Error/Existence.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Events/Error/Timeout.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Events/Event.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Events/Event/Error.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Events/Event/Type.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Events/Input.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Events/Input/Error.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Events/Input/Error/Existence.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Events/Input/Error/IllegalValue.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Future.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Future/Error.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Future/Error/Cancelled.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Future/Error/Foreign.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Future/Error/Killed.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Runtime.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Runtime/Error.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Runtime/Error/Bootstrap.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Runtime/Error/Closed.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Runtime/Error/IllegalFunction.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Runtime/Error/IllegalInstruction.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Runtime/Error/IllegalParameter.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Runtime/Error/IllegalReturn.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Runtime/Error/IllegalVariable.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Runtime/Error/Killed.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Runtime/Object/Unavailable.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Runtime/Type/Unavailable.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Sync.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Sync/Error.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/parallel/parallel/Sync/Error/IllegalValue.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pcntl/pcntl.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pcov/pcov.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pcre/pcre.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pdflib/PDFlib.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pdo_ibm/pdo_ibm.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pdo_mysql/pdo_mysql.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pdo_pgsql/pdo_pgsql.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pdo_sqlite/pdo_sqlite.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pgsql/pgsql.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pgsql/pgsql_c.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/phpdbg/phpdbg.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/phpunit.xml.dist create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/posix/posix.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pq/pq.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pspell/pspell.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pspell/pspell_c.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/pthreads/pthreads.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/qodana.yaml create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/radius/radius.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/random/random.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rar/rar.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/Conf.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/Consumer.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/ConsumerTopic.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/Exception.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/KafkaConsumer.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/KafkaConsumerTopic.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/KafkaErrorException.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/Message.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/Metadata.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/Metadata/Broker.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/Metadata/Collection.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/Metadata/Partition.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/Metadata/Topic.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/Producer.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/ProducerTopic.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/Queue.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/Topic.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/TopicConf.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/RdKafka/TopicPartition.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/constants.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rdkafka/functions.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/readline/readline.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/recode/recode.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/redis/Redis.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/redis/RedisArray.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/redis/RedisCluster.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/redis/RedisSentinel.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/regex/ereg.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rpminfo/rpminfo.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/rrd/rrd.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/runTests.sh create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/session/SessionHandler.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/session/session.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/shmop/shmop.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient/Configuration.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient/Consumer.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient/Exception.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient/KafkaErrorException.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient/Message.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient/Metadata.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient/Metadata/Broker.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient/Metadata/Collection.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient/Metadata/Partition.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient/Metadata/Topic.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient/Producer.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient/Topic.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/SimpleKafkaClient/TopicPartition.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/simple_kafka_client/functions.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/snappy/snappy/snappy.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/snmp/snmp.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/soap/soap.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/sockets/sockets.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/sodium/sodium.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Documents/SolrDocument.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Documents/SolrDocumentField.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Documents/SolrInputDocument.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Exceptions/SolrClientException.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Exceptions/SolrException.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Exceptions/SolrIllegalArgumentException.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Exceptions/SolrIllegalOperationException.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Exceptions/SolrMissingMandatoryParameterException.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Exceptions/SolrServerException.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Queries/SolrCollapseFunction.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Queries/SolrDisMaxQuery.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Queries/SolrModifiableParams.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Queries/SolrParams.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Queries/SolrQuery.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Responses/SolrGenericResponse.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Responses/SolrPingResponse.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Responses/SolrQueryResponse.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Responses/SolrResponse.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Responses/SolrUpdateResponse.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/SolrClient.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Utils/SolrObject.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/Utils/SolrUtils.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/constants.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/solr/functions.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/sqlite3/sqlite3.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/sqlsrv/sqlsrv.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/ssh2/ssh2.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/_standard_manual.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/_types.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/basic.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/password.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/standard_0.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/standard_1.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/standard_2.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/standard_3.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/standard_4.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/standard_5.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/standard_6.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/standard_7.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/standard_8.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/standard_9.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/standard/standard_defines.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/stats/stats.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/stomp/stomp.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/suhosin/suhosin.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/superglobals/_superglobals.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/svm/SVM.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/svm/SVMModel.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/svn/svn.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Atomic.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Atomic/Long.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Client.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Client/Exception.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Connection/Iterator.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Channel.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Client.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Context.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Curl/Exception.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Http/Client.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Http/Client/Exception.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Http/Server.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Http2/Client.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Http2/Client/Exception.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Iterator.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/MySQL.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/MySQL/Exception.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/MySQL/Statement.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Redis.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Scheduler.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Socket.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/Socket/Exception.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Coroutine/System.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Error.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Event.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Exception.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/ExitException.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Http/Request.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Http/Response.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Http/Server.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Http2/Request.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Http2/Response.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Lock.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Process.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Process/Pool.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Redis/Server.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Runtime.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Server.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Server/Event.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Server/Packet.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Server/PipeMessage.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Server/Port.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Server/StatusInfo.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Server/Task.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Server/TaskResult.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Table.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Timer.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/Timer/Iterator.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/WebSocket/CloseFrame.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/WebSocket/Frame.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/Swoole/WebSocket/Server.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/aliases.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/constants.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/swoole/functions.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/sybase/sybase_ct.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/sync/sync.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/sysvmsg/sysvmsg.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/sysvsem/sysvsem.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/sysvshm/sysvshm.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/.phpstorm.meta.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/AbstractBaseStubsTestCase.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/BaseClassesTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/BaseConstantsTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/BaseFunctionsTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/CheckStubMapTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/CodeStyle/BracesOneLineFixer.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/DockerImages/5.6/Dockerfile create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/DockerImages/7.0/Dockerfile create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/DockerImages/7.1/Dockerfile create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/DockerImages/7.2/Dockerfile create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/DockerImages/7.3/Dockerfile create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/DockerImages/7.4/Dockerfile create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/DockerImages/8.0/Dockerfile create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/DockerImages/8.1/Dockerfile create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/DockerImages/8.2/Dockerfile create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/DockerImages/peclExtensions/Dockerfile create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/DockerImages/testRunner/Dockerfile create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/BasePHPClass.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/BasePHPElement.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/CommonUtils.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/PHPClass.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/PHPConst.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/PHPDefineConstant.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/PHPDocElement.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/PHPFunction.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/PHPInterface.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/PHPMethod.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/PHPParameter.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/PHPProperty.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/PhpVersions.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/StubProblemType.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/StubsContainer.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Model/Tags/RemovedTag.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Parsers/DocFactoryProvider.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Parsers/ExpectedFunctionArgumentsInfo.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Parsers/MetaExpectedArgumentsCollector.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Parsers/PHPReflectionParser.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Parsers/ParserUtils.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Parsers/StubParser.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Parsers/StubsParserErrorHandler.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Parsers/Visitors/ASTVisitor.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Parsers/Visitors/CoreStubASTVisitor.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Parsers/Visitors/MetaOverrideFunctionsParser.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Parsers/Visitors/ParentConnector.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/StubsCompositeMixedReturnTypeTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/StubsConstantsAndParametersValuesTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/StubsForbiddenTypeHintsTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/StubsMetaExpectedArgumentsTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/StubsMetaInternalTagTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/StubsParameterNamesTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/StubsPhp81Tests.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/StubsPhpDocTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/StubsReflectionClassesTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/StubsStructureTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/StubsTypeHintsTest.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/EntitiesFilter.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/PhpStormStubsSingleton.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/Reflection/ReflectionClassesTestDataProviders.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/Reflection/ReflectionConstantsProvider.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/Reflection/ReflectionFunctionsProvider.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/Reflection/ReflectionMethodsProvider.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/Reflection/ReflectionParametersProvider.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/Reflection/ReflectionPropertiesProvider.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/ReflectionStubsSingleton.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/Stubs/PhpCoreStubsProvider.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/Stubs/StubConstantsProvider.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/Stubs/StubMethodsProvider.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/Stubs/StubsCompositeMixedProvider.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/Stubs/StubsParametersProvider.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/Providers/Stubs/StubsTestDataProviders.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/TestData/mutedProblems.json create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Tools/ModelAutoloader.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Tools/dump-pecl-to-file.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Tools/dump-reflection-to-file.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tests/Tools/generate-stub-map create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tidy/tidy.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tokenizer/PhpToken.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/tokenizer/tokenizer.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/uopz/uopz.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/uploadprogress/uploadprogress.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/uuid/uuid_c.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/uv/UV.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/uv/uv_functions.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/v8js/v8js.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/wddx/wddx.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/win32service/win32service.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/winbinder/winbinder.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/wincache/wincache.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/xcache/xcache.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/xdebug/xdebug.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/xdiff/xdiff.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/xhprof/xhprof.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/xlswriter/xlswriter.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/xml/xml.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/xmlreader/xmlreader.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/xmlrpc/xmlrpc.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/xmlwriter/xmlwriter.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/xsl/xsl.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/xxtea/xxtea.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/yaf/yaf.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/yaf/yaf_namespace.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/yaml/yaml.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/yar/yar.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/zend/zend.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/zend/zend_d.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/zend/zend_f.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/zip/zip.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/zlib/zlib.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/zmq/zmq.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/zookeeper/zookeeper.php create mode 100644 apigen/vendor/jetbrains/phpstorm-stubs/zstd/zstd.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/.gitattributes delete mode 100644 apigen/vendor/justinrainbow/json-schema/LICENSE delete mode 100644 apigen/vendor/justinrainbow/json-schema/README.md delete mode 100644 apigen/vendor/justinrainbow/json-schema/bin/validate-json delete mode 100644 apigen/vendor/justinrainbow/json-schema/composer.json delete mode 100644 apigen/vendor/justinrainbow/json-schema/phpunit.xml.dist delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ConstraintInterface.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/EnumConstraint.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Factory.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/FormatConstraint.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/NumberConstraint.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ObjectConstraint.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/StringConstraint.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeConstraint.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidArgumentException.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaMediaTypeException.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSourceUriException.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/JsonDecodingException.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ResourceNotFoundException.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UriResolverException.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/RefResolver.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/AbstractRetriever.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/FileGetContents.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/UriRetrieverInterface.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php delete mode 100644 apigen/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php delete mode 100644 apigen/vendor/kdyby/events/README.md delete mode 100644 apigen/vendor/kdyby/events/composer.json delete mode 100644 apigen/vendor/kdyby/events/license.md delete mode 100644 apigen/vendor/kdyby/events/src/Doctrine/aliases.php delete mode 100644 apigen/vendor/kdyby/events/src/Doctrine/compatibility.php delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/DI/EventsExtension.php delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/Diagnostics/Panel.php delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/Diagnostics/add.png delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/Diagnostics/icon.png delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/Diagnostics/run.png delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/Event.php delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/EventArgs.php delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/EventArgsList.php delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/EventManager.php delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/IExceptionHandler.php delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/LazyEventManager.php delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/LifeCycleEvent.php delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/NamespacedEventManager.php delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/Subscriber.php delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/SymfonyDispatcher.php delete mode 100644 apigen/vendor/kdyby/events/src/Kdyby/Events/exceptions.php delete mode 100644 apigen/vendor/kukulich/fshl/.gitattributes delete mode 100644 apigen/vendor/kukulich/fshl/.gitignore delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Generator.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Highlighter.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Cache/Cpp.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Cache/Css.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Cache/Html.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Cache/HtmlOnly.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Cache/Java.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Cache/Javascript.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Cache/Minimal.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Cache/Neon.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Cache/Php.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Cache/Python.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Cache/Sql.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Cache/Texy.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Cpp.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Css.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Html.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/HtmlOnly.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Java.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Javascript.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Minimal.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Neon.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Php.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Python.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Sql.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Lexer/Texy.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Output.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Output/Html.php delete mode 100644 apigen/vendor/kukulich/fshl/FSHL/Output/HtmlManual.php delete mode 100644 apigen/vendor/kukulich/fshl/LICENSE delete mode 100644 apigen/vendor/kukulich/fshl/README.md delete mode 100644 apigen/vendor/kukulich/fshl/composer.json delete mode 100644 apigen/vendor/kukulich/fshl/style.css create mode 100644 apigen/vendor/latte/latte/bin/latte-lint delete mode 100644 apigen/vendor/latte/latte/contributing.md create mode 100644 apigen/vendor/latte/latte/src/Bridges/Tracy/BlueScreenPanel.php create mode 100644 apigen/vendor/latte/latte/src/Bridges/Tracy/LattePanel.php create mode 100644 apigen/vendor/latte/latte/src/Bridges/Tracy/TracyExtension.php create mode 100644 apigen/vendor/latte/latte/src/Bridges/Tracy/templates/LattePanel.panel.phtml create mode 100644 apigen/vendor/latte/latte/src/Bridges/Tracy/templates/LattePanel.tab.phtml delete mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Block.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Escaper.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/ExpressionBuilder.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Node.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/NodeHelpers.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/NodeTraverser.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/AreaNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/AuxiliaryNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/FragmentNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Html/AttributeNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Html/BogusTagNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Html/CommentNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Html/ElementNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/NopNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ArgumentNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ArrayItemNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ClosureUseNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ComplexTypeNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ArrayAccessNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ArrayNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/AssignNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/AssignOpNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/AuxiliaryNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/BinaryOpNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/CastNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ClassConstantFetchNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/CloneNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ClosureNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ConstantFetchNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/EmptyNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ErrorSuppressNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/FilterCallNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/FunctionCallNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/FunctionCallableNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/InNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/InstanceofNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/IssetNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/MatchNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/MethodCallNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/MethodCallableNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/NewNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/NotNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/PostOpNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/PreOpNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/PropertyFetchNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/StaticMethodCallNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/StaticMethodCallableNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/StaticPropertyFetchNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/TemporaryNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/TernaryNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/UnaryOpNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/VariableNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ExpressionNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/FilterNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/IdentifierNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/InterpolatedStringPartNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/IntersectionTypeNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ListItemNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ListNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/MatchArmNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ModifierNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/NameNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/NullableTypeNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ParameterNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Scalar/BooleanNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Scalar/FloatNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Scalar/IntegerNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Scalar/InterpolatedStringNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Scalar/NullNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Scalar/StringNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ScalarNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/SuperiorTypeNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/UnionTypeNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/VarLikeIdentifierNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/StatementNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/TemplateNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Nodes/TextNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/PhpHelpers.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Position.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/PrintContext.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Tag.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/TagLexer.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/TagParser.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/TagParserData.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/TemplateGenerator.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/TemplateLexer.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/TemplateParser.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/TemplateParserHtml.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/Token.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler/TokenStream.php create mode 100644 apigen/vendor/latte/latte/src/Latte/ContentType.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Blueprint.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/CachingIterator.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/CoreExtension.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Filters.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/BlockNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/CaptureNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/ContentTypeNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/DebugbreakNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/DefineNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/DoNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/DumpNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/EmbedNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/ExtendsNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/FirstLastSepNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/ForNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/ForeachNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/IfChangedNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/IfContentNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/IfNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/ImportNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/IncludeBlockNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/IncludeFileNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/IterateWhileNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/JumpNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/NAttrNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/NClassNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/NElseNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/NTagNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/ParametersNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/PrintNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/RawPhpNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/RollbackNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/SpacelessNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/SwitchNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/TemplatePrintNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/TemplateTypeNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/TraceNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/TranslateNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/TryNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/VarNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/VarPrintNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/VarTypeNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Nodes/WhileNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Passes.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/RawPhpExtension.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/RollbackException.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/Tracer.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Essential/TranslatorExtension.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Extension.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/HtmlNode.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/ILoader.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/IMacro.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Loader.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/MacroNode.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/MacroTokens.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Macros/BlockMacros.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Macros/BlockMacrosRuntime.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Macros/CoreMacros.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Macros/MacroSet.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Object.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Parser.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/PhpWriter.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Policy.php create mode 100644 apigen/vendor/latte/latte/src/Latte/PositionAwareException.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Runtime/Block.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Runtime/CachingIterator.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Runtime/FilterExecutor.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Runtime/FilterInfo.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Runtime/HtmlStringable.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Runtime/IHtmlString.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Runtime/Template.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Sandbox/Nodes/FunctionCallNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Sandbox/Nodes/FunctionCallableNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Sandbox/Nodes/MethodCallNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Sandbox/Nodes/MethodCallableNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Sandbox/Nodes/PropertyFetchNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Sandbox/Nodes/SandboxNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Sandbox/Nodes/StaticMethodCallNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Sandbox/Nodes/StaticMethodCallableNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Sandbox/Nodes/StaticPropertyFetchNode.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Sandbox/RuntimeChecker.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Sandbox/SandboxExtension.php create mode 100644 apigen/vendor/latte/latte/src/Latte/Sandbox/SecurityPolicy.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Template.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Token.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/TokenIterator.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Tokenizer.php create mode 100644 apigen/vendor/latte/latte/src/Latte/attributes.php create mode 100644 apigen/vendor/latte/latte/src/Tools/Linter.php delete mode 100644 apigen/vendor/latte/latte/src/latte.php create mode 100644 apigen/vendor/league/commonmark/.phpstorm.meta.php create mode 100644 apigen/vendor/league/commonmark/CHANGELOG.md create mode 100644 apigen/vendor/league/commonmark/LICENSE create mode 100644 apigen/vendor/league/commonmark/README.md create mode 100644 apigen/vendor/league/commonmark/composer.json create mode 100644 apigen/vendor/league/commonmark/src/CommonMarkConverter.php create mode 100644 apigen/vendor/league/commonmark/src/ConverterInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Delimiter/Delimiter.php create mode 100644 apigen/vendor/league/commonmark/src/Delimiter/DelimiterInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Delimiter/DelimiterParser.php create mode 100644 apigen/vendor/league/commonmark/src/Delimiter/DelimiterStack.php create mode 100644 apigen/vendor/league/commonmark/src/Delimiter/Processor/DelimiterProcessorCollection.php create mode 100644 apigen/vendor/league/commonmark/src/Delimiter/Processor/DelimiterProcessorCollectionInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Delimiter/Processor/DelimiterProcessorInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Delimiter/Processor/StaggeredDelimiterProcessor.php create mode 100644 apigen/vendor/league/commonmark/src/Environment/Environment.php create mode 100644 apigen/vendor/league/commonmark/src/Environment/EnvironmentAwareInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Environment/EnvironmentBuilderInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Environment/EnvironmentInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Event/AbstractEvent.php create mode 100644 apigen/vendor/league/commonmark/src/Event/DocumentParsedEvent.php create mode 100644 apigen/vendor/league/commonmark/src/Event/DocumentPreParsedEvent.php create mode 100644 apigen/vendor/league/commonmark/src/Event/DocumentPreRenderEvent.php create mode 100644 apigen/vendor/league/commonmark/src/Event/DocumentRenderedEvent.php create mode 100644 apigen/vendor/league/commonmark/src/Event/ListenerData.php create mode 100644 apigen/vendor/league/commonmark/src/Exception/AlreadyInitializedException.php create mode 100644 apigen/vendor/league/commonmark/src/Exception/CommonMarkException.php create mode 100644 apigen/vendor/league/commonmark/src/Exception/IOException.php create mode 100644 apigen/vendor/league/commonmark/src/Exception/InvalidArgumentException.php create mode 100644 apigen/vendor/league/commonmark/src/Exception/LogicException.php create mode 100644 apigen/vendor/league/commonmark/src/Exception/MissingDependencyException.php create mode 100644 apigen/vendor/league/commonmark/src/Exception/UnexpectedEncodingException.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Attributes/AttributesExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Attributes/Event/AttributesListener.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Attributes/Node/Attributes.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Attributes/Node/AttributesInline.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Attributes/Parser/AttributesBlockContinueParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Attributes/Parser/AttributesBlockStartParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Attributes/Parser/AttributesInlineParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Attributes/Util/AttributesHelper.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Autolink/AutolinkExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Autolink/EmailAutolinkParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Autolink/UrlAutolinkParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/CommonMarkCoreExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Delimiter/Processor/EmphasisDelimiterProcessor.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Block/BlockQuote.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Block/FencedCode.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Block/Heading.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Block/HtmlBlock.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Block/IndentedCode.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Block/ListBlock.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Block/ListData.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Block/ListItem.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Block/ThematicBreak.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Inline/AbstractWebResource.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Inline/Code.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Inline/Emphasis.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Inline/HtmlInline.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Inline/Image.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Inline/Link.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Node/Inline/Strong.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/BlockQuoteParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/BlockQuoteStartParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/FencedCodeParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/FencedCodeStartParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/HeadingParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/HeadingStartParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/HtmlBlockParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/HtmlBlockStartParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/IndentedCodeParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/IndentedCodeStartParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/ListBlockParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/ListBlockStartParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/ListItemParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/ThematicBreakParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Block/ThematicBreakStartParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Inline/AutolinkParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Inline/BacktickParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Inline/BangParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Inline/CloseBracketParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Inline/EntityParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Inline/EscapableParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Inline/HtmlInlineParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Parser/Inline/OpenBracketParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Block/BlockQuoteRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Block/FencedCodeRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Block/HeadingRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Block/HtmlBlockRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Block/IndentedCodeRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Block/ListBlockRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Block/ListItemRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Block/ThematicBreakRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Inline/CodeRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Inline/EmphasisRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Inline/HtmlInlineRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Inline/ImageRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Inline/LinkRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/CommonMark/Renderer/Inline/StrongRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/ConfigurableExtensionInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DefaultAttributes/ApplyDefaultAttributesProcessor.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DefaultAttributes/DefaultAttributesExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DescriptionList/DescriptionListExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DescriptionList/Event/ConsecutiveDescriptionListMerger.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DescriptionList/Event/LooseDescriptionHandler.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DescriptionList/Node/Description.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DescriptionList/Node/DescriptionList.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DescriptionList/Node/DescriptionTerm.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DescriptionList/Parser/DescriptionContinueParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DescriptionList/Parser/DescriptionListContinueParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DescriptionList/Parser/DescriptionStartParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DescriptionList/Parser/DescriptionTermContinueParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DescriptionList/Renderer/DescriptionListRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DescriptionList/Renderer/DescriptionRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DescriptionList/Renderer/DescriptionTermRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DisallowedRawHtml/DisallowedRawHtmlExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/DisallowedRawHtml/DisallowedRawHtmlRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Embed/Bridge/OscaroteroEmbedAdapter.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Embed/DomainFilteringAdapter.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Embed/Embed.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Embed/EmbedAdapterInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Embed/EmbedExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Embed/EmbedParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Embed/EmbedProcessor.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Embed/EmbedRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Embed/EmbedStartParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/ExtensionInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/ExternalLink/ExternalLinkExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/ExternalLink/ExternalLinkProcessor.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Event/AnonymousFootnotesListener.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Event/FixOrphanedFootnotesAndRefsListener.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Event/GatherFootnotesListener.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Event/NumberFootnotesListener.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/FootnoteExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Node/Footnote.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Node/FootnoteBackref.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Node/FootnoteContainer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Node/FootnoteRef.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Parser/AnonymousFootnoteRefParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Parser/FootnoteParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Parser/FootnoteRefParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Parser/FootnoteStartParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Renderer/FootnoteBackrefRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Renderer/FootnoteContainerRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Renderer/FootnoteRefRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Footnote/Renderer/FootnoteRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/FrontMatter/Data/FrontMatterDataParserInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/FrontMatter/Data/LibYamlFrontMatterParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/FrontMatter/Data/SymfonyYamlFrontMatterParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/FrontMatter/Exception/InvalidFrontMatterException.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/FrontMatter/FrontMatterExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/FrontMatter/FrontMatterParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/FrontMatter/FrontMatterParserInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/FrontMatter/FrontMatterProviderInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/FrontMatter/Input/MarkdownInputWithFrontMatter.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/FrontMatter/Listener/FrontMatterPostRenderListener.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/FrontMatter/Listener/FrontMatterPreParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/FrontMatter/Output/RenderedContentWithFrontMatter.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/GithubFlavoredMarkdownExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/HeadingPermalink/HeadingPermalink.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/HeadingPermalink/HeadingPermalinkExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/HeadingPermalink/HeadingPermalinkProcessor.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/HeadingPermalink/HeadingPermalinkRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/InlinesOnly/ChildRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/InlinesOnly/InlinesOnlyExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Mention/Generator/CallbackGenerator.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Mention/Generator/MentionGeneratorInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Mention/Generator/StringTemplateLinkGenerator.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Mention/Mention.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Mention/MentionExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Mention/MentionParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/SmartPunct/DashParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/SmartPunct/EllipsesParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/SmartPunct/Quote.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/SmartPunct/QuoteParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/SmartPunct/QuoteProcessor.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/SmartPunct/ReplaceUnpairedQuotesListener.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/SmartPunct/SmartPunctExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Strikethrough/Strikethrough.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Strikethrough/StrikethroughDelimiterProcessor.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Strikethrough/StrikethroughExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Strikethrough/StrikethroughRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Table/Table.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Table/TableCell.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Table/TableCellRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Table/TableExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Table/TableParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Table/TableRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Table/TableRow.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Table/TableRowRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Table/TableSection.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Table/TableSectionRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/Table/TableStartParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TableOfContents/Node/TableOfContents.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TableOfContents/Node/TableOfContentsPlaceholder.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TableOfContents/Normalizer/AsIsNormalizerStrategy.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TableOfContents/Normalizer/FlatNormalizerStrategy.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TableOfContents/Normalizer/NormalizerStrategyInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TableOfContents/Normalizer/RelativeNormalizerStrategy.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TableOfContents/TableOfContentsBuilder.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TableOfContents/TableOfContentsExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TableOfContents/TableOfContentsGenerator.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TableOfContents/TableOfContentsGeneratorInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TableOfContents/TableOfContentsPlaceholderParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TableOfContents/TableOfContentsPlaceholderRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TableOfContents/TableOfContentsRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TaskList/TaskListExtension.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TaskList/TaskListItemMarker.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TaskList/TaskListItemMarkerParser.php create mode 100644 apigen/vendor/league/commonmark/src/Extension/TaskList/TaskListItemMarkerRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/GithubFlavoredMarkdownConverter.php create mode 100644 apigen/vendor/league/commonmark/src/Input/MarkdownInput.php create mode 100644 apigen/vendor/league/commonmark/src/Input/MarkdownInputInterface.php create mode 100644 apigen/vendor/league/commonmark/src/MarkdownConverter.php create mode 100644 apigen/vendor/league/commonmark/src/MarkdownConverterInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Block/AbstractBlock.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Block/Document.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Block/Paragraph.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Block/TightBlockInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Inline/AbstractInline.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Inline/AbstractStringContainer.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Inline/AdjacentTextMerger.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Inline/DelimitedInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Inline/Newline.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Inline/Text.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Node.php create mode 100644 apigen/vendor/league/commonmark/src/Node/NodeIterator.php create mode 100644 apigen/vendor/league/commonmark/src/Node/NodeWalker.php create mode 100644 apigen/vendor/league/commonmark/src/Node/NodeWalkerEvent.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Query.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Query/AndExpr.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Query/ExpressionInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Node/Query/OrExpr.php create mode 100644 apigen/vendor/league/commonmark/src/Node/RawMarkupContainerInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Node/StringContainerHelper.php create mode 100644 apigen/vendor/league/commonmark/src/Node/StringContainerInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Normalizer/SlugNormalizer.php create mode 100644 apigen/vendor/league/commonmark/src/Normalizer/TextNormalizer.php create mode 100644 apigen/vendor/league/commonmark/src/Normalizer/TextNormalizerInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Normalizer/UniqueSlugNormalizer.php create mode 100644 apigen/vendor/league/commonmark/src/Normalizer/UniqueSlugNormalizerInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Output/RenderedContent.php create mode 100644 apigen/vendor/league/commonmark/src/Output/RenderedContentInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/Block/AbstractBlockContinueParser.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/Block/BlockContinue.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/Block/BlockContinueParserInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/Block/BlockContinueParserWithInlinesInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/Block/BlockStart.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/Block/BlockStartParserInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/Block/DocumentBlockParser.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/Block/ParagraphParser.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/Block/SkipLinesStartingWithLettersParser.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/Cursor.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/CursorState.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/Inline/InlineParserInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/Inline/InlineParserMatch.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/Inline/NewlineParser.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/InlineParserContext.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/InlineParserEngine.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/InlineParserEngineInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/MarkdownParser.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/MarkdownParserInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/MarkdownParserState.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/MarkdownParserStateInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Parser/ParserLogicException.php create mode 100644 apigen/vendor/league/commonmark/src/Reference/Reference.php create mode 100644 apigen/vendor/league/commonmark/src/Reference/ReferenceInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Reference/ReferenceMap.php create mode 100644 apigen/vendor/league/commonmark/src/Reference/ReferenceMapInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Reference/ReferenceParser.php create mode 100644 apigen/vendor/league/commonmark/src/Reference/ReferenceableInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Renderer/Block/DocumentRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Renderer/Block/ParagraphRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Renderer/ChildNodeRendererInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Renderer/DocumentRendererInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Renderer/HtmlDecorator.php create mode 100644 apigen/vendor/league/commonmark/src/Renderer/HtmlRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Renderer/Inline/NewlineRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Renderer/Inline/TextRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Renderer/MarkdownRendererInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Renderer/NoMatchingRendererException.php create mode 100644 apigen/vendor/league/commonmark/src/Renderer/NodeRendererInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Util/ArrayCollection.php create mode 100644 apigen/vendor/league/commonmark/src/Util/Html5EntityDecoder.php create mode 100644 apigen/vendor/league/commonmark/src/Util/HtmlElement.php create mode 100644 apigen/vendor/league/commonmark/src/Util/HtmlFilter.php create mode 100644 apigen/vendor/league/commonmark/src/Util/LinkParserHelper.php create mode 100644 apigen/vendor/league/commonmark/src/Util/PrioritizedList.php create mode 100644 apigen/vendor/league/commonmark/src/Util/RegexHelper.php create mode 100644 apigen/vendor/league/commonmark/src/Util/SpecReader.php create mode 100644 apigen/vendor/league/commonmark/src/Util/UrlEncoder.php create mode 100644 apigen/vendor/league/commonmark/src/Util/Xml.php create mode 100644 apigen/vendor/league/commonmark/src/Xml/FallbackNodeXmlRenderer.php create mode 100644 apigen/vendor/league/commonmark/src/Xml/MarkdownToXmlConverter.php create mode 100644 apigen/vendor/league/commonmark/src/Xml/XmlNodeRendererInterface.php create mode 100644 apigen/vendor/league/commonmark/src/Xml/XmlRenderer.php create mode 100644 apigen/vendor/league/config/CHANGELOG.md create mode 100644 apigen/vendor/league/config/LICENSE.md create mode 100644 apigen/vendor/league/config/README.md create mode 100644 apigen/vendor/league/config/composer.json create mode 100644 apigen/vendor/league/config/src/Configuration.php create mode 100644 apigen/vendor/league/config/src/ConfigurationAwareInterface.php create mode 100644 apigen/vendor/league/config/src/ConfigurationBuilderInterface.php create mode 100644 apigen/vendor/league/config/src/ConfigurationInterface.php create mode 100644 apigen/vendor/league/config/src/ConfigurationProviderInterface.php create mode 100644 apigen/vendor/league/config/src/Exception/ConfigurationExceptionInterface.php create mode 100644 apigen/vendor/league/config/src/Exception/InvalidConfigurationException.php create mode 100644 apigen/vendor/league/config/src/Exception/UnknownOptionException.php create mode 100644 apigen/vendor/league/config/src/Exception/ValidationException.php create mode 100644 apigen/vendor/league/config/src/MutableConfigurationInterface.php create mode 100644 apigen/vendor/league/config/src/ReadOnlyConfiguration.php create mode 100644 apigen/vendor/league/config/src/SchemaBuilderInterface.php delete mode 100644 apigen/vendor/michelf/php-markdown/.editorconfig delete mode 100644 apigen/vendor/michelf/php-markdown/.gitignore delete mode 100644 apigen/vendor/michelf/php-markdown/.scrutinizer.yml delete mode 100644 apigen/vendor/michelf/php-markdown/.travis.yml delete mode 100644 apigen/vendor/michelf/php-markdown/License.md delete mode 100644 apigen/vendor/michelf/php-markdown/Michelf/Markdown.inc.php delete mode 100644 apigen/vendor/michelf/php-markdown/Michelf/Markdown.php delete mode 100644 apigen/vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php delete mode 100644 apigen/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php delete mode 100644 apigen/vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php delete mode 100644 apigen/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php delete mode 100644 apigen/vendor/michelf/php-markdown/Readme.md delete mode 100644 apigen/vendor/michelf/php-markdown/Readme.php delete mode 100644 apigen/vendor/michelf/php-markdown/composer.json delete mode 100644 apigen/vendor/michelf/php-markdown/phpunit.xml.dist delete mode 100644 apigen/vendor/michelf/php-markdown/test/bootstrap.php delete mode 100644 apigen/vendor/michelf/php-markdown/test/helpers/MarkdownTestHelper.php delete mode 100644 apigen/vendor/michelf/php-markdown/test/integration/PhpMarkdownTest.php delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Amps and angle encoding.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Amps and angle encoding.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Auto links.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Auto links.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Backslash escapes.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Backslash escapes.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Blockquotes with code blocks.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Blockquotes with code blocks.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Code Blocks.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Code Blocks.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Code Spans.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Code Spans.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Hard-wrapped paragraphs with list-like lines.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Hard-wrapped paragraphs with list-like lines.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Horizontal rules.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Horizontal rules.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Images.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Images.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML (Advanced).text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML (Advanced).xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML (Simple).html delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML (Simple).text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML comments.html delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML comments.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, inline style.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, inline style.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, reference style.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, reference style.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, shortcut references.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, shortcut references.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Literal quotes in titles.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Literal quotes in titles.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Markdown Documentation - Basics.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Markdown Documentation - Basics.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Markdown Documentation - Syntax.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Markdown Documentation - Syntax.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Nested blockquotes.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Nested blockquotes.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Ordered and unordered lists.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Ordered and unordered lists.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Strong and em together.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Strong and em together.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Tabs.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Tabs.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Tidyness.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Tidyness.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Abbr.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Abbr.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Backtick Fenced Code Blocks Special Cases.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Backtick Fenced Code Blocks Special Cases.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Backtick Fenced Code Blocks.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Backtick Fenced Code Blocks.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Definition Lists.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Definition Lists.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Emphasis.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Emphasis.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Footnotes.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Footnotes.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Headers with attributes.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Headers with attributes.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Inline HTML with Markdown content.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Inline HTML with Markdown content.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Link & Image Attributes.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Link & Image Attributes.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tables.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tables.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tilde Fenced Code Blocks Special Cases.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tilde Fenced Code Blocks Special Cases.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tilde Fenced Code Blocks.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tilde Fenced Code Blocks.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Adjacent Lists.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Adjacent Lists.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Auto Links.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Auto Links.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Backslash escapes.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Backslash escapes.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code Spans.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code Spans.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block in a list item.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block in a list item.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block on second line.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block on second line.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block regressions.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block regressions.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Email auto links.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Email auto links.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Emphasis.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Emphasis.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Empty List Item.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Empty List Item.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Headers.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Headers.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Horizontal Rules.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Horizontal Rules.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML (Simple).html delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML (Simple).text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML (Span).text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML (Span).xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML comments.html delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML comments.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Ins & del.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Ins & del.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Links, inline style.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Links, inline style.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/MD5 Hashes.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/MD5 Hashes.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Mixed OLs and ULs.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Mixed OLs and ULs.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Nesting.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Nesting.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/PHP-Specific Bugs.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/PHP-Specific Bugs.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Parens in URL.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Parens in URL.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Quotes in attributes.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Quotes in attributes.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Tight blocks.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Tight blocks.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/XML empty tag.text delete mode 100644 apigen/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/XML empty tag.xhtml delete mode 100644 apigen/vendor/michelf/php-markdown/test/unit/MarkdownExtraTest.php delete mode 100644 apigen/vendor/nette/application/composer.json delete mode 100644 apigen/vendor/nette/application/contributing.md delete mode 100644 apigen/vendor/nette/application/readme.md delete mode 100644 apigen/vendor/nette/application/src/Application/Application.php delete mode 100644 apigen/vendor/nette/application/src/Application/ErrorPresenter.php delete mode 100644 apigen/vendor/nette/application/src/Application/Helpers.php delete mode 100644 apigen/vendor/nette/application/src/Application/IPresenter.php delete mode 100644 apigen/vendor/nette/application/src/Application/IPresenterFactory.php delete mode 100644 apigen/vendor/nette/application/src/Application/IResponse.php delete mode 100644 apigen/vendor/nette/application/src/Application/IRouter.php delete mode 100644 apigen/vendor/nette/application/src/Application/LinkGenerator.php delete mode 100644 apigen/vendor/nette/application/src/Application/MicroPresenter.php delete mode 100644 apigen/vendor/nette/application/src/Application/PresenterFactory.php delete mode 100644 apigen/vendor/nette/application/src/Application/Request.php delete mode 100644 apigen/vendor/nette/application/src/Application/Responses/CallbackResponse.php delete mode 100644 apigen/vendor/nette/application/src/Application/Responses/FileResponse.php delete mode 100644 apigen/vendor/nette/application/src/Application/Responses/ForwardResponse.php delete mode 100644 apigen/vendor/nette/application/src/Application/Responses/JsonResponse.php delete mode 100644 apigen/vendor/nette/application/src/Application/Responses/RedirectResponse.php delete mode 100644 apigen/vendor/nette/application/src/Application/Responses/TextResponse.php delete mode 100644 apigen/vendor/nette/application/src/Application/Routers/CliRouter.php delete mode 100644 apigen/vendor/nette/application/src/Application/Routers/Route.php delete mode 100644 apigen/vendor/nette/application/src/Application/Routers/RouteList.php delete mode 100644 apigen/vendor/nette/application/src/Application/Routers/SimpleRouter.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/BadSignalException.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/Component.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/ComponentReflection.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/Control.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/Form.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/IRenderable.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/ISignalReceiver.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/IStatePersistent.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/ITemplate.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/ITemplateFactory.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/InvalidLinkException.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/Link.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/MethodReflection.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/Multiplier.php delete mode 100644 apigen/vendor/nette/application/src/Application/UI/Presenter.php delete mode 100644 apigen/vendor/nette/application/src/Application/exceptions.php delete mode 100644 apigen/vendor/nette/application/src/Application/templates/error.phtml delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationDI/ApplicationExtension.php delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationDI/LatteExtension.php delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationDI/PresenterFactoryCallback.php delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationDI/RoutingExtension.php delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationLatte/ILatteFactory.php delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationLatte/Loader.php delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationLatte/SnippetBridge.php delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationLatte/Template.php delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationLatte/TemplateFactory.php delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationLatte/UIMacros.php delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationLatte/UIRuntime.php delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationTracy/RoutingPanel.php delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationTracy/templates/RoutingPanel.panel.phtml delete mode 100644 apigen/vendor/nette/application/src/Bridges/ApplicationTracy/templates/RoutingPanel.tab.phtml delete mode 100644 apigen/vendor/nette/application/src/compatibility.php delete mode 100644 apigen/vendor/nette/bootstrap/composer.json delete mode 100644 apigen/vendor/nette/bootstrap/contributing.md delete mode 100644 apigen/vendor/nette/bootstrap/license.md delete mode 100644 apigen/vendor/nette/bootstrap/readme.md delete mode 100644 apigen/vendor/nette/bootstrap/src/Bootstrap/Configurator.php delete mode 100644 apigen/vendor/nette/bootstrap/src/Bridges/Framework/TracyBridge.php delete mode 100644 apigen/vendor/nette/caching/composer.json delete mode 100644 apigen/vendor/nette/caching/contributing.md delete mode 100644 apigen/vendor/nette/caching/license.md delete mode 100644 apigen/vendor/nette/caching/readme.md delete mode 100644 apigen/vendor/nette/caching/src/Bridges/CacheDI/CacheExtension.php delete mode 100644 apigen/vendor/nette/caching/src/Bridges/CacheLatte/CacheMacro.php delete mode 100644 apigen/vendor/nette/caching/src/Caching/Cache.php delete mode 100644 apigen/vendor/nette/caching/src/Caching/IBulkReader.php delete mode 100644 apigen/vendor/nette/caching/src/Caching/IStorage.php delete mode 100644 apigen/vendor/nette/caching/src/Caching/OutputHelper.php delete mode 100644 apigen/vendor/nette/caching/src/Caching/Storages/DevNullStorage.php delete mode 100644 apigen/vendor/nette/caching/src/Caching/Storages/FileStorage.php delete mode 100644 apigen/vendor/nette/caching/src/Caching/Storages/IJournal.php delete mode 100644 apigen/vendor/nette/caching/src/Caching/Storages/MemcachedStorage.php delete mode 100644 apigen/vendor/nette/caching/src/Caching/Storages/MemoryStorage.php delete mode 100644 apigen/vendor/nette/caching/src/Caching/Storages/NewMemcachedStorage.php delete mode 100644 apigen/vendor/nette/caching/src/Caching/Storages/SQLiteJournal.php delete mode 100644 apigen/vendor/nette/caching/src/Caching/Storages/SQLiteStorage.php delete mode 100644 apigen/vendor/nette/component-model/composer.json delete mode 100644 apigen/vendor/nette/component-model/contributing.md delete mode 100644 apigen/vendor/nette/component-model/license.md delete mode 100644 apigen/vendor/nette/component-model/readme.md delete mode 100644 apigen/vendor/nette/component-model/src/ComponentModel/ArrayAccess.php delete mode 100644 apigen/vendor/nette/component-model/src/ComponentModel/Component.php delete mode 100644 apigen/vendor/nette/component-model/src/ComponentModel/Container.php delete mode 100644 apigen/vendor/nette/component-model/src/ComponentModel/IComponent.php delete mode 100644 apigen/vendor/nette/component-model/src/ComponentModel/IContainer.php delete mode 100644 apigen/vendor/nette/component-model/src/ComponentModel/RecursiveComponentIterator.php create mode 100644 apigen/vendor/nette/di/src/DI/Attributes/Inject.php create mode 100644 apigen/vendor/nette/di/src/DI/Autowiring.php create mode 100644 apigen/vendor/nette/di/src/DI/Config/Adapter.php delete mode 100644 apigen/vendor/nette/di/src/DI/Config/Adapters/IniAdapter.php delete mode 100644 apigen/vendor/nette/di/src/DI/Config/IAdapter.php create mode 100644 apigen/vendor/nette/di/src/DI/Definitions/AccessorDefinition.php create mode 100644 apigen/vendor/nette/di/src/DI/Definitions/Definition.php create mode 100644 apigen/vendor/nette/di/src/DI/Definitions/FactoryDefinition.php create mode 100644 apigen/vendor/nette/di/src/DI/Definitions/ImportedDefinition.php create mode 100644 apigen/vendor/nette/di/src/DI/Definitions/LocatorDefinition.php create mode 100644 apigen/vendor/nette/di/src/DI/Definitions/Reference.php create mode 100644 apigen/vendor/nette/di/src/DI/Definitions/ServiceDefinition.php create mode 100644 apigen/vendor/nette/di/src/DI/Definitions/Statement.php create mode 100644 apigen/vendor/nette/di/src/DI/DynamicParameter.php create mode 100644 apigen/vendor/nette/di/src/DI/Extensions/DefinitionSchema.php create mode 100644 apigen/vendor/nette/di/src/DI/Extensions/ParametersExtension.php create mode 100644 apigen/vendor/nette/di/src/DI/Extensions/SearchExtension.php create mode 100644 apigen/vendor/nette/di/src/DI/Extensions/ServicesExtension.php delete mode 100644 apigen/vendor/nette/di/src/DI/PhpReflection.php create mode 100644 apigen/vendor/nette/di/src/DI/Resolver.php delete mode 100644 apigen/vendor/nette/di/src/DI/ServiceDefinition.php delete mode 100644 apigen/vendor/nette/di/src/DI/Statement.php create mode 100644 apigen/vendor/nette/di/src/compatibility.php delete mode 100644 apigen/vendor/nette/finder/contributing.md delete mode 100644 apigen/vendor/nette/finder/src/Utils/Finder.php delete mode 100644 apigen/vendor/nette/http/appveyor.yml delete mode 100644 apigen/vendor/nette/http/composer.json delete mode 100644 apigen/vendor/nette/http/contributing.md delete mode 100644 apigen/vendor/nette/http/license.md delete mode 100644 apigen/vendor/nette/http/readme.md delete mode 100644 apigen/vendor/nette/http/src/Bridges/HttpDI/HttpExtension.php delete mode 100644 apigen/vendor/nette/http/src/Bridges/HttpDI/SessionExtension.php delete mode 100644 apigen/vendor/nette/http/src/Bridges/HttpTracy/SessionPanel.php delete mode 100644 apigen/vendor/nette/http/src/Bridges/HttpTracy/templates/SessionPanel.panel.phtml delete mode 100644 apigen/vendor/nette/http/src/Bridges/HttpTracy/templates/SessionPanel.tab.phtml delete mode 100644 apigen/vendor/nette/http/src/Http/Context.php delete mode 100644 apigen/vendor/nette/http/src/Http/FileUpload.php delete mode 100644 apigen/vendor/nette/http/src/Http/Helpers.php delete mode 100644 apigen/vendor/nette/http/src/Http/IRequest.php delete mode 100644 apigen/vendor/nette/http/src/Http/IResponse.php delete mode 100644 apigen/vendor/nette/http/src/Http/ISessionStorage.php delete mode 100644 apigen/vendor/nette/http/src/Http/Request.php delete mode 100644 apigen/vendor/nette/http/src/Http/RequestFactory.php delete mode 100644 apigen/vendor/nette/http/src/Http/Response.php delete mode 100644 apigen/vendor/nette/http/src/Http/Session.php delete mode 100644 apigen/vendor/nette/http/src/Http/SessionSection.php delete mode 100644 apigen/vendor/nette/http/src/Http/Url.php delete mode 100644 apigen/vendor/nette/http/src/Http/UrlScript.php delete mode 100644 apigen/vendor/nette/http/src/Http/UserStorage.php delete mode 100644 apigen/vendor/nette/mail/composer.json delete mode 100644 apigen/vendor/nette/mail/contributing.md delete mode 100644 apigen/vendor/nette/mail/license.md delete mode 100644 apigen/vendor/nette/mail/readme.md delete mode 100644 apigen/vendor/nette/mail/src/Bridges/MailDI/MailExtension.php delete mode 100644 apigen/vendor/nette/mail/src/Mail/FallbackMailer.php delete mode 100644 apigen/vendor/nette/mail/src/Mail/IMailer.php delete mode 100644 apigen/vendor/nette/mail/src/Mail/Message.php delete mode 100644 apigen/vendor/nette/mail/src/Mail/MimePart.php delete mode 100644 apigen/vendor/nette/mail/src/Mail/SendmailMailer.php delete mode 100644 apigen/vendor/nette/mail/src/Mail/SmtpMailer.php delete mode 100644 apigen/vendor/nette/mail/src/Mail/exceptions.php create mode 100644 apigen/vendor/nette/neon/bin/neon-lint delete mode 100644 apigen/vendor/nette/neon/contributing.md create mode 100644 apigen/vendor/nette/neon/src/Neon/Lexer.php create mode 100644 apigen/vendor/nette/neon/src/Neon/Node.php create mode 100644 apigen/vendor/nette/neon/src/Neon/Node/ArrayItemNode.php create mode 100644 apigen/vendor/nette/neon/src/Neon/Node/ArrayNode.php create mode 100644 apigen/vendor/nette/neon/src/Neon/Node/BlockArrayNode.php create mode 100644 apigen/vendor/nette/neon/src/Neon/Node/EntityChainNode.php create mode 100644 apigen/vendor/nette/neon/src/Neon/Node/EntityNode.php create mode 100644 apigen/vendor/nette/neon/src/Neon/Node/InlineArrayNode.php create mode 100644 apigen/vendor/nette/neon/src/Neon/Node/LiteralNode.php create mode 100644 apigen/vendor/nette/neon/src/Neon/Node/StringNode.php create mode 100644 apigen/vendor/nette/neon/src/Neon/Parser.php create mode 100644 apigen/vendor/nette/neon/src/Neon/Token.php create mode 100644 apigen/vendor/nette/neon/src/Neon/TokenStream.php create mode 100644 apigen/vendor/nette/neon/src/Neon/Traverser.php delete mode 100644 apigen/vendor/nette/neon/src/neon.php delete mode 100644 apigen/vendor/nette/neon/syntax.txt delete mode 100644 apigen/vendor/nette/php-generator/contributing.md create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Attribute.php create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/ClassLike.php create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/EnumCase.php create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/EnumType.php create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Extractor.php create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/InterfaceType.php create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/PromotedParameter.php create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/TraitType.php create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/TraitUse.php create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Traits/AttributeAware.php create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Traits/ConstantsAware.php create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Traits/MethodsAware.php create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Traits/PropertiesAware.php create mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Traits/TraitsAware.php delete mode 100644 apigen/vendor/nette/reflection/composer.json delete mode 100644 apigen/vendor/nette/reflection/contributing.md delete mode 100644 apigen/vendor/nette/reflection/license.md delete mode 100644 apigen/vendor/nette/reflection/readme.md delete mode 100644 apigen/vendor/nette/reflection/src/Bridges/ReflectionDI/ReflectionExtension.php delete mode 100644 apigen/vendor/nette/reflection/src/Reflection/Annotation.php delete mode 100644 apigen/vendor/nette/reflection/src/Reflection/AnnotationsParser.php delete mode 100644 apigen/vendor/nette/reflection/src/Reflection/ClassType.php delete mode 100644 apigen/vendor/nette/reflection/src/Reflection/Extension.php delete mode 100644 apigen/vendor/nette/reflection/src/Reflection/GlobalFunction.php delete mode 100644 apigen/vendor/nette/reflection/src/Reflection/Helpers.php delete mode 100644 apigen/vendor/nette/reflection/src/Reflection/IAnnotation.php delete mode 100644 apigen/vendor/nette/reflection/src/Reflection/Method.php delete mode 100644 apigen/vendor/nette/reflection/src/Reflection/Parameter.php delete mode 100644 apigen/vendor/nette/reflection/src/Reflection/Property.php delete mode 100644 apigen/vendor/nette/robot-loader/.github/issue_template.md delete mode 100644 apigen/vendor/nette/robot-loader/.github/pull_request_template.md delete mode 100644 apigen/vendor/nette/robot-loader/contributing.md delete mode 100644 apigen/vendor/nette/safe-stream/composer.json delete mode 100644 apigen/vendor/nette/safe-stream/contributing.md delete mode 100644 apigen/vendor/nette/safe-stream/license.md delete mode 100644 apigen/vendor/nette/safe-stream/readme.md delete mode 100644 apigen/vendor/nette/safe-stream/src/SafeStream/SafeStream.php delete mode 100644 apigen/vendor/nette/safe-stream/src/loader.php create mode 100644 apigen/vendor/nette/schema/composer.json rename apigen/vendor/nette/{application => schema}/license.md (100%) create mode 100644 apigen/vendor/nette/schema/readme.md create mode 100644 apigen/vendor/nette/schema/src/Schema/Context.php create mode 100644 apigen/vendor/nette/schema/src/Schema/DynamicParameter.php create mode 100644 apigen/vendor/nette/schema/src/Schema/Elements/AnyOf.php create mode 100644 apigen/vendor/nette/schema/src/Schema/Elements/Base.php create mode 100644 apigen/vendor/nette/schema/src/Schema/Elements/Structure.php create mode 100644 apigen/vendor/nette/schema/src/Schema/Elements/Type.php create mode 100644 apigen/vendor/nette/schema/src/Schema/Expect.php create mode 100644 apigen/vendor/nette/schema/src/Schema/Helpers.php create mode 100644 apigen/vendor/nette/schema/src/Schema/Message.php create mode 100644 apigen/vendor/nette/schema/src/Schema/Processor.php create mode 100644 apigen/vendor/nette/schema/src/Schema/Schema.php create mode 100644 apigen/vendor/nette/schema/src/Schema/ValidationException.php delete mode 100644 apigen/vendor/nette/utils/contributing.md create mode 100644 apigen/vendor/nette/utils/src/HtmlStringable.php create mode 100644 apigen/vendor/nette/utils/src/SmartObject.php create mode 100644 apigen/vendor/nette/utils/src/StaticClass.php create mode 100644 apigen/vendor/nette/utils/src/Translator.php create mode 100644 apigen/vendor/nette/utils/src/Utils/FileInfo.php create mode 100644 apigen/vendor/nette/utils/src/Utils/Finder.php create mode 100644 apigen/vendor/nette/utils/src/Utils/Floats.php create mode 100644 apigen/vendor/nette/utils/src/Utils/Helpers.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/IHtmlString.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/ITranslator.php create mode 100644 apigen/vendor/nette/utils/src/Utils/ImageColor.php create mode 100644 apigen/vendor/nette/utils/src/Utils/ImageType.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/LegacyObject.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/ObjectMixin.php create mode 100644 apigen/vendor/nette/utils/src/Utils/ReflectionMethod.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/SmartObject.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/StaticClass.php create mode 100644 apigen/vendor/nette/utils/src/Utils/Type.php create mode 100644 apigen/vendor/nette/utils/src/compatibility.php create mode 100644 apigen/vendor/nette/utils/src/exceptions.php delete mode 100644 apigen/vendor/nette/utils/src/loader.php create mode 100644 apigen/vendor/nikic/php-parser/LICENSE create mode 100644 apigen/vendor/nikic/php-parser/README.md create mode 100644 apigen/vendor/nikic/php-parser/bin/php-parse create mode 100644 apigen/vendor/nikic/php-parser/composer.json create mode 100644 apigen/vendor/nikic/php-parser/grammar/README.md create mode 100644 apigen/vendor/nikic/php-parser/grammar/parser.template create mode 100644 apigen/vendor/nikic/php-parser/grammar/php5.y create mode 100644 apigen/vendor/nikic/php-parser/grammar/php7.y create mode 100644 apigen/vendor/nikic/php-parser/grammar/phpyLang.php create mode 100644 apigen/vendor/nikic/php-parser/grammar/rebuildParsers.php create mode 100644 apigen/vendor/nikic/php-parser/grammar/tokens.template create mode 100644 apigen/vendor/nikic/php-parser/grammar/tokens.y create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/Class_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/Enum_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Comment.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Error.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NameContext.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Arg.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Attribute.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/ComplexType.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/MatchArm.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Parser.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Parser/Multiple.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php create mode 100644 apigen/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/.gitattributes create mode 100644 apigen/vendor/phpstan/php-8-stubs/.gitignore create mode 100644 apigen/vendor/phpstan/php-8-stubs/Php8StubsMap.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/README.md create mode 100644 apigen/vendor/phpstan/php-8-stubs/composer.json create mode 100644 apigen/vendor/phpstan/php-8-stubs/composer.lock create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/LICENSE create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/AllowDynamicProperties.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/ArgumentCountError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/ArithmeticError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/ArrayAccess.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/Attribute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/BackedEnum.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/ClosedGeneratorException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/Closure.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/CompileError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/Countable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/DivisionByZeroError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/Error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/ErrorException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/Exception.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/Fiber.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/FiberError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/Generator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/InternalIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/Iterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/IteratorAggregate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/Override.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/ParseError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/ReturnTypeWillChange.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/SensitiveParameter.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/SensitiveParameterValue.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/Serializable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/Stringable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/Throwable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/Traversable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/TypeError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/UnhandledMatchError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/UnitEnum.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/ValueError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/WeakMap.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/WeakReference.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/class_alias.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/class_exists.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/debug_backtrace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/debug_print_backtrace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/define.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/defined.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/enum_exists.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/error_reporting.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/extension_loaded.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/func_get_arg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/func_get_args.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/func_num_args.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/function_exists.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/gc_collect_cycles.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/gc_disable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/gc_enable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/gc_enabled.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/gc_mem_caches.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/gc_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_called_class.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_class.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_class_methods.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_class_vars.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_declared_classes.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_declared_interfaces.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_declared_traits.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_defined_constants.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_defined_functions.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_defined_vars.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_extension_funcs.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_included_files.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_loaded_extensions.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_mangled_object_vars.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_object_vars.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_parent_class.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_required_files.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_resource_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_resource_type.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/get_resources.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/interface_exists.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/is_a.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/is_subclass_of.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/method_exists.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/property_exists.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/restore_error_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/restore_exception_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/set_error_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/set_exception_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/stdClass.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/strcasecmp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/strcmp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/strlen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/strncasecmp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/strncmp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/trait_exists.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/trigger_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/user_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/zend_thread_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/Zend/zend_version.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bcmath/bcadd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bcmath/bccomp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bcmath/bcdiv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bcmath/bcmod.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bcmath/bcmul.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bcmath/bcpow.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bcmath/bcpowmod.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bcmath/bcscale.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bcmath/bcsqrt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bcmath/bcsub.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bz2/bzclose.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bz2/bzcompress.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bz2/bzdecompress.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bz2/bzerrno.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bz2/bzerror.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bz2/bzerrstr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bz2/bzflush.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bz2/bzopen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bz2/bzread.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/bz2/bzwrite.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/cal_days_in_month.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/cal_from_jd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/cal_info.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/cal_to_jd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/easter_date.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/easter_days.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/frenchtojd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/gregoriantojd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/jddayofweek.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/jdmonthname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/jdtofrench.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/jdtogregorian.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/jdtojewish.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/jdtojulian.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/jdtounix.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/jewishtojd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/juliantojd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/calendar/unixtojd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/COMPersistHelper.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/com.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/com_create_guid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/com_event_sink.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/com_exception.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/com_get_active_object.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/com_load_typelib.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/com_message_pump.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/com_print_typeinfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/com_safearray_proxy.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/dotnet.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_abs.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_add.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_and.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_cast.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_cat.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_cmp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_date_from_timestamp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_date_to_timestamp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_div.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_eqv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_fix.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_get_type.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_idiv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_imp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_int.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_mod.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_mul.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_neg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_not.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_or.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_pow.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_round.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_set_type.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_sub.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/com_dotnet/variant_xor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ctype/ctype_alnum.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ctype/ctype_alpha.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ctype/ctype_cntrl.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ctype/ctype_digit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ctype/ctype_graph.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ctype/ctype_lower.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ctype/ctype_print.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ctype/ctype_punct.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ctype/ctype_space.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ctype/ctype_upper.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ctype/ctype_xdigit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/CURLFile.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/CURLStringFile.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/CurlHandle.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/CurlMultiHandle.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/CurlShareHandle.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_copy_handle.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_errno.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_escape.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_exec.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_file_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_getinfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_init.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_multi_add_handle.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_multi_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_multi_errno.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_multi_exec.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_multi_getcontent.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_multi_info_read.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_multi_init.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_multi_remove_handle.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_multi_select.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_multi_setopt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_multi_strerror.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_pause.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_reset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_setopt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_setopt_array.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_share_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_share_errno.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_share_init.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_share_setopt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_share_strerror.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_strerror.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_unescape.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_upkeep.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/curl/curl_version.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateInterval.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateInvalidOperationException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateInvalidTimeZoneException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateMalformedIntervalStringException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateMalformedPeriodStringException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateMalformedStringException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateObjectError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DatePeriod.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateRangeError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateTime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateTimeImmutable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateTimeInterface.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/DateTimeZone.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/checkdate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_add.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_create_from_format.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_create_immutable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_create_immutable_from_format.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_date_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_default_timezone_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_default_timezone_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_diff.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_format.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_get_last_errors.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_interval_create_from_date_string.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_interval_format.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_isodate_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_modify.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_offset_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_parse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_parse_from_format.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_sub.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_sun_info.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_sunrise.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_sunset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_time_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_timestamp_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_timestamp_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_timezone_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/date_timezone_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/getdate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/gmdate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/gmmktime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/gmstrftime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/idate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/localtime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/mktime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/strftime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/strtotime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/time.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/timezone_abbreviations_list.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/timezone_identifiers_list.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/timezone_location_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/timezone_name_from_abbr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/timezone_name_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/timezone_offset_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/timezone_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/timezone_transitions_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/date/timezone_version_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_delete.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_exists.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_fetch.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_firstkey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_handlers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_insert.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_key_split.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_list.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_nextkey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_optimize.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_popen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_replace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dba/dba_sync.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMAttr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMCdataSection.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMCharacterData.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMChildNode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMComment.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMDocument.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMDocumentFragment.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMDocumentType.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMElement.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMEntity.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMEntityReference.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMImplementation.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMNameSpaceNode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMNamedNodeMap.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMNode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMNodeList.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMNotation.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMParentNode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMProcessingInstruction.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMText.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/DOMXPath.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/dom/dom_import_simplexml.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/EnchantBroker.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/EnchantDictionary.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_broker_describe.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_broker_dict_exists.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_broker_free.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_broker_free_dict.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_broker_get_dict_path.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_broker_get_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_broker_init.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_broker_list_dicts.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_broker_request_dict.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_broker_request_pwl_dict.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_broker_set_dict_path.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_broker_set_ordering.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_dict_add.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_dict_add_to_personal.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_dict_add_to_session.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_dict_check.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_dict_describe.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_dict_get_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_dict_is_added.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_dict_is_in_session.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_dict_quick_check.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_dict_store_replacement.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/enchant/enchant_dict_suggest.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/exif/exif_imagetype.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/exif/exif_read_data.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/exif/exif_tagname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/exif/exif_thumbnail.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ffi/FFI.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ffi/FFI/CData.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ffi/FFI/CType.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ffi/FFI/Exception.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ffi/FFI/ParserException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/fileinfo/finfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/fileinfo/finfo_buffer.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/fileinfo/finfo_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/fileinfo/finfo_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/fileinfo/finfo_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/fileinfo/finfo_set_flags.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/fileinfo/mime_content_type.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/filter/filter_has_var.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/filter/filter_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/filter/filter_input.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/filter/filter_input_array.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/filter/filter_list.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/filter/filter_var.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/filter/filter_var_array.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/FTP/Connection.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_alloc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_append.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_cdup.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_chdir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_chmod.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_connect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_delete.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_exec.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_fget.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_fput.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_get_option.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_login.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_mdtm.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_mkdir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_mlsd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_nb_continue.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_nb_fget.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_nb_fput.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_nb_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_nb_put.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_nlist.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_pasv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_put.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_pwd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_quit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_raw.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_rawlist.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_rename.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_rmdir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_set_option.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_site.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_size.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_ssl_connect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ftp/ftp_systype.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/GdFont.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/GdImage.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/gd_info.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageaffine.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageaffinematrixconcat.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageaffinematrixget.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagealphablending.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageantialias.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagearc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageavif.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagebmp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagechar.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecharup.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolorallocate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolorallocatealpha.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolorat.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolorclosest.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolorclosestalpha.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolorclosesthwb.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolordeallocate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolorexact.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolorexactalpha.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolormatch.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolorresolve.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolorresolvealpha.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolorset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolorsforindex.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolorstotal.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecolortransparent.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageconvolution.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecopy.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecopymerge.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecopymergegray.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecopyresampled.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecopyresized.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefromavif.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefrombmp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefromgd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefromgd2.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefromgd2part.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefromgif.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefromjpeg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefrompng.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefromstring.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefromtga.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefromwbmp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefromwebp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefromxbm.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatefromxpm.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecreatetruecolor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecrop.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagecropauto.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagedashedline.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagedestroy.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageellipse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagefill.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagefilledarc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagefilledellipse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagefilledpolygon.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagefilledrectangle.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagefilltoborder.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagefilter.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageflip.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagefontheight.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagefontwidth.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageftbbox.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagefttext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagegammacorrect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagegd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagegd2.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagegetclip.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagegetinterpolation.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagegif.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagegrabscreen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagegrabwindow.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageinterlace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageistruecolor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagejpeg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagelayereffect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageline.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageloadfont.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageopenpolygon.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagepalettecopy.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagepalettetotruecolor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagepng.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagepolygon.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagerectangle.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imageresolution.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagerotate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagesavealpha.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagescale.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagesetbrush.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagesetclip.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagesetinterpolation.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagesetpixel.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagesetstyle.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagesetthickness.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagesettile.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagestring.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagestringup.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagesx.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagesy.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagetruecolortopalette.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagettfbbox.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagettftext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagetypes.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagewbmp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagewebp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gd/imagexbm.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gettext/_.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gettext/bind_textdomain_codeset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gettext/bindtextdomain.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gettext/dcgettext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gettext/dcngettext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gettext/dgettext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gettext/dngettext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gettext/gettext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gettext/ngettext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gettext/textdomain.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/GMP.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_abs.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_add.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_and.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_binomial.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_clrbit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_cmp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_com.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_div.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_div_q.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_div_qr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_div_r.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_divexact.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_export.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_fact.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_gcd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_gcdext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_hamdist.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_import.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_init.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_intval.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_invert.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_jacobi.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_kronecker.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_lcm.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_legendre.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_mod.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_mul.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_neg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_nextprime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_or.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_perfect_power.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_perfect_square.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_popcount.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_pow.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_powm.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_prob_prime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_random_bits.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_random_range.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_random_seed.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_root.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_rootrem.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_scan0.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_scan1.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_setbit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_sign.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_sqrt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_sqrtrem.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_strval.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_sub.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_testbit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/gmp/gmp_xor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/HashContext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_algos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_copy.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_equals.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_final.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_hkdf.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_hmac.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_hmac_algos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_hmac_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_init.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_pbkdf2.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_update.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_update_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/hash_update_stream.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/mhash.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/mhash_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/mhash_get_block_size.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/mhash_get_hash_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/hash/mhash_keygen_s2k.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/iconv/iconv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/iconv/iconv_get_encoding.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/iconv/iconv_mime_decode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/iconv/iconv_mime_decode_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/iconv/iconv_mime_encode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/iconv/iconv_set_encoding.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/iconv/iconv_strlen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/iconv/iconv_strpos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/iconv/iconv_strrpos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/iconv/iconv_substr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/IMAP/Connection.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_8bit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_alerts.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_append.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_base64.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_binary.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_body.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_bodystruct.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_check.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_clearflag_full.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_createmailbox.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_delete.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_deletemailbox.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_errors.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_expunge.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_fetch_overview.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_fetchbody.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_fetchheader.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_fetchmime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_fetchstructure.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_fetchtext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_gc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_get_quota.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_get_quotaroot.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_getacl.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_getmailboxes.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_getsubscribed.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_headerinfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_is_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_last_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_list.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_listmailbox.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_listscan.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_listsubscribed.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_lsub.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_mail.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_mail_compose.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_mail_copy.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_mail_move.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_mailboxmsginfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_mime_header_decode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_msgno.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_mutf7_to_utf8.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_num_msg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_num_recent.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_ping.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_qprint.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_rename.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_renamemailbox.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_reopen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_rfc822_parse_adrlist.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_rfc822_parse_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_rfc822_write_address.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_savebody.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_scan.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_scanmailbox.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_search.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_set_quota.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_setacl.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_setflag_full.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_sort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_subscribe.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_thread.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_timeout.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_uid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_undelete.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_unsubscribe.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_utf7_decode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_utf7_encode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_utf8.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/imap/imap_utf8_to_mutf7.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/IntlException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/breakiterator/IntlBreakIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/breakiterator/IntlCodePointBreakIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/breakiterator/IntlPartsIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/breakiterator/IntlRuleBasedBreakIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/calendar/IntlCalendar.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/calendar/IntlGregorianCalendar.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator/Collator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator_asort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator_compare.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator_get_attribute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator_get_error_code.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator_get_error_message.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator_get_locale.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator_get_sort_key.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator_get_strength.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator_set_attribute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator_set_strength.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator_sort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/collator_sort_with_sort_keys.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/common/IntlIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/converter/UConverter.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_format.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_format_object.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_get_calendar.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_get_calendar_object.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_get_datetype.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_get_error_code.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_get_error_message.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_get_locale.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_get_pattern.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_get_timetype.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_get_timezone.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_get_timezone_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_is_lenient.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_localtime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_parse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_set_calendar.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_set_lenient.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_set_pattern.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/datefmt_set_timezone.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/dateformat/IntlDateFormatter.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/dateformat/IntlDatePatternGenerator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/formatter/NumberFormatter.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/grapheme_extract.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/grapheme_stripos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/grapheme_stristr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/grapheme_strlen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/grapheme_strpos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/grapheme_strripos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/grapheme_strrpos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/grapheme_strstr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/grapheme_substr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/idn_to_ascii.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/idn_to_utf8.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intl_error_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intl_get_error_code.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intl_get_error_message.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intl_is_failure.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_add.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_after.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_before.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_clear.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_create_instance.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_equals.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_field_difference.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_from_date_time.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_actual_maximum.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_actual_minimum.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_available_locales.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_day_of_week_type.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_error_code.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_error_message.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_first_day_of_week.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_greatest_minimum.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_keyword_values_for_locale.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_least_maximum.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_locale.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_maximum.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_minimal_days_in_first_week.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_minimum.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_now.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_repeated_wall_time_option.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_skipped_wall_time_option.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_time.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_time_zone.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_type.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_get_weekend_transition.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_in_daylight_time.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_is_equivalent_to.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_is_lenient.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_is_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_is_weekend.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_roll.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_set_first_day_of_week.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_set_lenient.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_set_minimal_days_in_first_week.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_set_repeated_wall_time_option.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_set_skipped_wall_time_option.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_set_time.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_set_time_zone.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlcal_to_date_time.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlgregcal_create_instance.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlgregcal_get_gregorian_change.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlgregcal_is_leap_year.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intlgregcal_set_gregorian_change.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_count_equivalent_ids.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_create_default.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_create_enumeration.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_create_time_zone.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_create_time_zone_id_enumeration.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_from_date_time_zone.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_canonical_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_display_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_dst_savings.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_equivalent_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_error_code.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_error_message.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_gmt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_id_for_windows_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_offset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_raw_offset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_region.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_tz_data_version.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_unknown.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_get_windows_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_has_same_rules.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_to_date_time_zone.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/intltz_use_daylight_time.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale/Locale.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_accept_from_http.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_canonicalize.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_compose.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_filter_matches.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_get_all_variants.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_get_default.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_get_display_language.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_get_display_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_get_display_region.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_get_display_script.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_get_display_variant.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_get_keywords.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_get_primary_language.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_get_region.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_get_script.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_lookup.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_parse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/locale_set_default.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/msgfmt_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/msgfmt_format.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/msgfmt_format_message.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/msgfmt_get_error_code.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/msgfmt_get_error_message.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/msgfmt_get_locale.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/msgfmt_get_pattern.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/msgfmt_parse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/msgfmt_parse_message.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/msgfmt_set_pattern.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/msgformat/MessageFormatter.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/normalizer/Normalizer.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/normalizer_get_raw_decomposition.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/normalizer_is_normalized.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/normalizer_normalize.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_format.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_format_currency.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_get_attribute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_get_error_code.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_get_error_message.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_get_locale.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_get_pattern.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_get_symbol.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_get_text_attribute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_parse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_parse_currency.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_set_attribute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_set_pattern.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_set_symbol.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/numfmt_set_text_attribute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/resourcebundle/ResourceBundle.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/resourcebundle_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/resourcebundle_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/resourcebundle_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/resourcebundle_get_error_code.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/resourcebundle_get_error_message.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/resourcebundle_locales.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/spoofchecker/Spoofchecker.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/timezone/IntlTimeZone.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/transliterator/Transliterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/transliterator_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/transliterator_create_from_rules.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/transliterator_create_inverse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/transliterator_get_error_code.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/transliterator_get_error_message.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/transliterator_list_ids.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/transliterator_transliterate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/intl/uchar/IntlChar.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/json/JsonException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/json/JsonSerializable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/json/json_decode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/json/json_encode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/json/json_last_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/json/json_last_error_msg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/json/json_validate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/LDAP/Connection.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/LDAP/Result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/LDAP/ResultEntry.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_8859_to_t61.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_add.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_add_ext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_bind.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_bind_ext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_compare.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_connect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_connect_wallet.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_count_entries.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_count_references.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_delete.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_delete_ext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_dn2ufn.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_err2str.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_errno.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_escape.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_exop.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_exop_passwd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_exop_refresh.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_exop_sync.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_exop_whoami.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_explode_dn.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_first_attribute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_first_entry.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_first_reference.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_free_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_get_attributes.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_get_dn.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_get_entries.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_get_option.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_get_values.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_get_values_len.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_list.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_mod_add.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_mod_add_ext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_mod_del.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_mod_del_ext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_mod_replace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_mod_replace_ext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_modify.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_modify_batch.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_next_attribute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_next_entry.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_next_reference.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_parse_exop.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_parse_reference.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_parse_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_read.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_rename.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_rename_ext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_sasl_bind.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_search.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_set_option.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_set_rebind_proc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_start_tls.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_t61_to_8859.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/ldap/ldap_unbind.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/libxml/LibXMLError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/libxml/libxml_clear_errors.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/libxml/libxml_disable_entity_loader.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/libxml/libxml_get_errors.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/libxml/libxml_get_external_entity_loader.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/libxml/libxml_get_last_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/libxml/libxml_set_external_entity_loader.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/libxml/libxml_set_streams_context.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/libxml/libxml_use_internal_errors.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_check_encoding.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_chr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_convert_case.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_convert_encoding.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_convert_kana.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_convert_variables.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_decode_mimeheader.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_decode_numericentity.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_detect_encoding.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_detect_order.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_encode_mimeheader.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_encode_numericentity.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_encoding_aliases.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_ereg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_ereg_match.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_ereg_replace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_ereg_replace_callback.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_ereg_search.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_ereg_search_getpos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_ereg_search_getregs.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_ereg_search_init.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_ereg_search_pos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_ereg_search_regs.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_ereg_search_setpos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_eregi.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_eregi_replace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_get_info.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_http_input.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_http_output.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_internal_encoding.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_language.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_list_encodings.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_ord.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_output_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_parse_str.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_preferred_mime_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_regex_encoding.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_regex_set_options.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_scrub.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_send_mail.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_split.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_str_pad.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_str_split.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_strcut.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_strimwidth.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_stripos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_stristr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_strlen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_strpos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_strrchr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_strrichr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_strripos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_strrpos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_strstr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_strtolower.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_strtoupper.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_strwidth.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_substitute_character.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_substr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mbstring/mb_substr_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_affected_rows.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_autocommit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_begin_transaction.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_change_user.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_character_set_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_commit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_connect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_connect_errno.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_connect_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_data_seek.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_debug.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_driver.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_dump_debug_info.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_errno.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_error_list.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_escape_string.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_execute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_execute_query.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_fetch_all.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_fetch_array.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_fetch_assoc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_fetch_column.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_fetch_field.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_fetch_field_direct.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_fetch_fields.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_fetch_lengths.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_fetch_object.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_fetch_row.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_field_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_field_seek.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_field_tell.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_free_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_get_charset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_get_client_info.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_get_client_stats.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_get_client_version.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_get_connection_stats.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_get_host_info.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_get_links_stats.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_get_proto_info.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_get_server_info.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_get_server_version.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_get_warnings.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_info.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_init.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_insert_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_kill.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_more_results.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_multi_query.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_next_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_num_fields.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_num_rows.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_options.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_ping.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_poll.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_prepare.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_query.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_real_connect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_real_escape_string.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_real_query.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_reap_async_query.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_refresh.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_release_savepoint.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_report.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_rollback.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_savepoint.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_select_db.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_set_charset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_set_opt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_sql_exception.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_sqlstate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_ssl_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stat.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_affected_rows.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_attr_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_attr_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_bind_param.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_bind_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_data_seek.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_errno.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_error_list.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_execute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_fetch.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_field_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_free_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_get_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_get_warnings.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_init.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_insert_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_more_results.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_next_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_num_rows.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_param_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_prepare.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_reset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_result_metadata.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_send_long_data.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_sqlstate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_stmt_store_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_store_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_thread_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_thread_safe.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_use_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_warning.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/mysqli/mysqli_warning_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/OCICollection.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/OCILob.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_bind_array_by_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_bind_by_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_cancel.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_client_version.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_collection_append.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_collection_assign.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_collection_element_assign.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_collection_element_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_collection_max.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_collection_size.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_collection_trim.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_commit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_connect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_define_by_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_execute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_fetch.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_fetch_all.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_fetch_array.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_fetch_assoc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_fetch_object.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_fetch_row.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_field_is_null.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_field_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_field_precision.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_field_scale.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_field_size.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_field_type.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_field_type_raw.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_free_collection.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_free_cursor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_free_descriptor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_free_statement.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_get_implicit_resultset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_append.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_copy.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_eof.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_erase.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_export.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_flush.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_import.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_is_equal.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_load.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_read.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_rewind.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_save.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_seek.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_size.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_tell.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_truncate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_lob_write.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_new_collection.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_new_connect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_new_cursor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_new_descriptor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_num_fields.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_num_rows.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_parse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_password_change.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_pconnect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_register_taf_callback.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_rollback.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_server_version.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_set_action.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_set_call_timeout.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_set_client_identifier.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_set_client_info.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_set_db_operation.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_set_edition.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_set_module_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_set_prefetch.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_set_prefetch_lob.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_statement_type.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/oci_unregister_taf_callback.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocibindbyname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicancel.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicollappend.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicollassignelem.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicollgetelem.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicollmax.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicollsize.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicolltrim.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicolumnisnull.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicolumnname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicolumnprecision.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicolumnscale.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicolumnsize.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicolumntype.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicolumntyperaw.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocicommit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocidefinebyname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocierror.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ociexecute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocifetch.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocifetchinto.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocifetchstatement.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocifreecollection.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocifreecursor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocifreedesc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocifreestatement.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocigetbufferinglob.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ociloadlob.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocilogoff.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocilogon.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocinewcollection.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocinewcursor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocinewdescriptor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocinlogon.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocinumcols.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ociparse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocipasswordchange.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ociplogon.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ociresult.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocirollback.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocirowcount.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocisavelob.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocisavelobfile.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ociserverversion.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocisetbufferinglob.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocisetprefetch.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ocistatementtype.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/oci8/ociwritelobtofile.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_autocommit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_binmode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_close_all.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_columnprivileges.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_columns.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_commit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_connect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_connection_string_is_quoted.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_connection_string_quote.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_connection_string_should_quote.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_cursor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_data_source.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_do.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_errormsg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_exec.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_execute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_fetch_array.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_fetch_into.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_fetch_object.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_fetch_row.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_field_len.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_field_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_field_num.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_field_precision.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_field_scale.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_field_type.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_foreignkeys.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_free_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_gettypeinfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_longreadlen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_next_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_num_fields.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_num_rows.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_pconnect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_prepare.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_primarykeys.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_procedurecolumns.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_procedures.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_result_all.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_rollback.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_setoption.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_specialcolumns.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_statistics.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_tableprivileges.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/odbc/odbc_tables.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/opcache/opcache_compile_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/opcache/opcache_get_configuration.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/opcache/opcache_get_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/opcache/opcache_invalidate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/opcache/opcache_is_script_cached.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/opcache/opcache_reset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/OpenSSLAsymmetricKey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/OpenSSLCertificate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/OpenSSLCertificateSigningRequest.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_cipher_iv_length.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_cipher_key_length.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_cms_decrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_cms_encrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_cms_read.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_cms_sign.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_cms_verify.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_csr_export.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_csr_export_to_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_csr_get_public_key.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_csr_get_subject.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_csr_new.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_csr_sign.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_decrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_dh_compute_key.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_digest.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_encrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_error_string.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_free_key.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_get_cert_locations.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_get_cipher_methods.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_get_curve_names.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_get_md_methods.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_get_privatekey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_get_publickey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pbkdf2.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkcs12_export.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkcs12_export_to_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkcs12_read.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkcs7_decrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkcs7_encrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkcs7_read.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkcs7_sign.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkcs7_verify.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkey_derive.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkey_export.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkey_export_to_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkey_free.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkey_get_details.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkey_get_private.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkey_get_public.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_pkey_new.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_private_decrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_private_encrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_public_decrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_public_encrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_random_pseudo_bytes.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_seal.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_sign.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_spki_export.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_spki_export_challenge.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_spki_new.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_spki_verify.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_verify.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_x509_check_private_key.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_x509_checkpurpose.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_x509_export.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_x509_export_to_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_x509_fingerprint.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_x509_free.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_x509_parse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_x509_read.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/openssl/openssl_x509_verify.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_alarm.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_async_signals.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_errno.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_exec.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_fork.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_forkx.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_get_last_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_getpriority.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_rfork.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_setpriority.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_signal.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_signal_dispatch.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_signal_get_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_sigprocmask.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_sigtimedwait.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_sigwaitinfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_strerror.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_unshare.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_wait.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_waitpid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_wexitstatus.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_wifcontinued.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_wifexited.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_wifsignaled.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_wifstopped.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_wstopsig.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcntl/pcntl_wtermsig.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcre/preg_filter.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcre/preg_grep.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcre/preg_last_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcre/preg_last_error_msg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcre/preg_match.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcre/preg_match_all.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcre/preg_quote.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcre/preg_replace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcre/preg_replace_callback.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcre/preg_replace_callback_array.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pcre/preg_split.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pdo/PDO.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pdo/PDOException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pdo/PDORow.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pdo/PDOStatement.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pdo/pdo_drivers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pdo_pgsql/PDO_PGSql_Ext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pdo_sqlite/PDO_SQLite_Ext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/PgSql/Connection.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/PgSql/Lob.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/PgSql/Result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_affected_rows.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_cancel_query.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_client_encoding.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_clientencoding.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_cmdtuples.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_connect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_connect_poll.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_connection_busy.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_connection_reset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_connection_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_consume_input.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_convert.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_copy_from.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_copy_to.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_dbname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_delete.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_end_copy.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_enter_pipeline_mode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_errormessage.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_escape_bytea.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_escape_identifier.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_escape_literal.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_escape_string.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_exec.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_execute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_exit_pipeline_mode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_fetch_all.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_fetch_all_columns.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_fetch_array.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_fetch_assoc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_fetch_object.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_fetch_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_fetch_row.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_field_is_null.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_field_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_field_num.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_field_prtlen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_field_size.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_field_table.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_field_type.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_field_type_oid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_fieldisnull.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_fieldname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_fieldnum.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_fieldprtlen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_fieldsize.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_fieldtype.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_flush.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_free_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_freeresult.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_get_notify.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_get_pid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_get_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_getlastoid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_host.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_insert.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_last_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_last_notice.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_last_oid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lo_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lo_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lo_export.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lo_import.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lo_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lo_read.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lo_read_all.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lo_seek.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lo_tell.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lo_truncate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lo_unlink.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lo_write.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_loclose.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_locreate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_loexport.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_loimport.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_loopen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_loread.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_loreadall.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lounlink.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_lowrite.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_meta_data.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_num_fields.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_num_rows.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_numfields.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_numrows.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_options.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_parameter_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_pconnect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_ping.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_pipeline_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_pipeline_sync.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_port.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_prepare.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_put_line.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_query.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_query_params.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_result_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_result_error_field.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_result_seek.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_result_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_select.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_send_execute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_send_flush_request.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_send_prepare.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_send_query.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_send_query_params.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_set_client_encoding.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_set_error_context_visibility.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_set_error_verbosity.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_setclientencoding.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_socket.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_trace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_transaction_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_tty.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_unescape_bytea.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_untrace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_update.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pgsql/pg_version.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/phar/Phar.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/phar/PharData.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/phar/PharException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/phar/PharFileInfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_access.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_ctermid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_eaccess.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_errno.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_fpathconf.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_get_last_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getcwd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getegid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_geteuid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getgid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getgrgid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getgrnam.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getgroups.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getlogin.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getpgid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getpgrp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getpid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getppid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getpwnam.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getpwuid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getrlimit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getsid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_getuid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_initgroups.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_isatty.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_kill.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_mkfifo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_mknod.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_pathconf.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_setegid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_seteuid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_setgid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_setpgid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_setrlimit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_setsid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_setuid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_strerror.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_sysconf.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_times.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_ttyname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/posix/posix_uname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/PSpell/Config.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/PSpell/Dictionary.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_add_to_personal.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_add_to_session.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_check.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_clear_session.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_config_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_config_data_dir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_config_dict_dir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_config_ignore.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_config_mode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_config_personal.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_config_repl.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_config_runtogether.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_config_save_repl.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_new.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_new_config.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_new_personal.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_save_wordlist.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_store_replacement.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/pspell/pspell_suggest.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/Random/BrokenRandomEngineError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/Random/CryptoSafeEngine.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/Random/Engine.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/Random/Engine/Mt19937.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/Random/Engine/PcgOneseq128XslRr64.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/Random/Engine/Secure.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/Random/Engine/Xoshiro256StarStar.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/Random/IntervalBoundary.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/Random/RandomError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/Random/RandomException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/Random/Randomizer.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/getrandmax.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/lcg_value.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/mt_getrandmax.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/mt_rand.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/mt_srand.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/rand.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/random_bytes.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/random_int.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/random/srand.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/readline/readline.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/readline/readline_add_history.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/readline/readline_callback_handler_install.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/readline/readline_callback_handler_remove.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/readline/readline_callback_read_char.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/readline/readline_clear_history.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/readline/readline_completion_function.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/readline/readline_info.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/readline/readline_list_history.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/readline/readline_on_new_line.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/readline/readline_read_history.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/readline/readline_redisplay.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/readline/readline_write_history.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/Reflection.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionAttribute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionClass.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionClassConstant.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionEnum.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionEnumBackedCase.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionEnumUnitCase.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionExtension.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionFiber.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionFunction.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionFunctionAbstract.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionGenerator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionIntersectionType.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionMethod.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionNamedType.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionObject.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionParameter.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionProperty.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionReference.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionType.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionUnionType.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/ReflectionZendExtension.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/reflection/Reflector.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/SessionHandler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/SessionHandlerInterface.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/SessionIdInterface.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/SessionUpdateTimestampHandlerInterface.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_abort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_cache_expire.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_cache_limiter.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_commit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_create_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_decode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_destroy.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_encode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_gc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_get_cookie_params.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_module_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_regenerate_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_register_shutdown.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_reset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_save_path.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_set_cookie_params.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_set_save_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_start.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_unset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/session/session_write_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/shmop/Shmop.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/shmop/shmop_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/shmop/shmop_delete.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/shmop/shmop_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/shmop/shmop_read.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/shmop/shmop_size.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/shmop/shmop_write.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/simplexml/SimpleXMLElement.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/simplexml/SimpleXMLIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/simplexml/simplexml_import_dom.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/simplexml/simplexml_load_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/simplexml/simplexml_load_string.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/SNMP.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/SNMPException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp2_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp2_getnext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp2_real_walk.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp2_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp2_walk.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp3_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp3_getnext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp3_real_walk.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp3_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp3_walk.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp_get_quick_print.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp_get_valueretrieval.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp_read_mib.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp_set_enum_print.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp_set_oid_numeric_print.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp_set_oid_output_format.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp_set_quick_print.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmp_set_valueretrieval.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmpget.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmpgetnext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmprealwalk.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmpset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmpwalk.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/snmp/snmpwalkoid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/soap/SoapClient.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/soap/SoapFault.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/soap/SoapHeader.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/soap/SoapParam.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/soap/SoapServer.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/soap/SoapVar.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/soap/is_soap_fault.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/soap/use_soap_error_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/AddressInfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/Socket.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_accept.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_addrinfo_bind.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_addrinfo_connect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_addrinfo_explain.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_addrinfo_lookup.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_atmark.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_bind.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_clear_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_cmsg_space.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_connect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_create_listen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_create_pair.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_export_stream.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_get_option.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_getopt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_getpeername.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_getsockname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_import_stream.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_last_error.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_listen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_read.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_recv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_recvfrom.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_recvmsg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_select.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_send.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_sendmsg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_sendto.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_set_block.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_set_nonblock.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_set_option.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_setopt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_shutdown.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_strerror.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_write.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_wsaprotocol_info_export.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_wsaprotocol_info_import.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sockets/socket_wsaprotocol_info_release.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/SodiumException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_add.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_base642bin.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_bin2base64.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_bin2hex.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_compare.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_aead_aes256gcm_decrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_aead_aes256gcm_encrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_aead_aes256gcm_is_available.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_aead_aes256gcm_keygen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_aead_chacha20poly1305_decrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_aead_chacha20poly1305_encrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_aead_chacha20poly1305_ietf_decrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_aead_chacha20poly1305_ietf_encrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_aead_chacha20poly1305_ietf_keygen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_aead_chacha20poly1305_keygen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_aead_xchacha20poly1305_ietf_decrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_aead_xchacha20poly1305_ietf_encrypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_aead_xchacha20poly1305_ietf_keygen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_auth.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_auth_keygen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_auth_verify.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_box.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_box_keypair.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_box_keypair_from_secretkey_and_publickey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_box_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_box_publickey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_box_publickey_from_secretkey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_box_seal.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_box_seal_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_box_secretkey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_box_seed_keypair.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_core_ristretto255_add.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_core_ristretto255_from_hash.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_core_ristretto255_is_valid_point.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_core_ristretto255_random.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_core_ristretto255_scalar_add.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_core_ristretto255_scalar_complement.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_core_ristretto255_scalar_invert.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_core_ristretto255_scalar_mul.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_core_ristretto255_scalar_negate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_core_ristretto255_scalar_random.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_core_ristretto255_scalar_reduce.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_core_ristretto255_scalar_sub.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_core_ristretto255_sub.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_generichash.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_generichash_final.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_generichash_init.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_generichash_keygen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_generichash_update.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_kdf_derive_from_key.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_kdf_keygen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_kx_client_session_keys.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_kx_keypair.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_kx_publickey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_kx_secretkey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_kx_seed_keypair.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_kx_server_session_keys.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_pwhash.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_pwhash_scryptsalsa208sha256.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_pwhash_scryptsalsa208sha256_str.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_pwhash_scryptsalsa208sha256_str_verify.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_pwhash_str.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_pwhash_str_needs_rehash.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_pwhash_str_verify.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_scalarmult.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_scalarmult_base.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_scalarmult_ristretto255.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_scalarmult_ristretto255_base.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_secretbox.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_secretbox_keygen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_secretbox_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_secretstream_xchacha20poly1305_init_pull.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_secretstream_xchacha20poly1305_init_push.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_secretstream_xchacha20poly1305_keygen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_secretstream_xchacha20poly1305_pull.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_secretstream_xchacha20poly1305_push.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_secretstream_xchacha20poly1305_rekey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_shorthash.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_shorthash_keygen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_sign.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_sign_detached.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_sign_ed25519_pk_to_curve25519.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_sign_ed25519_sk_to_curve25519.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_sign_keypair.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_sign_keypair_from_secretkey_and_publickey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_sign_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_sign_publickey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_sign_publickey_from_secretkey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_sign_secretkey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_sign_seed_keypair.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_sign_verify_detached.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_stream.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_stream_keygen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_stream_xchacha20.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_stream_xchacha20_keygen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_stream_xchacha20_xor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_stream_xchacha20_xor_ic.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_crypto_stream_xor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_hex2bin.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_increment.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_memcmp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_memzero.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_pad.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sodium/sodium_unpad.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/AppendIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/ArrayIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/ArrayObject.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/BadFunctionCallException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/BadMethodCallException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/CachingIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/CallbackFilterIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/DirectoryIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/DomainException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/EmptyIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/FilesystemIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/FilterIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/GlobIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/InfiniteIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/InvalidArgumentException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/IteratorIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/LengthException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/LimitIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/LogicException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/MultipleIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/NoRewindIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/OutOfBoundsException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/OutOfRangeException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/OuterIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/OverflowException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/ParentIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/RangeException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/RecursiveArrayIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/RecursiveCachingIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/RecursiveCallbackFilterIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/RecursiveDirectoryIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/RecursiveFilterIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/RecursiveIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/RecursiveIteratorIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/RecursiveRegexIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/RecursiveTreeIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/RegexIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/RuntimeException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SeekableIterator.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplDoublyLinkedList.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplFileInfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplFileObject.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplFixedArray.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplHeap.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplMaxHeap.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplMinHeap.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplObjectStorage.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplObserver.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplPriorityQueue.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplQueue.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplStack.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplSubject.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/SplTempFileObject.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/UnderflowException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/UnexpectedValueException.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/class_implements.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/class_parents.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/class_uses.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/iterator_apply.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/iterator_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/iterator_to_array.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/spl_autoload.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/spl_autoload_call.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/spl_autoload_extensions.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/spl_autoload_functions.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/spl_autoload_register.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/spl_autoload_unregister.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/spl_classes.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/spl_object_hash.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/spl/spl_object_id.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sqlite3/SQLite3.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sqlite3/SQLite3Exception.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sqlite3/SQLite3Result.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sqlite3/SQLite3Stmt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/AssertionError.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/Directory.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/__PHP_Incomplete_Class.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/abs.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/acos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/acosh.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/addcslashes.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/addslashes.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_change_key_case.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_chunk.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_column.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_combine.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_count_values.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_diff.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_diff_assoc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_diff_key.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_diff_uassoc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_diff_ukey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_fill.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_fill_keys.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_filter.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_flip.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_intersect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_intersect_assoc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_intersect_key.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_intersect_uassoc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_intersect_ukey.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_is_list.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_key_exists.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_key_first.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_key_last.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_keys.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_map.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_merge.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_merge_recursive.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_multisort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_pad.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_pop.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_product.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_push.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_rand.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_reduce.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_replace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_replace_recursive.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_reverse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_search.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_shift.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_slice.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_splice.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_sum.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_udiff.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_udiff_assoc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_udiff_uassoc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_uintersect.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_uintersect_assoc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_uintersect_uassoc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_unique.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_unshift.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_values.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_walk.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/array_walk_recursive.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/arsort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/asin.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/asinh.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/asort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/assert.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/assert_options.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/atan.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/atan2.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/atanh.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/base64_decode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/base64_encode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/base_convert.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/basename.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/bin2hex.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/bindec.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/boolval.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/call_user_func.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/call_user_func_array.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ceil.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/chdir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/checkdnsrr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/chgrp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/chmod.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/chop.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/chown.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/chr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/chroot.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/chunk_split.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/clearstatcache.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/closedir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/closelog.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/compact.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/config_get_hash.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/connection_aborted.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/connection_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/constant.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/convert_uudecode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/convert_uuencode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/copy.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/cos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/cosh.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/count_chars.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/crc32.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/crypt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/current.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/debug_zval_dump.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/decbin.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/dechex.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/decoct.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/deg2rad.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/dir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/dirname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/disk_free_space.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/disk_total_space.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/diskfreespace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/dl.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/dns_check_record.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/dns_get_mx.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/dns_get_record.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/doubleval.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/end.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/error_clear_last.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/error_get_last.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/error_log.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/escapeshellarg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/escapeshellcmd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/exec.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/exp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/explode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/expm1.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/extract.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fclose.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fdatasync.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fdiv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/feof.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fflush.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fgetc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fgetcsv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fgets.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/file_exists.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/file_get_contents.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/file_put_contents.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fileatime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/filectime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/filegroup.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fileinode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/filemtime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fileowner.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fileperms.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/filesize.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/filetype.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/floatval.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/flock.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/floor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/flush.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fmod.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fnmatch.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fopen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/forward_static_call.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/forward_static_call_array.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fpassthru.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fprintf.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fputcsv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fputs.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fread.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fscanf.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fseek.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fsockopen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fstat.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fsync.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ftell.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ftok.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ftruncate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/fwrite.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/get_browser.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/get_cfg_var.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/get_current_user.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/get_debug_type.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/get_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/get_html_translation_table.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/get_include_path.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/get_meta_tags.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getcwd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getenv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/gethostbyaddr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/gethostbyname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/gethostbynamel.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/gethostname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getimagesize.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getimagesizefromstring.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getlastmod.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getmxrr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getmygid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getmyinode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getmypid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getmyuid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getopt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getprotobyname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getprotobynumber.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getrandmax.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getrusage.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getservbyname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/getservbyport.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/gettimeofday.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/gettype.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/glob.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/header.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/header_register_callback.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/header_remove.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/headers_list.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/headers_sent.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/hebrev.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/hex2bin.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/hexdec.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/highlight_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/highlight_string.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/hrtime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/html_entity_decode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/htmlentities.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/htmlspecialchars.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/htmlspecialchars_decode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/http_build_query.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/http_response_code.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/hypot.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ignore_user_abort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/image_type_to_extension.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/image_type_to_mime_type.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/implode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/in_array.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/inet_ntop.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/inet_pton.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ini_alter.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ini_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ini_get_all.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ini_parse_quantity.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ini_restore.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ini_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/intdiv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/intval.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ip2long.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/iptcembed.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/iptcparse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_array.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_bool.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_callable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_countable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_dir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_double.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_executable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_finite.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_float.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_infinite.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_int.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_integer.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_iterable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_link.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_long.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_nan.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_null.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_numeric.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_object.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_readable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_resource.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_scalar.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_string.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_uploaded_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_writable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/is_writeable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/join.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/key.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/key_exists.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/krsort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ksort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/lcfirst.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/lcg_value.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/lchgrp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/lchown.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/levenshtein.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/link.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/linkinfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/localeconv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/log.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/log10.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/log1p.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/long2ip.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/lstat.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ltrim.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/mail.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/max.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/md5.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/md5_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/memory_get_peak_usage.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/memory_get_usage.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/memory_reset_peak_usage.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/metaphone.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/microtime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/min.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/mkdir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/move_uploaded_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/mt_getrandmax.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/mt_rand.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/mt_srand.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/natcasesort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/natsort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/net_get_interfaces.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/next.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/nl2br.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/nl_langinfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/number_format.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ob_clean.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ob_end_clean.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ob_end_flush.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ob_flush.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ob_get_clean.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ob_get_contents.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ob_get_flush.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ob_get_length.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ob_get_level.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ob_get_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ob_implicit_flush.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ob_list_handlers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ob_start.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/octdec.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/opendir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/openlog.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ord.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/output_add_rewrite_var.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/output_reset_rewrite_vars.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/pack.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/parse_ini_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/parse_ini_string.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/parse_str.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/parse_url.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/passthru.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/password_algos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/password_get_info.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/password_hash.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/password_needs_rehash.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/password_verify.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/pathinfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/pclose.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/pfsockopen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/php_ini_loaded_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/php_ini_scanned_files.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/php_sapi_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/php_strip_whitespace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/php_uname.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/php_user_filter.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/phpcredits.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/phpinfo.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/phpversion.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/pi.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/popen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/pos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/pow.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/prev.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/print_r.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/printf.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/proc_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/proc_get_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/proc_nice.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/proc_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/proc_terminate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/putenv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/quoted_printable_decode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/quoted_printable_encode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/quotemeta.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/rad2deg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/rand.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/random_bytes.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/random_int.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/range.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/rawurldecode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/rawurlencode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/readdir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/readfile.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/readlink.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/realpath.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/realpath_cache_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/realpath_cache_size.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/register_shutdown_function.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/register_tick_function.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/rename.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/reset.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/rewind.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/rewinddir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/rmdir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/round.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/rsort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/rtrim.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sapi_windows_cp_conv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sapi_windows_cp_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sapi_windows_cp_is_utf8.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sapi_windows_cp_set.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sapi_windows_generate_ctrl_event.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sapi_windows_set_ctrl_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sapi_windows_vt100_support.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/scandir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/serialize.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/set_file_buffer.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/set_include_path.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/set_time_limit.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/setcookie.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/setlocale.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/setrawcookie.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/settype.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sha1.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sha1_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/shell_exec.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/show_source.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/shuffle.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/similar_text.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sin.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sinh.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sizeof.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sleep.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/socket_get_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/socket_set_blocking.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/socket_set_timeout.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/soundex.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sprintf.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sqrt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/srand.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sscanf.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stat.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_contains.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_decrement.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_ends_with.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_getcsv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_increment.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_ireplace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_pad.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_repeat.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_replace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_rot13.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_shuffle.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_split.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_starts_with.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/str_word_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strchr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strcoll.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strcspn.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_bucket_append.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_bucket_make_writeable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_bucket_new.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_bucket_prepend.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_context_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_context_get_default.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_context_get_options.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_context_get_params.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_context_set_default.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_context_set_option.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_context_set_options.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_context_set_params.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_copy_to_stream.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_filter_append.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_filter_prepend.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_filter_register.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_filter_remove.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_get_contents.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_get_filters.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_get_line.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_get_meta_data.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_get_transports.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_get_wrappers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_is_local.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_isatty.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_register_wrapper.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_resolve_include_path.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_select.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_set_blocking.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_set_chunk_size.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_set_read_buffer.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_set_timeout.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_set_write_buffer.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_socket_accept.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_socket_client.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_socket_enable_crypto.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_socket_get_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_socket_pair.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_socket_recvfrom.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_socket_sendto.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_socket_server.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_socket_shutdown.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_supports_lock.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_wrapper_register.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_wrapper_restore.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stream_wrapper_unregister.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strip_tags.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stripcslashes.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stripos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stripslashes.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/stristr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strnatcasecmp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strnatcmp.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strpbrk.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strpos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strptime.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strrchr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strrev.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strripos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strrpos.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strspn.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strstr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strtok.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strtolower.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strtoupper.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strtr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/strval.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/substr.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/substr_compare.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/substr_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/substr_replace.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/symlink.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sys_get_temp_dir.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/sys_getloadavg.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/syslog.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/system.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/tan.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/tanh.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/tempnam.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/time_nanosleep.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/time_sleep_until.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/tmpfile.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/touch.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/trim.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/uasort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ucfirst.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/ucwords.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/uksort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/umask.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/uniqid.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/unlink.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/unpack.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/unregister_tick_function.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/unserialize.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/urldecode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/urlencode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/usleep.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/usort.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/utf8_decode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/utf8_encode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/var_dump.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/var_export.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/version_compare.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/vfprintf.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/vprintf.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/vsprintf.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/standard/wordwrap.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvmsg/SysvMessageQueue.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvmsg/msg_get_queue.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvmsg/msg_queue_exists.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvmsg/msg_receive.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvmsg/msg_remove_queue.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvmsg/msg_send.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvmsg/msg_set_queue.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvmsg/msg_stat_queue.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvsem/SysvSemaphore.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvsem/sem_acquire.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvsem/sem_get.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvsem/sem_release.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvsem/sem_remove.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvshm/SysvSharedMemory.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvshm/shm_attach.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvshm/shm_detach.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvshm/shm_get_var.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvshm/shm_has_var.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvshm/shm_put_var.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvshm/shm_remove.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/sysvshm/shm_remove_var.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidyNode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_access_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_clean_repair.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_config_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_diagnose.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_error_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_get_body.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_get_config.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_get_error_buffer.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_get_head.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_get_html.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_get_html_ver.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_get_opt_doc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_get_output.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_get_release.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_get_root.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_get_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_getopt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_is_xhtml.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_is_xml.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_parse_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_parse_string.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_repair_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_repair_string.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tidy/tidy_warning_count.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tokenizer/PhpToken.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tokenizer/token_get_all.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/tokenizer/token_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/XMLParser.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_error_string.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_get_current_byte_index.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_get_current_column_number.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_get_current_line_number.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_get_error_code.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_parse.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_parse_into_struct.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_parser_create.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_parser_create_ns.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_parser_free.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_parser_get_option.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_parser_set_option.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_set_character_data_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_set_default_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_set_element_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_set_end_namespace_decl_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_set_external_entity_ref_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_set_notation_decl_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_set_object.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_set_processing_instruction_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_set_start_namespace_decl_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xml/xml_set_unparsed_entity_decl_handler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlreader/XMLReader.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/XMLWriter.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_end_attribute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_end_cdata.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_end_comment.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_end_document.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_end_dtd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_end_dtd_attlist.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_end_dtd_element.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_end_dtd_entity.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_end_element.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_end_pi.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_flush.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_full_end_element.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_open_memory.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_open_uri.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_output_memory.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_set_indent.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_set_indent_string.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_start_attribute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_start_attribute_ns.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_start_cdata.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_start_comment.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_start_document.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_start_dtd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_start_dtd_attlist.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_start_dtd_element.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_start_dtd_entity.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_start_element.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_start_element_ns.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_start_pi.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_text.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_write_attribute.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_write_attribute_ns.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_write_cdata.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_write_comment.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_write_dtd.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_write_dtd_attlist.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_write_dtd_element.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_write_dtd_entity.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_write_element.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_write_element_ns.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_write_pi.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xmlwriter/xmlwriter_write_raw.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/xsl/XSLTProcessor.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zip/ZipArchive.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zip/zip_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zip/zip_entry_close.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zip/zip_entry_compressedsize.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zip/zip_entry_compressionmethod.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zip/zip_entry_filesize.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zip/zip_entry_name.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zip/zip_entry_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zip/zip_entry_read.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zip/zip_open.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zip/zip_read.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/DeflateContext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/InflateContext.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/deflate_add.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/deflate_init.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzclose.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzcompress.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzdecode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzdeflate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzencode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzeof.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzfile.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzgetc.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzgets.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzinflate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzopen.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzpassthru.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzputs.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzread.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzrewind.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzseek.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gztell.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzuncompress.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/gzwrite.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/inflate_add.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/inflate_get_read_len.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/inflate_get_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/inflate_init.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/ob_gzhandler.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/readgzfile.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/zlib_decode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/zlib_encode.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/ext/zlib/zlib_get_coding_type.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/apache2handler/apache_get_modules.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/apache2handler/apache_get_version.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/apache2handler/apache_getenv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/apache2handler/apache_lookup_uri.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/apache2handler/apache_note.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/apache2handler/apache_request_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/apache2handler/apache_response_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/apache2handler/apache_setenv.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/apache2handler/getallheaders.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/apache2handler/virtual.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/cgi/apache_child_terminate.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/cgi/apache_request_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/cgi/apache_response_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/cgi/getallheaders.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/cli/apache_request_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/cli/apache_response_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/cli/cli_get_process_title.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/cli/cli_set_process_title.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/cli/getallheaders.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/fpm/fpm/apache_request_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/fpm/fpm/fastcgi_finish_request.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/fpm/fpm/fpm_get_status.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/fpm/fpm/getallheaders.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/litespeed/apache_get_modules.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/litespeed/apache_request_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/litespeed/apache_response_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/litespeed/getallheaders.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/litespeed/litespeed_finish_request.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/litespeed/litespeed_request_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/litespeed/litespeed_response_headers.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/phpdbg/phpdbg_break_file.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/phpdbg/phpdbg_break_function.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/phpdbg/phpdbg_break_method.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/phpdbg/phpdbg_break_next.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/phpdbg/phpdbg_clear.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/phpdbg/phpdbg_color.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/phpdbg/phpdbg_end_oplog.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/phpdbg/phpdbg_exec.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/phpdbg/phpdbg_get_executable.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/phpdbg/phpdbg_prompt.php create mode 100644 apigen/vendor/phpstan/php-8-stubs/stubs/sapi/phpdbg/phpdbg_start_oplog.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/LICENSE create mode 100644 apigen/vendor/phpstan/phpdoc-parser/README.md create mode 100644 apigen/vendor/phpstan/phpdoc-parser/composer.json create mode 100644 apigen/vendor/phpstan/phpdoc-parser/phpstan-baseline.neon create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/AbstractNodeVisitor.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Attribute.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprArrayItemNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprArrayNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprFalseNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprFloatNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprIntegerNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprNullNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprStringNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprTrueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstFetchNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/DoctrineConstExprStringNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/QuoteAwareConstExprStringNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Node.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/NodeAttributes.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/NodeTraverser.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/NodeVisitor.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/NodeVisitor/CloningVisitor.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/AssertTagMethodValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/AssertTagPropertyValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/AssertTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/DeprecatedTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/Doctrine/DoctrineAnnotation.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/Doctrine/DoctrineArgument.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/Doctrine/DoctrineArray.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/Doctrine/DoctrineArrayItem.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/Doctrine/DoctrineTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ExtendsTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/GenericTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ImplementsTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/InvalidTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/MethodTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/MethodTagValueParameterNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/MixinTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ParamOutTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ParamTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocChildNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocTagNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocTextNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PropertyTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ReturnTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/SelfOutTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/TemplateTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ThrowsTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/TypeAliasImportTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/TypeAliasTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/TypelessParamTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/UsesTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/VarTagValueNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/ArrayShapeItemNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/ArrayShapeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/ArrayTypeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/CallableTypeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/CallableTypeParameterNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/ConditionalTypeForParameterNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/ConditionalTypeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/ConstTypeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/GenericTypeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/IdentifierTypeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/IntersectionTypeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/InvalidTypeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/NullableTypeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/ObjectShapeItemNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/ObjectShapeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/OffsetAccessTypeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/ThisTypeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/TypeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Ast/Type/UnionTypeNode.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Lexer/Lexer.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Parser/ConstExprParser.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Parser/ParserException.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Parser/PhpDocParser.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Parser/StringUnescaper.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Parser/TokenIterator.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Parser/TypeParser.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Printer/DiffElem.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Printer/Differ.php create mode 100644 apigen/vendor/phpstan/phpdoc-parser/src/Printer/Printer.php create mode 100644 apigen/vendor/psr/container/.gitignore create mode 100644 apigen/vendor/psr/container/LICENSE create mode 100644 apigen/vendor/psr/container/README.md create mode 100644 apigen/vendor/psr/container/composer.json create mode 100644 apigen/vendor/psr/container/src/ContainerExceptionInterface.php create mode 100644 apigen/vendor/psr/container/src/ContainerInterface.php create mode 100644 apigen/vendor/psr/container/src/NotFoundExceptionInterface.php create mode 100644 apigen/vendor/psr/event-dispatcher/.editorconfig create mode 100644 apigen/vendor/psr/event-dispatcher/.gitignore create mode 100644 apigen/vendor/psr/event-dispatcher/LICENSE create mode 100644 apigen/vendor/psr/event-dispatcher/README.md create mode 100644 apigen/vendor/psr/event-dispatcher/composer.json create mode 100644 apigen/vendor/psr/event-dispatcher/src/EventDispatcherInterface.php create mode 100644 apigen/vendor/psr/event-dispatcher/src/ListenerProviderInterface.php create mode 100644 apigen/vendor/psr/event-dispatcher/src/StoppableEventInterface.php delete mode 100644 apigen/vendor/psr/log/LICENSE delete mode 100644 apigen/vendor/psr/log/Psr/Log/AbstractLogger.php delete mode 100644 apigen/vendor/psr/log/Psr/Log/InvalidArgumentException.php delete mode 100644 apigen/vendor/psr/log/Psr/Log/LogLevel.php delete mode 100644 apigen/vendor/psr/log/Psr/Log/LoggerAwareInterface.php delete mode 100644 apigen/vendor/psr/log/Psr/Log/LoggerAwareTrait.php delete mode 100644 apigen/vendor/psr/log/Psr/Log/LoggerInterface.php delete mode 100644 apigen/vendor/psr/log/Psr/Log/LoggerTrait.php delete mode 100644 apigen/vendor/psr/log/Psr/Log/NullLogger.php delete mode 100644 apigen/vendor/psr/log/Psr/Log/Test/DummyTest.php delete mode 100644 apigen/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php delete mode 100644 apigen/vendor/psr/log/Psr/Log/Test/TestLogger.php delete mode 100644 apigen/vendor/psr/log/README.md delete mode 100644 apigen/vendor/psr/log/composer.json delete mode 100644 apigen/vendor/seld/jsonlint/.gitignore delete mode 100644 apigen/vendor/seld/jsonlint/.travis.yml delete mode 100644 apigen/vendor/seld/jsonlint/CHANGELOG.md delete mode 100644 apigen/vendor/seld/jsonlint/LICENSE delete mode 100644 apigen/vendor/seld/jsonlint/README.md delete mode 100644 apigen/vendor/seld/jsonlint/bin/jsonlint delete mode 100644 apigen/vendor/seld/jsonlint/composer.json delete mode 100644 apigen/vendor/seld/jsonlint/phpunit.xml.dist delete mode 100644 apigen/vendor/seld/jsonlint/src/Seld/JsonLint/DuplicateKeyException.php delete mode 100644 apigen/vendor/seld/jsonlint/src/Seld/JsonLint/JsonParser.php delete mode 100644 apigen/vendor/seld/jsonlint/src/Seld/JsonLint/Lexer.php delete mode 100644 apigen/vendor/seld/jsonlint/src/Seld/JsonLint/ParsingException.php delete mode 100644 apigen/vendor/seld/jsonlint/src/Seld/JsonLint/Undefined.php delete mode 100644 apigen/vendor/seld/jsonlint/tests/JsonParserTest.php delete mode 100644 apigen/vendor/seld/jsonlint/tests/bom.json delete mode 100644 apigen/vendor/seld/jsonlint/tests/bootstrap.php delete mode 100644 apigen/vendor/symfony/console/.gitignore create mode 100644 apigen/vendor/symfony/console/Attribute/AsCommand.php create mode 100644 apigen/vendor/symfony/console/CI/GithubActionReporter.php create mode 100644 apigen/vendor/symfony/console/Color.php create mode 100644 apigen/vendor/symfony/console/Command/CompleteCommand.php create mode 100644 apigen/vendor/symfony/console/Command/DumpCompletionCommand.php create mode 100644 apigen/vendor/symfony/console/Command/LazyCommand.php create mode 100644 apigen/vendor/symfony/console/Command/LockableTrait.php create mode 100644 apigen/vendor/symfony/console/Command/SignalableCommandInterface.php create mode 100644 apigen/vendor/symfony/console/CommandLoader/CommandLoaderInterface.php create mode 100644 apigen/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php create mode 100644 apigen/vendor/symfony/console/CommandLoader/FactoryCommandLoader.php create mode 100644 apigen/vendor/symfony/console/Completion/CompletionInput.php create mode 100644 apigen/vendor/symfony/console/Completion/CompletionSuggestions.php create mode 100644 apigen/vendor/symfony/console/Completion/Output/BashCompletionOutput.php create mode 100644 apigen/vendor/symfony/console/Completion/Output/CompletionOutputInterface.php create mode 100644 apigen/vendor/symfony/console/Completion/Output/FishCompletionOutput.php create mode 100644 apigen/vendor/symfony/console/Completion/Output/ZshCompletionOutput.php create mode 100644 apigen/vendor/symfony/console/Completion/Suggestion.php create mode 100644 apigen/vendor/symfony/console/Cursor.php create mode 100644 apigen/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php create mode 100644 apigen/vendor/symfony/console/Descriptor/ReStructuredTextDescriptor.php create mode 100644 apigen/vendor/symfony/console/Event/ConsoleErrorEvent.php delete mode 100644 apigen/vendor/symfony/console/Event/ConsoleExceptionEvent.php create mode 100644 apigen/vendor/symfony/console/Event/ConsoleSignalEvent.php create mode 100644 apigen/vendor/symfony/console/EventListener/ErrorListener.php create mode 100644 apigen/vendor/symfony/console/Exception/MissingInputException.php create mode 100644 apigen/vendor/symfony/console/Exception/NamespaceNotFoundException.php create mode 100644 apigen/vendor/symfony/console/Formatter/NullOutputFormatter.php create mode 100644 apigen/vendor/symfony/console/Formatter/NullOutputFormatterStyle.php create mode 100644 apigen/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php delete mode 100644 apigen/vendor/symfony/console/Helper/DialogHelper.php create mode 100644 apigen/vendor/symfony/console/Helper/Dumper.php create mode 100644 apigen/vendor/symfony/console/Helper/OutputWrapper.php delete mode 100644 apigen/vendor/symfony/console/Helper/ProgressHelper.php create mode 100644 apigen/vendor/symfony/console/Helper/TableCellStyle.php delete mode 100644 apigen/vendor/symfony/console/Helper/TableHelper.php create mode 100644 apigen/vendor/symfony/console/Helper/TableRows.php create mode 100644 apigen/vendor/symfony/console/Input/StreamableInputInterface.php create mode 100644 apigen/vendor/symfony/console/Output/AnsiColorMode.php create mode 100644 apigen/vendor/symfony/console/Output/ConsoleSectionOutput.php create mode 100644 apigen/vendor/symfony/console/Output/TrimmedBufferOutput.php create mode 100644 apigen/vendor/symfony/console/Resources/completion.bash create mode 100644 apigen/vendor/symfony/console/Resources/completion.fish create mode 100644 apigen/vendor/symfony/console/Resources/completion.zsh delete mode 100644 apigen/vendor/symfony/console/Shell.php create mode 100644 apigen/vendor/symfony/console/SignalRegistry/SignalRegistry.php create mode 100644 apigen/vendor/symfony/console/SingleCommandApplication.php create mode 100644 apigen/vendor/symfony/console/Terminal.php create mode 100644 apigen/vendor/symfony/console/Tester/CommandCompletionTester.php create mode 100644 apigen/vendor/symfony/console/Tester/Constraint/CommandIsSuccessful.php create mode 100644 apigen/vendor/symfony/console/Tester/TesterTrait.php delete mode 100644 apigen/vendor/symfony/console/Tests/ApplicationTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Command/CommandTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Command/HelpCommandTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Command/ListCommandTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php delete mode 100644 apigen/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/DescriptorApplicationMbString.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/DescriptorCommandMbString.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/DummyOutput.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Foo1Command.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Foo2Command.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Foo3Command.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Foo4Command.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Foo5Command.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Foo6Command.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/FooCommand.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/FooOptCommand.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_0.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_1.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_10.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_11.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_12.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_13.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_14.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_15.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_16.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_17.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_2.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_3.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_6.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_7.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_8.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_9.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_0.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_1.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_10.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_11.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_12.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_13.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_14.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_15.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_16.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_17.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_2.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_3.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_6.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_8.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_9.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/TestCommand.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/TestTiti.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/TestToto.php delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_1.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_1.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_1.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_1.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_2.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_2.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_2.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_2.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_astext1.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_astext2.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_asxml1.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_asxml2.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_mbstring.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_mbstring.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_renderexception_escapeslines.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_renderexception_linebreaks.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_run1.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_run2.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_run3.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/application_run4.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/command_1.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/command_1.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/command_1.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/command_1.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/command_2.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/command_2.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/command_2.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/command_2.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/command_astext.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/command_asxml.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/command_mbstring.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/command_mbstring.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/definition_astext.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/definition_asxml.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_1.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_1.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_2.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_2.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_3.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_3.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_4.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_4.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_1.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_1.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_2.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_2.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_3.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_3.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_4.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_4.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_1.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_1.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_1.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_1.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_2.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_2.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_2.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_2.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_3.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_3.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_3.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_3.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_4.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_4.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_4.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_4.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_5.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_5.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_5.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_5.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_6.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_6.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_6.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_6.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_with_style.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_with_style.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_with_style.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_with_style.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.json delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.md delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.txt delete mode 100644 apigen/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.xml delete mode 100644 apigen/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Helper/HelperSetTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Helper/HelperTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Helper/LegacyDialogHelperTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Helper/LegacyProgressHelperTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Helper/LegacyTableHelperTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Helper/ProgressBarTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Helper/ProgressIndicatorTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Helper/SymfonyQuestionHelperTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Helper/TableStyleTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Helper/TableTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Input/ArgvInputTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Input/ArrayInputTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Input/InputArgumentTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Input/InputDefinitionTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Input/InputOptionTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Input/InputTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Input/StringInputTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Output/NullOutputTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Output/OutputTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Output/StreamOutputTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php delete mode 100644 apigen/vendor/symfony/console/Tests/Tester/CommandTesterTest.php delete mode 100644 apigen/vendor/symfony/console/phpunit.xml.dist delete mode 100644 apigen/vendor/symfony/debug/.gitignore delete mode 100644 apigen/vendor/symfony/debug/BufferingLogger.php delete mode 100644 apigen/vendor/symfony/debug/CHANGELOG.md delete mode 100644 apigen/vendor/symfony/debug/Debug.php delete mode 100644 apigen/vendor/symfony/debug/DebugClassLoader.php delete mode 100644 apigen/vendor/symfony/debug/ErrorHandler.php delete mode 100644 apigen/vendor/symfony/debug/Exception/ClassNotFoundException.php delete mode 100644 apigen/vendor/symfony/debug/Exception/ContextErrorException.php delete mode 100644 apigen/vendor/symfony/debug/Exception/FatalErrorException.php delete mode 100644 apigen/vendor/symfony/debug/Exception/FatalThrowableError.php delete mode 100644 apigen/vendor/symfony/debug/Exception/FlattenException.php delete mode 100644 apigen/vendor/symfony/debug/Exception/OutOfMemoryException.php delete mode 100644 apigen/vendor/symfony/debug/Exception/UndefinedFunctionException.php delete mode 100644 apigen/vendor/symfony/debug/Exception/UndefinedMethodException.php delete mode 100644 apigen/vendor/symfony/debug/ExceptionHandler.php delete mode 100644 apigen/vendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php delete mode 100644 apigen/vendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php delete mode 100644 apigen/vendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php delete mode 100644 apigen/vendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php delete mode 100644 apigen/vendor/symfony/debug/LICENSE delete mode 100644 apigen/vendor/symfony/debug/README.md delete mode 100644 apigen/vendor/symfony/debug/Resources/ext/README.md delete mode 100644 apigen/vendor/symfony/debug/Resources/ext/config.m4 delete mode 100644 apigen/vendor/symfony/debug/Resources/ext/config.w32 delete mode 100644 apigen/vendor/symfony/debug/Resources/ext/php_symfony_debug.h delete mode 100644 apigen/vendor/symfony/debug/Resources/ext/symfony_debug.c delete mode 100644 apigen/vendor/symfony/debug/Resources/ext/tests/001.phpt delete mode 100644 apigen/vendor/symfony/debug/Resources/ext/tests/002.phpt delete mode 100644 apigen/vendor/symfony/debug/Resources/ext/tests/002_1.phpt delete mode 100644 apigen/vendor/symfony/debug/Resources/ext/tests/003.phpt delete mode 100644 apigen/vendor/symfony/debug/Tests/DebugClassLoaderTest.php delete mode 100644 apigen/vendor/symfony/debug/Tests/ErrorHandlerTest.php delete mode 100644 apigen/vendor/symfony/debug/Tests/Exception/FlattenExceptionTest.php delete mode 100644 apigen/vendor/symfony/debug/Tests/ExceptionHandlerTest.php delete mode 100644 apigen/vendor/symfony/debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php delete mode 100644 apigen/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedFunctionFatalErrorHandlerTest.php delete mode 100644 apigen/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedMethodFatalErrorHandlerTest.php delete mode 100644 apigen/vendor/symfony/debug/Tests/Fixtures/ClassAlias.php delete mode 100644 apigen/vendor/symfony/debug/Tests/Fixtures/DeprecatedClass.php delete mode 100644 apigen/vendor/symfony/debug/Tests/Fixtures/DeprecatedInterface.php delete mode 100644 apigen/vendor/symfony/debug/Tests/Fixtures/NonDeprecatedInterface.php delete mode 100644 apigen/vendor/symfony/debug/Tests/Fixtures/PEARClass.php delete mode 100644 apigen/vendor/symfony/debug/Tests/Fixtures/ToStringThrower.php delete mode 100644 apigen/vendor/symfony/debug/Tests/Fixtures/casemismatch.php delete mode 100644 apigen/vendor/symfony/debug/Tests/Fixtures/notPsr0Bis.php delete mode 100644 apigen/vendor/symfony/debug/Tests/Fixtures/psr4/Psr4CaseMismatch.php delete mode 100644 apigen/vendor/symfony/debug/Tests/Fixtures/reallyNotPsr0.php delete mode 100644 apigen/vendor/symfony/debug/Tests/Fixtures2/RequiredTwice.php delete mode 100644 apigen/vendor/symfony/debug/Tests/HeaderMock.php delete mode 100644 apigen/vendor/symfony/debug/Tests/MockExceptionHandler.php delete mode 100644 apigen/vendor/symfony/debug/composer.json delete mode 100644 apigen/vendor/symfony/debug/phpunit.xml.dist create mode 100644 apigen/vendor/symfony/deprecation-contracts/CHANGELOG.md create mode 100644 apigen/vendor/symfony/deprecation-contracts/LICENSE create mode 100644 apigen/vendor/symfony/deprecation-contracts/README.md create mode 100644 apigen/vendor/symfony/deprecation-contracts/composer.json create mode 100644 apigen/vendor/symfony/deprecation-contracts/function.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/.gitignore delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/CHANGELOG.md delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/Exception/AccessException.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/Exception/ExceptionInterface.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/Exception/InvalidArgumentException.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/Exception/InvalidOptionsException.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/Exception/MissingOptionsException.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/Exception/NoSuchOptionException.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/Exception/OptionDefinitionException.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/Exception/UndefinedOptionsException.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/LICENSE delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/Options.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/OptionsResolver.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/OptionsResolverInterface.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/README.md delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/Tests/LegacyOptionsResolverTest.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/Tests/LegacyOptionsTest.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/Tests/OptionsResolver2Dot6Test.php delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/composer.json delete mode 100644 apigen/vendor/symfony/options-resolver/Symfony/Component/OptionsResolver/phpunit.xml.dist delete mode 100644 apigen/vendor/symfony/polyfill-ctype/Ctype.php delete mode 100644 apigen/vendor/symfony/polyfill-ctype/LICENSE delete mode 100644 apigen/vendor/symfony/polyfill-ctype/README.md delete mode 100644 apigen/vendor/symfony/polyfill-ctype/bootstrap.php delete mode 100644 apigen/vendor/symfony/polyfill-ctype/composer.json create mode 100644 apigen/vendor/symfony/polyfill-intl-grapheme/Grapheme.php create mode 100644 apigen/vendor/symfony/polyfill-intl-grapheme/LICENSE create mode 100644 apigen/vendor/symfony/polyfill-intl-grapheme/README.md create mode 100644 apigen/vendor/symfony/polyfill-intl-grapheme/bootstrap.php create mode 100644 apigen/vendor/symfony/polyfill-intl-grapheme/bootstrap80.php create mode 100644 apigen/vendor/symfony/polyfill-intl-grapheme/composer.json create mode 100644 apigen/vendor/symfony/polyfill-intl-normalizer/LICENSE create mode 100644 apigen/vendor/symfony/polyfill-intl-normalizer/Normalizer.php create mode 100644 apigen/vendor/symfony/polyfill-intl-normalizer/README.md create mode 100644 apigen/vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php create mode 100644 apigen/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalComposition.php create mode 100644 apigen/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php create mode 100644 apigen/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php create mode 100644 apigen/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php create mode 100644 apigen/vendor/symfony/polyfill-intl-normalizer/bootstrap.php create mode 100644 apigen/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php create mode 100644 apigen/vendor/symfony/polyfill-intl-normalizer/composer.json delete mode 100644 apigen/vendor/symfony/polyfill-mbstring/LICENSE delete mode 100644 apigen/vendor/symfony/polyfill-mbstring/Mbstring.php delete mode 100644 apigen/vendor/symfony/polyfill-mbstring/README.md delete mode 100644 apigen/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php delete mode 100644 apigen/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php delete mode 100644 apigen/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php delete mode 100644 apigen/vendor/symfony/polyfill-mbstring/bootstrap.php delete mode 100644 apigen/vendor/symfony/polyfill-mbstring/composer.json create mode 100644 apigen/vendor/symfony/service-contracts/Attribute/Required.php create mode 100644 apigen/vendor/symfony/service-contracts/Attribute/SubscribedService.php create mode 100644 apigen/vendor/symfony/service-contracts/CHANGELOG.md create mode 100644 apigen/vendor/symfony/service-contracts/LICENSE create mode 100644 apigen/vendor/symfony/service-contracts/README.md create mode 100644 apigen/vendor/symfony/service-contracts/ResetInterface.php create mode 100644 apigen/vendor/symfony/service-contracts/ServiceLocatorTrait.php create mode 100644 apigen/vendor/symfony/service-contracts/ServiceProviderInterface.php create mode 100644 apigen/vendor/symfony/service-contracts/ServiceSubscriberInterface.php create mode 100644 apigen/vendor/symfony/service-contracts/ServiceSubscriberTrait.php create mode 100644 apigen/vendor/symfony/service-contracts/Test/ServiceLocatorTest.php create mode 100644 apigen/vendor/symfony/service-contracts/Test/ServiceLocatorTestCase.php create mode 100644 apigen/vendor/symfony/service-contracts/composer.json create mode 100644 apigen/vendor/symfony/string/AbstractString.php create mode 100644 apigen/vendor/symfony/string/AbstractUnicodeString.php create mode 100644 apigen/vendor/symfony/string/ByteString.php create mode 100644 apigen/vendor/symfony/string/CHANGELOG.md create mode 100644 apigen/vendor/symfony/string/CodePointString.php create mode 100644 apigen/vendor/symfony/string/Exception/ExceptionInterface.php create mode 100644 apigen/vendor/symfony/string/Exception/InvalidArgumentException.php create mode 100644 apigen/vendor/symfony/string/Exception/RuntimeException.php create mode 100644 apigen/vendor/symfony/string/Inflector/EnglishInflector.php create mode 100644 apigen/vendor/symfony/string/Inflector/FrenchInflector.php create mode 100644 apigen/vendor/symfony/string/Inflector/InflectorInterface.php create mode 100644 apigen/vendor/symfony/string/LICENSE create mode 100644 apigen/vendor/symfony/string/LazyString.php create mode 100644 apigen/vendor/symfony/string/README.md create mode 100644 apigen/vendor/symfony/string/Resources/data/wcswidth_table_wide.php create mode 100644 apigen/vendor/symfony/string/Resources/data/wcswidth_table_zero.php create mode 100644 apigen/vendor/symfony/string/Resources/functions.php create mode 100644 apigen/vendor/symfony/string/Slugger/AsciiSlugger.php create mode 100644 apigen/vendor/symfony/string/Slugger/SluggerInterface.php create mode 100644 apigen/vendor/symfony/string/UnicodeString.php create mode 100644 apigen/vendor/symfony/string/composer.json delete mode 100644 apigen/vendor/symfony/yaml/.gitignore delete mode 100644 apigen/vendor/symfony/yaml/CHANGELOG.md delete mode 100644 apigen/vendor/symfony/yaml/Dumper.php delete mode 100644 apigen/vendor/symfony/yaml/Escaper.php delete mode 100644 apigen/vendor/symfony/yaml/Exception/DumpException.php delete mode 100644 apigen/vendor/symfony/yaml/Exception/ExceptionInterface.php delete mode 100644 apigen/vendor/symfony/yaml/Exception/ParseException.php delete mode 100644 apigen/vendor/symfony/yaml/Exception/RuntimeException.php delete mode 100644 apigen/vendor/symfony/yaml/Inline.php delete mode 100644 apigen/vendor/symfony/yaml/LICENSE delete mode 100644 apigen/vendor/symfony/yaml/Parser.php delete mode 100644 apigen/vendor/symfony/yaml/README.md delete mode 100644 apigen/vendor/symfony/yaml/Tests/DumperTest.php delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/YtsAnchorAlias.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/YtsBasicTests.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/YtsBlockMapping.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/YtsDocumentSeparator.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/YtsErrorTests.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/YtsFlowCollections.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/YtsFoldedScalars.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/YtsNullsAndEmpties.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/YtsSpecificationExamples.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/YtsTypeTransfers.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/embededPhp.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/escapedCharacters.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/index.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/sfComments.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/sfCompact.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/sfMergeKey.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/sfObjects.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/sfQuotes.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/sfTests.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/Fixtures/unindentedCollections.yml delete mode 100644 apigen/vendor/symfony/yaml/Tests/InlineTest.php delete mode 100644 apigen/vendor/symfony/yaml/Tests/ParseExceptionTest.php delete mode 100644 apigen/vendor/symfony/yaml/Tests/ParserTest.php delete mode 100644 apigen/vendor/symfony/yaml/Tests/YamlTest.php delete mode 100644 apigen/vendor/symfony/yaml/Unescaper.php delete mode 100644 apigen/vendor/symfony/yaml/Yaml.php delete mode 100644 apigen/vendor/symfony/yaml/composer.json delete mode 100644 apigen/vendor/symfony/yaml/phpunit.xml.dist delete mode 100644 apigen/vendor/tracy/tracy/.eslintrc.js delete mode 100644 apigen/vendor/tracy/tracy/.phpstorm.meta.php delete mode 100644 apigen/vendor/tracy/tracy/appveyor.yml delete mode 100644 apigen/vendor/tracy/tracy/composer.json delete mode 100644 apigen/vendor/tracy/tracy/contributing.md delete mode 100644 apigen/vendor/tracy/tracy/examples/ajax.php delete mode 100644 apigen/vendor/tracy/tracy/examples/assets/E_COMPILE_ERROR.php delete mode 100644 apigen/vendor/tracy/tracy/examples/assets/arrow.png delete mode 100644 apigen/vendor/tracy/tracy/examples/assets/style.css delete mode 100644 apigen/vendor/tracy/tracy/examples/barDump.php delete mode 100644 apigen/vendor/tracy/tracy/examples/dump-snapshot.php delete mode 100644 apigen/vendor/tracy/tracy/examples/dump.php delete mode 100644 apigen/vendor/tracy/tracy/examples/exception.php delete mode 100644 apigen/vendor/tracy/tracy/examples/fatal-error.php delete mode 100644 apigen/vendor/tracy/tracy/examples/firelogger.php delete mode 100644 apigen/vendor/tracy/tracy/examples/notice.php delete mode 100644 apigen/vendor/tracy/tracy/examples/output-debugger.php delete mode 100644 apigen/vendor/tracy/tracy/examples/preloading.php delete mode 100644 apigen/vendor/tracy/tracy/examples/redirect.php delete mode 100644 apigen/vendor/tracy/tracy/examples/warning.php delete mode 100644 apigen/vendor/tracy/tracy/license.md delete mode 100644 apigen/vendor/tracy/tracy/readme.md delete mode 100644 apigen/vendor/tracy/tracy/src/Bridges/Nette/Bridge.php delete mode 100644 apigen/vendor/tracy/tracy/src/Bridges/Nette/MailSender.php delete mode 100644 apigen/vendor/tracy/tracy/src/Bridges/Nette/TracyExtension.php delete mode 100644 apigen/vendor/tracy/tracy/src/Bridges/Psr/PsrToTracyLoggerAdapter.php delete mode 100644 apigen/vendor/tracy/tracy/src/Bridges/Psr/TracyToPsrLoggerAdapter.php delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/Bar.php delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/DefaultBarPanel.php delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/IBarPanel.php delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/assets/bar.css delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/assets/bar.js delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/assets/bar.phtml delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/assets/loader.phtml delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/assets/panels.phtml delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/panels/dumps.panel.phtml delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/panels/dumps.tab.phtml delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/panels/errors.panel.phtml delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/panels/errors.tab.phtml delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/panels/info.panel.phtml delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Bar/panels/info.tab.phtml delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/BlueScreen/BlueScreen.php delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/BlueScreen/assets/bluescreen.css delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/BlueScreen/assets/bluescreen.js delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/BlueScreen/assets/content.phtml delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/BlueScreen/assets/page.phtml delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Debugger/Debugger.php delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Debugger/assets/error.500.phtml delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Dumper/Dumper.php delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Dumper/assets/dumper.css delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Dumper/assets/dumper.js delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Helpers.php delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Logger/FireLogger.php delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Logger/ILogger.php delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Logger/Logger.php delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/OutputDebugger/OutputDebugger.php delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/TableSort/table-sort.css delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/TableSort/table-sort.js delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Toggle/toggle.css delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/Toggle/toggle.js delete mode 100644 apigen/vendor/tracy/tracy/src/Tracy/shortcuts.php delete mode 100644 apigen/vendor/tracy/tracy/src/tracy.php delete mode 100644 apigen/vendor/tracy/tracy/tools/create-phar/create-phar.php delete mode 100644 apigen/vendor/tracy/tracy/tools/open-in-editor/linux/install.sh delete mode 100644 apigen/vendor/tracy/tracy/tools/open-in-editor/linux/open-editor.sh delete mode 100644 apigen/vendor/tracy/tracy/tools/open-in-editor/windows/install.cmd delete mode 100644 apigen/vendor/tracy/tracy/tools/open-in-editor/windows/open-editor.js diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..e4701924 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,39 @@ +name: Create and publish a Docker image +concurrency: + group: ${{ github.ref }} + cancel-in-progress: true +on: + push: + branches: ['main'] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build-and-push-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push Docker image + uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file diff --git a/.github/workflows/twitter-post.yml b/.github/workflows/twitter-post.yml deleted file mode 100644 index 3ae811af..00000000 --- a/.github/workflows/twitter-post.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: Twitter Post On Release - -env: - VS_WORKFLOW_TYPE: "twitter-post" - -on: - release: - types: - - published - -jobs: - twitter_post: - name: "🐦 Tweet" - runs-on: ubuntu-latest - steps: - - name: "📥 Fetching Repository Contents" - uses: actions/checkout@main - - - name: "💾 Github Repository Metadata" - uses: varunsridharan/action-repository-meta@main - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: "💫 VS Utility" - uses: varunsridharan/action-vs-utility@main - env: - SVA_ONL_TOKEN: ${{ secrets.SVA_ONL_TOKEN }} - - - name: "⚡ Repository - Before Hook" - run: | - echo " " - if [ -f $VS_BEFORE_HOOK_FILE_LOCATION ]; then - echo "✅ Before Hook File Found : $VS_BEFORE_HOOK_FILE_LOCATION" - sh $VS_BEFORE_HOOK_FILE_LOCATION - else - echo "⚠️ No Before Hook File Found : $VS_BEFORE_HOOK_FILE_LOCATION" - fi - echo " " - - - name: "🚀 Publishing Tweet 🐦 " - uses: m1ner79/Github-Twittction@master - with: - twitter_status: ${{ env.TWITTER_STATUS }} - twitter_consumer_key: ${{ secrets.TWITTER_API_KEY }} - twitter_consumer_secret: ${{ secrets.TWITTER_API_SECRET_KEY }} - twitter_access_token_key: ${{ secrets.TWITTER_ACCESS_TOKEN }} - twitter_access_token_secret: ${{ secrets.TWITTER_ACCESS_SECRET_TOKEN }} - - - name: "⚡ Repository - After Hook" - run: | - echo " " - if [ -f $VS_AFTER_HOOK_FILE_LOCATION ]; then - echo "✅ After Hook File Found : $VS_AFTER_HOOK_FILE_LOCATION" - sh $VS_AFTER_HOOK_FILE_LOCATION - else - echo "⚠️ No After Hook File Found : $VS_AFTER_HOOK_FILE_LOCATION" - fi - echo " " \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..a806c47e --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.idea +.vagrant +Vagrantfile \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 6fdabaf5..6ec55f43 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM php:7.1-cli-alpine3.10 +FROM php:8.2-cli-alpine3.18 RUN apk add git diff --git a/action.yml b/action.yml index 8afe9305..b06dfe65 100644 --- a/action.yml +++ b/action.yml @@ -28,7 +28,7 @@ inputs: default: 'yes' runs: using: 'docker' - image: 'Dockerfile' + image: 'docker://ghcr.io/net9-oy/action-apigen:main' args: - ${{ inputs.push_to_branch }} - ${{ inputs.before_cmd }} diff --git a/apigen/composer.json b/apigen/composer.json index c692c487..434f1733 100644 --- a/apigen/composer.json +++ b/apigen/composer.json @@ -1,5 +1,5 @@ { "require" : { - "apigen/apigen" : "4.1.2" + "apigen/apigen" : "dev-master" } } \ No newline at end of file diff --git a/apigen/composer.lock b/apigen/composer.lock index e5365341..6d656f65 100644 --- a/apigen/composer.lock +++ b/apigen/composer.lock @@ -4,104 +4,57 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5a8af2a16ff8048ead174e17b13005d9", + "content-hash": "fb1de6ef9ac55962293a1b2be2477592", "packages": [ - { - "name": "andrewsville/php-token-reflection", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/Andrewsville/PHP-Token-Reflection.git", - "reference": "e6d0ac2baf66cdf154be34c3d2a2aa1bd4b426ee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Andrewsville/PHP-Token-Reflection/zipball/e6d0ac2baf66cdf154be34c3d2a2aa1bd4b426ee", - "reference": "e6d0ac2baf66cdf154be34c3d2a2aa1bd4b426ee", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "TokenReflection": "./" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3" - ], - "authors": [ - { - "name": "Ondřej Nešpor", - "homepage": "https://github.com/andrewsville" - }, - { - "name": "Jaroslav Hanslík", - "homepage": "https://github.com/kukulich" - } - ], - "description": "Library emulating the PHP internal reflection using just the tokenized source code.", - "homepage": "http://andrewsville.github.com/PHP-Token-Reflection/", - "keywords": [ - "library", - "reflection", - "tokenizer" - ], - "time": "2014-08-06T16:37:08+00:00" - }, { "name": "apigen/apigen", - "version": "v4.1.2", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/ApiGen/ApiGen.git", - "reference": "3365433ea3433b0e5c8f763608f8e63cbedb2a3a" + "reference": "72ac83e6c041eb7fbc83d269061b3d1496c1090b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ApiGen/ApiGen/zipball/3365433ea3433b0e5c8f763608f8e63cbedb2a3a", - "reference": "3365433ea3433b0e5c8f763608f8e63cbedb2a3a", + "url": "https://api.github.com/repos/ApiGen/ApiGen/zipball/72ac83e6c041eb7fbc83d269061b3d1496c1090b", + "reference": "72ac83e6c041eb7fbc83d269061b3d1496c1090b", "shasum": "" }, "require": { - "andrewsville/php-token-reflection": "~1.4", - "apigen/theme-bootstrap": "~1.1.2", - "apigen/theme-default": "~1.0.1", - "herrera-io/phar-update": "~2.0", - "kdyby/events": "~2.0", - "kukulich/fshl": "~2.1", - "latte/latte": ">=2.2.0,<2.3.5", - "michelf/php-markdown": "~1.4", - "nette/application": "~2.2", - "nette/bootstrap": "~2.2", - "nette/di": "~2.2", - "nette/mail": "~2.2", - "nette/neon": "~2.2", - "nette/robot-loader": "~2.2", - "nette/safe-stream": "~2.2", - "php": ">=5.4", - "symfony/console": "~2.6", - "symfony/options-resolver": "~2.6.1", - "symfony/yaml": "~2.6", - "tracy/tracy": "~2.2" + "composer-runtime-api": "^2.0", + "ext-ctype": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "jetbrains/phpstorm-stubs": "^2022.3", + "latte/latte": "^3.0", + "league/commonmark": "^2.3", + "nette/di": "^3.1", + "nette/finder": "^3.0", + "nette/schema": "^1.2", + "nette/utils": "^4.0", + "nikic/php-parser": "^4.15", + "php": "^8.1", + "phpstan/php-8-stubs": "^0.3.55", + "phpstan/phpdoc-parser": "^1.16", + "symfony/console": "^6.0" + }, + "replace": { + "symfony/polyfill-ctype": "*", + "symfony/polyfill-mbstring": "*", + "symfony/polyfill-php80": "*" }, "require-dev": { - "herrera-io/box": "~1.6", - "mockery/mockery": "~0.9" + "nette/neon": "^3.4", + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.9", + "tracy/tracy": "^2.9" }, + "default-branch": true, "bin": [ "bin/apigen" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1.0-dev" - } - }, "autoload": { "psr-4": { "ApiGen\\": "src" @@ -113,848 +66,196 @@ ], "authors": [ { - "name": "David Grudl", - "homepage": "http://davidgrudl.com" - }, - { - "name": "Ondřej Nešpor", - "homepage": "https://github.com/andrewsville" + "name": "ApiGen Contributors", + "homepage": "https://github.com/apigen/apigen/graphs/contributors" }, { "name": "Jaroslav Hanslík", "homepage": "https://github.com/kukulich" }, - { - "name": "Tomáš Votruba", - "email": "tomas.vot@gmail.com" - }, - { - "name": "Olivier Laviale", - "homepage": "https://github.com/olvlvl" - } - ], - "description": "PHP source code API generator", - "homepage": "http://apigen.org/", - "keywords": [ - "api", - "documentation", - "generator", - "phpdoc" - ], - "time": "2015-11-29T20:11:30+00:00" - }, - { - "name": "apigen/theme-bootstrap", - "version": "v1.1.3", - "source": { - "type": "git", - "url": "https://github.com/ApiGen/ThemeBootstrap.git", - "reference": "55a35b4a3a9a5fcaa6a8fc43fb304983cab98c6c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ApiGen/ThemeBootstrap/zipball/55a35b4a3a9a5fcaa6a8fc43fb304983cab98c6c", - "reference": "55a35b4a3a9a5fcaa6a8fc43fb304983cab98c6c", - "shasum": "" - }, - "require": { - "latte/latte": "~2.2" - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tomáš Votruba", - "email": "tomas.vot@gmail.com" - }, - { - "name": "Olivier Laviale", - "homepage": "https://github.com/olvlvl" - } - ], - "description": "Twitter Bootstrap theme for ApiGen", - "homepage": "http://apigen.org/", - "abandoned": "apigen/apigen", - "time": "2015-10-11T14:52:50+00:00" - }, - { - "name": "apigen/theme-default", - "version": "v1.0.2", - "source": { - "type": "git", - "url": "https://github.com/ApiGen/ThemeDefault.git", - "reference": "51648cf83645d9ae6c655fe46bcd26a347d45336" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ApiGen/ThemeDefault/zipball/51648cf83645d9ae6c655fe46bcd26a347d45336", - "reference": "51648cf83645d9ae6c655fe46bcd26a347d45336", - "shasum": "" - }, - "require": { - "latte/latte": "~2.2" - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "http://davidgrudl.com" - }, { "name": "Ondřej Nešpor", "homepage": "https://github.com/andrewsville" }, - { - "name": "Jaroslav Hanslík", - "homepage": "https://github.com/kukulich" - }, - { - "name": "Tomáš Votruba", - "email": "tomas.vot@gmail.com" - }, - { - "name": "Olivier Laviale", - "homepage": "https://github.com/olvlvl" - } - ], - "description": "Default theme for ApiGen", - "homepage": "http://apigen.org/", - "abandoned": "apigen/apigen", - "time": "2015-10-11T14:55:30+00:00" - }, - { - "name": "herrera-io/json", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/kherge-php/json.git", - "reference": "60c696c9370a1e5136816ca557c17f82a6fa83f1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kherge-php/json/zipball/60c696c9370a1e5136816ca557c17f82a6fa83f1", - "reference": "60c696c9370a1e5136816ca557c17f82a6fa83f1", - "shasum": "" - }, - "require": { - "ext-json": "*", - "justinrainbow/json-schema": ">=1.0,<2.0-dev", - "php": ">=5.3.3", - "seld/jsonlint": ">=1.0,<2.0-dev" - }, - "require-dev": { - "herrera-io/phpunit-test-case": "1.*", - "mikey179/vfsstream": "1.1.0", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "files": [ - "src/lib/json_version.php" - ], - "psr-0": { - "Herrera\\Json": "src/lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kevin Herrera", - "email": "kevin@herrera.io", - "homepage": "http://kevin.herrera.io" - } - ], - "description": "A library for simplifying JSON linting and validation.", - "homepage": "http://herrera-io.github.com/php-json", - "keywords": [ - "json", - "lint", - "schema", - "validate" - ], - "abandoned": "kherge/json", - "time": "2013-10-30T16:51:34+00:00" - }, - { - "name": "herrera-io/phar-update", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/kherge-abandoned/php-phar-update.git", - "reference": "15643c90d3d43620a4f45c910e6afb7a0ad4b488" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kherge-abandoned/php-phar-update/zipball/15643c90d3d43620a4f45c910e6afb7a0ad4b488", - "reference": "15643c90d3d43620a4f45c910e6afb7a0ad4b488", - "shasum": "" - }, - "require": { - "herrera-io/json": "1.*", - "herrera-io/version": "1.*", - "php": ">=5.3.3" - }, - "require-dev": { - "herrera-io/phpunit-test-case": "1.*", - "mikey179/vfsstream": "1.1.0", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "files": [ - "src/lib/constants.php" - ], - "psr-0": { - "Herrera\\Phar\\Update": "src/lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kevin Herrera", - "email": "kevin@herrera.io", - "homepage": "http://kevin.herrera.io" - } - ], - "description": "A library for self-updating Phars.", - "homepage": "http://herrera-io.github.com/php-phar-update", - "keywords": [ - "phar", - "update" - ], - "abandoned": true, - "time": "2013-11-09T17:13:13+00:00" - }, - { - "name": "herrera-io/version", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/kherge-abandoned/php-version.git", - "reference": "d39d9642b92a04d8b8a28b871b797a35a2545e85" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kherge-abandoned/php-version/zipball/d39d9642b92a04d8b8a28b871b797a35a2545e85", - "reference": "d39d9642b92a04d8b8a28b871b797a35a2545e85", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "herrera-io/phpunit-test-case": "1.*", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Herrera\\Version": "src/lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kevin Herrera", - "email": "kevin@herrera.io", - "homepage": "http://kevin.herrera.io" - } - ], - "description": "A library for creating, editing, and comparing semantic versioning numbers.", - "homepage": "http://github.com/herrera-io/php-version", - "keywords": [ - "semantic", - "version" - ], - "abandoned": "kherge/semver", - "time": "2014-05-27T05:29:25+00:00" - }, - { - "name": "justinrainbow/json-schema", - "version": "1.6.1", - "source": { - "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "cc84765fb7317f6b07bd8ac78364747f95b86341" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/cc84765fb7317f6b07bd8ac78364747f95b86341", - "reference": "cc84765fb7317f6b07bd8ac78364747f95b86341", - "shasum": "" - }, - "require": { - "php": ">=5.3.29" - }, - "require-dev": { - "json-schema/json-schema-test-suite": "1.1.0", - "phpdocumentor/phpdocumentor": "~2", - "phpunit/phpunit": "~3.7" - }, - "bin": [ - "bin/validate-json" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-4": { - "JsonSchema\\": "src/JsonSchema/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" - } - ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", - "keywords": [ - "json", - "schema" - ], - "time": "2016-01-25T15:43:01+00:00" - }, - { - "name": "kdyby/events", - "version": "v2.4.1", - "source": { - "type": "git", - "url": "https://github.com/Kdyby/Events.git", - "reference": "d8a0e8a64a59f501996f8f9591aa3f950208f091" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Kdyby/Events/zipball/d8a0e8a64a59f501996f8f9591aa3f950208f091", - "reference": "d8a0e8a64a59f501996f8f9591aa3f950208f091", - "shasum": "" - }, - "require": { - "nette/di": "~2.3@dev", - "nette/utils": "~2.3@dev" - }, - "require-dev": { - "latte/latte": "~2.3@dev", - "nette/application": "~2.3@dev", - "nette/bootstrap": "~2.3@dev", - "nette/caching": "~2.3@dev", - "nette/component-model": "~2.2@dev", - "nette/database": "~2.3@dev", - "nette/deprecated": "~2.3@dev", - "nette/di": "~2.3@dev", - "nette/finder": "~2.3@dev", - "nette/forms": "~2.3@dev", - "nette/http": "~2.3@dev", - "nette/mail": "~2.3@dev", - "nette/neon": "~2.3@dev", - "nette/php-generator": "~2.3@dev", - "nette/reflection": "~2.3@dev", - "nette/robot-loader": "~2.3@dev", - "nette/safe-stream": "~2.3@dev", - "nette/security": "~2.3@dev", - "nette/tester": "~1.4", - "nette/tokenizer": "~2.2@dev", - "nette/utils": "~2.3@dev", - "symfony/event-dispatcher": "~2.3", - "tracy/tracy": "~2.3@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "psr-0": { - "Kdyby\\Events\\": "src/" - }, - "classmap": [ - "src/Kdyby/Events/exceptions.php" - ], - "files": [ - "src/Doctrine/compatibility.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" - ], - "authors": [ - { - "name": "Filip Procházka", - "email": "filip@prochazka.su", - "homepage": "http://filip-prochazka.com" - } - ], - "description": "Events for Nette Framework", - "homepage": "http://kdyby.org", - "keywords": [ - "kdyby", - "nette" - ], - "time": "2016-04-19T11:19:31+00:00" - }, - { - "name": "kukulich/fshl", - "version": "2.1.0", - "source": { - "type": "git", - "url": "https://github.com/kukulich/fshl.git", - "reference": "974c294ade5d76c0c16b6fe3fd3a584ba999b24f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kukulich/fshl/zipball/974c294ade5d76c0c16b6fe3fd3a584ba999b24f", - "reference": "974c294ade5d76c0c16b6fe3fd3a584ba999b24f", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "autoload": { - "psr-0": { - "FSHL": "./" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "authors": [ - { - "name": "Jaroslav Hanslík", - "homepage": "https://github.com/kukulich" - } - ], - "description": "FSHL is a free, open source, universal, fast syntax highlighter written in PHP.", - "homepage": "http://fshl.kukulich.cz/", - "keywords": [ - "highlight", - "library", - "syntax" - ], - "time": "2012-09-08T19:00:07+00:00" - }, - { - "name": "latte/latte", - "version": "v2.3.4", - "source": { - "type": "git", - "url": "https://github.com/nette/latte.git", - "reference": "5e891af999776d2204a9d06ad66ad8fa0bcd4f8b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/latte/zipball/5e891af999776d2204a9d06ad66ad8fa0bcd4f8b", - "reference": "5e891af999776d2204a9d06ad66ad8fa0bcd4f8b", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.1" - }, - "require-dev": { - "nette/tester": "~1.3" - }, - "suggest": { - "ext-fileinfo": "to use filter |datastream", - "ext-mbstring": "to use filters like lower, upper, capitalize, ..." - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "http://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "http://nette.org/contributors" - } - ], - "description": "Latte: the amazing template engine for PHP", - "homepage": "http://latte.nette.org", - "keywords": [ - "templating", - "twig" - ], - "time": "2015-08-23T12:36:55+00:00" - }, - { - "name": "michelf/php-markdown", - "version": "1.9.0", - "source": { - "type": "git", - "url": "https://github.com/michelf/php-markdown.git", - "reference": "c83178d49e372ca967d1a8c77ae4e051b3a3c75c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/michelf/php-markdown/zipball/c83178d49e372ca967d1a8c77ae4e051b3a3c75c", - "reference": "c83178d49e372ca967d1a8c77ae4e051b3a3c75c", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": ">=4.3 <5.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Michelf\\": "Michelf/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Michel Fortin", - "email": "michel.fortin@michelf.ca", - "homepage": "https://michelf.ca/", - "role": "Developer" - }, - { - "name": "John Gruber", - "homepage": "https://daringfireball.net/" - } - ], - "description": "PHP Markdown", - "homepage": "https://michelf.ca/projects/php-markdown/", - "keywords": [ - "markdown" - ], - "time": "2019-12-02T02:32:27+00:00" - }, - { - "name": "nette/application", - "version": "v2.4.14", - "source": { - "type": "git", - "url": "https://github.com/nette/application.git", - "reference": "86a28664ca5594a6f97db889fd480cf4cf737218" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/application/zipball/86a28664ca5594a6f97db889fd480cf4cf737218", - "reference": "86a28664ca5594a6f97db889fd480cf4cf737218", - "shasum": "" - }, - "require": { - "nette/component-model": "^2.3", - "nette/http": "^2.2", - "nette/reflection": "^2.2", - "nette/utils": "^2.4", - "php": ">=5.6.0" - }, - "conflict": { - "nette/di": "<2.4", - "nette/forms": "<2.4", - "nette/latte": "<2.4", - "nette/nette": "<2.2" - }, - "require-dev": { - "latte/latte": "^2.4.3", - "mockery/mockery": "^1.0", - "nette/di": "^2.4", - "nette/forms": "^2.4", - "nette/robot-loader": "^2.4.2 || ^3.0", - "nette/security": "^2.4", - "nette/tester": "^2.0", - "tracy/tracy": "^2.4" - }, - "suggest": { - "latte/latte": "Allows using Latte in templates", - "nette/forms": "Allows to use Nette\\Application\\UI\\Form" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ], - "files": [ - "src/compatibility.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" - ], - "authors": [ { "name": "David Grudl", "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" - } - ], - "description": "🏆 Nette Application: a full-stack component-based MVC kernel for PHP that helps you write powerful and modern web applications. Write less, have cleaner code and your work will bring you joy.", - "homepage": "https://nette.org", - "keywords": [ - "Forms", - "component-based", - "control", - "framework", - "mvc", - "mvp", - "nette", - "presenter", - "routing", - "seo" + } ], - "time": "2019-11-19T18:47:13+00:00" + "description": "PHP source code API generator.", + "support": { + "issues": "https://github.com/ApiGen/ApiGen/issues", + "source": "https://github.com/ApiGen/ApiGen/tree/master" + }, + "time": "2023-09-17T16:57:57+00:00" }, { - "name": "nette/bootstrap", - "version": "v2.4.6", + "name": "dflydev/dot-access-data", + "version": "v3.0.2", "source": { "type": "git", - "url": "https://github.com/nette/bootstrap.git", - "reference": "268816e3f1bb7426c3a4ceec2bd38a036b532543" + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "f41715465d65213d644d3141a6a93081be5d3549" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/bootstrap/zipball/268816e3f1bb7426c3a4ceec2bd38a036b532543", - "reference": "268816e3f1bb7426c3a4ceec2bd38a036b532543", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", + "reference": "f41715465d65213d644d3141a6a93081be5d3549", "shasum": "" }, "require": { - "nette/di": "~2.4.7", - "nette/utils": "~2.4", - "php": ">=5.6.0" - }, - "conflict": { - "nette/nette": "<2.2" + "php": "^7.1 || ^8.0" }, "require-dev": { - "latte/latte": "~2.2", - "nette/application": "~2.3", - "nette/caching": "~2.3", - "nette/database": "~2.3", - "nette/forms": "~2.3", - "nette/http": "~2.4.0", - "nette/mail": "~2.3", - "nette/robot-loader": "^2.4.2 || ^3.0", - "nette/safe-stream": "~2.2", - "nette/security": "~2.3", - "nette/tester": "~2.0", - "tracy/tracy": "^2.4.1" - }, - "suggest": { - "nette/robot-loader": "to use Configurator::createRobotLoader()", - "tracy/tracy": "to use Configurator::enableTracy()" + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-main": "3.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" + "MIT" ], "authors": [ { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" }, { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" } ], - "description": "? Nette Bootstrap: the simple way to configure and bootstrap your Nette application.", - "homepage": "https://nette.org", + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", "keywords": [ - "bootstrapping", - "configurator", - "nette" + "access", + "data", + "dot", + "notation" ], - "time": "2018-05-17T12:52:20+00:00" + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + }, + "time": "2022-10-27T11:44:00+00:00" }, { - "name": "nette/caching", - "version": "v2.5.9", + "name": "jetbrains/phpstorm-stubs", + "version": "v2022.3", "source": { "type": "git", - "url": "https://github.com/nette/caching.git", - "reference": "d93ef446836a5a0ff7ef78d5ffebb7fe043f9953" + "url": "https://github.com/JetBrains/phpstorm-stubs.git", + "reference": "6b568c153cea002dc6fad96285c3063d07cab18d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/caching/zipball/d93ef446836a5a0ff7ef78d5ffebb7fe043f9953", - "reference": "d93ef446836a5a0ff7ef78d5ffebb7fe043f9953", + "url": "https://api.github.com/repos/JetBrains/phpstorm-stubs/zipball/6b568c153cea002dc6fad96285c3063d07cab18d", + "reference": "6b568c153cea002dc6fad96285c3063d07cab18d", "shasum": "" }, - "require": { - "nette/finder": "^2.2 || ~3.0.0", - "nette/utils": "^2.4 || ~3.0.0", - "php": ">=5.6.0" - }, - "conflict": { - "nette/nette": "<2.2" - }, "require-dev": { - "latte/latte": "^2.4", - "nette/di": "^2.4 || ~3.0.0", - "nette/tester": "^2.0", - "tracy/tracy": "^2.4" - }, - "suggest": { - "ext-pdo_sqlite": "to use SQLiteStorage or SQLiteJournal" + "friendsofphp/php-cs-fixer": "@stable", + "nikic/php-parser": "@stable", + "php": "^8.0", + "phpdocumentor/reflection-docblock": "@stable", + "phpunit/phpunit": "@stable" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, "autoload": { - "classmap": [ - "src/" + "files": [ + "PhpStormStubsMap.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" - } + "Apache-2.0" ], - "description": "⏱ Nette Caching: library with easy-to-use API and many cache backends.", - "homepage": "https://nette.org", + "description": "PHP runtime & extensions header files for PhpStorm", + "homepage": "https://www.jetbrains.com/phpstorm", "keywords": [ - "cache", - "journal", - "memcached", - "nette", - "sqlite" + "autocomplete", + "code", + "inference", + "inspection", + "jetbrains", + "phpstorm", + "stubs", + "type" ], - "time": "2019-11-19T18:38:13+00:00" + "support": { + "source": "https://github.com/JetBrains/phpstorm-stubs/tree/v2022.3" + }, + "time": "2022-10-17T09:21:37+00:00" }, { - "name": "nette/component-model", - "version": "v2.4.0", + "name": "latte/latte", + "version": "v3.0.12", "source": { "type": "git", - "url": "https://github.com/nette/component-model.git", - "reference": "6e7980f5ddec31f68a39e767799b1b0be9dd1014" + "url": "https://github.com/nette/latte.git", + "reference": "af6fc60e7a28cbc1717b8185ef04d36fd69f8711" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/component-model/zipball/6e7980f5ddec31f68a39e767799b1b0be9dd1014", - "reference": "6e7980f5ddec31f68a39e767799b1b0be9dd1014", + "url": "https://api.github.com/repos/nette/latte/zipball/af6fc60e7a28cbc1717b8185ef04d36fd69f8711", + "reference": "af6fc60e7a28cbc1717b8185ef04d36fd69f8711", "shasum": "" }, "require": { - "nette/utils": "^2.5 || ~3.0.0", - "php": ">=5.6.0" + "ext-json": "*", + "ext-tokenizer": "*", + "php": "8.0 - 8.3" }, "conflict": { - "nette/application": "<2.4", - "nette/nette": "<2.2" + "nette/application": "<3.1.7", + "nette/caching": "<3.1.4" }, "require-dev": { + "nette/php-generator": "^3.6 || ^4.0", "nette/tester": "^2.0", + "nette/utils": "^3.0", + "phpstan/phpstan": "^1", "tracy/tracy": "^2.3" }, + "suggest": { + "ext-fileinfo": "to use filter |datastream", + "ext-iconv": "to use filters |reverse, |substring", + "ext-mbstring": "to use filters like lower, upper, capitalize, ...", + "nette/php-generator": "to use tag {templatePrint}", + "nette/utils": "to use filter |webalize" + }, + "bin": [ + "bin/latte-lint" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -965,8 +266,8 @@ "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" + "GPL-2.0-only", + "GPL-3.0-only" ], "authors": [ { @@ -978,180 +279,244 @@ "homepage": "https://nette.org/contributors" } ], - "description": "⚛ Nette Component Model", - "homepage": "https://nette.org", + "description": "☕ Latte: the intuitive and fast template engine for those who want the most secure PHP sites. Introduces context-sensitive escaping.", + "homepage": "https://latte.nette.org", "keywords": [ - "components", - "nette" + "context-sensitive", + "engine", + "escaping", + "html", + "nette", + "security", + "template", + "twig" ], - "time": "2018-03-20T16:32:50+00:00" + "support": { + "issues": "https://github.com/nette/latte/issues", + "source": "https://github.com/nette/latte/tree/v3.0.12" + }, + "time": "2023-11-13T11:31:09+00:00" }, { - "name": "nette/di", - "version": "v2.4.16", + "name": "league/commonmark", + "version": "2.4.1", "source": { "type": "git", - "url": "https://github.com/nette/di.git", - "reference": "2d5c53d74ae4e65dc943a212d849e30bef011a4e" + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/di/zipball/2d5c53d74ae4e65dc943a212d849e30bef011a4e", - "reference": "2d5c53d74ae4e65dc943a212d849e30bef011a4e", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/3669d6d5f7a47a93c08ddff335e6d945481a1dd5", + "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "nette/neon": "^2.3.3 || ~3.0.0", - "nette/php-generator": "^2.6.1 || ^3.0.0", - "nette/utils": "^2.5.0 || ~3.0.0", - "php": ">=5.6.0" - }, - "conflict": { - "nette/bootstrap": "<2.4", - "nette/nette": "<2.2" + "ext-mbstring": "*", + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" }, "require-dev": { - "nette/tester": "^2.0", - "tracy/tracy": "^2.3" + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.30.0", + "commonmark/commonmark.js": "0.30.0", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-main": "2.5-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "League\\CommonMark\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" + "BSD-3-Clause" ], "authors": [ { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" } ], - "description": "💎 Nette Dependency Injection Container: Flexible, compiled and full-featured DIC with perfectly usable autowiring and support for all new PHP 7.1 features.", - "homepage": "https://nette.org", + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", "keywords": [ - "compiled", - "di", - "dic", - "factory", - "ioc", - "nette", - "static" + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } ], - "time": "2019-11-19T18:25:17+00:00" + "time": "2023-08-30T16:55:00+00:00" }, { - "name": "nette/finder", - "version": "v2.5.2", + "name": "league/config", + "version": "v1.2.0", "source": { "type": "git", - "url": "https://github.com/nette/finder.git", - "reference": "4ad2c298eb8c687dd0e74ae84206a4186eeaed50" + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/finder/zipball/4ad2c298eb8c687dd0e74ae84206a4186eeaed50", - "reference": "4ad2c298eb8c687dd0e74ae84206a4186eeaed50", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", "shasum": "" }, "require": { - "nette/utils": "^2.4 || ^3.0", - "php": ">=7.1" - }, - "conflict": { - "nette/nette": "<2.2" + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" }, "require-dev": { - "nette/tester": "^2.0", - "phpstan/phpstan": "^0.12", - "tracy/tracy": "^2.3" + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.5-dev" + "dev-main": "1.2-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "League\\Config\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" + "BSD-3-Clause" ], "authors": [ { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" } ], - "description": "🔍 Nette Finder: find files and directories with an intuitive API.", - "homepage": "https://nette.org", + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", "keywords": [ - "filesystem", - "glob", - "iterator", - "nette" + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } ], - "time": "2020-01-03T20:35:40+00:00" + "time": "2022-12-11T20:36:23+00:00" }, { - "name": "nette/http", - "version": "v2.4.11", + "name": "nette/di", + "version": "v3.1.8", "source": { "type": "git", - "url": "https://github.com/nette/http.git", - "reference": "3d75d11a880fe223bfa6bc7ca9822bdfe789e5a6" + "url": "https://github.com/nette/di.git", + "reference": "adf475076dae08109dd0d57b1a48668d1d1bedf0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/http/zipball/3d75d11a880fe223bfa6bc7ca9822bdfe789e5a6", - "reference": "3d75d11a880fe223bfa6bc7ca9822bdfe789e5a6", + "url": "https://api.github.com/repos/nette/di/zipball/adf475076dae08109dd0d57b1a48668d1d1bedf0", + "reference": "adf475076dae08109dd0d57b1a48668d1d1bedf0", "shasum": "" }, "require": { - "nette/utils": "^2.4 || ~3.0.0", - "php": ">=5.6.0" - }, - "conflict": { - "nette/nette": "<2.2" + "ext-tokenizer": "*", + "nette/neon": "^3.3 || ^4.0", + "nette/php-generator": "^3.5.4 || ^4.0", + "nette/robot-loader": "^3.2 || ~4.0.0", + "nette/schema": "^1.2.5", + "nette/utils": "^3.2.5 || ~4.0.0", + "php": "7.2 - 8.3" }, "require-dev": { - "nette/di": "^2.4.8 || ~3.0.0", - "nette/tester": "^2.0", - "tracy/tracy": "^2.4" - }, - "suggest": { - "ext-fileinfo": "to detect type of uploaded files", - "nette/security": "allows use Nette\\Http\\UserStorage" + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "3.1-dev" } }, "autoload": { @@ -1162,8 +527,8 @@ "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" + "GPL-2.0-only", + "GPL-3.0-only" ], "authors": [ { @@ -1175,67 +540,51 @@ "homepage": "https://nette.org/contributors" } ], - "description": "? Nette Http: abstraction for HTTP request, response and session. Provides careful data sanitization and utility for URL and cookies manipulation.", + "description": "💎 Nette Dependency Injection Container: Flexible, compiled and full-featured DIC with perfectly usable autowiring and support for all new PHP features.", "homepage": "https://nette.org", "keywords": [ - "cookies", - "http", + "compiled", + "di", + "dic", + "factory", + "ioc", "nette", - "proxy", - "request", - "response", - "security", - "session", - "url" + "static" ], - "time": "2019-03-13T19:04:45+00:00" + "support": { + "issues": "https://github.com/nette/di/issues", + "source": "https://github.com/nette/di/tree/v3.1.8" + }, + "time": "2023-11-03T00:12:52+00:00" }, { - "name": "nette/mail", - "version": "v2.4.6", + "name": "nette/finder", + "version": "v3.0.0", "source": { "type": "git", - "url": "https://github.com/nette/mail.git", - "reference": "431f1774034cc14ee6a795b6514fe6343f75a68e" + "url": "https://github.com/nette/finder.git", + "reference": "027395c638637de95c8e9fad49a7c51249404ed2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/mail/zipball/431f1774034cc14ee6a795b6514fe6343f75a68e", - "reference": "431f1774034cc14ee6a795b6514fe6343f75a68e", + "url": "https://api.github.com/repos/nette/finder/zipball/027395c638637de95c8e9fad49a7c51249404ed2", + "reference": "027395c638637de95c8e9fad49a7c51249404ed2", "shasum": "" }, "require": { - "ext-iconv": "*", - "nette/utils": "^2.4 || ~3.0.0", - "php": ">=5.6.0" - }, - "conflict": { - "nette/nette": "<2.2" - }, - "require-dev": { - "nette/di": "^2.4 || ~3.0.0", - "nette/tester": "^2.0", - "tracy/tracy": "^2.4" - }, - "suggest": { - "ext-fileinfo": "to detect type of attached files" + "nette/utils": "^4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "3.0-dev" } }, - "autoload": { - "classmap": [ - "src/" - ] - }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" + "GPL-2.0-only", + "GPL-3.0-only" ], "authors": [ { @@ -1247,44 +596,50 @@ "homepage": "https://nette.org/contributors" } ], - "description": "? Nette Mail: handy email creation and transfer library for PHP with both text and MIME-compliant support.", + "description": "🔍 Nette Finder: find files and directories with an intuitive API.", "homepage": "https://nette.org", "keywords": [ - "mail", - "mailer", - "mime", - "nette", - "smtp" + "filesystem", + "glob", + "iterator", + "nette" ], - "time": "2018-11-21T22:35:13+00:00" + "support": { + "issues": "https://github.com/nette/finder/issues", + "source": "https://github.com/nette/finder/tree/v3.0.0" + }, + "time": "2022-12-14T17:05:54+00:00" }, { "name": "nette/neon", - "version": "v2.4.3", + "version": "v3.4.1", "source": { "type": "git", "url": "https://github.com/nette/neon.git", - "reference": "5e72b1dd3e2d34f0863c5561139a19df6a1ef398" + "reference": "457bfbf0560f600b30d9df4233af382a478bb44d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/neon/zipball/5e72b1dd3e2d34f0863c5561139a19df6a1ef398", - "reference": "5e72b1dd3e2d34f0863c5561139a19df6a1ef398", + "url": "https://api.github.com/repos/nette/neon/zipball/457bfbf0560f600b30d9df4233af382a478bb44d", + "reference": "457bfbf0560f600b30d9df4233af382a478bb44d", "shasum": "" }, "require": { - "ext-iconv": "*", "ext-json": "*", - "php": ">=5.6.0" + "php": "8.0 - 8.3" }, "require-dev": { - "nette/tester": "~2.0", - "tracy/tracy": "^2.3" + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.7" }, + "bin": [ + "bin/neon-lint" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -1295,8 +650,8 @@ "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" + "GPL-2.0-only", + "GPL-3.0-only" ], "authors": [ { @@ -1308,8 +663,8 @@ "homepage": "https://nette.org/contributors" } ], - "description": "? Nette NEON: encodes and decodes NEON file format.", - "homepage": "http://ne-on.org", + "description": "🍸 Nette NEON: encodes and decodes NEON file format.", + "homepage": "https://ne-on.org", "keywords": [ "export", "import", @@ -1317,35 +672,44 @@ "nette", "yaml" ], - "time": "2018-03-21T12:12:21+00:00" + "support": { + "issues": "https://github.com/nette/neon/issues", + "source": "https://github.com/nette/neon/tree/v3.4.1" + }, + "time": "2023-09-27T08:59:11+00:00" }, { "name": "nette/php-generator", - "version": "v3.3.4", + "version": "v4.1.2", "source": { "type": "git", "url": "https://github.com/nette/php-generator.git", - "reference": "8fe7e699dca7db186f56d75800cb1ec32e39c856" + "reference": "abc0e79b2d02d4b8aba5933765b90df3f610c143" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/php-generator/zipball/8fe7e699dca7db186f56d75800cb1ec32e39c856", - "reference": "8fe7e699dca7db186f56d75800cb1ec32e39c856", + "url": "https://api.github.com/repos/nette/php-generator/zipball/abc0e79b2d02d4b8aba5933765b90df3f610c143", + "reference": "abc0e79b2d02d4b8aba5933765b90df3f610c143", "shasum": "" }, "require": { - "nette/utils": "^2.4.2 || ^3.0", - "php": ">=7.1" + "nette/utils": "^3.2.9 || ^4.0", + "php": "8.0 - 8.3" }, "require-dev": { - "nette/tester": "^2.0", - "phpstan/phpstan": "^0.12", - "tracy/tracy": "^2.3" + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.4", + "nikic/php-parser": "^4.15", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.8" + }, + "suggest": { + "nikic/php-parser": "to use ClassType::from(withBodies: true) & ClassType::fromCode()" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -1369,7 +733,7 @@ "homepage": "https://nette.org/contributors" } ], - "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 7.4 features.", + "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.3 features.", "homepage": "https://nette.org", "keywords": [ "code", @@ -1377,105 +741,40 @@ "php", "scaffolding" ], - "time": "2020-02-09T14:39:09+00:00" - }, - { - "name": "nette/reflection", - "version": "v2.4.2", - "source": { - "type": "git", - "url": "https://github.com/nette/reflection.git", - "reference": "b12327e98ead74e87a1315e0d48182a702adf901" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/reflection/zipball/b12327e98ead74e87a1315e0d48182a702adf901", - "reference": "b12327e98ead74e87a1315e0d48182a702adf901", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "nette/caching": "^2.2 || ^3.0", - "nette/utils": "^2.4 || ^3.0", - "php": ">=5.6.0" - }, - "conflict": { - "nette/nette": "<2.2" - }, - "require-dev": { - "nette/di": "^2.4 || ^3.0", - "nette/tester": "^2.0", - "tracy/tracy": "^2.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] + "support": { + "issues": "https://github.com/nette/php-generator/issues", + "source": "https://github.com/nette/php-generator/tree/v4.1.2" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" - } - ], - "description": "Nette Reflection: docblock annotations parser and common reflection classes", - "homepage": "https://nette.org", - "keywords": [ - "annotation", - "nette", - "reflection" - ], - "abandoned": true, - "time": "2017-07-11T19:28:57+00:00" + "time": "2023-10-29T22:57:32+00:00" }, { "name": "nette/robot-loader", - "version": "v2.4.4", + "version": "v4.0.1", "source": { "type": "git", "url": "https://github.com/nette/robot-loader.git", - "reference": "1f7f8792ce4d94162959e6b766822d6051623bca" + "reference": "3a947efaff55d48e8cdba5b338bf3a4b708a624a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/robot-loader/zipball/1f7f8792ce4d94162959e6b766822d6051623bca", - "reference": "1f7f8792ce4d94162959e6b766822d6051623bca", + "url": "https://api.github.com/repos/nette/robot-loader/zipball/3a947efaff55d48e8cdba5b338bf3a4b708a624a", + "reference": "3a947efaff55d48e8cdba5b338bf3a4b708a624a", "shasum": "" }, "require": { "ext-tokenizer": "*", - "nette/caching": "~2.2", - "nette/finder": "~2.3", - "nette/utils": "~2.4", - "php": ">=5.6.0" - }, - "conflict": { - "nette/nette": "<2.2" + "nette/utils": "^4.0", + "php": "8.0 - 8.3" }, "require-dev": { - "nette/tester": "~2.0", - "tracy/tracy": "^2.3" + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -1486,8 +785,8 @@ "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" + "GPL-2.0-only", + "GPL-3.0-only" ], "authors": [ { @@ -1499,7 +798,7 @@ "homepage": "https://nette.org/contributors" } ], - "description": "? Nette RobotLoader: high performance and comfortable autoloader that will search and autoload classes within your application.", + "description": "🍀 Nette RobotLoader: high performance and comfortable autoloader that will search and autoload classes within your application.", "homepage": "https://nette.org", "keywords": [ "autoload", @@ -1508,39 +807,44 @@ "nette", "trait" ], - "time": "2017-08-14T20:23:02+00:00" + "support": { + "issues": "https://github.com/nette/robot-loader/issues", + "source": "https://github.com/nette/robot-loader/tree/v4.0.1" + }, + "time": "2023-09-26T18:09:36+00:00" }, { - "name": "nette/safe-stream", - "version": "v2.4.1", + "name": "nette/schema", + "version": "v1.2.5", "source": { "type": "git", - "url": "https://github.com/nette/safe-stream.git", - "reference": "ae6f314041892138cb38b4ff8782e92e03750918" + "url": "https://github.com/nette/schema.git", + "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/safe-stream/zipball/ae6f314041892138cb38b4ff8782e92e03750918", - "reference": "ae6f314041892138cb38b4ff8782e92e03750918", + "url": "https://api.github.com/repos/nette/schema/zipball/0462f0166e823aad657c9224d0f849ecac1ba10a", + "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a", "shasum": "" }, "require": { - "php": ">=7.1" + "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", + "php": "7.1 - 8.3" }, "require-dev": { - "nette/tester": "^2.0", - "phpstan/phpstan": "^0.12", - "tracy/tracy": "^2.3" + "nette/tester": "^2.3 || ^2.4", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "1.2-dev" } }, "autoload": { - "files": [ - "src/loader.php" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1559,67 +863,69 @@ "homepage": "https://nette.org/contributors" } ], - "description": "Nette SafeStream: atomic and safe manipulation with files via native PHP functions.", + "description": "📐 Nette Schema: validating data structures against a given Schema.", "homepage": "https://nette.org", "keywords": [ - "atomic", - "filesystem", - "nette", - "safe" + "config", + "nette" ], - "time": "2020-03-16T14:26:30+00:00" + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.2.5" + }, + "time": "2023-10-05T20:37:59+00:00" }, { "name": "nette/utils", - "version": "v2.5.4", + "version": "v4.0.3", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "b343b5749f8c2daa0d15f30380ccdba0579c2ed1" + "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/b343b5749f8c2daa0d15f30380ccdba0579c2ed1", - "reference": "b343b5749f8c2daa0d15f30380ccdba0579c2ed1", + "url": "https://api.github.com/repos/nette/utils/zipball/a9d127dd6a203ce6d255b2e2db49759f7506e015", + "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015", "shasum": "" }, "require": { - "php": ">=5.6.0" + "php": ">=8.0 <8.4" }, "conflict": { - "nette/nette": "<2.2" + "nette/finder": "<3", + "nette/schema": "<1.2.2" }, "require-dev": { - "nette/tester": "~2.0", - "tracy/tracy": "^2.3" + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.5", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" }, "suggest": { "ext-gd": "to use Image", - "ext-iconv": "to use Strings::webalize() and toAscii()", - "ext-intl": "for script transliteration in Strings::webalize() and toAscii()", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", "ext-json": "to use Nette\\Utils\\Json", "ext-mbstring": "to use Strings::lower() etc...", - "ext-xml": "to use Strings::length() etc. when mbstring is not available" + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.5-dev" + "dev-master": "4.0-dev" } }, "autoload": { "classmap": [ "src/" - ], - "files": [ - "src/loader.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause", - "GPL-2.0", - "GPL-3.0" + "GPL-2.0-only", + "GPL-3.0-only" ], "authors": [ { @@ -1631,7 +937,7 @@ "homepage": "https://nette.org/contributors" } ], - "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", "homepage": "https://nette.org", "keywords": [ "array", @@ -1649,82 +955,173 @@ "utility", "validation" ], - "time": "2019-11-19T00:32:02+00:00" + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v4.0.3" + }, + "time": "2023-10-29T21:02:13+00:00" }, { - "name": "psr/log", - "version": "1.1.3", + "name": "nikic/php-parser", + "version": "v4.17.1", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", "shasum": "" }, "require": { - "php": ">=5.3.0" + "ext-tokenizer": "*", + "php": ">=7.0" }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "4.9-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "PhpParser\\": "lib/PhpParser" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Nikita Popov" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", + "description": "A PHP parser written in PHP", "keywords": [ - "log", - "psr", - "psr-3" + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" + }, + "time": "2023-08-13T19:53:39+00:00" + }, + { + "name": "phpstan/php-8-stubs", + "version": "0.3.79", + "source": { + "type": "git", + "url": "https://github.com/phpstan/php-8-stubs.git", + "reference": "4025fc1b30ab8c54491511c25b103a01d3e00001" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/php-8-stubs/zipball/4025fc1b30ab8c54491511c25b103a01d3e00001", + "reference": "4025fc1b30ab8c54491511c25b103a01d3e00001", + "shasum": "" + }, + "type": "library", + "autoload": { + "classmap": [ + "Php8StubsMap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT", + "PHP-3.01" ], - "time": "2020-03-23T09:12:05+00:00" + "description": "PHP stubs extracted from php-src", + "support": { + "issues": "https://github.com/phpstan/php-8-stubs/issues", + "source": "https://github.com/phpstan/php-8-stubs/tree/0.3.79" + }, + "time": "2023-11-11T00:14:08+00:00" }, { - "name": "seld/jsonlint", - "version": "1.7.2", + "name": "phpstan/phpdoc-parser", + "version": "1.24.3", "source": { "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "e2e5d290e4d2a4f0eb449f510071392e00e10d19" + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "12f01d214f1c73b9c91fdb3b1c415e4c70652083" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/e2e5d290e4d2a4f0eb449f510071392e00e10d19", - "reference": "e2e5d290e4d2a4f0eb449f510071392e00e10d19", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/12f01d214f1c73b9c91fdb3b1c415e4c70652083", + "reference": "12f01d214f1c73b9c91fdb3b1c415e4c70652083", "shasum": "" }, "require": { - "php": "^5.3 || ^7.0" + "php": "^7.2 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^4.15", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.5", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/phpunit": "^9.5", + "symfony/process": "^5.2" }, - "bin": [ - "bin/jsonlint" + "type": "library", + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.3" + }, + "time": "2023-11-18T20:15:32+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" + "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1733,62 +1130,52 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "JSON Linter", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", "keywords": [ - "json", - "linter", - "parser", - "validator" + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" ], - "time": "2019-10-24T14:27:39+00:00" + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" }, { - "name": "symfony/console", - "version": "v2.8.52", + "name": "psr/event-dispatcher", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12" + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12", - "reference": "cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/debug": "^2.7.2|~3.0.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1|~3.0.0", - "symfony/process": "~2.1|~3.0.0" - }, - "suggest": { - "psr/log-implementation": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" + "php": ">=7.2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Psr\\EventDispatcher\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1796,52 +1183,66 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2018-11-20T15:55:20+00:00" + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" }, { - "name": "symfony/debug", - "version": "v3.0.9", + "name": "symfony/console", + "version": "v6.3.8", "source": { "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a" + "url": "https://github.com/symfony/console.git", + "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a", - "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a", + "url": "https://api.github.com/repos/symfony/console/zipball/0d14a9f6d04d4ac38a8cea1171f4554e325dae92", + "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92", "shasum": "" }, "require": { - "php": ">=5.5.9", - "psr/log": "~1.0" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0" }, "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { - "symfony/class-loader": "~2.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/lock": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, "autoload": { "psr-4": { - "Symfony\\Component\\Debug\\": "" + "Symfony\\Component\\Console\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -1861,41 +1262,64 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Debug Component", + "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", - "time": "2016-07-30T07:22:48+00:00" + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v6.3.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T08:09:35+00:00" }, { - "name": "symfony/options-resolver", - "version": "v2.6.13", - "target-dir": "Symfony/Component/OptionsResolver", + "name": "symfony/deprecation-contracts", + "version": "v3.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "31e56594cee489e9a235b852228b0598b52101c1" + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/31e56594cee489e9a235b852228b0598b52101c1", - "reference": "31e56594cee489e9a235b852228b0598b52101c1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\OptionsResolver\\": "" - } + "files": [ + "function.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1903,56 +1327,72 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony OptionsResolver Component", + "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } ], - "time": "2015-05-13T11:33:56+00:00" + "time": "2023-05-23T14:45:45+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.15.0", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.28.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "875e90aeea2777b6f135677f618529449334a612" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/4719fa9c18b0464d399f1a63bf624b42b6fa8d14", - "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", + "reference": "875e90aeea2777b6f135677f618529449334a612", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.1" }, "suggest": { - "ext-ctype": "For best performance" + "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.15-dev" + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1960,22 +1400,27 @@ ], "authors": [ { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for ctype functions", + "description": "Symfony polyfill for intl's grapheme_* functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "ctype", + "grapheme", + "intl", "polyfill", - "portable" + "portable", + "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1990,40 +1435,47 @@ "type": "tidelift" } ], - "time": "2020-02-27T09:26:54+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.15.0", + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.28.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac" + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/81ffd3a9c6d707be22e3012b827de1c9775fc5ac", - "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.1" }, "suggest": { - "ext-mbstring": "For best performance" + "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.15-dev" + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, "files": [ "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2040,15 +1492,19 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Symfony polyfill for intl's Normalizer class and related functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "mbstring", + "intl", + "normalizer", "polyfill", "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2063,38 +1519,45 @@ "type": "tidelift" } ], - "time": "2020-03-09T19:04:49+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { - "name": "symfony/yaml", - "version": "v2.8.52", + "name": "symfony/service-contracts", + "version": "v3.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "02c1859112aa779d9ab394ae4f3381911d84052b" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/02c1859112aa779d9ab394ae4f3381911d84052b", - "reference": "02c1859112aa779d9ab394ae4f3381911d84052b", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/b3313c2dbffaf71c8de2934e2ea56ed2291a3838", + "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838", "shasum": "" }, "require": { - "php": ">=5.3.9", - "symfony/polyfill-ctype": "~1.8" + "php": ">=8.1", + "psr/container": "^2.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Yaml\\": "" + "Symfony\\Contracts\\Service\\": "" }, "exclude-from-classmap": [ - "/Tests/" + "/Test/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2103,93 +1566,139 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Yaml Component", + "description": "Generic abstractions related to writing services", "homepage": "https://symfony.com", - "time": "2018-11-11T11:18:13+00:00" + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-30T20:28:31+00:00" }, { - "name": "tracy/tracy", - "version": "v2.6.7", + "name": "symfony/string", + "version": "v6.3.8", "source": { "type": "git", - "url": "https://github.com/nette/tracy.git", - "reference": "b6ed87129ec549b7bb2974684eec6f76efc3bdf1" + "url": "https://github.com/symfony/string.git", + "reference": "13880a87790c76ef994c91e87efb96134522577a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/tracy/zipball/b6ed87129ec549b7bb2974684eec6f76efc3bdf1", - "reference": "b6ed87129ec549b7bb2974684eec6f76efc3bdf1", + "url": "https://api.github.com/repos/symfony/string/zipball/13880a87790c76ef994c91e87efb96134522577a", + "reference": "13880a87790c76ef994c91e87efb96134522577a", "shasum": "" }, "require": { - "ext-json": "*", - "ext-session": "*", - "php": ">=7.1" + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" }, - "require-dev": { - "nette/di": "^2.4 || ~3.0.0", - "nette/tester": "^2.2", - "nette/utils": "^2.4 || ^3.0", - "psr/log": "^1.0" + "conflict": { + "symfony/translation-contracts": "<2.5" }, - "suggest": { - "https://nette.org/donate": "Please support Tracy via a donation" + "require-dev": { + "symfony/error-handler": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/intl": "^6.2", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, "autoload": { - "classmap": [ - "src" - ], "files": [ - "src/Tracy/shortcuts.php" + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "😎 Tracy: the addictive tool to ease debugging PHP code for cool developers. Friendly design, logging, profiler, advanced features like debugging AJAX calls or CLI support. You will love it.", - "homepage": "https://tracy.nette.org", + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", "keywords": [ - "Xdebug", - "debug", - "debugger", - "nette", - "profiler" + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v6.3.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } ], - "time": "2020-04-11T17:47:21+00:00" + "time": "2023-11-09T08:28:21+00:00" } ], "packages-dev": [], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "apigen/apigen": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": [], "platform-dev": [], - "plugin-api-version": "1.1.0" + "plugin-api-version": "2.3.0" } diff --git a/apigen/vendor/andrewsville/php-token-reflection/LICENSE.md b/apigen/vendor/andrewsville/php-token-reflection/LICENSE.md deleted file mode 100644 index 08e51de6..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/LICENSE.md +++ /dev/null @@ -1,15 +0,0 @@ -# PHP Token Reflection # - -Copyright (c) 2011-2012, Ondřej Nešpor, Jaroslav Hanslík. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -* The names of authors and contributors may not be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/apigen/vendor/andrewsville/php-token-reflection/README.md b/apigen/vendor/andrewsville/php-token-reflection/README.md deleted file mode 100644 index fbc6b222..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# PHP Token Reflection # - -[![Build Status](https://secure.travis-ci.org/Andrewsville/PHP-Token-Reflection.png?branch=develop)](http://travis-ci.org/Andrewsville/PHP-Token-Reflection) - -In short, this library emulates the PHP reflection model using the tokenized PHP source. - -The basic concept is, that any reflection is possible to process the particular part of the token array describing the reflected element. It is also able to find out if there are any child elements (a class reflection is able to find method definitions in the source, for example), create their reflections and pass the appropriate part of the token array to them. - -This concept allows us to keep the parser code relatively simple and easily maintainable. And we are able to to create all reflections in a single pass. That is absolutely crucial for the performance of the library. - -All reflection instances are being kept in a [TokenReflection\\Broker](https://github.com/Andrewsville/PHP-Token-Reflection/blob/master/library/TokenReflection/Broker.php) instance and all reflections know the broker that created them. This is very important, because a class reflection, for example, holds all its constants, methods and properties reflections instantiated inside, however it knows absolutely nothing about its parent class or the interfaces it implements. It knows just their fully qualified names. So when you call ```$reflectionClass->getParentClass();```, the class reflection asks the Broker for a reflection of a class by its name and returns it. - -An interesting thing happens when there is a parent class defined but it was not processed (in other words, you ask the Broker for a class that it does not know). It still returns a reflection! Yes, we do have reflections for classes that do not exist! COOL! - -There are reflections for file (\*), file-namespace (\*), namespace, class, function/method, constant, property and parameter. You will not normally get in touch with those marked with an asterisk but they are used internally. - -**ReflectionFile** is the topmost structure in our reflection tree. It gets the whole tokenized source and tries to find namespaces there. If it does, it creates ReflectionFileNamespace instances and passes them the appropriate part of the tokens array. If not, it creates a single pseudo-namespace (called no-namespace) a passes the whole tokenized source to it. - -**ReflectionFileNamespace** gets the namespace definition from the file, finds out its name, other aliased namespaces and tries to find any defined constants, functions and classes. If it finds any, it creates their reflections and passes them the appropriate parts of the tokens array. - -**ReflectionNamespace** is a similar (in name) yet quite different (in meaning) structure. It is a unique structure for every namespace and it holds all constants, functions and classes from this particular namespace inside. In fact, it is a simple container. It also is not created directly by any parent reflection, but the Broker creates it. - -Why do we need two separate classes? Because namespaces can be split into many files and in each file it can have individual namespace aliases. And those have to be taken into consideration when resolving parent class/interface names. It means that a ReflectionFileNamespace is created for every namespace in every file and it parses its contents, resolves fully qualified names of all classes, their parents and interfaces. Later, the Broker takes all ReflectionFileNamespace instances of the same namespace and merges them into a single ReflectionNameaspace instance. - -**ReflectionClass**, **ReflectionFunction**, **ReflectionMethod**, **ReflectionParameter** and **ReflectionProperty** work the same way like their internal reflection namesakes. - -**ReflectionConstants** is our addition to the reflection model. There is not much it can do - it can return its name, value (we will speak about values later) and how it was defined. - -(Almost) all reflection classes share a common base class, that defines some common functionality and interface. This means that our reflection model is much more unified than the internal one. - -There are reflections for the tokenized source (those mentioned above), but also descendants of the internal reflection that implement our additional features (they both use the same interface). They represent the PHP's internal classes, functions, ... So when you ask the Broker for an internal class, it returns a [TokenReflection\\Php\\ReflectionClass](https://github.com/Andrewsville/PHP-Token-Reflection/blob/master/library/TokenReflection/Php/ReflectionClass.php) instance that encapsulates the internal reflection functionality and adds our features. And there is also the [TokenReflection\\Php\\ReflectionConstant](https://github.com/Andrewsville/PHP-Token-Reflection/blob/master/library/TokenReflection/Php/ReflectionConstant.php) class that has no parent in the internal reflection model. - -## Remarks - -From the beginning we tried to be as compatible as possible with the internal reflection (including things like returning the interface list in the same - pretty weird - order). However there are situations where it is just impossible (for example we prefer consistency over compatibility with the internal reflection and will not introduce [this bug](https://bugs.php.net/bug.php?id=62715) into the library :). - -We are limited in the way we can handle constant values and property and parameter default values. When defined as a constant, we do our best to resolve its value (within parsed and internal constants) and use it. This is eventually made via a combination of ```var_export()``` and ```eval()```. Yes, that sucks, but there is no better way. Moreover the referenced constant may not exist. In that case it is replaced by a ```~~NOT RESOLVED~~``` string. - -Runtime constants are not supported. - -When the library encounters a duplicate class, function or constant name, it converts the previously created reflection into an "invalid reflection" instance. That means that the parser is unable to distinguish between such classes and it is unable to build a proper class tree for example. And it throws an exception. When you catch this exception and continue to work with the Broker instance, the duplicate classes, functions or constants will have only one reflection and it will be an instance of **Invalid\ReflectionClass**, **Invalid\ReflectionFunction** or **Invalid\ReflectionConstant** respectively. - -## Usage - -To be able to work with reflections you have to let the library parse the source code first. That is what [TokenReflection\\Broker](https://github.com/Andrewsville/PHP-Token-Reflection/blob/master/library/TokenReflection/Broker.php) does. It walks through the given directories, tokenizes PHP sources and caches reflection objects. Moreover, you cannot just instantiate a reflection class. You have to ask the Broker for the reflection. And once you have a reflection instance, everything works as expected :) - -```php -processDirectory('~/lib/Zend_Framework'); - -$class = $broker->getClass('Zend_Version'); // returns a TokenReflection\ReflectionClass instance -$class = $broker->getClass('Exception'); // returns a TokenReflection\Php\ReflectionClass instance -$class = $broker->getClass('Nonexistent'); // returns a TokenReflection\Dummy\ReflectionClass instance - -$function = $broker->getFunction(...); -$constant = $broker->getConstant(...); -``` - -## Requirements - -The library requires PHP 5.3 with the [tokenizer extension](http://cz.php.net/manual/en/book.tokenizer.php) enabled. If you want to process PHAR archives, you will require the [appropriate extension](http://cz.php.net/manual/en/book.phar.php) enabled as well. - -## Current status - -The current version should support the vast majority of PHP internal reflection features and add many more. - -Every release is tested using our testing package (several PHP frameworks and other libraries) and its compatibility is tested on all PHP versions of the 5.3 and 5.4 branch and the actual trunk. diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Broker.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Broker.php deleted file mode 100644 index 12e85979..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Broker.php +++ /dev/null @@ -1,542 +0,0 @@ -cache = array( - self::CACHE_NAMESPACE => array(), - self::CACHE_CLASS => array(), - self::CACHE_CONSTANT => array(), - self::CACHE_FUNCTION => array() - ); - - $this->options = $options; - - $this->backend = $backend - ->setBroker($this) - ->setStoringTokenStreams((bool) ($options & self::OPTION_SAVE_TOKEN_STREAM)); - } - - /** - * Returns broker/parser options. - * - * @return integer - */ - public function getOptions() - { - return $this->options; - } - - /** - * Returns if a particular option setting is set. - * - * @param integer $option Option setting - * @return boolean - */ - public function isOptionSet($option) - { - return (bool) ($this->options & $option); - } - - /** - * Parses a string with the PHP source code using the given file name and returns the appropriate reflection object. - * - * @param string $source PHP source code - * @param string $fileName Used file name - * @param boolean $returnReflectionFile Returns the appropriate \TokenReflection\ReflectionFile instance(s) - * @return boolean|\TokenReflection\ReflectionFile - */ - public function processString($source, $fileName, $returnReflectionFile = false) - { - if ($this->backend->isFileProcessed($fileName)) { - $tokens = $this->backend->getFileTokens($fileName); - } else { - $tokens = new Stream\StringStream($source, $fileName); - } - - $reflectionFile = new ReflectionFile($tokens, $this); - if (!$this->backend->isFileProcessed($fileName)) { - $this->backend->addFile($tokens, $reflectionFile); - - // Clear the cache - leave only tokenized reflections - foreach ($this->cache as $type => $cached) { - if (!empty($cached)) { - $this->cache[$type] = array_filter($cached, function(IReflection $reflection) { - return $reflection->isTokenized(); - }); - } - } - } - - return $returnReflectionFile ? $reflectionFile : true; - } - - /** - * Parses a file and returns the appropriate reflection object. - * - * @param string $fileName Filename - * @param boolean $returnReflectionFile Returns the appropriate \TokenReflection\ReflectionFile instance(s) - * @return boolean|\TokenReflection\ReflectionFile - * @throws \TokenReflection\Exception\BrokerException If the file could not be processed. - */ - public function processFile($fileName, $returnReflectionFile = false) - { - try { - if ($this->backend->isFileProcessed($fileName)) { - $tokens = $this->backend->getFileTokens($fileName); - } else { - $tokens = new Stream\FileStream($fileName); - } - - $reflectionFile = new ReflectionFile($tokens, $this); - if (!$this->backend->isFileProcessed($fileName)) { - $this->backend->addFile($tokens, $reflectionFile); - - // Clear the cache - leave only tokenized reflections - foreach ($this->cache as $type => $cached) { - if (!empty($cached)) { - $this->cache[$type] = array_filter($cached, function(IReflection $reflection) { - return $reflection->isTokenized(); - }); - } - } - } - - return $returnReflectionFile ? $reflectionFile : true; - } catch (Exception\ParseException $e) { - throw $e; - } catch (Exception\StreamException $e) { - throw new Exception\BrokerException($this, 'Could not process the file.', 0, $e); - } - } - - /** - * Processes a PHAR archive. - * - * @param string $fileName Archive filename. - * @param boolean $returnReflectionFile Returns the appropriate \TokenReflection\ReflectionFile instance(s) - * @return boolean|array of \TokenReflection\ReflectionFile - * @throws \TokenReflection\Exception\BrokerException If the PHAR PHP extension is not loaded. - * @throws \TokenReflection\Exception\BrokerException If the given archive could not be read. - * @throws \TokenReflection\Exception\BrokerException If the given archive could not be processed. - */ - public function processPhar($fileName, $returnReflectionFile = false) - { - if (!is_file($fileName)) { - throw new Exception\BrokerException($this, 'File does not exist.', Exception\BrokerException::DOES_NOT_EXIST); - } - - if (!extension_loaded('Phar')) { - throw new Exception\BrokerException($this, 'The PHAR PHP extension is not loaded.', Exception\BrokerException::PHP_EXT_MISSING); - } - - try { - $result = array(); - foreach (new RecursiveIteratorIterator(new \Phar($fileName)) as $entry) { - if ($entry->isFile()) { - $result[$entry->getPathName()] = $this->processFile($entry->getPathName(), $returnReflectionFile); - } - } - - return $returnReflectionFile ? $result : true; - } catch (Exception\ParseException $e) { - throw $e; - } catch (Exception\StreamException $e) { - throw new Exception\BrokerException($this, 'Could not process the archive.', 0, $e); - } - } - - /** - * Processes recursively a directory and returns an array of file reflection objects. - * - * @param string $path Directora path - * @param string|array $filters Filename filters - * @param boolean $returnReflectionFile Returns the appropriate \TokenReflection\ReflectionFile instance(s) - * @return boolean|array of \TokenReflection\ReflectionFile - * @throws \TokenReflection\Exception\BrokerException If the given directory does not exist. - * @throws \TokenReflection\Exception\BrokerException If the given directory could not be processed. - */ - public function processDirectory($path, $filters = array(), $returnReflectionFile = false) - { - $realPath = realpath($path); - if (!is_dir($realPath)) { - throw new Exception\BrokerException($this, 'File does not exist.', Exception\BrokerException::DOES_NOT_EXIST); - } - - try { - $result = array(); - foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($realPath)) as $entry) { - if ($entry->isFile()) { - $process = empty($filters); - if (!$process) { - foreach ((array) $filters as $filter) { - $whitelisting = '!' !== $filter{0}; - if (fnmatch($whitelisting ? $filter : substr($filter, 1), $entry->getPathName(), FNM_NOESCAPE)) { - $process = $whitelisting; - } - } - } - - if ($process) { - $result[$entry->getPathName()] = $this->processFile($entry->getPathName(), $returnReflectionFile); - } - } - } - - return $returnReflectionFile ? $result : true; - } catch (Exception\ParseException $e) { - throw $e; - } catch (Exception\StreamException $e) { - throw new Exception\BrokerException($this, 'Could not process the directory.', 0, $e); - } - } - - /** - * Process a file, directory or a PHAR archive. - * - * @param string $path Path - * @param boolean $returnReflectionFile Returns the appropriate \TokenReflection\ReflectionFile instance(s) - * @return boolean|array|\TokenReflection\ReflectionFile - * @throws \TokenReflection\Exception\BrokerException If the target does not exist. - */ - public function process($path, $returnReflectionFile = false) - { - if (is_dir($path)) { - return $this->processDirectory($path, array(), $returnReflectionFile); - } elseif (is_file($path)) { - if (preg_match('~\\.phar(?:$|\\.)~i', $path)) { - return $this->processPhar($path, $returnReflectionFile); - } - - return $this->processFile($path, $returnReflectionFile); - } else { - throw new Exception\BrokerException($this, 'The given directory/file does not exist.', Exception\BrokerException::DOES_NOT_EXIST); - } - } - - /** - * Returns if the broker contains a namespace of the given name. - * - * @param string $namespaceName Namespace name - * @return boolean - */ - public function hasNamespace($namespaceName) - { - return isset($this->cache[self::CACHE_NAMESPACE][$namespaceName]) || $this->backend->hasNamespace($namespaceName); - } - - /** - * Returns a reflection object of the given namespace. - * - * @param string $namespaceName Namespace name - * @return \TokenReflection\ReflectionNamespace|null - */ - public function getNamespace($namespaceName) - { - $namespaceName = ltrim($namespaceName, '\\'); - - if (isset($this->cache[self::CACHE_NAMESPACE][$namespaceName])) { - return $this->cache[self::CACHE_NAMESPACE][$namespaceName]; - } - - $namespace = $this->backend->getNamespace($namespaceName); - if (null !== $namespace) { - $this->cache[self::CACHE_NAMESPACE][$namespaceName] = $namespace; - } - - return $namespace; - } - - /** - * Returns if the broker contains a class of the given name. - * - * @param string $className Class name - * @return boolean - */ - public function hasClass($className) - { - return isset($this->cache[self::CACHE_CLASS][$className]) || $this->backend->hasClass($className); - } - - /** - * Returns a reflection object of the given class (FQN expected). - * - * @param string $className CLass bame - * @return \TokenReflection\ReflectionClass|null - */ - public function getClass($className) - { - $className = ltrim($className, '\\'); - - if (isset($this->cache[self::CACHE_CLASS][$className])) { - return $this->cache[self::CACHE_CLASS][$className]; - } - - $this->cache[self::CACHE_CLASS][$className] = $this->backend->getClass($className); - return $this->cache[self::CACHE_CLASS][$className]; - } - - /** - * Returns all classes from all namespaces. - * - * @param integer $types Returned class types (multiple values may be OR-ed) - * @return array - */ - public function getClasses($types = Broker\Backend::TOKENIZED_CLASSES) - { - return $this->backend->getClasses($types); - } - - /** - * Returns if the broker contains a constant of the given name. - * - * @param string $constantName Constant name - * @return boolean - */ - public function hasConstant($constantName) - { - return isset($this->cache[self::CACHE_CONSTANT][$constantName]) || $this->backend->hasConstant($constantName); - } - - /** - * Returns a reflection object of a constant (FQN expected). - * - * @param string $constantName Constant name - * @return \TokenReflection\ReflectionConstant|null - */ - public function getConstant($constantName) - { - $constantName = ltrim($constantName, '\\'); - - if (isset($this->cache[self::CACHE_CONSTANT][$constantName])) { - return $this->cache[self::CACHE_CONSTANT][$constantName]; - } - - if ($constant = $this->backend->getConstant($constantName)) { - $this->cache[self::CACHE_CONSTANT][$constantName] = $constant; - } - - return $constant; - } - - /** - * Returns all constants from all namespaces. - * - * @return array - */ - public function getConstants() - { - return $this->backend->getConstants(); - } - - /** - * Returns if the broker contains a function of the given name. - * - * @param string $functionName Function name - * @return boolean - */ - public function hasFunction($functionName) - { - return isset($this->cache[self::CACHE_FUNCTION][$functionName]) || $this->backend->hasFunction($functionName); - } - - /** - * Returns a reflection object of a function (FQN expected). - * - * @param string $functionName Function name - * @return \TokenReflection\ReflectionFunction|null - */ - public function getFunction($functionName) - { - $functionName = ltrim($functionName, '\\'); - - if (isset($this->cache[self::CACHE_FUNCTION][$functionName])) { - return $this->cache[self::CACHE_FUNCTION][$functionName]; - } - - if ($function = $this->backend->getFunction($functionName)) { - $this->cache[self::CACHE_FUNCTION][$functionName] = $function; - } - - return $function; - } - - /** - * Returns all functions from all namespaces. - * - * @return array - */ - public function getFunctions() - { - return $this->backend->getFunctions(); - } - - /** - * Returns if the broker contains a file reflection of the given name. - * - * @param string $fileName File name - * @return boolean - */ - public function hasFile($fileName) - { - return $this->backend->hasFile($fileName); - } - - /** - * Returns a reflection object of a file. - * - * @param string $fileName File name - * @return \TokenReflection\ReflectionFile|null - */ - public function getFile($fileName) - { - return $this->backend->getFile($fileName); - } - - /** - * Returns all processed files reflections. - * - * @return array - */ - public function getFiles() - { - return $this->backend->getFiles(); - } - - /** - * Returns an array of tokens from a processed file. - * - * @param string $fileName File name - * @return \TokenReflection\Stream\StreamBase|null - */ - public function getFileTokens($fileName) - { - return $this->backend->getFileTokens($fileName); - } - - /** - * Returns a real system path. - * - * @param string $path Source path - * @return string|boolean - */ - public static function getRealPath($path) - { - if (0 === strpos($path, 'phar://')) { - return is_file($path) || is_dir($path) ? $path : false; - } else { - return realpath($path); - } - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Broker/Backend.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Broker/Backend.php deleted file mode 100644 index 794a4dfa..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Broker/Backend.php +++ /dev/null @@ -1,212 +0,0 @@ -files[$fileName]); - } - - /** - * Returns a file reflection. - * - * @param string $fileName File name - * @return \TokenReflection\ReflectionFile - * @throws \TokenReflection\Exception\BrokerException If the requested file has not been processed - */ - public function getFile($fileName) - { - if (!isset($this->files[$fileName])) { - throw new Exception\BrokerException($this->getBroker(), sprintf('File "%s" has not been processed.', $fileName), Exception\BrokerException::DOES_NOT_EXIST); - } - - return $this->files[$fileName]; - } - - /** - * Returns file reflections. - * - * @return array - */ - public function getFiles() - { - return $this->files; - } - - /** - * Returns if there was such namespace processed (FQN expected). - * - * @param string $namespaceName Namespace name - * @return boolean - */ - public function hasNamespace($namespaceName) - { - return isset($this->namespaces[ltrim($namespaceName, '\\')]); - } - - /** - * Returns a reflection object of the given namespace. - * - * @param string $namespaceName Namespace name - * @return \TokenReflection\IReflectionNamespace - * @throws \TokenReflection\Exception\BrokerException If the requested namespace does not exist. - */ - public function getNamespace($namespaceName) - { - if (!isset($this->namespaces[TokenReflection\ReflectionNamespace::NO_NAMESPACE_NAME])) { - $this->namespaces[TokenReflection\ReflectionNamespace::NO_NAMESPACE_NAME] = new TokenReflection\ReflectionNamespace(TokenReflection\ReflectionNamespace::NO_NAMESPACE_NAME, $this->broker); - } - - $namespaceName = ltrim($namespaceName, '\\'); - if (!isset($this->namespaces[$namespaceName])) { - throw new Exception\BrokerException($this->getBroker(), sprintf('Namespace %s does not exist.', $namespaceName), Exception\BrokerException::DOES_NOT_EXIST); - } - - return $this->namespaces[$namespaceName]; - } - - /** - * Returns all present namespaces. - * - * @return array - */ - public function getNamespaces() - { - return $this->namespaces; - } - - /** - * Returns if there was such class processed (FQN expected). - * - * @param string $className Class name - * @return boolean - */ - public function hasClass($className) - { - $className = ltrim($className, '\\'); - if ($pos = strrpos($className, '\\')) { - $namespace = substr($className, 0, $pos); - - if (!isset($this->namespaces[$namespace])) { - return false; - } - - $namespace = $this->getNamespace($namespace); - $className = substr($className, $pos + 1); - } else { - $namespace = $this->getNamespace(TokenReflection\ReflectionNamespace::NO_NAMESPACE_NAME); - } - - return $namespace->hasClass($className); - } - - /** - * Returns a reflection object of the given class (FQN expected). - * - * @param string $className CLass bame - * @return \TokenReflection\IReflectionClass - */ - public function getClass($className) - { - if (empty($this->declaredClasses)) { - $this->declaredClasses = array_flip(array_merge(get_declared_classes(), get_declared_interfaces())); - } - - $className = ltrim($className, '\\'); - try { - $ns = $this->getNamespace( - ($boundary = strrpos($className, '\\')) - // Class within a namespace - ? substr($className, 0, $boundary) - // Class without a namespace - : TokenReflection\ReflectionNamespace::NO_NAMESPACE_NAME - ); - - return $ns->getClass($className); - } catch (Exception\BaseException $e) { - if (isset($this->declaredClasses[$className])) { - $reflection = new Php\ReflectionClass($className, $this->broker); - if ($reflection->isInternal()) { - return $reflection; - } - } - - return new Dummy\ReflectionClass($className, $this->broker); - } - } - - /** - * Returns all classes from all namespaces. - * - * @param integer $type Returned class types (multiple values may be OR-ed) - * @return array - */ - public function getClasses($type = self::TOKENIZED_CLASSES) - { - if (null === $this->allClasses) { - $this->allClasses = $this->parseClassLists(); - } - - $result = array(); - foreach ($this->allClasses as $classType => $classes) { - if ($type & $classType) { - $result = array_merge($result, $classes); - } - } - return $result; - } - - /** - * Returns if there was such constant processed (FQN expected). - * - * @param string $constantName Constant name - * @return boolean - */ - public function hasConstant($constantName) - { - $constantName = ltrim($constantName, '\\'); - - if ($pos = strpos($constantName, '::')) { - $className = substr($constantName, 0, $pos); - $constantName = substr($constantName, $pos + 2); - - if (!$this->hasClass($className)) { - return false; - } - - $parent = $this->getClass($className); - } else { - if ($pos = strrpos($constantName, '\\')) { - $namespace = substr($constantName, 0, $pos); - if (!$this->hasNamespace($namespace)) { - return false; - } - - $parent = $this->getNamespace($namespace); - $constantName = substr($constantName, $pos + 1); - } else { - $parent = $this->getNamespace(TokenReflection\ReflectionNamespace::NO_NAMESPACE_NAME); - } - } - - return $parent->hasConstant($constantName); - } - - /** - * Returns a reflection object of a constant (FQN expected). - * - * @param string $constantName Constant name - * @return \TokenReflection\IReflectionConstant - * @throws \TokenReflection\Exception\RuntimeException If the requested constant does not exist. - */ - public function getConstant($constantName) - { - static $declared = array(); - if (empty($declared)) { - $declared = get_defined_constants(); - } - - if ($boundary = strpos($constantName, '::')) { - // Class constant - $className = substr($constantName, 0, $boundary); - $constantName = substr($constantName, $boundary + 2); - - return $this->getClass($className)->getConstantReflection($constantName); - } - - try { - $constantName = ltrim($constantName, '\\'); - if ($boundary = strrpos($constantName, '\\')) { - $ns = $this->getNamespace(substr($constantName, 0, $boundary)); - $constantName = substr($constantName, $boundary + 1); - } else { - $ns = $this->getNamespace(TokenReflection\ReflectionNamespace::NO_NAMESPACE_NAME); - } - - return $ns->getConstant($constantName); - } catch (Exception\BaseException $e) { - if (isset($declared[$constantName])) { - $reflection = new Php\ReflectionConstant($constantName, $declared[$constantName], $this->broker); - if ($reflection->isInternal()) { - return $reflection; - } - } - - throw new Exception\BrokerException($this->getBroker(), sprintf('Constant %s does not exist.', $constantName), Exception\BrokerException::DOES_NOT_EXIST); - } - } - - /** - * Returns all constants from all namespaces. - * - * @return array - */ - public function getConstants() - { - if (null === $this->allConstants) { - $this->allConstants = array(); - foreach ($this->namespaces as $namespace) { - foreach ($namespace->getConstants() as $constant) { - $this->allConstants[$constant->getName()] = $constant; - } - } - } - - return $this->allConstants; - } - - /** - * Returns if there was such function processed (FQN expected). - * - * @param string $functionName Function name - * @return boolean - */ - public function hasFunction($functionName) - { - $functionName = ltrim($functionName, '\\'); - if ($pos = strrpos($functionName, '\\')) { - $namespace = substr($functionName, 0, $pos); - if (!isset($this->namespaces[$namespace])) { - return false; - } - - $namespace = $this->getNamespace($namespace); - $functionName = substr($functionName, $pos + 1); - } else { - $namespace = $this->getNamespace(TokenReflection\ReflectionNamespace::NO_NAMESPACE_NAME); - } - - return $namespace->hasFunction($functionName); - } - - /** - * Returns a reflection object of a function (FQN expected). - * - * @param string $functionName Function name - * @return \TokenReflection\IReflectionFunction - * @throws \TokenReflection\Exception\RuntimeException If the requested function does not exist. - */ - public function getFunction($functionName) - { - static $declared = array(); - if (empty($declared)) { - $functions = get_defined_functions(); - $declared = array_flip($functions['internal']); - } - - $functionName = ltrim($functionName, '\\'); - try { - $ns = $this->getNamespace( - ($boundary = strrpos($functionName, '\\')) - // Function within a namespace - ? substr($functionName, 0, $boundary) - // Function wihout a namespace - : TokenReflection\ReflectionNamespace::NO_NAMESPACE_NAME - ); - - return $ns->getFunction($functionName); - } catch (Exception\BaseException $e) { - if (isset($declared[$functionName])) { - return new Php\ReflectionFunction($functionName, $this->broker); - } - - throw new Exception\BrokerException($this->getBroker(), sprintf('Function %s does not exist.', $functionName), Exception\BrokerException::DOES_NOT_EXIST); - } - } - - /** - * Returns all functions from all namespaces. - * - * @return array - */ - public function getFunctions() - { - if (null === $this->allFunctions) { - $this->allFunctions = array(); - foreach ($this->namespaces as $namespace) { - foreach ($namespace->getFunctions() as $function) { - $this->allFunctions[$function->getName()] = $function; - } - } - } - - return $this->allFunctions; - } - - /** - * Returns if the given file was already processed. - * - * @param string $fileName File name - * @return boolean - */ - public function isFileProcessed($fileName) - { - return isset($this->tokenStreams[Broker::getRealPath($fileName)]); - } - - /** - * Returns an array of tokens for a particular file. - * - * @param string $fileName File name - * @return \TokenReflection\Stream\StreamBase - * @throws \TokenReflection\Exception\BrokerException If the requested file was not processed. - */ - public function getFileTokens($fileName) - { - $realName = Broker::getRealPath($fileName); - if (!isset($this->tokenStreams[$realName])) { - throw new Exception\BrokerException($this->getBroker(), sprintf('File "%s" was not processed yet.', $fileName), Exception\BrokerException::DOES_NOT_EXIST); - } - - return true === $this->tokenStreams[$realName] ? new FileStream($realName) : $this->tokenStreams[$realName]; - } - - /** - * Adds a file to the backend storage. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token stream - * @param \TokenReflection\ReflectionFile $file File reflection object - * @return \TokenReflection\Broker\Backend\Memory - */ - public function addFile(TokenReflection\Stream\StreamBase $tokenStream, TokenReflection\ReflectionFile $file) - { - $this->tokenStreams[$file->getName()] = $this->storingTokenStreams ? $tokenStream : true; - $this->files[$file->getName()] = $file; - - $errors = array(); - - foreach ($file->getNamespaces() as $fileNamespace) { - try { - $namespaceName = $fileNamespace->getName(); - if (!isset($this->namespaces[$namespaceName])) { - $this->namespaces[$namespaceName] = new TokenReflection\ReflectionNamespace($namespaceName, $file->getBroker()); - } - - $this->namespaces[$namespaceName]->addFileNamespace($fileNamespace); - } catch (Exception\FileProcessingException $e) { - $errors = array_merge($errors, $e->getReasons()); - } catch (\Exception $e) { - echo $e->getTraceAsString(); - die($e->getMessage()); - } - } - - // Reset all-*-cache - $this->allClasses = null; - $this->allFunctions = null; - $this->allConstants = null; - - if (!empty($errors)) { - throw new Exception\FileProcessingException($errors, $file); - } - - return $this; - } - - /** - * Sets the reflection broker instance. - * - * @param \TokenReflection\Broker $broker Reflection broker - * @return \TokenReflection\Broker\Backend\Memory - */ - public function setBroker(Broker $broker) - { - $this->broker = $broker; - return $this; - } - - /** - * Returns the reflection broker instance. - * - * @return \TokenReflection\Broker $broker Reflection broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Sets if token streams are stored in the backend. - * - * @param boolean $store - * @return \TokenReflection\Broker\Backend - */ - public function setStoringTokenStreams($store) - { - $this->storingTokenStreams = (bool) $store; - return $this; - } - - /** - * Returns if token streams are stored in the backend. - * - * @return boolean - */ - public function getStoringTokenStreams() - { - return $this->storingTokenStreams; - } - - /** - * Prepares and returns used class lists. - * - * @return array - */ - protected function parseClassLists() - { - // Initialize the all-classes-cache - $allClasses = array( - self::TOKENIZED_CLASSES => array(), - self::INTERNAL_CLASSES => array(), - self::NONEXISTENT_CLASSES => array() - ); - - foreach ($this->namespaces as $namespace) { - foreach ($namespace->getClasses() as $class) { - $allClasses[self::TOKENIZED_CLASSES][$class->getName()] = $class; - } - } - - foreach ($allClasses[self::TOKENIZED_CLASSES] as $className => $class) { - foreach (array_merge($class->getParentClasses(), $class->getInterfaces()) as $parent) { - if ($parent->isInternal()) { - $allClasses[self::INTERNAL_CLASSES][$parent->getName()] = $parent; - } elseif (!$parent->isTokenized()) { - $allClasses[self::NONEXISTENT_CLASSES][$parent->getName()] = $parent; - } - } - } - - return $allClasses; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Dummy/ReflectionClass.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Dummy/ReflectionClass.php deleted file mode 100644 index 01cd1a58..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Dummy/ReflectionClass.php +++ /dev/null @@ -1,1091 +0,0 @@ -name = ltrim($className, '\\'); - $this->broker = $broker; - } - - /** - * Returns the name (FQN). - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return $this->name; - } - - /** - * Returns the unqualified name (UQN). - * - * @return string - */ - public function getShortName() - { - $pos = strrpos($this->name, '\\'); - return false === $pos ? $this->name : substr($this->name, $pos + 1); - } - - /** - * Returns the namespace name. - * - * @return string - */ - public function getNamespaceName() - { - $pos = strrpos($this->name, '\\'); - return false === $pos ? '' : substr($this->name, 0, $pos); - } - - /** - * Returns if the class is defined within a namespace. - * - * @return boolean - */ - public function inNamespace() - { - return false !== strrpos($this->name, '\\'); - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return array(); - } - - /** - * Returns the PHP extension reflection. - * - * @return null - */ - public function getExtension() - { - return null; - } - - /** - * Returns the PHP extension name. - * - * @return boolean - */ - public function getExtensionName() - { - return false; - } - - /** - * Returns the file name the reflection object is defined in. - * - * @return null - */ - public function getFileName() - { - return null; - } - - /** - * Returns a file reflection. - * - * @return \TokenReflection\ReflectionFile - * @throws \TokenReflection\Exception\RuntimeException If the file is not stored inside the broker - */ - public function getFileReflection() - { - throw new Exception\BrokerException($this->getBroker(), sprintf('Class was not parsed from a file', $this->getName()), Exception\BrokerException::UNSUPPORTED); - } - - /** - * Returns the definition start line number in the file. - * - * @return null - */ - public function getStartLine() - { - return null; - } - - /** - * Returns the definition end line number in the file. - * - * @return null - */ - public function getEndLine() - { - return null; - } - - /** - * Returns the appropriate docblock definition. - * - * @return boolean - */ - public function getDocComment() - { - return false; - } - - /** - * Checks if there is a particular annotation. - * - * @param string $name Annotation name - * @return boolean - */ - public function hasAnnotation($name) - { - return false; - } - - /** - * Returns a particular annotation value. - * - * @param string $name Annotation name - * @return null - */ - public function getAnnotation($name) - { - return null; - } - - /** - * Returns parsed docblock. - * - * @return array - */ - public function getAnnotations() - { - return array(); - } - - /** - * Returns modifiers. - * - * @return integer - */ - public function getModifiers() - { - return 0; - } - - /** - * Returns if the class is abstract. - * - * @return boolean - */ - public function isAbstract() - { - return false; - } - - /** - * Returns if the class is final. - * - * @return boolean - */ - public function isFinal() - { - return false; - } - - /** - * Returns if the class is an interface. - * - * @return boolean - */ - public function isInterface() - { - return false; - } - - /** - * Returns if the class is an exception or its descendant. - * - * @return boolean - */ - public function isException() - { - return false; - } - - /** - * Returns if it is possible to create an instance of this class. - * - * @return boolean - */ - public function isInstantiable() - { - return false; - } - - /** - * Returns traits used by this class. - * - * @return array - */ - public function getTraits() - { - return array(); - } - - /** - * Returns traits used by this class and not its parents. - * - * @return array - */ - public function getOwnTraits() - { - return array(); - } - - /** - * Returns names of used traits. - * - * @return array - */ - public function getTraitNames() - { - return array(); - } - - /** - * Returns traits used by this class and not its parents. - * - * @return array - */ - public function getOwnTraitNames() - { - return array(); - } - - /** - * Returns method aliases from traits. - * - * @return array - */ - public function getTraitAliases() - { - return array(); - } - - /** - * Returns if the class is a trait. - * - * @return boolean - */ - public function isTrait() - { - return false; - } - - /** - * Returns if the class uses a particular trait. - * - * @param \ReflectionClass|\TokenReflection\IReflectionClass|string $trait Trait reflection or name - * @return boolean - */ - public function usesTrait($trait) - { - return false; - } - - /** - * Returns if objects of this class are cloneable. - * - * Introduced in PHP 5.4. - * - * @return boolean - * @see http://svn.php.net/viewvc/php/php-src/trunk/ext/reflection/php_reflection.c?revision=307971&view=markup#l4059 - */ - public function isCloneable() - { - return false; - } - - /** - * Returns if the class is iterateable. - * - * Returns true if the class implements the Traversable interface. - * - * @return boolean - */ - public function isIterateable() - { - return false; - } - - /** - * Returns if the reflection object is internal. - * - * @return boolean - */ - public function isInternal() - { - return false; - } - - /** - * Returns if the reflection object is user defined. - * - * @return boolean - */ - public function isUserDefined() - { - return false; - } - - /** - * Returns if the current reflection comes from a tokenized source. - * - * @return boolean - */ - public function isTokenized() - { - return false; - } - - /** - * Returns if the current class is a subclass of the given class. - * - * @param string|object $class Class name or reflection object - * @return boolean - */ - public function isSubclassOf($class) - { - return false; - } - - /** - * Returns the parent class reflection. - * - * @return null - */ - public function getParentClass() - { - return false; - } - - /** - * Returns the parent classes reflections. - * - * @return array - */ - public function getParentClasses() - { - return array(); - } - - /** - * Returns the parent classes names. - * - * @return array - */ - public function getParentClassNameList() - { - return array(); - } - - /** - * Returns the parent class reflection. - * - * @return null - */ - public function getParentClassName() - { - return null; - } - - /** - * Returns if the class implements the given interface. - * - * @param string|object $interface Interface name or reflection object - * @return boolean - * @throws \TokenReflection\Exception\RuntimeException If the provided parameter is not an interface. - */ - public function implementsInterface($interface) - { - if (is_object($interface)) { - if (!$interface instanceof IReflectionClass) { - throw new Exception\RuntimeException(sprintf('Parameter must be a string or an instance of class reflection, "%s" provided.', get_class($interface)), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - $interfaceName = $interface->getName(); - - if (!$interface->isInterface()) { - throw new Exception\RuntimeException(sprintf('"%s" is not an interface.', $interfaceName), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - } - - // Only validation, always returns false - return false; - } - - /** - * Returns interface reflections. - * - * @return array - */ - public function getInterfaces() - { - return array(); - } - - /** - * Returns interface names. - * - * @return array - */ - public function getInterfaceNames() - { - return array(); - } - - /** - * Returns interfaces implemented by this class, not its parents. - * - * @return array - */ - public function getOwnInterfaces() - { - return array(); - } - - /** - * Returns names of interfaces implemented by this class, not its parents. - * - * @return array - */ - public function getOwnInterfaceNames() - { - return array(); - } - - /** - * Returns the class constructor reflection. - * - * @return null - */ - public function getConstructor() - { - return null; - } - - /** - * Returns the class desctructor reflection. - * - * @return null - */ - public function getDestructor() - { - return null; - } - - /** - * Returns if the class implements the given method. - * - * @param string $name Method name - * @return boolean - */ - public function hasMethod($name) - { - return false; - } - - /** - * Returns a method reflection. - * - * @param string $name Method name - * @throws \TokenReflection\Exception\RuntimeException If the requested method does not exist. - */ - public function getMethod($name) - { - throw new Exception\RuntimeException(sprintf('There is no method "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns method reflections. - * - * @param integer $filter Methods filter - * @return array - */ - public function getMethods($filter = null) - { - return array(); - } - - /** - * Returns if the class implements (and not its parents) the given method. - * - * @param string $name Method name - * @return boolean - */ - public function hasOwnMethod($name) - { - return false; - } - - /** - * Returns methods declared by this class, not its parents. - * - * @param integer $filter Methods filter - * @return array - */ - public function getOwnMethods($filter = null) - { - return array(); - } - - /** - * Returns if the class imports the given method from traits. - * - * @param string $name Method name - * @return boolean - */ - public function hasTraitMethod($name) - { - return false; - } - - /** - * Returns method reflections imported from traits. - * - * @param integer $filter Methods filter - * @return array - */ - public function getTraitMethods($filter = null) - { - return array(); - } - - /** - * Returns if the class defines the given constant. - * - * @param string $name Constant name. - * @return boolean - */ - public function hasConstant($name) - { - return false; - } - - /** - * Returns a constant value. - * - * @param string $name Constant name - * @throws \TokenReflection\Exception\RuntimeException If the requested constant does not exist. - */ - public function getConstant($name) - { - throw new Exception\RuntimeException(sprintf('There is no constant "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns a constant reflection. - * - * @param string $name Constant name - * @throws \TokenReflection\Exception\RuntimeException If the requested constant does not exist. - */ - public function getConstantReflection($name) - { - throw new Exception\RuntimeException(sprintf('There is no constant "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns an array of constant values. - * - * @return array - */ - public function getConstants() - { - return array(); - } - - /** - * Returns an array of constant reflections. - * - * @return array - */ - public function getConstantReflections() - { - return array(); - } - - /** - * Returns if the class (and not its parents) defines the given constant. - * - * @param string $name Constant name. - * @return boolean - */ - public function hasOwnConstant($name) - { - return false; - } - - /** - * Returns constants declared by this class, not its parents. - * - * @return array - */ - public function getOwnConstants() - { - return array(); - } - - /** - * Returns an array of constant reflections defined by this class not its parents. - * - * @return array - */ - public function getOwnConstantReflections() - { - return array(); - } - - /** - * Returns default properties. - * - * @return array - */ - public function getDefaultProperties() - { - return array(); - } - - /** - * Returns if the class implements the given property. - * - * @param string $name Property name - * @return boolean - */ - public function hasProperty($name) - { - return false; - } - - /** - * Returns class properties. - * - * @param integer $filter Property types - * @return array - */ - public function getProperties($filter = null) - { - return array(); - } - - /** - * Return a property reflections. - * - * @param string $name Property name - * @throws \TokenReflection\Exception\RuntimeException If the requested property does not exist. - */ - public function getProperty($name) - { - throw new Exception\RuntimeException(sprintf('There is no property "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns if the class (and not its parents) implements the given property. - * - * @param string $name Property name - * @return boolean - */ - public function hasOwnProperty($name) - { - return false; - } - - /** - * Returns properties declared by this class, not its parents. - * - * @param integer $filter Properties filter - * @return array - */ - public function getOwnProperties($filter = null) - { - return array(); - } - - /** - * Returns if the class imports the given property from traits. - * - * @param string $name Property name - * @return boolean - */ - public function hasTraitProperty($name) - { - return false; - } - - /** - * Returns property reflections imported from traits. - * - * @param integer $filter Properties filter - * @return array - */ - public function getTraitProperties($filter = null) - { - return array(); - } - - /** - * Returns static properties reflections. - * - * @return array - */ - public function getStaticProperties() - { - return array(); - } - - /** - * Returns a value of a static property. - * - * @param string $name Property name - * @param mixed $default Default value - * @throws \TokenReflection\Exception\RuntimeException If the requested static property does not exist. - */ - public function getStaticPropertyValue($name, $default = null) - { - throw new Exception\RuntimeException(sprintf('There is no static property "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns reflections of direct subclasses. - * - * @return array - */ - public function getDirectSubclasses() - { - return array(); - } - - /** - * Returns names of direct subclasses. - * - * @return array - */ - public function getDirectSubclassNames() - { - return array(); - } - - /** - * Returns reflections of indirect subclasses. - * - * @return array - */ - public function getIndirectSubclasses() - { - return array(); - } - - /** - * Returns names of indirect subclasses. - * - * @return array - */ - public function getIndirectSubclassNames() - { - return array(); - } - - /** - * Returns reflections of classes directly implementing this interface. - * - * @return array - */ - public function getDirectImplementers() - { - return array(); - } - - /** - * Returns names of classes directly implementing this interface. - * - * @return array - */ - public function getDirectImplementerNames() - { - return array(); - } - - /** - * Returns reflections of classes indirectly implementing this interface. - * - * @return array - */ - public function getIndirectImplementers() - { - return array(); - } - - /** - * Returns names of classes indirectly implementing this interface. - * - * @return array - */ - public function getIndirectImplementerNames() - { - return array(); - } - - /** - * Returns if the given object is an instance of this class. - * - * @param object $object Instance - * @return boolean - * @throws \TokenReflection\Exception\RuntimeException If the provided argument is not an object. - */ - public function isInstance($object) - { - if (!is_object($object)) { - throw new Exception\RuntimeException(sprintf('Parameter must be a class instance, "%s" provided.', gettype($object)), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - return $this->name === get_class($object) || is_subclass_of($object, $this->name); - } - - /** - * Creates a new class instance without using a constructor. - * - * @return object - * @throws \TokenReflection\Exception\RuntimeException If the class inherits from an internal class. - */ - public function newInstanceWithoutConstructor() - { - if (!class_exists($this->name, true)) { - throw new Exception\RuntimeException('Could not create an instance; class does not exist.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - $reflection = new \TokenReflection\Php\ReflectionClass($this->name, $this->getBroker()); - return $reflection->newInstanceWithoutConstructor(); - } - - /** - * Creates a new instance using variable number of parameters. - * - * Use any number of constructor parameters as function parameters. - * - * @param mixed $args - * @return object - */ - public function newInstance($args) - { - return $this->newInstanceArgs(func_get_args()); - } - - /** - * Creates a new instance using an array of parameters. - * - * @param array $args Array of constructor parameters - * @return object - * @throws \TokenReflection\Exception\RuntimeException If the required class does not exist. - */ - public function newInstanceArgs(array $args = array()) - { - if (!class_exists($this->name, true)) { - throw new Exception\RuntimeException('Could not create an instance of class; class does not exist.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - $reflection = new InternalReflectionClass($this->name); - return $reflection->newInstanceArgs($args); - } - - /** - * Sets a static property value. - * - * @param string $name Property name - * @param mixed $value Property value - * @throws \TokenReflection\Exception\RuntimeException If the requested static property does not exist. - */ - public function setStaticPropertyValue($name, $value) - { - throw new Exception\RuntimeException(sprintf('There is no static property "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns the string representation of the reflection object. - * - * @return string - */ - public function __toString() - { - return sprintf( - "Class|Interface [ class|interface %s ] {\n %s%s%s%s%s\n}\n", - $this->getName(), - "\n\n - Constants [0] {\n }", - "\n\n - Static properties [0] {\n }", - "\n\n - Static methods [0] {\n }", - "\n\n - Properties [0] {\n }", - "\n\n - Methods [0] {\n }" - ); - } - - /** - * Exports a reflected object. - * - * @param \TokenReflection\Broker $broker Broker instance - * @param string|object $className Class name or class instance - * @param boolean $return Return the export instead of outputting it - * @return string|null - * @throws \TokenReflection\Exception\RuntimeException If requested parameter doesn't exist. - */ - public static function export(Broker $broker, $className, $return = false) - { - TokenReflection\ReflectionClass::export($broker, $className, $return); - } - - /** - * Outputs the reflection subject source code. - * - * @return string - */ - public function getSource() - { - return ''; - } - - /** - * Returns the start position in the file token stream. - * - * @return integer - */ - public function getStartPosition() - { - return -1; - } - - /** - * Returns the end position in the file token stream. - * - * @return integer - */ - public function getEndPosition() - { - return -1; - } - - /** - * Returns if the class definition is complete. - * - * Dummy classes never have the definition complete. - * - * @return boolean - */ - public function isComplete() - { - return false; - } - - /** - * Returns if the class definition is valid. - * - * Dummy classes are always valid. - * - * @return boolean - */ - public function isValid() - { - return true; - } - - /** - * Returns if the reflection subject is deprecated. - * - * @return boolean - */ - public function isDeprecated() - { - return false; - } - - /** - * Returns the reflection broker used by this reflection object. - * - * @return \TokenReflection\Broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Magic __get method. - * - * @param string $key Variable name - * @return mixed - */ - final public function __get($key) - { - return ReflectionBase::get($this, $key); - } - - /** - * Magic __isset method. - * - * @param string $key Variable name - * @return boolean - */ - final public function __isset($key) - { - return ReflectionBase::exists($this, $key); - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/BaseException.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/BaseException.php deleted file mode 100644 index 35a8e6f0..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/BaseException.php +++ /dev/null @@ -1,102 +0,0 @@ -getDetail(); - - return sprintf( - "exception '%s'%s in %s on line %d\n%s\nStack trace:\n%s", - get_class($this), - $this->getMessage() ? " with message '" . $this->getMessage() . "'" : '', - $this->getFile(), - $this->getLine(), - empty($detail) ? '' : $detail . "\n", - $this->getTraceAsString() - ); - } - - /** - * Returns the exception details as string. - * - * @return string - */ - final public function __toString() - { - $output = ''; - - if ($ex = $this->getPrevious()) { - $output .= (string) $ex . "\n\nNext "; - } - - return $output . $this->getOutput() . "\n"; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/BrokerException.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/BrokerException.php deleted file mode 100644 index 64514189..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/BrokerException.php +++ /dev/null @@ -1,66 +0,0 @@ -broker = $broker; - } - - /** - * Returns the current Broker. - * - * @return \TokenReflection\Broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Returns an exception description detail. - * - * @return string - */ - public function getDetail() - { - return ''; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/FileProcessingException.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/FileProcessingException.php deleted file mode 100644 index 639e771a..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/FileProcessingException.php +++ /dev/null @@ -1,80 +0,0 @@ -getName()), - 0, - $sender - ); - - $this->reasons = $reasons; - } - - /** - * Returns a list of reasons why the file could not be processed. - * - * @return array - */ - public function getReasons() - { - return $this->reasons; - } - - /** - * Returns an exception description detail. - * - * @return string - */ - public function getDetail() - { - if (!empty($this->reasons)) { - $reasons = array_map(function(BaseException $reason) { - if ($reason instanceof ParseException) { - return $reason->getDetail(); - } else { - return $reason->getMessage(); - } - }, $this->reasons); - - return "There were following reasons for this exception:\n" . implode("\n", $reasons); - } - - return ''; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/ParseException.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/ParseException.php deleted file mode 100644 index 195bf8e3..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/ParseException.php +++ /dev/null @@ -1,264 +0,0 @@ -sender = $sender; - - $token = $tokenStream->current(); - $position = $tokenStream->key(); - - if (!empty($token) && !empty($position)) { - $this->token = $token; - $this->tokenName = $tokenStream->getTokenName(); - - $line = $this->token[2]; - $min = $max = $position; - } else { - $min = $max = $tokenStream->count() - 1; - $line = $tokenStream[$min][2]; - } - - $this->exceptionLine = $line; - - static $skip = array(T_WHITESPACE => true, T_COMMENT => true, T_DOC_COMMENT => true); - - $significant = array(); - while (isset($tokenStream[$min - 1])) { - if (!isset($significant[$tokenStream[$min][2]])) { - if (self::SOURCE_LINES_AROUND <= array_sum($significant)) { - break; - } - - $significant[$tokenStream[$min][2]] = !isset($skip[$tokenStream[$min][0]]); - } else { - $significant[$tokenStream[$min][2]] |= !isset($skip[$tokenStream[$min][0]]); - } - - $min--; - } - - $significant = array(); - while (isset($tokenStream[$max + 1])) { - if (!isset($significant[$tokenStream[$max][2]])) { - if (self::SOURCE_LINES_AROUND <= array_sum($significant)) { - break; - } - - $significant[$tokenStream[$max][2]] = !isset($skip[$tokenStream[$max][0]]); - } else { - $significant[$tokenStream[$max][2]] |= !isset($skip[$tokenStream[$max][0]]); - } - - $max++; - } - - $this->scopeBoundaries = array($min, $max); - } - - /** - * Returns the token where the problem was detected or NULL if the token stream was empty or an end was reached. - * - * @return array|null - */ - public function getToken() - { - return $this->token; - } - - /** - * Returns the name of the token where the problem was detected or NULL if the token stream was empty or an end was reached. - * - * @return string|null - */ - public function getTokenName() - { - return $this->tokenName; - } - - /** - * Returns the line where the exception was thrown. - * - * @return integer - */ - public function getExceptionLine() - { - return $this->exceptionLine; - } - - /** - * Returns the file line with the token or null. - * - * @return integer|null - */ - public function getTokenLine() - { - return null === $this->token ? null : $this->token[2]; - } - - /** - * Returns the source code part around the token. - * - * @param boolean $lineNumbers Returns the source code part with line numbers - * @return string|null - */ - public function getSourcePart($lineNumbers = false) - { - if (empty($this->scopeBoundaries)) { - return null; - } - - list($lo, $hi) = $this->scopeBoundaries; - $stream = $this->getStream(); - - $code = $stream->getSourcePart($lo, $hi); - - if ($lineNumbers) { - $lines = explode("\n", $code); - - $startLine = $stream[$lo][2]; - $width = strlen($startLine + count($lines) - 1); - $errorLine = $this->token[2]; - $actualLine = $startLine; - - $code = implode( - "\n", - array_map(function($line) use (&$actualLine, $width, $errorLine) { - return ($actualLine === $errorLine ? '*' : ' ') . str_pad($actualLine++, $width, ' ', STR_PAD_LEFT) . ': ' . $line; - }, $lines) - ); - } - - return $code; - } - - /** - * Returns the reflection element that caused the exception to be raised. - * - * @return \TokenReflection\IReflection - */ - public function getSender() - { - return $this->sender; - } - - /** - * Returns an exception description detail. - * - * @return string - */ - public function getDetail() - { - if (0 === $this->getStream()->count()) { - return parent::getDetail() . 'The token stream was empty.'; - } elseif (empty($this->token)) { - return parent::getDetail() . 'The token stream was read out of its bounds.'; - } else { - return parent::getDetail() . - sprintf( - "\nThe cause of the exception was the %s token (line %s) in following part of %s source code:\n\n%s", - $this->tokenName, - $this->token[2], - $this->sender && $this->sender->getName() ? $this->sender->getPrettyName() : 'the', - $this->getSourcePart(true) - ); - } - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/RuntimeException.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/RuntimeException.php deleted file mode 100644 index a7950c77..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/RuntimeException.php +++ /dev/null @@ -1,72 +0,0 @@ -sender = $sender; - } - - /** - * Returns the reflection element that caused the exception to be raised. - * - * @return \TokenReflection\IReflection - */ - public function getSender() - { - return $this->sender; - } - - /** - * Returns an exception description detail. - * - * @return string - */ - public function getDetail() - { - return null === $this->sender ? '' : sprintf('Thrown when working with "%s".', $this->sender->getPrettyName()); - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/StreamException.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/StreamException.php deleted file mode 100644 index 7b1d2414..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Exception/StreamException.php +++ /dev/null @@ -1,96 +0,0 @@ -stream = $stream; - } - - /** - * Returns the reflection element that caused the exception to be raised. - * - * @return \TokenReflection\Stream\StreamBase - */ - public function getStream() - { - return $this->stream; - } - - /** - * Returns the processed file name. - * - * @return string - */ - public function getFileName() - { - return $this->stream->getFileName(); - } - - /** - * Returns an exception description detail. - * - * @return string - */ - public function getDetail() - { - return sprintf('Thrown when working with file "%s" token stream.', $this->getFileName()); - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflection.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflection.php deleted file mode 100644 index a955455d..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflection.php +++ /dev/null @@ -1,80 +0,0 @@ - 5.3.0, you can uncomment it. - * - * @return mixed - */ - // public function invoke(); - - /** - * Calls the function. - * - * @param array $args Function parameter values - * @return mixed - */ - public function invokeArgs(array $args); - - /** - * Returns the function/method as closure. - * - * @return \Closure - */ - public function getClosure(); - - /** - * Returns if the function definition is valid. - * - * That means that the source code is valid and the function name is unique within parsed files. - * - * @return boolean - */ - public function isValid(); - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases(); -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflectionFunctionBase.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflectionFunctionBase.php deleted file mode 100644 index 772f4b62..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/IReflectionFunctionBase.php +++ /dev/null @@ -1,135 +0,0 @@ -name = ltrim($className, '\\'); - $this->fileName = $fileName; - $this->broker = $broker; - } - - /** - * Returns the name (FQN). - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return $this->name; - } - - /** - * Returns the unqualified name (UQN). - * - * @return string - */ - public function getShortName() - { - $pos = strrpos($this->name, '\\'); - return false === $pos ? $this->name : substr($this->name, $pos + 1); - } - - /** - * Returns the namespace name. - * - * @return string - */ - public function getNamespaceName() - { - $pos = strrpos($this->name, '\\'); - return false === $pos ? '' : substr($this->name, 0, $pos); - } - - /** - * Returns if the class is defined within a namespace. - * - * @return boolean - */ - public function inNamespace() - { - return false !== strrpos($this->name, '\\'); - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return array(); - } - - /** - * Returns the PHP extension reflection. - * - * @return null - */ - public function getExtension() - { - return null; - } - - /** - * Returns the PHP extension name. - * - * @return boolean - */ - public function getExtensionName() - { - return false; - } - - /** - * Returns the file name the reflection object is defined in. - * - * @return null - */ - public function getFileName() - { - return $this->fileName; - } - - /** - * Returns a file reflection. - * - * @return \TokenReflection\ReflectionFile - * @throws \TokenReflection\Exception\RuntimeException If the file is not stored inside the broker - */ - public function getFileReflection() - { - throw new Exception\BrokerException($this->getBroker(), sprintf('Class was not parsed from a file', $this->getName()), Exception\BrokerException::UNSUPPORTED); - } - - /** - * Returns the definition start line number in the file. - * - * @return null - */ - public function getStartLine() - { - return null; - } - - /** - * Returns the definition end line number in the file. - * - * @return null - */ - public function getEndLine() - { - return null; - } - - /** - * Returns the appropriate docblock definition. - * - * @return boolean - */ - public function getDocComment() - { - return false; - } - - /** - * Checks if there is a particular annotation. - * - * @param string $name Annotation name - * @return boolean - */ - public function hasAnnotation($name) - { - return false; - } - - /** - * Returns a particular annotation value. - * - * @param string $name Annotation name - * @return null - */ - public function getAnnotation($name) - { - return null; - } - - /** - * Returns parsed docblock. - * - * @return array - */ - public function getAnnotations() - { - return array(); - } - - /** - * Returns modifiers. - * - * @return integer - */ - public function getModifiers() - { - return 0; - } - - /** - * Returns if the class is abstract. - * - * @return boolean - */ - public function isAbstract() - { - return false; - } - - /** - * Returns if the class is final. - * - * @return boolean - */ - public function isFinal() - { - return false; - } - - /** - * Returns if the class is an interface. - * - * @return boolean - */ - public function isInterface() - { - return false; - } - - /** - * Returns if the class is an exception or its descendant. - * - * @return boolean - */ - public function isException() - { - return false; - } - - /** - * Returns if it is possible to create an instance of this class. - * - * @return boolean - */ - public function isInstantiable() - { - return false; - } - - /** - * Returns traits used by this class. - * - * @return array - */ - public function getTraits() - { - return array(); - } - - /** - * Returns traits used by this class and not its parents. - * - * @return array - */ - public function getOwnTraits() - { - return array(); - } - - /** - * Returns names of used traits. - * - * @return array - */ - public function getTraitNames() - { - return array(); - } - - /** - * Returns traits used by this class and not its parents. - * - * @return array - */ - public function getOwnTraitNames() - { - return array(); - } - - /** - * Returns method aliases from traits. - * - * @return array - */ - public function getTraitAliases() - { - return array(); - } - - /** - * Returns if the class is a trait. - * - * @return boolean - */ - public function isTrait() - { - return false; - } - - /** - * Returns if the class uses a particular trait. - * - * @param \ReflectionClass|\TokenReflection\IReflectionClass|string $trait Trait reflection or name - * @return boolean - */ - public function usesTrait($trait) - { - return false; - } - - /** - * Returns if objects of this class are cloneable. - * - * Introduced in PHP 5.4. - * - * @return boolean - * @see http://svn.php.net/viewvc/php/php-src/trunk/ext/reflection/php_reflection.c?revision=307971&view=markup#l4059 - */ - public function isCloneable() - { - return false; - } - - /** - * Returns if the class is iterateable. - * - * Returns true if the class implements the Traversable interface. - * - * @return boolean - */ - public function isIterateable() - { - return false; - } - - /** - * Returns if the reflection object is internal. - * - * @return boolean - */ - public function isInternal() - { - return false; - } - - /** - * Returns if the reflection object is user defined. - * - * @return boolean - */ - public function isUserDefined() - { - return true; - } - - /** - * Returns if the current reflection comes from a tokenized source. - * - * @return boolean - */ - public function isTokenized() - { - return true; - } - - /** - * Returns if the current class is a subclass of the given class. - * - * @param string|object $class Class name or reflection object - * @return boolean - */ - public function isSubclassOf($class) - { - return false; - } - - /** - * Returns the parent class reflection. - * - * @return null - */ - public function getParentClass() - { - return false; - } - - /** - * Returns the parent classes reflections. - * - * @return array - */ - public function getParentClasses() - { - return array(); - } - - /** - * Returns the parent classes names. - * - * @return array - */ - public function getParentClassNameList() - { - return array(); - } - - /** - * Returns the parent class reflection. - * - * @return null - */ - public function getParentClassName() - { - return null; - } - - /** - * Returns if the class implements the given interface. - * - * @param string|object $interface Interface name or reflection object - * @return boolean - * @throws \TokenReflection\Exception\RuntimeException If the provided parameter is not an interface. - */ - public function implementsInterface($interface) - { - if (is_object($interface)) { - if (!$interface instanceof IReflectionClass) { - throw new Exception\RuntimeException(sprintf('Parameter must be a string or an instance of class reflection, "%s" provided.', get_class($interface)), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - $interfaceName = $interface->getName(); - - if (!$interface->isInterface()) { - throw new Exception\RuntimeException(sprintf('"%s" is not an interface.', $interfaceName), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - } - - // Only validation, always returns false - return false; - } - - /** - * Returns interface reflections. - * - * @return array - */ - public function getInterfaces() - { - return array(); - } - - /** - * Returns interface names. - * - * @return array - */ - public function getInterfaceNames() - { - return array(); - } - - /** - * Returns interfaces implemented by this class, not its parents. - * - * @return array - */ - public function getOwnInterfaces() - { - return array(); - } - - /** - * Returns names of interfaces implemented by this class, not its parents. - * - * @return array - */ - public function getOwnInterfaceNames() - { - return array(); - } - - /** - * Returns the class constructor reflection. - * - * @return null - */ - public function getConstructor() - { - return null; - } - - /** - * Returns the class desctructor reflection. - * - * @return null - */ - public function getDestructor() - { - return null; - } - - /** - * Returns if the class implements the given method. - * - * @param string $name Method name - * @return boolean - */ - public function hasMethod($name) - { - return false; - } - - /** - * Returns a method reflection. - * - * @param string $name Method name - * @throws \TokenReflection\Exception\RuntimeException If the requested method does not exist. - */ - public function getMethod($name) - { - throw new Exception\RuntimeException(sprintf('There is no method "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns method reflections. - * - * @param integer $filter Methods filter - * @return array - */ - public function getMethods($filter = null) - { - return array(); - } - - /** - * Returns if the class implements (and not its parents) the given method. - * - * @param string $name Method name - * @return boolean - */ - public function hasOwnMethod($name) - { - return false; - } - - /** - * Returns methods declared by this class, not its parents. - * - * @param integer $filter Methods filter - * @return array - */ - public function getOwnMethods($filter = null) - { - return array(); - } - - /** - * Returns if the class imports the given method from traits. - * - * @param string $name Method name - * @return boolean - */ - public function hasTraitMethod($name) - { - return false; - } - - /** - * Returns method reflections imported from traits. - * - * @param integer $filter Methods filter - * @return array - */ - public function getTraitMethods($filter = null) - { - return array(); - } - - /** - * Returns if the class defines the given constant. - * - * @param string $name Constant name. - * @return boolean - */ - public function hasConstant($name) - { - return false; - } - - /** - * Returns a constant value. - * - * @param string $name Constant name - * @throws \TokenReflection\Exception\RuntimeException If the requested constant does not exist. - */ - public function getConstant($name) - { - throw new Exception\RuntimeException(sprintf('There is no constant "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns a constant reflection. - * - * @param string $name Constant name - * @throws \TokenReflection\Exception\RuntimeException If the requested constant does not exist. - */ - public function getConstantReflection($name) - { - throw new Exception\RuntimeException(sprintf('There is no constant "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns an array of constant values. - * - * @return array - */ - public function getConstants() - { - return array(); - } - - /** - * Returns an array of constant reflections. - * - * @return array - */ - public function getConstantReflections() - { - return array(); - } - - /** - * Returns if the class (and not its parents) defines the given constant. - * - * @param string $name Constant name. - * @return boolean - */ - public function hasOwnConstant($name) - { - return false; - } - - /** - * Returns constants declared by this class, not its parents. - * - * @return array - */ - public function getOwnConstants() - { - return array(); - } - - /** - * Returns an array of constant reflections defined by this class not its parents. - * - * @return array - */ - public function getOwnConstantReflections() - { - return array(); - } - - /** - * Returns default properties. - * - * @return array - */ - public function getDefaultProperties() - { - return array(); - } - - /** - * Returns if the class implements the given property. - * - * @param string $name Property name - * @return boolean - */ - public function hasProperty($name) - { - return false; - } - - /** - * Returns class properties. - * - * @param integer $filter Property types - * @return array - */ - public function getProperties($filter = null) - { - return array(); - } - - /** - * Return a property reflections. - * - * @param string $name Property name - * @throws \TokenReflection\Exception\RuntimeException If the requested property does not exist. - */ - public function getProperty($name) - { - throw new Exception\RuntimeException(sprintf('There is no property "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns if the class (and not its parents) implements the given property. - * - * @param string $name Property name - * @return boolean - */ - public function hasOwnProperty($name) - { - return false; - } - - /** - * Returns properties declared by this class, not its parents. - * - * @param integer $filter Properties filter - * @return array - */ - public function getOwnProperties($filter = null) - { - return array(); - } - - /** - * Returns if the class imports the given property from traits. - * - * @param string $name Property name - * @return boolean - */ - public function hasTraitProperty($name) - { - return false; - } - - /** - * Returns property reflections imported from traits. - * - * @param integer $filter Properties filter - * @return array - */ - public function getTraitProperties($filter = null) - { - return array(); - } - - /** - * Returns static properties reflections. - * - * @return array - */ - public function getStaticProperties() - { - return array(); - } - - /** - * Returns a value of a static property. - * - * @param string $name Property name - * @param mixed $default Default value - * @throws \TokenReflection\Exception\RuntimeException If the requested static property does not exist. - */ - public function getStaticPropertyValue($name, $default = null) - { - throw new Exception\RuntimeException(sprintf('There is no static property "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns reflections of direct subclasses. - * - * @return array - */ - public function getDirectSubclasses() - { - return array(); - } - - /** - * Returns names of direct subclasses. - * - * @return array - */ - public function getDirectSubclassNames() - { - return array(); - } - - /** - * Returns reflections of indirect subclasses. - * - * @return array - */ - public function getIndirectSubclasses() - { - return array(); - } - - /** - * Returns names of indirect subclasses. - * - * @return array - */ - public function getIndirectSubclassNames() - { - return array(); - } - - /** - * Returns reflections of classes directly implementing this interface. - * - * @return array - */ - public function getDirectImplementers() - { - return array(); - } - - /** - * Returns names of classes directly implementing this interface. - * - * @return array - */ - public function getDirectImplementerNames() - { - return array(); - } - - /** - * Returns reflections of classes indirectly implementing this interface. - * - * @return array - */ - public function getIndirectImplementers() - { - return array(); - } - - /** - * Returns names of classes indirectly implementing this interface. - * - * @return array - */ - public function getIndirectImplementerNames() - { - return array(); - } - - /** - * Returns if the given object is an instance of this class. - * - * @param object $object Instance - * @return boolean - * @throws \TokenReflection\Exception\RuntimeException If the provided argument is not an object. - */ - public function isInstance($object) - { - if (!is_object($object)) { - throw new Exception\RuntimeException(sprintf('Parameter must be a class instance, "%s" provided.', gettype($object)), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - return $this->name === get_class($object) || is_subclass_of($object, $this->name); - } - - /** - * Creates a new class instance without using a constructor. - * - * @return object - * @throws \TokenReflection\Exception\RuntimeException If the class inherits from an internal class. - */ - public function newInstanceWithoutConstructor() - { - if (!class_exists($this->name, true)) { - throw new Exception\RuntimeException('Could not create an instance; class does not exist.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - $reflection = new \TokenReflection\Php\ReflectionClass($this->name, $this->getBroker()); - return $reflection->newInstanceWithoutConstructor(); - } - - /** - * Creates a new instance using variable number of parameters. - * - * Use any number of constructor parameters as function parameters. - * - * @param mixed $args - * @return object - */ - public function newInstance($args) - { - return $this->newInstanceArgs(func_get_args()); - } - - /** - * Creates a new instance using an array of parameters. - * - * @param array $args Array of constructor parameters - * @return object - * @throws \TokenReflection\Exception\RuntimeException If the required class does not exist. - */ - public function newInstanceArgs(array $args = array()) - { - if (!class_exists($this->name, true)) { - throw new Exception\RuntimeException('Could not create an instance of class; class does not exist.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - $reflection = new InternalReflectionClass($this->name); - return $reflection->newInstanceArgs($args); - } - - /** - * Sets a static property value. - * - * @param string $name Property name - * @param mixed $value Property value - * @throws \TokenReflection\Exception\RuntimeException If the requested static property does not exist. - */ - public function setStaticPropertyValue($name, $value) - { - throw new Exception\RuntimeException(sprintf('There is no static property "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns the string representation of the reflection object. - * - * @return string - */ - public function __toString() - { - return sprintf( - "Class|Interface [ class|interface %s ] {\n %s%s%s%s%s\n}\n", - $this->getName(), - "\n\n - Constants [0] {\n }", - "\n\n - Static properties [0] {\n }", - "\n\n - Static methods [0] {\n }", - "\n\n - Properties [0] {\n }", - "\n\n - Methods [0] {\n }" - ); - } - - /** - * Exports a reflected object. - * - * @param \TokenReflection\Broker $broker Broker instance - * @param string|object $className Class name or class instance - * @param boolean $return Return the export instead of outputting it - * @return string|null - * @throws \TokenReflection\Exception\RuntimeException If requested parameter doesn't exist. - */ - public static function export(Broker $broker, $className, $return = false) - { - TokenReflection\ReflectionClass::export($broker, $className, $return); - } - - /** - * Outputs the reflection subject source code. - * - * @return string - */ - public function getSource() - { - return ''; - } - - /** - * Returns the start position in the file token stream. - * - * @return integer - */ - public function getStartPosition() - { - return -1; - } - - /** - * Returns the end position in the file token stream. - * - * @return integer - */ - public function getEndPosition() - { - return -1; - } - - /** - * Returns if the class definition is complete. - * - * Invalid classes are always complete. - * - * @return boolean - */ - public function isComplete() - { - return true; - } - - /** - * Returns if the class definition is valid. - * - * @return boolean - */ - public function isValid() - { - return false; - } - - /** - * Returns if the reflection subject is deprecated. - * - * @return boolean - */ - public function isDeprecated() - { - return false; - } - - /** - * Returns the reflection broker used by this reflection object. - * - * @return \TokenReflection\Broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Magic __get method. - * - * @param string $key Variable name - * @return mixed - */ - final public function __get($key) - { - return ReflectionBase::get($this, $key); - } - - /** - * Magic __isset method. - * - * @param string $key Variable name - * @return boolean - */ - final public function __isset($key) - { - return ReflectionBase::exists($this, $key); - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Invalid/ReflectionConstant.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Invalid/ReflectionConstant.php deleted file mode 100644 index a4e2ac8a..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Invalid/ReflectionConstant.php +++ /dev/null @@ -1,403 +0,0 @@ -name = $name; - $this->broker = $broker; - $this->fileName = $fileName; - } - - /** - * Returns the name. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Returns the unqualified name (UQN). - * - * @return string - */ - public function getShortName() - { - $pos = strrpos($this->name, '\\'); - return false === $pos ? $this->name : substr($this->name, $pos + 1); - } - - /** - * Returns the declaring class reflection. - * - * @return null - */ - public function getDeclaringClass() - { - return null; - } - - /** - * Returns the declaring class name. - * - * @return null - */ - public function getDeclaringClassName() - { - return null; - } - - /** - * Returns the namespace name. - * - * @return string - */ - public function getNamespaceName() - { - $pos = strrpos($this->name, '\\'); - return false === $pos ? '' : substr($this->name, 0, $pos); - } - - /** - * Returns if the function/method is defined within a namespace. - * - * @return boolean - */ - public function inNamespace() - { - return false !== strpos($this->name, '\\'); - } - - /** - * Returns the PHP extension reflection. - * - * @return null - */ - public function getExtension() - { - return null; - } - - /** - * Returns the PHP extension name. - * - * @return boolean - */ - public function getExtensionName() - { - return false; - } - - /** - * Returns the appropriate source code part. - * - * @return string - */ - public function getSource() - { - return ''; - } - - /** - * Returns the start position in the file token stream. - * - * @return integer - */ - public function getStartPosition() - { - return -1; - } - - /** - * Returns the end position in the file token stream. - * - * @return integer - */ - public function getEndPosition() - { - return -1; - } - - /** - * Returns the file name the reflection object is defined in. - * - * @return null - */ - public function getFileName() - { - return $this->fileName; - } - - /** - * Returns a file reflection. - * - * @return \TokenReflection\ReflectionFile - * @throws \TokenReflection\Exception\RuntimeException If the file is not stored inside the broker - */ - public function getFileReflection() - { - throw new Exception\BrokerException($this->getBroker(), sprintf('Constant %s was not parsed from a file', $this->getPrettyName()), Exception\BrokerException::UNSUPPORTED); - } - - /** - * Returns the definition start line number in the file. - * - * @return null - */ - public function getStartLine() - { - return null; - } - - /** - * Returns the definition end line number in the file. - * - * @return null - */ - public function getEndLine() - { - return null; - } - - /** - * Returns the appropriate docblock definition. - * - * @return boolean - */ - public function getDocComment() - { - return false; - } - - /** - * Checks if there is a particular annotation. - * - * @param string $name Annotation name - * @return boolean - */ - public function hasAnnotation($name) - { - return false; - } - - /** - * Returns a particular annotation value. - * - * @param string $name Annotation name - * @return null - */ - public function getAnnotation($name) - { - return null; - } - - /** - * Returns parsed docblock. - * - * @return array - */ - public function getAnnotations() - { - return array(); - } - - /** - * Returns the constant value. - * - * @return mixed - */ - public function getValue() - { - return null; - } - - /** - * Returns the part of the source code defining the constant value. - * - * @return string - */ - public function getValueDefinition() - { - return null; - } - - /** - * Returns the originaly provided value definition. - * - * @return string - */ - public function getOriginalValueDefinition() - { - return null; - } - - /** - * Returns if the constant is internal. - * - * @return boolean - */ - public function isInternal() - { - return false; - } - - /** - * Returns if the constant is user defined. - * - * @return boolean - */ - public function isUserDefined() - { - return true; - } - - /** - * Returns if the current reflection comes from a tokenized source. - * - * @return boolean - */ - public function isTokenized() - { - return true; - } - - /** - * Returns if the reflection subject is deprecated. - * - * @return boolean - */ - public function isDeprecated() - { - return false; - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return $this->name; - } - - /** - * Returns the string representation of the reflection object. - * - * @return string - */ - public function __toString() - { - return sprintf( - "Constant [ %s %s ] { %s }\n", - gettype(null), - $this->getName(), - null - ); - } - - /** - * Returns the reflection broker used by this reflection object. - * - * @return \TokenReflection\Broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return array(); - } - - /** - * Returns if the constant definition is valid. - * - * @return boolean - */ - public function isValid() - { - return false; - } - - /** - * Magic __get method. - * - * @param string $key Variable name - * @return mixed - */ - final public function __get($key) - { - return ReflectionBase::get($this, $key); - } - - /** - * Magic __isset method. - * - * @param string $key Variable name - * @return boolean - */ - final public function __isset($key) - { - return ReflectionBase::exists($this, $key); - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Invalid/ReflectionElement.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Invalid/ReflectionElement.php deleted file mode 100644 index 344d62be..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Invalid/ReflectionElement.php +++ /dev/null @@ -1,53 +0,0 @@ -reasons[] = $reason; - - return $this; - } - - /** - * Returns a list of reasons why this element's reflection is invalid. - * - * @return array - */ - public function getReasons() - { - return $this->reasons; - } - - /** - * Returns if there are any known reasons why this element's reflection is invalid. - * - * @return boolean - */ - public function hasReasons() - { - return !empty($this->reasons); - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Invalid/ReflectionFunction.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Invalid/ReflectionFunction.php deleted file mode 100644 index c81db1e3..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Invalid/ReflectionFunction.php +++ /dev/null @@ -1,490 +0,0 @@ -name = ltrim($name, '\\'); - $this->broker = $broker; - $this->fileName = $fileName; - } - - /** - * Returns the name (FQN). - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Returns the unqualified name (UQN). - * - * @return string - */ - public function getShortName() - { - $pos = strrpos($this->name, '\\'); - return false === $pos ? $this->name : substr($this->name, $pos + 1); - } - - /** - * Returns the namespace name. - * - * @return string - */ - public function getNamespaceName() - { - $pos = strrpos($this->name, '\\'); - return false === $pos ? '' : substr($this->name, 0, $pos); - } - - /** - * Returns if the class is defined within a namespace. - * - * @return boolean - */ - public function inNamespace() - { - return false !== strrpos($this->name, '\\'); - } - - /** - * Returns if the reflection object is internal. - * - * @return boolean - */ - public function isInternal() - { - return false; - } - - /** - * Returns if the reflection object is user defined. - * - * @return boolean - */ - public function isUserDefined() - { - return true; - } - - /** - * Returns if the current reflection comes from a tokenized source. - * - * @return boolean - */ - public function isTokenized() - { - return true; - } - - /** - * Returns the reflection broker used by this reflection object. - * - * @return \TokenReflection\Broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return $this->name . '()'; - } - - /** - * Returns the PHP extension reflection. - * - * @return \TokenReflection\IReflectionExtension|null - */ - public function getExtension() - { - return null; - } - - /** - * Returns the PHP extension name. - * - * @return false - */ - public function getExtensionName() - { - return false; - } - - /** - * Returns the file name the reflection object is defined in. - * - * @return null - */ - public function getFileName() - { - return $this->fileName; - } - - /** - * Returns a file reflection. - * - * @return \TokenReflection\ReflectionFile - * @throws \TokenReflection\Exception\RuntimeException If the file is not stored inside the broker - */ - public function getFileReflection() - { - throw new Exception\BrokerException($this->getBroker(), sprintf('Function was not parsed from a file', $this->getPrettyName()), Exception\BrokerException::UNSUPPORTED); - } - - /** - * Returns the appropriate source code part. - * - * @return string - */ - public function getSource() - { - return ''; - } - - /** - * Returns the start position in the file token stream. - * - * @return integer - */ - public function getStartPosition() - { - return -1; - } - - /** - * Returns the end position in the file token stream. - * - * @return integer - */ - public function getEndPosition() - { - return -1; - } - - /** - * Returns the definition start line number in the file. - * - * @return integer - */ - public function getStartLine() - { - return null; - } - - /** - * Returns the definition end line number in the file. - * - * @return integer - */ - public function getEndLine() - { - return null; - } - - /** - * Returns the appropriate docblock definition. - * - * @return boolean - */ - public function getDocComment() - { - return false; - } - - /** - * Checks if there is a particular annotation. - * - * @param string $name Annotation name - * @return boolean - */ - public function hasAnnotation($name) - { - return false; - } - - /** - * Returns a particular annotation value. - * - * @param string $name Annotation name - * @return string|array|null - */ - public function getAnnotation($name) - { - return null; - } - - /** - * Returns all annotations. - * - * @return array - */ - public function getAnnotations() - { - return array(); - } - - /** - * Returns if the function/method is a closure. - * - * @return boolean - */ - public function isClosure() - { - return false; - } - - /** - * Returns if the function/method is deprecated. - * - * @return boolean - */ - public function isDeprecated() - { - return false; - } - - /** - * Returns if the function/method returns its value as reference. - * - * @return boolean - */ - public function returnsReference() - { - return false; - } - - /** - * Returns a function/method parameter. - * - * @param integer|string $parameter Parameter name or position - */ - public function getParameter($parameter) - { - if (is_numeric($parameter)) { - throw new Exception\RuntimeException(sprintf('There is no parameter at position "%d".', $parameter), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } else { - throw new Exception\RuntimeException(sprintf('There is no parameter "%s".', $parameter), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - } - - /** - * Returns function/method parameters. - * - * @return array - */ - public function getParameters(){ - return array(); - } - - /** - * Returns the number of parameters. - * - * @return integer - */ - public function getNumberOfParameters() - { - return 0; - } - - /** - * Returns the number of required parameters. - * - * @return integer - */ - public function getNumberOfRequiredParameters() - { - return 0; - } - - /** - * Returns static variables. - * - * @return array - */ - public function getStaticVariables() - { - return array(); - } - - /** - * Returns if the method is is disabled via the disable_functions directive. - * - * @return boolean - */ - public function isDisabled() - { - return false; - } - - /** - * Calls the function. - * - * @return mixed - */ - public function invoke() - { - return $this->invokeArgs(array()); - } - - /** - * Calls the function. - * - * @param array $args Function parameter values - * @return mixed - */ - public function invokeArgs(array $args) - { - throw new Exception\RuntimeException('Cannot invoke invalid functions', Exception\RuntimeException::UNSUPPORTED, $this); - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return array(); - } - - /** - * Returns the function/method as closure. - * - * @return \Closure - */ - public function getClosure() - { - throw new Exception\RuntimeException('Cannot invoke invalid functions', Exception\RuntimeException::UNSUPPORTED, $this); - } - - /** - * Returns the closure scope class. - * - * @return null - */ - public function getClosureScopeClass() - { - return null; - } - - /** - * Returns this pointer bound to closure. - * - * @return null - */ - public function getClosureThis() - { - return null; - } - - /** - * Returns if the function definition is valid. - * - * @return boolean - */ - public function isValid() - { - return false; - } - - /** - * Returns the string representation of the reflection object. - * - * @return string - */ - public function __toString() - { - return sprintf( - "%sFunction [ function %s%s ] {\n @@ %s %d - %d\n}\n", - $this->getDocComment() ? $this->getDocComment() . "\n" : '', - $this->returnsReference() ? '&' : '', - $this->getName(), - $this->getFileName(), - $this->getStartLine(), - $this->getEndLine() - ); - } - - /** - * Magic __get method. - * - * @param string $key Variable name - * @return mixed - */ - final public function __get($key) - { - return ReflectionBase::get($this, $key); - } - - /** - * Magic __isset method. - * - * @param string $key Variable name - * @return boolean - */ - final public function __isset($key) - { - return ReflectionBase::exists($this, $key); - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/IReflection.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/IReflection.php deleted file mode 100644 index a164e9f0..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/IReflection.php +++ /dev/null @@ -1,36 +0,0 @@ -broker = $broker; - } - - /** - * Returns the PHP extension reflection. - * - * @return \TokenReflection\Php\ReflectionExtension - */ - public function getExtension() - { - return ReflectionExtension::create(parent::getExtension(), $this->broker); - } - - /** - * Checks if there is a particular annotation. - * - * @param string $name Annotation name - * @return boolean - */ - public function hasAnnotation($name) - { - return false; - } - - /** - * Returns a particular annotation value. - * - * @param string $name Annotation name - * @return null - */ - public function getAnnotation($name) - { - return null; - } - - /** - * Returns parsed docblock. - * - * @return array - */ - public function getAnnotations() - { - return array(); - } - - /** - * Returns if the class is an exception or its descendant. - * - * @return boolean - */ - public function isException() - { - return 'Exception' === $this->getName() || $this->isSubclassOf('Exception'); - } - - /** - * Returns if objects of this class are cloneable. - * - * Introduced in PHP 5.4. - * - * @return boolean - * @see http://svn.php.net/viewvc/php/php-src/trunk/ext/reflection/php_reflection.c?revision=307971&view=markup#l4059 - */ - public function isCloneable() - { - if ($this->isInterface() || $this->isAbstract()) { - return false; - } - - $methods = $this->getMethods(); - return isset($methods['__clone']) ? $methods['__clone']->isPublic() : true; - } - - /** - * Returns if the current reflection comes from a tokenized source. - * - * @return boolean - */ - public function isTokenized() - { - return false; - } - - /** - * Returns if the reflection subject is deprecated. - * - * @return boolean - */ - public function isDeprecated() - { - return false; - } - - /** - * Returns if the current class is a subclass of the given class. - * - * @param string|object $class Class name or reflection object - * @return boolean - * @throws \TokenReflection\Exception\RuntimeException If an invalid parameter was provided. - */ - public function isSubclassOf($class) - { - if (is_object($class)) { - if (!$class instanceof InternalReflectionClass && !$class instanceof IReflectionClass) { - throw new Exception\RuntimeException('Parameter must be a string or an instance of class reflection.', Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - $class = $class->getName(); - } - - return in_array($class, $this->getParentClassNameList()); - } - - /** - * Returns parent class reflection. - * - * @return \TokenReflection\Php\ReflectionClass - */ - public function getParentClass() - { - $parent = parent::getParentClass(); - return $parent ? self::create($parent, $this->broker) : null; - } - - /** - * Returns the parent class name. - * - * @return string - */ - public function getParentClassName() - { - $parent = $this->getParentClass(); - return $parent ? $parent->getName() : null; - } - - /** - * Returns the parent classes reflections. - * - * @return array - */ - public function getParentClasses() - { - $broker = $this->broker; - return array_map(function($className) use ($broker) { - return $broker->getClass($className); - }, $this->getParentClassNameList()); - } - - /** - * Returns the parent classes names. - * - * @return array - */ - public function getParentClassNameList() - { - return class_parents($this->getName()); - } - - /** - * Returns if the class implements the given interface. - * - * @param string|object $interface Interface name or reflection object - * @return boolean - * @throws \TokenReflection\Exception\RuntimeException If the provided parameter is not an interface. - */ - public function implementsInterface($interface) - { - if (is_object($interface)) { - if (!$interface instanceof InternalReflectionClass && !$interface instanceof IReflectionClass) { - throw new Exception\RuntimeException('Parameter must be a string or an instance of class reflection.', Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - $interfaceName = $interface->getName(); - - if (!$interface->isInterface()) { - throw new Exception\RuntimeException(sprintf('"%s" is not an interface.', $interfaceName), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - } else { - $reflection = $this->getBroker()->getClass($interface); - if (!$reflection->isInterface()) { - throw new Exception\RuntimeException(sprintf('"%s" is not an interface.', $interface), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - $interfaceName = $interface; - } - - $interfaces = $this->getInterfaces(); - return isset($interfaces[$interfaceName]); - } - - /** - * Returns an array of interface reflections. - * - * @return array - */ - public function getInterfaces() - { - if (null === $this->interfaces) { - $broker = $this->broker; - $interfaceNames = $this->getInterfaceNames(); - - if (empty($interfaceNames)) { - $this->interfaces = array(); - } else { - $this->interfaces = array_combine($interfaceNames, array_map(function($interfaceName) use ($broker) { - return $broker->getClass($interfaceName); - }, $interfaceNames)); - } - } - - return $this->interfaces; - } - - /** - * Returns interfaces implemented by this class, not its parents. - * - * @return array - */ - public function getOwnInterfaces() - { - $parent = $this->getParentClass(); - return $parent ? array_diff_key($this->getInterfaces(), $parent->getInterfaces()) : $this->getInterfaces(); - } - - /** - * Returns names of interfaces implemented by this class, not its parents. - * - * @return array - */ - public function getOwnInterfaceNames() - { - return array_keys($this->getOwnInterfaces()); - } - - /** - * Returns class constructor reflection. - * - * @return \TokenReflection\Php\ReflectionClass|null - */ - public function getConstructor() - { - return ReflectionMethod::create(parent::getConstructor(), $this->broker); - } - - /** - * Returns class desctructor reflection. - * - * @return \TokenReflection\Php\ReflectionClass|null - */ - public function getDestructor() - { - foreach ($this->getMethods() as $method) { - if ($method->isDestructor()) { - return $method; - } - } - - return null; - } - - /** - * Returns a particular method reflection. - * - * @param string $name Method name - * @return \TokenReflection\Php\ReflectionMethod - * @throws \TokenReflection\Exception\RuntimeException If the requested method does not exist. - */ - public function getMethod($name) - { - foreach ($this->getMethods() as $method) { - if ($method->getName() === $name) { - return $method; - } - } - - throw new Exception\RuntimeException(sprintf('Method %s does not exist.', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns class methods. - * - * @param integer $filter Methods filter - * @return array - */ - public function getMethods($filter = null) - { - if (null === $this->methods) { - $broker = $this->broker; - $this->methods = array_map(function(InternalReflectionMethod $method) use ($broker) { - return ReflectionMethod::create($method, $broker); - }, parent::getMethods()); - } - - if (null === $filter) { - return $this->methods; - } - - return array_filter($this->methods, function(ReflectionMethod $method) use ($filter) { - return (bool) ($method->getModifiers() & $filter); - }); - } - - /** - * Returns if the class implements (and not its parents) the given method. - * - * @param string $name Method name - * @return boolean - */ - public function hasOwnMethod($name) - { - foreach ($this->getOwnMethods() as $method) { - if ($name === $method->getName()) { - return true; - } - } - - return false; - } - - /** - * Returns methods declared by this class, not its parents. - * - * @param integer $filter - * @return array - */ - public function getOwnMethods($filter = null) - { - $me = $this->getName(); - return array_filter($this->getMethods($filter), function(ReflectionMethod $method) use ($me) { - return $method->getDeclaringClass()->getName() === $me; - }); - } - - /** - * Returns if the class imports the given method from traits. - * - * @param string $name Method name - * @return boolean - * @todo Impossible with the current status of reflection - */ - public function hasTraitMethod($name) - { - return false; - } - - /** - * Returns method reflections imported from traits. - * - * @param integer $filter Methods filter - * @return array - * @todo Impossible with the current status of reflection - */ - public function getTraitMethods($filter = null) - { - return array(); - } - - /** - * Returns a constant reflection. - * - * @param string $name Constant name - * @return \TokenReflection\ReflectionConstant - * @throws \TokenReflection\Exception\RuntimeException If the requested constant does not exist. - */ - public function getConstantReflection($name) - { - if ($this->hasConstant($name)) { - return new ReflectionConstant($name, $this->getConstant($name), $this->broker, $this); - } - - throw new Exception\RuntimeException(sprintf('Constant "%s" does not exist.', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns an array of constant reflections. - * - * @return array - */ - public function getConstantReflections() - { - if (null === $this->constants) { - $this->constants = array(); - foreach ($this->getConstants() as $name => $value) { - $this->constants[$name] = $this->getConstantReflection($name); - } - } - - return array_values($this->constants); - } - - /** - * Returns if the class (and not its parents) defines the given constant. - * - * @param string $name Constant name. - * @return boolean - */ - public function hasOwnConstant($name) - { - $constants = $this->getOwnConstants(); - return isset($constants[$name]); - } - - /** - * Returns constants declared by this class, not its parents. - * - * @return array - */ - public function getOwnConstants() - { - return array_diff_assoc($this->getConstants(), $this->getParentClass() ? $this->getParentClass()->getConstants() : array()); - } - - /** - * Returns an array of constant reflections defined by this class and not its parents. - * - * @return array - */ - public function getOwnConstantReflections() - { - $constants = array(); - foreach ($this->getOwnConstants() as $name => $value) { - $constants[] = $this->getConstantReflection($name); - } - return $constants; - } - - /** - * Returns a particular property reflection. - * - * @param string $name Property name - * @return \TokenReflection\Php\ReflectionProperty - * @throws \TokenReflection\Exception\RuntimeException If the requested property does not exist. - */ - public function getProperty($name) - { - foreach ($this->getProperties() as $property) { - if ($name === $property->getName()) { - return $property; - } - } - - throw new Exception\RuntimeException(sprintf('Property %s does not exist.', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns class properties. - * - * @param integer $filter Properties filter - * @return array - */ - public function getProperties($filter = null) - { - if (null === $this->properties) { - $broker = $this->broker; - $this->properties = array_map(function(InternalReflectionProperty $property) use ($broker) { - return ReflectionProperty::create($property, $broker); - }, parent::getProperties()); - } - - if (null === $filter) { - return $this->properties; - } - - return array_filter($this->properties, function(ReflectionProperty $property) use ($filter) { - return (bool) ($property->getModifiers() & $filter); - }); - } - - /** - * Returns if the class has (and not its parents) the given property. - * - * @param string $name Property name - * @return boolean - */ - public function hasOwnProperty($name) - { - foreach ($this->getOwnProperties() as $property) { - if ($name === $property->getName()) { - return true; - } - } - - return false; - } - - /** - * Returns properties declared by this class, not its parents. - * - * @param integer $filter - * @return array - */ - public function getOwnProperties($filter = null) - { - $me = $this->getName(); - return array_filter($this->getProperties($filter), function(ReflectionProperty $property) use ($me) { - return $property->getDeclaringClass()->getName() === $me; - }); - } - - /** - * Returns if the class imports the given property from traits. - * - * @param string $name Property name - * @return boolean - * @todo Impossible with the current status of reflection - */ - public function hasTraitProperty($name) - { - return false; - } - - /** - * Returns property reflections imported from traits. - * - * @param integer $filter Properties filter - * @return array - * @todo Impossible with the current status of reflection - */ - public function getTraitProperties($filter = null) - { - return array(); - } - - /** - * Returns static properties reflections. - * - * @return array - */ - public function getStaticProperties() - { - return $this->getProperties(InternalReflectionProperty::IS_STATIC); - } - - /** - * Returns reflections of direct subclasses. - * - * @return array - */ - public function getDirectSubclasses() - { - $that = $this->name; - return array_filter($this->getBroker()->getClasses(Broker\Backend::INTERNAL_CLASSES | Broker\Backend::TOKENIZED_CLASSES), function(IReflectionClass $class) use ($that) { - if (!$class->isSubclassOf($that)) { - return false; - } - - return null === $class->getParentClassName() || !$class->getParentClass()->isSubClassOf($that); - }); - } - - /** - * Returns names of direct subclasses. - * - * @return array - */ - public function getDirectSubclassNames() - { - return array_keys($this->getDirectSubclasses()); - } - - /** - * Returns reflections of indirect subclasses. - * - * @return array - */ - public function getIndirectSubclasses() - { - $that = $this->name; - return array_filter($this->getBroker()->getClasses(Broker\Backend::INTERNAL_CLASSES | Broker\Backend::TOKENIZED_CLASSES), function(IReflectionClass $class) use ($that) { - if (!$class->isSubclassOf($that)) { - return false; - } - - return null !== $class->getParentClassName() && $class->getParentClass()->isSubClassOf($that); - }); - } - - /** - * Returns names of indirect subclasses. - * - * @return array - */ - public function getIndirectSubclassNames() - { - return array_keys($this->getIndirectSubclasses()); - } - - /** - * Returns reflections of classes directly implementing this interface. - * - * @return array - */ - public function getDirectImplementers() - { - if (!$this->isInterface()) { - return array(); - } - - $that = $this->name; - return array_filter($this->getBroker()->getClasses(Broker\Backend::INTERNAL_CLASSES | Broker\Backend::TOKENIZED_CLASSES), function(IReflectionClass $class) use ($that) { - if (!$class->implementsInterface($that)) { - return false; - } - - return null === $class->getParentClassName() || !$class->getParentClass()->implementsInterface($that); - }); - } - - /** - * Returns names of classes directly implementing this interface. - * - * @return array - */ - public function getDirectImplementerNames() - { - return array_keys($this->getDirectImplementers()); - } - - /** - * Returns reflections of classes indirectly implementing this interface. - * - * @return array - */ - public function getIndirectImplementers() - { - if (!$this->isInterface()) { - return array(); - } - - $that = $this->name; - return array_filter($this->getBroker()->getClasses(Broker\Backend::INTERNAL_CLASSES | Broker\Backend::TOKENIZED_CLASSES), function(IReflectionClass $class) use ($that) { - if (!$class->implementsInterface($that)) { - return false; - } - - return null !== $class->getParentClassName() && $class->getParentClass()->implementsInterface($that); - }); - } - - /** - * Returns names of classes indirectly implementing this interface. - * - * @return array - */ - public function getIndirectImplementerNames() - { - return array_keys($this->getIndirectImplementers()); - } - - /** - * Returns if the class definition is complete. - * - * Internal classes always have the definition complete. - * - * @return boolean - */ - public function isComplete() - { - return true; - } - - /** - * Returns if the class definition is valid. - * - * Internal classes are always valid. - * - * @return boolean - */ - public function isValid() - { - return true; - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return array(); - } - - /** - * Returns the reflection broker used by this reflection object. - * - * @return \TokenReflection\Broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Magic __get method. - * - * @param string $key Variable name - * @return mixed - */ - final public function __get($key) - { - return TokenReflection\ReflectionElement::get($this, $key); - } - - /** - * Magic __isset method. - * - * @param string $key Variable name - * @return boolean - */ - final public function __isset($key) - { - return TokenReflection\ReflectionElement::exists($this, $key); - } - - /** - * Returns traits used by this class. - * - * @return array - */ - public function getTraits() - { - return NATIVE_TRAITS ? parent::getTraits() : array(); - } - - /** - * Returns traits used by this class and not its parents. - * - * @return array - */ - public function getOwnTraits() - { - if (!NATIVE_TRAITS) { - return array(); - } - - $parent = $this->getParentClass(); - return $parent ? array_diff_key($this->getTraits(), $parent->getTraits()) : $this->getTraits(); - } - - /** - * Returns names of used traits. - * - * @return array - */ - public function getTraitNames() - { - return NATIVE_TRAITS ? parent::getTraitNames() : array(); - } - - /** - * Returns traits used by this class and not its parents. - * - * @return array - */ - public function getOwnTraitNames() - { - return array_keys($this->getOwnTraits()); - } - - /** - * Returns method aliases from traits. - * - * @return array - */ - public function getTraitAliases() - { - return NATIVE_TRAITS ? parent::getTraitAliases() : array(); - } - - /** - * Returns if the class is a trait. - * - * @return boolean - */ - public function isTrait() - { - return NATIVE_TRAITS && parent::isTrait(); - } - - /** - * Returns if the class uses a particular trait. - * - * @param \ReflectionClass|\TokenReflection\IReflectionClass|string $trait Trait reflection or name - * @return boolean - * @throws \TokenReflection\Exception\RuntimeException If an invalid parameter was provided. - */ - public function usesTrait($trait) - { - if (is_object($trait)) { - if (!$trait instanceof InternalReflectionClass && !$trait instanceof TokenReflection\IReflectionClass) { - throw new Exception\RuntimeException('Parameter must be a string or an instance of trait reflection.', Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - $traitName = $trait->getName(); - - if (!$trait->isTrait()) { - throw new Exception\RuntimeException(sprintf('"%s" is not a trait.', $traitName), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - } else { - $reflection = $this->getBroker()->getClass($trait); - if (!$reflection->isTrait()) { - throw new Exception\RuntimeException(sprintf('"%s" is not a trait.', $trait), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - $traitName = $trait; - } - - return in_array($traitName, $this->getTraitNames()); - } - - /** - * Creates a new class instance without using a constructor. - * - * @return object - * @throws \TokenReflection\Exception\RuntimeException If the class inherits from an internal class. - */ - public function newInstanceWithoutConstructor() - { - if ($this->isInternal()) { - throw new Exception\RuntimeException('Could not create an instance; only user defined classes can be instantiated.', Exception\RuntimeException::UNSUPPORTED, $this); - } - - foreach ($this->getParentClasses() as $parent) { - if ($parent->isInternal()) { - throw new Exception\RuntimeException('Could not create an instance; only user defined classes can be instantiated.', Exception\RuntimeException::UNSUPPORTED, $this); - } - } - - if (PHP_VERSION_ID >= 50400) { - return parent::newInstanceWithoutConstructor(); - } - - return unserialize(sprintf('O:%d:"%s":0:{}', strlen($this->getName()), $this->getName())); - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return $this->getName(); - } - - /** - * Creates a reflection instance. - * - * @param \ReflectionClass $internalReflection Internal reflection instance - * @param \TokenReflection\Broker $broker Reflection broker instance - * @return \TokenReflection\Php\ReflectionClass - * @throws \TokenReflection\Exception\RuntimeException If an invalid internal reflection object was provided. - */ - public static function create(Reflector $internalReflection, Broker $broker) - { - if (!$internalReflection instanceof InternalReflectionClass) { - throw new Exception\RuntimeException('Invalid reflection instance provided, ReflectionClass expected.', Exception\RuntimeException::INVALID_ARGUMENT); - } - - return $broker->getClass($internalReflection->getName()); - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionConstant.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionConstant.php deleted file mode 100644 index 7e9df904..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionConstant.php +++ /dev/null @@ -1,486 +0,0 @@ -name = $name; - $this->value = $value; - $this->broker = $broker; - - if (null !== $parent) { - $realParent = null; - - if (array_key_exists($name, $parent->getOwnConstants())) { - $realParent = $parent; - } - - if (null === $realParent) { - foreach ($parent->getParentClasses() as $grandParent) { - if (array_key_exists($name, $grandParent->getOwnConstants())) { - $realParent = $grandParent; - break; - } - } - } - - if (null === $realParent) { - foreach ($parent->getInterfaces() as $interface) { - if (array_key_exists($name, $interface->getOwnConstants())) { - $realParent = $interface; - break; - } - } - } - - if (null === $realParent) { - throw new Exception\RuntimeException('Could not determine constant real parent class.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - $this->declaringClassName = $realParent->getName(); - $this->userDefined = $realParent->isUserDefined(); - } else { - if (!array_key_exists($name, get_defined_constants(false))) { - $this->userDefined = true; - } else { - $declared = get_defined_constants(true); - $this->userDefined = array_key_exists($name, $declared['user']); - } - } - } - - /** - * Returns the name. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Returns the unqualified name (UQN). - * - * @return string - */ - public function getShortName() - { - $name = $this->getName(); - if (null !== $this->namespaceName && $this->namespaceName !== ReflectionNamespace::NO_NAMESPACE_NAME) { - $name = substr($name, strlen($this->namespaceName) + 1); - } - - return $name; - } - - /** - * Returns the declaring class reflection. - * - * @return \TokenReflection\IReflectionClass|null - */ - public function getDeclaringClass() - { - if (null === $this->declaringClassName) { - return null; - } - - return $this->getBroker()->getClass($this->declaringClassName); - } - - /** - * Returns the declaring class name. - * - * @return string|null - */ - public function getDeclaringClassName() - { - return $this->declaringClassName; - } - - /** - * Returns the namespace name. - * - * @return string - */ - public function getNamespaceName() - { - return $this->namespaceName === TokenReflection\ReflectionNamespace::NO_NAMESPACE_NAME ? '' : $this->namespaceName; - } - - /** - * Returns if the function/method is defined within a namespace. - * - * @return boolean - */ - public function inNamespace() - { - return '' !== $this->getNamespaceName(); - } - - /** - * Returns the PHP extension reflection. - * - * @return null - */ - public function getExtension() - { - // @todo - return null; - } - - /** - * Returns the PHP extension name. - * - * @return boolean - */ - public function getExtensionName() - { - return false; - } - - /** - * Returns the file name the reflection object is defined in. - * - * @return null - */ - public function getFileName() - { - return null; - } - - /** - * Returns the definition start line number in the file. - * - * @return null - */ - public function getStartLine() - { - return null; - } - - /** - * Returns the definition end line number in the file. - * - * @return null - */ - public function getEndLine() - { - return null; - } - - /** - * Returns the appropriate docblock definition. - * - * @return boolean - */ - public function getDocComment() - { - return false; - } - - /** - * Checks if there is a particular annotation. - * - * @param string $name Annotation name - * @return boolean - */ - public function hasAnnotation($name) - { - return false; - } - - /** - * Returns a particular annotation value. - * - * @param string $name Annotation name - * @return null - */ - public function getAnnotation($name) - { - return null; - } - - /** - * Returns parsed docblock. - * - * @return array - */ - public function getAnnotations() - { - return array(); - } - - /** - * Returns the constant value. - * - * @return mixed - */ - public function getValue() - { - return $this->value; - } - - /** - * Returns the part of the source code defining the constant value. - * - * @return string - */ - public function getValueDefinition() - { - return var_export($this->value, true); - } - - /** - * Returns the originaly provided value definition. - * - * @return string - */ - public function getOriginalValueDefinition() - { - return token_get_all($this->getValueDefinition()); - } - - /** - * Returns if the constant is internal. - * - * @return boolean - */ - public function isInternal() - { - return !$this->userDefined; - } - - /** - * Returns if the constant is user defined. - * - * @return boolean - */ - public function isUserDefined() - { - return $this->userDefined; - } - - /** - * Returns if the current reflection comes from a tokenized source. - * - * @return boolean - */ - public function isTokenized() - { - return false; - } - - /** - * Returns if the reflection subject is deprecated. - * - * @return boolean - */ - public function isDeprecated() - { - return false; - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return null === $this->declaringClassName ? $this->name : sprintf('%s::%s', $this->declaringClassName, $this->name); - } - - /** - * Returns the string representation of the reflection object. - * - * @return string - */ - public function __toString() - { - return sprintf( - "Constant [ %s %s ] { %s }\n", - gettype($this->getValue()), - $this->getName(), - $this->getValue() - ); - } - - /** - * Exports a reflected object. - * - * @param \TokenReflection\Broker $broker Broker instance - * @param string|object|null $class Class name, class instance or null - * @param string $constant Constant name - * @param boolean $return Return the export instead of outputting it - * @return string|null - * @throws \TokenReflection\Exception\RuntimeException If requested parameter doesn't exist. - */ - public static function export(Broker $broker, $class, $constant, $return = false) - { - $className = is_object($class) ? get_class($class) : $class; - $constantName = $constant; - - if (null === $className) { - try { - $constant = $broker->getConstant($constantName); - } catch (Exception\BrokerException $e) { - throw new Exception\RuntimeException(sprintf('Constant %s does not exist.', $constantName), Exception\RuntimeException::DOES_NOT_EXIST); - } - } else { - $class = $broker->getClass($className); - if ($class instanceof Invalid\ReflectionClass) { - throw new Exception\RuntimeException('Class is invalid.', Exception\RuntimeException::UNSUPPORTED); - } elseif ($class instanceof Dummy\ReflectionClass) { - throw new Exception\RuntimeException(sprintf('Class %s does not exist.', $className), Exception\RuntimeException::DOES_NOT_EXIST); - } - $constant = $class->getConstantReflection($constantName); - } - - if ($return) { - return $constant->__toString(); - } - - echo $constant->__toString(); - } - - /** - * Returns the reflection broker used by this reflection object. - * - * @return \TokenReflection\Broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return array(); - } - - /** - * Returns if the constant definition is valid. - * - * Internal constants are always valid. - * - * @return boolean - */ - public function isValid() - { - return true; - } - - /** - * Magic __get method. - * - * @param string $key Variable name - * @return mixed - */ - final public function __get($key) - { - return TokenReflection\ReflectionElement::get($this, $key); - } - - /** - * Magic __isset method. - * - * @param string $key Variable name - * @return boolean - */ - final public function __isset($key) - { - return TokenReflection\ReflectionElement::exists($this, $key); - } - - /** - * Creates a reflection instance. - * - * Not supported for constants since there is no internal constant reflection. - * - * @param \ReflectionClass $internalReflection Internal reflection instance - * @param \TokenReflection\Broker $broker Reflection broker instance - * @return null - */ - public static function create(Reflector $internalReflection, Broker $broker) - { - return null; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionExtension.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionExtension.php deleted file mode 100644 index 05761574..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionExtension.php +++ /dev/null @@ -1,282 +0,0 @@ -broker = $broker; - } - - /** - * Returns if the constant is internal. - * - * @return boolean - */ - public function isInternal() - { - return true; - } - - /** - * Returns if the constant is user defined. - * - * @return boolean - */ - public function isUserDefined() - { - return false; - } - - /** - * Returns if the current reflection comes from a tokenized source. - * - * @return boolean - */ - public function isTokenized() - { - return false; - } - - /** - * Returns if the reflection subject is deprecated. - * - * @return boolean - */ - public function isDeprecated() - { - return false; - } - - /** - * Returns a class reflection. - * - * @param string $name Class name - * @return \TokenReflection\IReflectionClass|null - */ - public function getClass($name) - { - $classes = $this->getClasses(); - return isset($classes[$name]) ? $classes[$name] : null; - } - - /** - * Returns classes defined by this extension. - * - * @return array - */ - public function getClasses() - { - if (null === $this->classes) { - $broker = $this->broker; - $this->classes = array_map(function($className) use ($broker) { - return $broker->getClass($className); - }, $this->getClassNames()); - } - - return $this->classes; - } - - /** - * Returns a constant value. - * - * @param string $name Constant name - * @return mixed|false - */ - public function getConstant($name) - { - $constants = $this->getConstants(); - return isset($constants[$name]) ? $constants[$name] : false; - } - - /** - * Returns a constant reflection. - * - * @param string $name Constant name - * @return \TokenReflection\IReflectionConstant - */ - public function getConstantReflection($name) - { - $constants = $this->getConstantReflections(); - return isset($constants[$name]) ? $constants[$name] : null; - } - - /** - * Returns reflections of defined constants. - * - * @return array - */ - public function getConstantReflections() - { - if (null === $this->constants) { - $broker = $this->broker; - $this->constants = array_map(function($constantName) use ($broker) { - return $broker->getConstant($constantName); - }, array_keys($this->getConstants())); - } - - return $this->constants; - } - - /** - * Returns a function reflection. - * - * @param string $name Function name - * @return \TokenReflection\IReflectionFunction - */ - public function getFunction($name) - { - $functions = $this->getFunctions(); - return isset($functions[$name]) ? $functions[$name] : null; - } - - /** - * Returns functions defined by this extension. - * - * @return array - */ - public function getFunctions() - { - if (null === $this->functions) { - $broker = $this->broker; - $this->classes = array_map(function($functionName) use ($broker) { - return $broker->getFunction($functionName); - }, array_keys(parent::getFunctions())); - } - - return $this->functions; - } - - /** - * Returns names of functions defined by this extension. - * - * @return array - */ - public function getFunctionNames() - { - return array_keys($this->getFunctions()); - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return $this->getName(); - } - - /** - * Returns the reflection broker used by this reflection object. - * - * @return \TokenReflection\Broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Magic __get method. - * - * @param string $key Variable name - * @return mixed - */ - final public function __get($key) - { - return TokenReflection\ReflectionElement::get($this, $key); - } - - /** - * Magic __isset method. - * - * @param string $key Variable name - * @return boolean - */ - final public function __isset($key) - { - return TokenReflection\ReflectionElement::exists($this, $key); - } - - /** - * Creates a reflection instance. - * - * @param \ReflectionClass $internalReflection Internal reflection instance - * @param \TokenReflection\Broker $broker Reflection broker instance - * @return \TokenReflection\Php\ReflectionExtension - * @throws \TokenReflection\Exception\RuntimeException If an invalid internal reflection object was provided. - */ - public static function create(Reflector $internalReflection, Broker $broker) - { - static $cache = array(); - - if (!$internalReflection instanceof InternalReflectionExtension) { - throw new Exception\RuntimeException('Invalid reflection instance provided, ReflectionExtension expected.', Exception\RuntimeException::INVALID_ARGUMENT); - } - - if (!isset($cache[$internalReflection->getName()])) { - $cache[$internalReflection->getName()] = new self($internalReflection->getName(), $broker); - } - - return $cache[$internalReflection->getName()]; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionFunction.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionFunction.php deleted file mode 100644 index d4791e58..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionFunction.php +++ /dev/null @@ -1,271 +0,0 @@ -broker = $broker; - } - - /** - * Returns the PHP extension reflection. - * - * @return \TokenReflection\IReflectionExtension - */ - public function getExtension() - { - return ReflectionExtension::create(parent::getExtension(), $this->broker); - } - - /** - * Checks if there is a particular annotation. - * - * @param string $name Annotation name - * @return boolean - */ - public function hasAnnotation($name) - { - return false; - } - - /** - * Returns a particular annotation value. - * - * @param string $name Annotation name - * @return null - */ - public function getAnnotation($name) - { - return null; - } - - /** - * Returns parsed docblock. - * - * @return array - */ - public function getAnnotations() - { - return array(); - } - - /** - * Returns if the current reflection comes from a tokenized source. - * - * @return boolean - */ - public function isTokenized() - { - return false; - } - - /** - * Returns a particular parameter. - * - * @param integer|string $parameter Parameter name or position - * @return \TokenReflection\Php\ReflectionParameter - * @throws \TokenReflection\Exception\RuntimeException If there is no parameter of the given name. - * @throws \TokenReflection\Exception\RuntimeException If there is no parameter at the given position. - */ - public function getParameter($parameter) - { - $parameters = $this->getParameters(); - - if (is_numeric($parameter)) { - if (!isset($parameters[$parameter])) { - throw new Exception\RuntimeException(sprintf('There is no parameter at position "%d".', $parameter), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - return $parameters[$parameter]; - } else { - foreach ($parameters as $reflection) { - if ($reflection->getName() === $parameter) { - return $reflection; - } - } - - throw new Exception\RuntimeException(sprintf('There is no parameter "%s".', $parameter), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - } - - /** - * Returns function parameters. - * - * @return array - */ - public function getParameters() - { - if (null === $this->parameters) { - $broker = $this->broker; - $parent = $this; - $this->parameters = array_map(function(InternalReflectionParameter $parameter) use ($broker, $parent) { - return ReflectionParameter::create($parameter, $broker, $parent); - }, parent::getParameters()); - } - - return $this->parameters; - } - - /** - * Returns the reflection broker used by this reflection object. - * - * @return \TokenReflection\Broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return array(); - } - - /** - * Magic __get method. - * - * @param string $key Variable name - * @return mixed - */ - final public function __get($key) - { - return TokenReflection\ReflectionElement::get($this, $key); - } - - /** - * Magic __isset method. - * - * @param string $key Variable name - * @return boolean - */ - final public function __isset($key) - { - return TokenReflection\ReflectionElement::exists($this, $key); - } - - /** - * Returns the function/method as closure. - * - * @return \Closure - */ - public function getClosure() - { - if (PHP_VERSION_ID >= 50400) { - return parent::getClosure(); - } else { - $that = $this; - return function() use ($that) { - return $that->invokeArgs(func_get_args()); - }; - } - } - - /** - * Returns the closure scope class. - * - * @return string|null - */ - public function getClosureScopeClass() - { - return PHP_VERSION_ID >= 50400 ? parent::getClosureScopeClass() : null; - } - - /** - * Returns this pointer bound to closure. - * - * @return null - */ - public function getClosureThis() - { - return PHP_VERSION_ID >= 50400 ? parent::getClosureThis() : null; - } - - /** - * Returns if the function definition is valid. - * - * Internal functions are always valid. - * - * @return boolean - */ - public function isValid() - { - return true; - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return $this->getName() . '()'; - } - - /** - * Creates a reflection instance. - * - * @param \ReflectionClass $internalReflection Internal reflection instance - * @param \TokenReflection\Broker $broker Reflection broker instance - * @return \TokenReflection\Php\ReflectionFunction - * @throws \TokenReflection\Exception\RuntimeException If an invalid internal reflection object was provided. - */ - public static function create(Reflector $internalReflection, Broker $broker) - { - if (!$internalReflection instanceof InternalReflectionFunction) { - throw new Exception\RuntimeException('Invalid reflection instance provided, ReflectionFunction expected.', Exception\RuntimeException::INVALID_ARGUMENT); - } - - return $broker->getFunction($internalReflection->getName()); - } -} \ No newline at end of file diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionMethod.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionMethod.php deleted file mode 100644 index 57066294..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionMethod.php +++ /dev/null @@ -1,385 +0,0 @@ -broker = $broker; - } - - /** - * Returns the declaring class reflection. - * - * @return \TokenReflection\IReflectionClass - */ - public function getDeclaringClass() - { - return ReflectionClass::create(parent::getDeclaringClass(), $this->broker); - } - - /** - * Returns the declaring class name. - * - * @return string - */ - public function getDeclaringClassName() - { - return $this->getDeclaringClass()->getName(); - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return $this->getDeclaringClass()->getNamespaceAliases(); - } - - /** - * Checks if there is a particular annotation. - * - * @param string $name Annotation name - * @return boolean - */ - public function hasAnnotation($name) - { - return false; - } - - /** - * Returns a particular annotation value. - * - * @param string $name Annotation name - * @return null - */ - public function getAnnotation($name) - { - return null; - } - - /** - * Returns parsed docblock. - * - * @return array - */ - public function getAnnotations() - { - return array(); - } - - /** - * Returns if the current reflection comes from a tokenized source. - * - * @return boolean - */ - public function isTokenized() - { - return false; - } - - /** - * Returns the method prototype. - * - * @return \TokenReflection\Php\ReflectionMethod - */ - public function getPrototype() - { - return self::create(parent::getPrototype(), $this->broker); - } - - /** - * Returns a particular parameter. - * - * @param integer|string $parameter Parameter name or position - * @return \TokenReflection\Php\ReflectionParameter - * @throws \TokenReflection\Exception\RuntimeException If there is no parameter of the given name. - * @throws \TokenReflection\Exception\RuntimeException If there is no parameter at the given position. - */ - public function getParameter($parameter) - { - $parameters = $this->getParameters(); - - if (is_numeric($parameter)) { - if (!isset($parameters[$parameter])) { - throw new Exception\RuntimeException(sprintf('There is no parameter at position "%d".', $parameter), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - return $parameters[$parameter]; - } else { - foreach ($parameters as $reflection) { - if ($reflection->getName() === $parameter) { - return $reflection; - } - } - - throw new Exception\RuntimeException(sprintf('There is no parameter "%s".', $parameter), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - } - - /** - * Returns function parameters. - * - * @return array - */ - public function getParameters() - { - if (null === $this->parameters) { - $broker = $this->broker; - $parent = $this; - $this->parameters = array_map(function(InternalReflectionParameter $parameter) use ($broker, $parent) { - return ReflectionParameter::create($parameter, $broker, $parent); - }, parent::getParameters()); - } - - return $this->parameters; - } - - /** - * Returns if the method is set accessible. - * - * @return boolean - */ - public function isAccessible() - { - return $this->accessible; - } - - /** - * Sets a method to be accessible or not. - * - * Introduced in PHP 5.3.2. Throws an exception if run on an older version. - * - * @param boolean $accessible - * @throws \TokenReflection\Exception\RuntimeException If run on PHP version < 5.3.2. - */ - public function setAccessible($accessible) - { - if (PHP_VERSION_ID < 50302) { - throw new Exception\RuntimeException(sprintf('Method setAccessible was introduced the internal reflection in PHP 5.3.2, you are using %s.', PHP_VERSION), Exception\RuntimeException::UNSUPPORTED, $this); - } - - $this->accessible = $accessible; - - parent::setAccessible($accessible); - } - - /** - * Shortcut for isPublic(), ... methods that allows or-ed modifiers. - * - * @param integer $filter Filter - * @return boolean - */ - public function is($filter = null) - { - return null === $filter || ($this->getModifiers() & $filter); - } - - /** - * Returns the reflection broker used by this reflection object. - * - * @return \TokenReflection\Broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Magic __get method. - * - * @param string $key Variable name - * @return mixed - */ - final public function __get($key) - { - return TokenReflection\ReflectionElement::get($this, $key); - } - - /** - * Magic __isset method. - * - * @param string $key Variable name - * @return boolean - */ - final public function __isset($key) - { - return TokenReflection\ReflectionElement::exists($this, $key); - } - - /** - * Returns the function/method as closure. - * - * @param object $object Object - * @return \Closure - */ - public function getClosure($object) - { - if (PHP_VERSION_ID >= 50400) { - return parent::getClosure(); - } else { - $that = $this; - return function() use ($object, $that) { - return $that->invokeArgs($object, func_get_args()); - }; - } - } - - /** - * Returns the closure scope class. - * - * @return string|null - */ - public function getClosureScopeClass() - { - return PHP_VERSION_ID >= 50400 ? parent::getClosureScopeClass() : null; - } - - /** - * Returns this pointer bound to closure. - * - * @return null - */ - public function getClosureThis() - { - return PHP_VERSION_ID >= 50400 ? parent::getClosureThis() : null; - } - - /** - * Returns the original name when importing from a trait. - * - * @return string - */ - public function getOriginalName() - { - return null; - } - - /** - * Returns the original method when importing from a trait. - * - * @return null - */ - public function getOriginal() - { - return null; - } - - /** - * Returns the original modifiers value when importing from a trait. - * - * @return null - */ - public function getOriginalModifiers() - { - return null; - } - - /** - * Returns the defining trait. - * - * @return \TokenReflection\IReflectionClass|null - */ - public function getDeclaringTrait() - { - return null; - } - - /** - * Returns the declaring trait name. - * - * @return string|null - */ - public function getDeclaringTraitName() - { - return null; - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return sprintf('%s::%s()', $this->getDeclaringClassName(), $this->getName()); - } - - /** - * Creates a reflection instance. - * - * @param \ReflectionClass $internalReflection Internal reflection instance - * @param \TokenReflection\Broker $broker Reflection broker instance - * @return \TokenReflection\Php\IReflection - * @throws \TokenReflection\Exception\RuntimeException If an invalid internal reflection object was provided. - */ - public static function create(Reflector $internalReflection, Broker $broker) - { - static $cache = array(); - - if (!$internalReflection instanceof InternalReflectionMethod) { - throw new Exception\RuntimeException('Invalid reflection instance provided, ReflectionMethod expected.', Exception\RuntimeException::INVALID_ARGUMENT); - } - - $key = $internalReflection->getDeclaringClass()->getName() . '::' . $internalReflection->getName(); - if (!isset($cache[$key])) { - $cache[$key] = new self($internalReflection->getDeclaringClass()->getName(), $internalReflection->getName(), $broker); - } - - return $cache[$key]; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionParameter.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionParameter.php deleted file mode 100644 index 46ee9173..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionParameter.php +++ /dev/null @@ -1,392 +0,0 @@ -broker = $broker; - $this->userDefined = $parent->isUserDefined(); - } - - /** - * Returns the declaring class reflection. - * - * @return \TokenReflection\IReflectionClass - */ - public function getDeclaringClass() - { - $class = parent::getDeclaringClass(); - return $class ? ReflectionClass::create($class, $this->broker) : null; - } - - /** - * Returns the declaring class name. - * - * @return string|null - */ - public function getDeclaringClassName() - { - $class = parent::getDeclaringClass(); - return $class ? $class->getName() : null; - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return $this->getDeclaringFunction()->getNamespaceAliases(); - } - - /** - * Returns the file name the reflection object is defined in. - * - * @return string - */ - public function getFileName() - { - return $this->getDeclaringFunction()->getFileName(); - } - - /** - * Returns the PHP extension reflection. - * - * @return \TokenReflection\Php\ReflectionExtension - */ - public function getExtension() - { - return $this->getDeclaringFunction()->getExtension(); - } - - /** - * Returns the PHP extension name. - * - * @return string|boolean - */ - public function getExtensionName() - { - $extension = $this->getExtension(); - return $extension ? $extension->getName() : false; - } - - /** - * Checks if there is a particular annotation. - * - * @param string $name Annotation name - * @return boolean - */ - public function hasAnnotation($name) - { - return false; - } - - /** - * Returns a particular annotation value. - * - * @param string $name Annotation name - * @return null - */ - public function getAnnotation($name) - { - return null; - } - - /** - * Returns parsed docblock. - * - * @return array - */ - public function getAnnotations() - { - return array(); - } - - /** - * Returns the declaring function reflection. - * - * @return \TokenReflection\Php\ReflectionFunction|\TokenReflection\Php\ReflectionMethod - */ - public function getDeclaringFunction() - { - $class = $this->getDeclaringClass(); - $function = parent::getDeclaringFunction(); - - return $class ? $class->getMethod($function->getName()) : ReflectionFunction::create($function, $this->broker); - } - - /** - * Returns the declaring function name. - * - * @return string|null - */ - public function getDeclaringFunctionName() - { - $function = parent::getDeclaringFunction(); - return $function ? $function->getName() : $function; - } - - /** - * Returns the definition start line number in the file. - * - * @return null - */ - public function getStartLine() - { - return null; - } - - /** - * Returns the definition end line number in the file. - * - * @return null - */ - public function getEndLine() - { - return null; - } - - /** - * Returns the appropriate docblock definition. - * - * @return boolean - */ - public function getDocComment() - { - return false; - } - - /** - * Returns the part of the source code defining the paramter default value. - * - * @return string|null - */ - public function getDefaultValueDefinition() - { - $value = $this->getDefaultValue(); - return null === $value ? null : var_export($value, true); - } - - /** - * Returns if the default value is defined by a constant. - * - * @return boolean - */ - public function isDefaultValueConstant() - { - return PHP_VERSION_ID >= 50406 && parent::isDefaultValueAvailable(); - } - - /** - * Returns the name of the default value constant. - * - * @return string|null - */ - public function getDefaultValueConstantName() - { - if (!$this->isOptional()) { - throw new Exception\RuntimeException('Property is not optional.', Exception\RuntimeException::UNSUPPORTED, $this); - } - - return $this->isDefaultValueConstant() ? parent::getDefaultValueConstantName : null; - } - - /** - * Returns if the parameter expects a callback. - * - * @return boolean - */ - public function isCallable() - { - return PHP_VERSION_ID >= 50400 && parent::isCallable(); - } - - /** - * Returns the original type hint as defined in the source code. - * - * @return string|null - */ - public function getOriginalTypeHint() - { - return !$this->isArray() && !$this->isCallable() ? $this->getClass() : null; - } - - /** - * Returns the required class name of the value. - * - * @return string|null - */ - public function getClassName() - { - return $this->getClass() ? $this->getClass()->getName() : null; - } - - /** - * Returns if the parameter is internal. - * - * @return boolean - */ - public function isInternal() - { - return !$this->userDefined; - } - - /** - * Returns if the parameter is user defined. - * - * @return boolean - */ - public function isUserDefined() - { - return $this->userDefined; - } - - /** - * Returns if the current reflection comes from a tokenized source. - * - * @return boolean - */ - public function isTokenized() - { - return false; - } - - /** - * Returns if the reflection subject is deprecated. - * - * @return boolean - */ - public function isDeprecated() - { - return false; - } - - /** - * Returns the reflection broker used by this reflection object. - * - * @return \TokenReflection\Broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Returns if the paramter value can be passed by value. - * - * @return boolean - */ - public function canBePassedByValue() - { - return method_exists($this, 'canBePassedByValue') ? parent::canBePassedByValue() : !$this->isPassedByReference(); - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return str_replace('()', '($' . $this->getName() . ')', $this->getDeclaringFunction()->getPrettyName()); - } - - /** - * Magic __get method. - * - * @param string $key Variable name - * @return mixed - */ - final public function __get($key) - { - return TokenReflection\ReflectionElement::get($this, $key); - } - - /** - * Magic __isset method. - * - * @param string $key Variable name - * @return boolean - */ - final public function __isset($key) - { - return TokenReflection\ReflectionElement::exists($this, $key); - } - - /** - * Creates a reflection instance. - * - * @param \ReflectionClass $internalReflection Internal reflection instance - * @param \TokenReflection\Broker $broker Reflection broker instance - * @return \TokenReflection\Php\ReflectionParameter - * @throws \TokenReflection\Exception\RuntimeException If an invalid internal reflection object was provided. - */ - public static function create(Reflector $internalReflection, Broker $broker) - { - static $cache = array(); - - if (!$internalReflection instanceof InternalReflectionParameter) { - throw new Exception\RuntimeException('Invalid reflection instance provided, ReflectionParameter expected.', Exception\RuntimeException::INVALID_ARGUMENT); - } - - $class = $internalReflection->getDeclaringClass(); - $function = $internalReflection->getDeclaringFunction(); - - $key = $class ? $class->getName() . '::' : ''; - $key .= $function->getName() . '(' . $internalReflection->getName() . ')'; - - if (!isset($cache[$key])) { - $cache[$key] = new self($class ? array($class->getName(), $function->getName()) : $function->getName(), $internalReflection->getName(), $broker, $function); - } - - return $cache[$key]; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionProperty.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionProperty.php deleted file mode 100644 index 5057b833..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Php/ReflectionProperty.php +++ /dev/null @@ -1,348 +0,0 @@ -broker = $broker; - } - - /** - * Returns the declaring class reflection. - * - * @return \TokenReflection\IReflectionClass - */ - public function getDeclaringClass() - { - return ReflectionClass::create(parent::getDeclaringClass(), $this->broker); - } - - /** - * Returns the declaring class name. - * - * @return string - */ - public function getDeclaringClassName() - { - return $this->getDeclaringClass()->getName(); - } - - /** - * Returns the definition start line number in the file. - * - * @return null - */ - public function getStartLine() - { - return null; - } - - /** - * Returns the definition end line number in the file. - * - * @return null - */ - public function getEndLine() - { - return null; - } - - /** - * Returns the appropriate docblock definition. - * - * @return boolean - */ - public function getDocComment() - { - return false; - } - - /** - * Checks if there is a particular annotation. - * - * @param string $name Annotation name - * @return boolean - */ - public function hasAnnotation($name) - { - return false; - } - - /** - * Returns a particular annotation value. - * - * @param string $name Annotation name - * @return null - */ - public function getAnnotation($name) - { - return null; - } - - /** - * Returns parsed docblock. - * - * @return array - */ - public function getAnnotations() - { - return array(); - } - - /** - * Returns the property default value. - * - * @return mixed - */ - public function getDefaultValue() - { - $values = $this->getDeclaringClass()->getDefaultProperties(); - return $values[$this->getName()]; - } - - /** - * Returns the part of the source code defining the property default value. - * - * @return string - */ - public function getDefaultValueDefinition() - { - $value = $this->getDefaultValue(); - return null === $value ? null : var_export($value, true); - } - - /** - * Returns if the property is internal. - * - * @return boolean - */ - public function isInternal() - { - return $this->getDeclaringClass()->isInternal(); - } - - /** - * Returns if the property is user defined. - * - * @return boolean - */ - public function isUserDefined() - { - return $this->getDeclaringClass()->isUserDefined(); - } - - /** - * Returns if the current reflection comes from a tokenized source. - * - * @return boolean - */ - public function isTokenized() - { - return false; - } - - /** - * Returns if the reflection subject is deprecated. - * - * @return boolean - */ - public function isDeprecated() - { - return false; - } - - /** - * Returns the reflection broker used by this reflection object. - * - * @return \TokenReflection\Broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return array(); - } - - /** - * Returns the defining trait. - * - * @return \TokenReflection\IReflectionClass|null - */ - public function getDeclaringTrait() - { - return null; - } - - /** - * Returns the declaring trait name. - * - * @return string|null - */ - public function getDeclaringTraitName() - { - return null; - } - - /** - * Returns if the property is set accessible. - * - * @return boolean - */ - public function isAccessible() - { - return $this->accessible; - } - - /** - * Sets a property to be accessible or not. - * - * @param boolean $accessible If the property should be accessible. - */ - public function setAccessible($accessible) - { - $this->accessible = (bool) $accessible; - - parent::setAccessible($accessible); - } - - /** - * Returns the PHP extension reflection. - * - * @return \TokenReflection\Php\ReflectionExtension - */ - public function getExtension() - { - return $this->getDeclaringClass()->getExtension(); - } - - /** - * Returns the PHP extension name. - * - * @return string|boolean - */ - public function getExtensionName() - { - $extension = $this->getExtension(); - return $extension ? $extension->getName() : false; - } - - /** - * Returns the file name the reflection object is defined in. - * - * @return string - */ - public function getFileName() - { - return $this->getDeclaringClass()->getFileName(); - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return sprintf('%s::$%s', $this->getDeclaringClassName(), $this->getName()); - } - - /** - * Magic __get method. - * - * @param string $key Variable name - * @return mixed - */ - final public function __get($key) - { - return TokenReflection\ReflectionElement::get($this, $key); - } - - /** - * Magic __isset method. - * - * @param string $key Variable name - * @return boolean - */ - final public function __isset($key) - { - return TokenReflection\ReflectionElement::exists($this, $key); - } - - /** - * Creates a reflection instance. - * - * @param \ReflectionClass $internalReflection Internal reflection instance - * @param \TokenReflection\Broker $broker Reflection broker instance - * @return \TokenReflection\Php\ReflectionProperty - * @throws \TokenReflection\Exception\RuntimeException If an invalid internal reflection object was provided. - */ - public static function create(Reflector $internalReflection, Broker $broker) - { - static $cache = array(); - - if (!$internalReflection instanceof InternalReflectionProperty) { - throw new Exception\RuntimeException('Invalid reflection instance provided, ReflectionProperty expected.', Exception\RuntimeException::INVALID_ARGUMENT); - } - - $key = $internalReflection->getDeclaringClass()->getName() . '::' . $internalReflection->getName(); - if (!isset($cache[$key])) { - $cache[$key] = new self($internalReflection->getDeclaringClass()->getName(), $internalReflection->getName(), $broker); - } - - return $cache[$key]; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionAnnotation.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionAnnotation.php deleted file mode 100644 index 9af3ab57..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionAnnotation.php +++ /dev/null @@ -1,484 +0,0 @@ -reflection = $reflection; - $this->docComment = $docComment ?: false; - } - - /** - * Returns the docblock. - * - * @return string|boolean - */ - public function getDocComment() - { - return $this->docComment; - } - - /** - * Returns if the current docblock contains the requrested annotation. - * - * @param string $annotation Annotation name - * @return boolean - */ - public function hasAnnotation($annotation) - { - if (null === $this->annotations) { - $this->parse(); - } - - return isset($this->annotations[$annotation]); - } - - /** - * Returns a particular annotation value. - * - * @param string $annotation Annotation name - * @return string|array|null - */ - public function getAnnotation($annotation) - { - if (null === $this->annotations) { - $this->parse(); - } - - return isset($this->annotations[$annotation]) ? $this->annotations[$annotation] : null; - } - - /** - * Returns all parsed annotations. - * - * @return array - */ - public function getAnnotations() - { - if (null === $this->annotations) { - $this->parse(); - } - - return $this->annotations; - } - - /** - * Sets Docblock templates. - * - * @param array $templates Docblock templates - * @return \TokenReflection\ReflectionAnnotation - * @throws \TokenReflection\Exception\RuntimeException If an invalid annotation template was provided. - */ - public function setTemplates(array $templates) - { - foreach ($templates as $template) { - if (!$template instanceof ReflectionAnnotation) { - throw new Exception\RuntimeException( - sprintf( - 'All templates have to be instances of \\TokenReflection\\ReflectionAnnotation; %s given.', - is_object($template) ? get_class($template) : gettype($template) - ), - Exception\RuntimeException::INVALID_ARGUMENT, - $this->reflection - ); - } - } - - $this->templates = $templates; - - return $this; - } - - /** - * Parses reflection object documentation. - */ - private function parse() - { - $this->annotations = array(); - - if (false !== $this->docComment) { - // Parse docblock - $name = self::SHORT_DESCRIPTION; - $docblock = trim( - preg_replace( - array( - '~^' . preg_quote(ReflectionElement::DOCBLOCK_TEMPLATE_START, '~') . '~', - '~^' . preg_quote(ReflectionElement::DOCBLOCK_TEMPLATE_END, '~') . '$~', - '~^/\\*\\*~', - '~\\*/$~' - ), - '', - $this->docComment - ) - ); - foreach (explode("\n", $docblock) as $line) { - $line = preg_replace('~^\\*\\s?~', '', trim($line)); - - // End of short description - if ('' === $line && self::SHORT_DESCRIPTION === $name) { - $name = self::LONG_DESCRIPTION; - continue; - } - - // @annotation - if (preg_match('~^\\s*@([\\S]+)\\s*(.*)~', $line, $matches)) { - $name = $matches[1]; - $this->annotations[$name][] = $matches[2]; - continue; - } - - // Continuation - if (self::SHORT_DESCRIPTION === $name || self::LONG_DESCRIPTION === $name) { - if (!isset($this->annotations[$name])) { - $this->annotations[$name] = $line; - } else { - $this->annotations[$name] .= "\n" . $line; - } - } else { - $this->annotations[$name][count($this->annotations[$name]) - 1] .= "\n" . $line; - } - } - - array_walk_recursive($this->annotations, function(&$value) { - // {@*} is a placeholder for */ (phpDocumentor compatibility) - $value = str_replace('{@*}', '*/', $value); - $value = trim($value); - }); - } - - if ($this->reflection instanceof ReflectionElement) { - // Merge docblock templates - $this->mergeTemplates(); - - // Copy annotations if the @copydoc tag is present. - if (!empty($this->annotations['copydoc'])) { - $this->copyAnnotation(); - } - - // Process docblock inheritance for supported reflections - if ($this->reflection instanceof ReflectionClass || $this->reflection instanceof ReflectionMethod || $this->reflection instanceof ReflectionProperty) { - $this->inheritAnnotations(); - } - } - } - - /** - * Copies annotations if the @copydoc tag is present. - * - * @throws \TokenReflection\Exception\RuntimeException When stuck in an infinite loop when resolving the @copydoc tag. - */ - private function copyAnnotation() - { - self::$copydocStack[] = $this->reflection; - $broker = $this->reflection->getBroker(); - - $parentNames = $this->annotations['copydoc']; - unset($this->annotations['copydoc']); - - foreach ($parentNames as $parentName) { - try { - if ($this->reflection instanceof ReflectionClass) { - $parent = $broker->getClass($parentName); - if ($parent instanceof Dummy\ReflectionClass) { - // The class to copy from is not usable - return; - } - } elseif ($this->reflection instanceof ReflectionFunction) { - $parent = $broker->getFunction(rtrim($parentName, '()')); - } elseif ($this->reflection instanceof ReflectionConstant && null === $this->reflection->getDeclaringClassName()) { - $parent = $broker->getConstant($parentName); - } elseif ($this->reflection instanceof ReflectionMethod || $this->reflection instanceof ReflectionProperty || $this->reflection instanceof ReflectionConstant) { - if (false !== strpos($parentName, '::')) { - list($className, $parentName) = explode('::', $parentName, 2); - $class = $broker->getClass($className); - } else { - $class = $this->reflection->getDeclaringClass(); - } - - if ($class instanceof Dummy\ReflectionClass) { - // The source element class is not usable - return; - } - - if ($this->reflection instanceof ReflectionMethod) { - $parent = $class->getMethod(rtrim($parentName, '()')); - } elseif ($this->reflection instanceof ReflectionConstant) { - $parent = $class->getConstantReflection($parentName); - } else { - $parent = $class->getProperty(ltrim($parentName, '$')); - } - } - - if (!empty($parent)) { - // Don't get into an infinite recursion loop - if (in_array($parent, self::$copydocStack, true)) { - throw new Exception\RuntimeException('Infinite loop detected when copying annotations using the @copydoc tag.', Exception\RuntimeException::INVALID_ARGUMENT, $this->reflection); - } - - self::$copydocStack[] = $parent; - - // We can get into an infinite loop here (e.g. when two methods @copydoc from each other) - foreach ($parent->getAnnotations() as $name => $value) { - // Add annotations that are not already present - if (empty($this->annotations[$name])) { - $this->annotations[$name] = $value; - } - } - - array_pop(self::$copydocStack); - } - } catch (Exception\BaseException $e) { - // Ignoring links to non existent elements, ... - } - } - - array_pop(self::$copydocStack); - } - - /** - * Merges templates with the current docblock. - */ - private function mergeTemplates() - { - foreach ($this->templates as $index => $template) { - if (0 === $index && $template->getDocComment() === $this->docComment) { - continue; - } - - foreach ($template->getAnnotations() as $name => $value) { - if ($name === self::LONG_DESCRIPTION) { - // Long description - if (isset($this->annotations[self::LONG_DESCRIPTION])) { - $this->annotations[self::LONG_DESCRIPTION] = $value . "\n" . $this->annotations[self::LONG_DESCRIPTION]; - } else { - $this->annotations[self::LONG_DESCRIPTION] = $value; - } - } elseif ($name !== self::SHORT_DESCRIPTION) { - // Tags; short description is not inherited - if (isset($this->annotations[$name])) { - $this->annotations[$name] = array_merge($this->annotations[$name], $value); - } else { - $this->annotations[$name] = $value; - } - } - } - } - } - - /** - * Inherits annotations from parent classes/methods/properties if needed. - * - * @throws \TokenReflection\Exception\RuntimeException If unsupported reflection was used. - */ - private function inheritAnnotations() - { - if ($this->reflection instanceof ReflectionClass) { - $declaringClass = $this->reflection; - } elseif ($this->reflection instanceof ReflectionMethod || $this->reflection instanceof ReflectionProperty) { - $declaringClass = $this->reflection->getDeclaringClass(); - } - - $parents = array_filter(array_merge(array($declaringClass->getParentClass()), $declaringClass->getOwnInterfaces()), function($class) { - return $class instanceof ReflectionClass; - }); - - // In case of properties and methods, look for a property/method of the same name and return - // and array of such members. - $parentDefinitions = array(); - if ($this->reflection instanceof ReflectionProperty) { - $name = $this->reflection->getName(); - foreach ($parents as $parent) { - if ($parent->hasProperty($name)) { - $parentDefinitions[] = $parent->getProperty($name); - } - } - - $parents = $parentDefinitions; - } elseif ($this->reflection instanceof ReflectionMethod) { - $name = $this->reflection->getName(); - foreach ($parents as $parent) { - if ($parent->hasMethod($name)) { - $parentDefinitions[] = $parent->getMethod($name); - } - } - - $parents = $parentDefinitions; - } - - if (false === $this->docComment) { - // Inherit the entire docblock - foreach ($parents as $parent) { - $annotations = $parent->getAnnotations(); - if (!empty($annotations)) { - $this->annotations = $annotations; - break; - } - } - } else { - if (isset($this->annotations[self::LONG_DESCRIPTION]) && false !== stripos($this->annotations[self::LONG_DESCRIPTION], '{@inheritdoc}')) { - // Inherit long description - foreach ($parents as $parent) { - if ($parent->hasAnnotation(self::LONG_DESCRIPTION)) { - $this->annotations[self::LONG_DESCRIPTION] = str_ireplace( - '{@inheritdoc}', - $parent->getAnnotation(self::LONG_DESCRIPTION), - $this->annotations[self::LONG_DESCRIPTION] - ); - break; - } - } - - $this->annotations[self::LONG_DESCRIPTION] = str_ireplace('{@inheritdoc}', '', $this->annotations[self::LONG_DESCRIPTION]); - } - if (isset($this->annotations[self::SHORT_DESCRIPTION]) && false !== stripos($this->annotations[self::SHORT_DESCRIPTION], '{@inheritdoc}')) { - // Inherit short description - foreach ($parents as $parent) { - if ($parent->hasAnnotation(self::SHORT_DESCRIPTION)) { - $this->annotations[self::SHORT_DESCRIPTION] = str_ireplace( - '{@inheritdoc}', - $parent->getAnnotation(self::SHORT_DESCRIPTION), - $this->annotations[self::SHORT_DESCRIPTION] - ); - break; - } - } - - $this->annotations[self::SHORT_DESCRIPTION] = str_ireplace('{@inheritdoc}', '', $this->annotations[self::SHORT_DESCRIPTION]); - } - } - - // In case of properties check if we need and can inherit the data type - if ($this->reflection instanceof ReflectionProperty && empty($this->annotations['var'])) { - foreach ($parents as $parent) { - if ($parent->hasAnnotation('var')) { - $this->annotations['var'] = $parent->getAnnotation('var'); - break; - } - } - } - - if ($this->reflection instanceof ReflectionMethod) { - if (0 !== $this->reflection->getNumberOfParameters() && (empty($this->annotations['param']) || count($this->annotations['param']) < $this->reflection->getNumberOfParameters())) { - // In case of methods check if we need and can inherit parameter descriptions - $params = isset($this->annotations['param']) ? $this->annotations['param'] : array(); - $complete = false; - foreach ($parents as $parent) { - if ($parent->hasAnnotation('param')) { - $parentParams = array_slice($parent->getAnnotation('param'), count($params)); - - while (!empty($parentParams) && !$complete) { - array_push($params, array_shift($parentParams)); - - if (count($params) === $this->reflection->getNumberOfParameters()) { - $complete = true; - } - } - } - - if ($complete) { - break; - } - } - - if (!empty($params)) { - $this->annotations['param'] = $params; - } - } - - // And check if we need and can inherit the return and throws value - foreach (array('return', 'throws') as $paramName) { - if (!isset($this->annotations[$paramName])) { - foreach ($parents as $parent) { - if ($parent->hasAnnotation($paramName)) { - $this->annotations[$paramName] = $parent->getAnnotation($paramName); - break; - } - } - } - } - } - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionBase.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionBase.php deleted file mode 100644 index a6cfa548..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionBase.php +++ /dev/null @@ -1,273 +0,0 @@ -broker = $broker; - - $this->parseStream($tokenStream, $parent); - } - - /** - * Parses the token substream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - */ - abstract protected function parseStream(Stream $tokenStream, IReflection $parent = null); - - /** - * Returns the name (FQN). - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Returns the appropriate docblock definition. - * - * @return string|boolean - */ - public function getDocComment() - { - return $this->docComment->getDocComment(); - } - - /** - * Checks if there is a particular annotation. - * - * @param string $name Annotation name - * @return boolean - */ - final public function hasAnnotation($name) - { - return $this->docComment->hasAnnotation($name); - } - - /** - * Returns a particular annotation value. - * - * @param string $name Annotation name - * @return string|array|null - */ - final public function getAnnotation($name) - { - return $this->docComment->getAnnotation($name); - } - - /** - * Returns all annotations. - * - * @return array - */ - final public function getAnnotations() - { - return $this->docComment->getAnnotations(); - } - - /** - * Returns the reflection broker used by this reflection object. - * - * @return \TokenReflection\Broker - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Returns if the reflection object is internal. - * - * Always returns false - everything is user defined. - * - * @return boolean - */ - public function isInternal() - { - return false; - } - - /** - * Returns if the reflection object is user defined. - * - * Always returns true - everything is user defined. - * - * @return boolean - */ - public function isUserDefined() - { - return true; - } - - /** - * Returns if the current reflection comes from a tokenized source. - * - * @return boolean - */ - public function isTokenized() - { - return true; - } - - /** - * Returns if the reflection subject is deprecated. - * - * @return boolean - */ - public function isDeprecated() - { - return $this->hasAnnotation('deprecated'); - } - - /** - * Returns the appropriate source code part. - * - * @return string - */ - abstract public function getSource(); - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return $this->name; - } - - /** - * Magic __get method. - * - * @param string $key Variable name - * @return mixed - */ - final public function __get($key) - { - return self::get($this, $key); - } - - /** - * Magic __isset method. - * - * @param string $key Variable name - * @return boolean - */ - final public function __isset($key) - { - return self::exists($this, $key); - } - - /** - * Magic __get method helper. - * - * @param \TokenReflection\IReflection $object Reflection object - * @param string $key Variable name - * @return mixed - * @throws \TokenReflection\Exception\RuntimeException If the requested parameter does not exist. - */ - final public static function get(IReflection $object, $key) - { - if (!empty($key)) { - $className = get_class($object); - if (!isset(self::$methodCache[$className])) { - self::$methodCache[$className] = array_flip(get_class_methods($className)); - } - - $methods = self::$methodCache[$className]; - $key2 = ucfirst($key); - if (isset($methods['get' . $key2])) { - return $object->{'get' . $key2}(); - } elseif (isset($methods['is' . $key2])) { - return $object->{'is' . $key2}(); - } - } - - throw new Exception\RuntimeException(sprintf('Cannot read property "%s".', $key), Exception\RuntimeException::DOES_NOT_EXIST); - } - - /** - * Magic __isset method helper. - * - * @param \TokenReflection\IReflection $object Reflection object - * @param string $key Variable name - * @return boolean - */ - final public static function exists(IReflection $object, $key) - { - try { - self::get($object, $key); - return true; - } catch (RuntimeException $e) { - return false; - } - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionClass.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionClass.php deleted file mode 100644 index 7c4399c4..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionClass.php +++ /dev/null @@ -1,1986 +0,0 @@ -::] => array( - * array(, [])|null - * [, ...] - * ) - * - * @var array - */ - private $traitImports = array(); - - /** - * Stores if the class definition is complete. - * - * @var array - */ - private $methods = array(); - - /** - * Constant reflections. - * - * @var array - */ - private $constants = array(); - - /** - * Properties reflections. - * - * @var array - */ - private $properties = array(); - - /** - * Stores if the class definition is complete. - * - * @var boolean - */ - private $definitionComplete = false; - - /** - * Imported namespace/class aliases. - * - * @var array - */ - private $aliases = array(); - - /** - * Returns the unqualified name (UQN). - * - * @return string - */ - public function getShortName() - { - $name = $this->getName(); - if ($this->namespaceName !== ReflectionNamespace::NO_NAMESPACE_NAME) { - $name = substr($name, strlen($this->namespaceName) + 1); - } - - return $name; - } - - /** - * Returns the namespace name. - * - * @return string - */ - public function getNamespaceName() - { - return $this->namespaceName === ReflectionNamespace::NO_NAMESPACE_NAME ? '' : $this->namespaceName; - } - - /** - * Returns if the class is defined within a namespace. - * - * @return boolean - */ - public function inNamespace() - { - return null !== $this->namespaceName && ReflectionNamespace::NO_NAMESPACE_NAME !== $this->namespaceName; - } - - /** - * Returns modifiers. - * - * @return array - */ - public function getModifiers() - { - if (false === $this->modifiersComplete) { - if (($this->modifiers & InternalReflectionClass::IS_EXPLICIT_ABSTRACT) && !($this->modifiers & InternalReflectionClass::IS_IMPLICIT_ABSTRACT)) { - foreach ($this->getMethods() as $reflectionMethod) { - if ($reflectionMethod->isAbstract()) { - $this->modifiers |= InternalReflectionClass::IS_IMPLICIT_ABSTRACT; - } - } - - if (!empty($this->interfaces)) { - $this->modifiers |= InternalReflectionClass::IS_IMPLICIT_ABSTRACT; - } - } - - if (!empty($this->interfaces)) { - $this->modifiers |= self::IMPLEMENTS_INTERFACES; - } - - if ($this->isInterface() && !empty($this->methods)) { - $this->modifiers |= InternalReflectionClass::IS_IMPLICIT_ABSTRACT; - } - - if (!empty($this->traits)) { - $this->modifiers |= self::IMPLEMENTS_TRAITS; - } - - $this->modifiersComplete = null === $this->parentClassName || $this->getParentClass()->isComplete(); - - if ($this->modifiersComplete) { - foreach ($this->getInterfaces() as $interface) { - if (!$interface->isComplete()) { - $this->modifiersComplete = false; - break; - } - } - } - if ($this->modifiersComplete) { - foreach ($this->getTraits() as $trait) { - if (!$trait->isComplete()) { - $this->modifiersComplete = false; - break; - } - } - } - } - - return $this->modifiers; - } - - /** - * Returns if the class is abstract. - * - * @return boolean - */ - public function isAbstract() - { - if ($this->modifiers & InternalReflectionClass::IS_EXPLICIT_ABSTRACT) { - return true; - } elseif ($this->isInterface() && !empty($this->methods)) { - return true; - } - - return false; - } - - /** - * Returns if the class is final. - * - * @return boolean - */ - public function isFinal() - { - return (bool) ($this->modifiers & InternalReflectionClass::IS_FINAL); - } - - /** - * Returns if the class is an interface. - * - * @return boolean - */ - public function isInterface() - { - return (bool) ($this->modifiers & self::IS_INTERFACE); - } - - /** - * Returns if the class is an exception or its descendant. - * - * @return boolean - */ - public function isException() - { - return 'Exception' === $this->name || $this->isSubclassOf('Exception'); - } - - /** - * Returns if it is possible to create an instance of this class. - * - * @return boolean - */ - public function isInstantiable() - { - if ($this->isInterface() || $this->isAbstract()) { - return false; - } - - if (null === ($constructor = $this->getConstructor())) { - return true; - } - - return $constructor->isPublic(); - } - - /** - * Returns if objects of this class are cloneable. - * - * Introduced in PHP 5.4. - * - * @return boolean - * @see http://svn.php.net/viewvc/php/php-src/trunk/ext/reflection/php_reflection.c?revision=307971&view=markup#l4059 - */ - public function isCloneable() - { - if ($this->isInterface() || $this->isAbstract()) { - return false; - } - - if ($this->hasMethod('__clone')) { - return $this->getMethod('__clone')->isPublic(); - } - - return true; - } - - /** - * Returns if the class is iterateable. - * - * Returns true if the class implements the Traversable interface. - * - * @return boolean - * @todo traits - */ - public function isIterateable() - { - return $this->implementsInterface('Traversable'); - } - - /** - * Returns if the current class is a subclass of the given class. - * - * @param string|object $class Class name or reflection object - * @return boolean - * @throws \TokenReflection\Exception\RuntimeException If the provided parameter is not a reflection class instance. - */ - public function isSubclassOf($class) - { - if (is_object($class)) { - if ($class instanceof InternalReflectionClass || $class instanceof IReflectionClass) { - $class = $class->getName(); - } else { - $class = get_class($class); - } - } - - if ($class === $this->parentClassName) { - return true; - } - - $parent = $this->getParentClass(); - return false === $parent ? false : $parent->isSubclassOf($class); - } - - /** - * Returns the parent class reflection. - * - * @return \TokenReflection\ReflectionClass|boolean - */ - public function getParentClass() - { - $className = $this->getParentClassName(); - if (null === $className) { - return false; - } - - return $this->getBroker()->getClass($className); - } - - /** - * Returns the parent class name. - * - * @return string|null - */ - public function getParentClassName() - { - return $this->parentClassName; - } - - /** - * Returns the parent classes reflections. - * - * @return array - */ - public function getParentClasses() - { - $parent = $this->getParentClass(); - if (false === $parent) { - return array(); - } - - return array_merge(array($parent->getName() => $parent), $parent->getParentClasses()); - } - - /** - * Returns the parent classes names. - * - * @return array - */ - public function getParentClassNameList() - { - $parent = $this->getParentClass(); - if (false === $parent) { - return array(); - } - - return array_merge(array($parent->getName()), $parent->getParentClassNameList()); - } - - /** - * Returns if the class implements the given interface. - * - * @param string|object $interface Interface name or reflection object - * @return boolean - * @throws \TokenReflection\Exception\RuntimeException If the provided parameter is not an interface. - */ - public function implementsInterface($interface) - { - if (is_object($interface)) { - if (!$interface instanceof InternalReflectionClass && !$interface instanceof IReflectionClass) { - throw new Exception\RuntimeException(sprintf('Parameter must be a string or an instance of class reflection, "%s" provided.', get_class($interface)), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - if (!$interface->isInterface()) { - throw new Exception\RuntimeException(sprintf('"%s" is not an interface.', $interfaceName), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - $interfaceName = $interface->getName(); - } else { - $interfaceName = $interface; - } - - return in_array($interfaceName, $this->getInterfaceNames()); - } - - /** - * Returns interface reflections. - * - * @return array - */ - public function getInterfaces() - { - $interfaceNames = $this->getInterfaceNames(); - if (empty($interfaceNames)) { - return array(); - } - - $broker = $this->getBroker(); - return array_combine($interfaceNames, array_map(function($interfaceName) use ($broker) { - return $broker->getClass($interfaceName); - }, $interfaceNames)); - } - - /** - * Returns interface names. - * - * @return array - */ - public function getInterfaceNames() - { - $parentClass = $this->getParentClass(); - - $names = false !== $parentClass ? array_reverse(array_flip($parentClass->getInterfaceNames())) : array(); - foreach ($this->interfaces as $interfaceName) { - $names[$interfaceName] = true; - foreach (array_reverse($this->getBroker()->getClass($interfaceName)->getInterfaceNames()) as $parentInterfaceName) { - $names[$parentInterfaceName] = true; - } - } - - return array_keys($names); - } - - /** - * Returns reflections of interfaces implemented by this class, not its parents. - * - * @return array - */ - public function getOwnInterfaces() - { - $interfaceNames = $this->getOwnInterfaceNames(); - if (empty($interfaceNames)) { - return array(); - } - - $broker = $this->getBroker(); - return array_combine($interfaceNames, array_map(function($interfaceName) use ($broker) { - return $broker->getClass($interfaceName); - }, $interfaceNames)); - } - - /** - * Returns names of interfaces implemented by this class, not its parents. - * - * @return array - */ - public function getOwnInterfaceNames() - { - return $this->interfaces; - } - - /** - * Returns the class constructor reflection. - * - * @return \TokenReflection\ReflectionMethod|null - */ - public function getConstructor() - { - foreach ($this->getMethods() as $method) { - if ($method->isConstructor()) { - return $method; - } - } - - return null; - } - - /** - * Returns the class destructor reflection. - * - * @return \TokenReflection\ReflectionMethod|null - */ - public function getDestructor() - { - foreach ($this->getMethods() as $method) { - if ($method->isDestructor()) { - return $method; - } - } - - return null; - } - - /** - * Returns if the class implements the given method. - * - * @param string $name Method name - * @return boolean - */ - public function hasMethod($name) - { - foreach ($this->getMethods() as $method) { - if ($name === $method->getName()) { - return true; - } - } - - return false; - } - - /** - * Returns a method reflection. - * - * @param string $name Method name - * @return \TokenReflection\ReflectionMethod - * @throws \TokenReflection\Exception\RuntimeException If the requested method does not exist. - */ - public function getMethod($name) - { - if (isset($this->methods[$name])) { - return $this->methods[$name]; - } - - foreach ($this->getMethods() as $method) { - if ($name === $method->getName()) { - return $method; - } - } - - throw new Exception\RuntimeException(sprintf('There is no method "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns method reflections. - * - * @param integer $filter Methods filter - * @return array - */ - public function getMethods($filter = null) - { - $methods = $this->methods; - - foreach ($this->getTraitMethods() as $traitMethod) { - if (!isset($methods[$traitMethod->getName()])) { - $methods[$traitMethod->getName()] = $traitMethod; - } - } - - if (null !== $this->parentClassName) { - foreach ($this->getParentClass()->getMethods(null) as $parentMethod) { - if (!isset($methods[$parentMethod->getName()])) { - $methods[$parentMethod->getName()] = $parentMethod; - } - } - } - foreach ($this->getOwnInterfaces() as $interface) { - foreach ($interface->getMethods(null) as $parentMethod) { - if (!isset($methods[$parentMethod->getName()])) { - $methods[$parentMethod->getName()] = $parentMethod; - } - } - } - - if (null !== $filter) { - $methods = array_filter($methods, function(IReflectionMethod $method) use ($filter) { - return $method->is($filter); - }); - } - - return array_values($methods); - } - - /** - * Returns if the class implements (and not its parents) the given method. - * - * @param string $name Method name - * @return boolean - */ - public function hasOwnMethod($name) - { - return isset($this->methods[$name]); - } - - /** - * Returns reflections of methods declared by this class, not its parents. - * - * @param integer $filter Methods filter - * @return array - */ - public function getOwnMethods($filter = null) - { - $methods = $this->methods; - - if (null !== $filter) { - $methods = array_filter($methods, function(ReflectionMethod $method) use ($filter) { - return $method->is($filter); - }); - } - - return array_values($methods); - } - - /** - * Returns if the class imports the given method from traits. - * - * @param string $name Method name - * @return boolean - */ - public function hasTraitMethod($name) - { - if (isset($this->methods[$name])) { - return false; - } - - foreach ($this->getOwnTraits() as $trait) { - if ($trait->hasMethod($name)) { - return true; - } - } - - return false; - } - - /** - * Returns reflections of method imported from traits. - * - * @param integer $filter Methods filter - * @return array - * @throws \TokenReflection\Exception\RuntimeException If trait method was already imported. - */ - public function getTraitMethods($filter = null) - { - $methods = array(); - - foreach ($this->getOwnTraits() as $trait) { - $traitName = $trait->getName(); - foreach ($trait->getMethods(null) as $traitMethod) { - $methodName = $traitMethod->getName(); - - $imports = array(); - if (isset($this->traitImports[$traitName . '::' . $methodName])) { - $imports = $this->traitImports[$traitName . '::' . $methodName]; - } - if (isset($this->traitImports[$methodName])) { - $imports = empty($imports) ? $this->traitImports[$methodName] : array_merge($imports, $this->traitImports[$methodName]); - } - - foreach ($imports as $import) { - if (null !== $import) { - list($newName, $accessLevel) = $import; - - if ('' === $newName) { - $newName = $methodName; - $imports[] = null; - } - - if (!isset($this->methods[$newName])) { - if (isset($methods[$newName])) { - throw new Exception\RuntimeException(sprintf('Trait method "%s" was already imported.', $newName), Exception\RuntimeException::ALREADY_EXISTS, $this); - } - - $methods[$newName] = $traitMethod->alias($this, $newName, $accessLevel); - } - } - } - - if (!in_array(null, $imports)) { - if (!isset($this->methods[$methodName])) { - if (isset($methods[$methodName])) { - throw new Exception\RuntimeException(sprintf('Trait method "%s" was already imported.', $methodName), Exception\RuntimeException::ALREADY_EXISTS, $this); - } - - $methods[$methodName] = $traitMethod->alias($this); - } - } - } - } - - if (null !== $filter) { - $methods = array_filter($methods, function(IReflectionMethod $method) use ($filter) { - return (bool) ($method->getModifiers() & $filter); - }); - } - - return array_values($methods); - } - - /** - * Returns if the class defines the given constant. - * - * @param string $name Constant name. - * @return boolean - */ - public function hasConstant($name) - { - if (isset($this->constants[$name])) { - return true; - } - - foreach ($this->getConstantReflections() as $constant) { - if ($name === $constant->getName()) { - return true; - } - } - - return false; - } - - /** - * Returns a constant value. - * - * @param string $name Constant name - * @return mixed|false - */ - public function getConstant($name) - { - try { - return $this->getConstantReflection($name)->getValue(); - } catch (Exception\BaseException $e) { - return false; - } - } - - /** - * Returns a constant reflection. - * - * @param string $name Constant name - * @return \TokenReflection\ReflectionConstant - * @throws \TokenReflection\Exception\RuntimeException If the requested constant does not exist. - */ - public function getConstantReflection($name) - { - if (isset($this->constants[$name])) { - return $this->constants[$name]; - } - - foreach ($this->getConstantReflections() as $constant) { - if ($name === $constant->getName()) { - return $constant; - } - } - - throw new Exception\RuntimeException(sprintf('There is no constant "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns constant values. - * - * @return array - */ - public function getConstants() - { - $constants = array(); - foreach ($this->getConstantReflections() as $constant) { - $constants[$constant->getName()] = $constant->getValue(); - } - return $constants; - } - - /** - * Returns constant reflections. - * - * @return array - */ - public function getConstantReflections() - { - if (null === $this->parentClassName && empty($this->interfaces)) { - return array_values($this->constants); - } else { - $reflections = array_values($this->constants); - - if (null !== $this->parentClassName) { - $reflections = array_merge($reflections, $this->getParentClass()->getConstantReflections()); - } - foreach ($this->getOwnInterfaces() as $interface) { - $reflections = array_merge($reflections, $interface->getConstantReflections()); - } - - return $reflections; - } - } - - /** - * Returns if the class (and not its parents) defines the given constant. - * - * @param string $name Constant name. - * @return boolean - */ - public function hasOwnConstant($name) - { - return isset($this->constants[$name]); - } - - /** - * Returns constants declared by this class, not by its parents. - * - * @return array - */ - public function getOwnConstants() - { - return array_map(function(ReflectionConstant $constant) { - return $constant->getValue(); - }, $this->constants); - } - - /** - * Returns reflections of constants declared by this class, not by its parents. - * - * @return array - */ - public function getOwnConstantReflections() - { - return array_values($this->constants); - } - - /** - * Returns if the class defines the given property. - * - * @param string $name Property name - * @return boolean - */ - public function hasProperty($name) - { - foreach ($this->getProperties() as $property) { - if ($name === $property->getName()) { - return true; - } - } - - return false; - } - - /** - * Return a property reflection. - * - * @param string $name Property name - * @return \TokenReflection\ReflectionProperty - * @throws \TokenReflection\Exception\RuntimeException If the requested property does not exist. - */ - public function getProperty($name) - { - if (isset($this->properties[$name])) { - return $this->properties[$name]; - } - - foreach ($this->getProperties() as $property) { - if ($name === $property->getName()) { - return $property; - } - } - - throw new Exception\RuntimeException(sprintf('There is no property "%s".', $name, $this->name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns property reflections. - * - * @param integer $filter Properties filter - * @return array - */ - public function getProperties($filter = null) - { - $properties = $this->properties; - - foreach ($this->getTraitProperties(null) as $traitProperty) { - if (!isset($properties[$traitProperty->getName()])) { - $properties[$traitProperty->getName()] = $traitProperty->alias($this); - } - } - - if (null !== $this->parentClassName) { - foreach ($this->getParentClass()->getProperties(null) as $parentProperty) { - if (!isset($properties[$parentProperty->getName()])) { - $properties[$parentProperty->getName()] = $parentProperty; - } - } - } - - if (null !== $filter) { - $properties = array_filter($properties, function(IReflectionProperty $property) use ($filter) { - return (bool) ($property->getModifiers() & $filter); - }); - } - - return array_values($properties); - } - - /** - * Returns if the class (and not its parents) defines the given property. - * - * @param string $name Property name - * @return boolean - */ - public function hasOwnProperty($name) - { - return isset($this->properties[$name]); - } - - /** - * Returns reflections of properties declared by this class, not its parents. - * - * @param integer $filter Properties filter - * @return array - */ - public function getOwnProperties($filter = null) - { - $properties = $this->properties; - - if (null !== $filter) { - $properties = array_filter($properties, function(ReflectionProperty $property) use ($filter) { - return (bool) ($property->getModifiers() & $filter); - }); - } - - return array_values($properties); - } - - /** - * Returns if the class imports the given property from traits. - * - * @param string $name Property name - * @return boolean - */ - public function hasTraitProperty($name) - { - if (isset($this->properties[$name])) { - return false; - } - - foreach ($this->getOwnTraits() as $trait) { - if ($trait->hasProperty($name)) { - return true; - } - } - - return false; - } - - /** - * Returns reflections of properties imported from traits. - * - * @param integer $filter Properties filter - * @return array - */ - public function getTraitProperties($filter = null) - { - $properties = array(); - - foreach ($this->getOwnTraits() as $trait) { - foreach ($trait->getProperties(null) as $traitProperty) { - if (!isset($this->properties[$traitProperty->getName()]) && !isset($properties[$traitProperty->getName()])) { - $properties[$traitProperty->getName()] = $traitProperty->alias($this); - } - } - } - - if (null !== $filter) { - $properties = array_filter($properties, function(IReflectionProperty $property) use ($filter) { - return (bool) ($property->getModifiers() & $filter); - }); - } - - return array_values($properties); - } - - /** - * Returns default properties. - * - * @return array - */ - public function getDefaultProperties() - { - static $accessLevels = array(InternalReflectionProperty::IS_PUBLIC, InternalReflectionProperty::IS_PROTECTED, InternalReflectionProperty::IS_PRIVATE); - - $defaults = array(); - $properties = $this->getProperties(); - foreach (array(true, false) as $static) { - foreach ($properties as $property) { - foreach ($accessLevels as $level) { - if ($property->isStatic() === $static && ($property->getModifiers() & $level)) { - $defaults[$property->getName()] = $property->getDefaultValue(); - } - } - } - } - - return $defaults; - } - - /** - * Returns static properties reflections. - * - * @return array - */ - public function getStaticProperties() - { - $defaults = array(); - foreach ($this->getProperties(InternalReflectionProperty::IS_STATIC) as $property) { - if ($property instanceof ReflectionProperty) { - $defaults[$property->getName()] = $property->getDefaultValue(); - } - } - - return $defaults; - } - - /** - * Returns a value of a static property. - * - * @param string $name Property name - * @param mixed $default Default value - * @return mixed - * @throws \TokenReflection\Exception\RuntimeException If the requested static property does not exist. - * @throws \TokenReflection\Exception\RuntimeException If the requested static property is not accessible. - */ - public function getStaticPropertyValue($name, $default = null) - { - if ($this->hasProperty($name) && ($property = $this->getProperty($name)) && $property->isStatic()) { - if (!$property->isPublic() && !$property->isAccessible()) { - throw new Exception\RuntimeException(sprintf('Static property "%s" is not accessible.', $name), Exception\RuntimeException::NOT_ACCESSBILE, $this); - } - - return $property->getDefaultValue(); - } - - throw new Exception\RuntimeException(sprintf('There is no static property "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns traits used by this class. - * - * @return array - */ - public function getTraits() - { - $traitNames = $this->getTraitNames(); - if (empty($traitNames)) { - return array(); - } - - $broker = $this->getBroker(); - return array_combine($traitNames, array_map(function($traitName) use ($broker) { - return $broker->getClass($traitName); - }, $traitNames)); - } - - /** - * Returns traits used by this class and not its parents. - * - * @return array - */ - public function getOwnTraits() - { - $ownTraitNames = $this->getOwnTraitNames(); - if (empty($ownTraitNames)) { - return array(); - } - - $broker = $this->getBroker(); - return array_combine($ownTraitNames, array_map(function($traitName) use ($broker) { - return $broker->getClass($traitName); - }, $ownTraitNames)); - } - - /** - * Returns names of used traits. - * - * @return array - */ - public function getTraitNames() - { - $parentClass = $this->getParentClass(); - - $names = $parentClass ? $parentClass->getTraitNames() : array(); - foreach ($this->traits as $traitName) { - $names[] = $traitName; - } - - return array_unique($names); - } - - /** - * Returns names of traits used by this class an not its parents. - * - * @return array - */ - public function getOwnTraitNames() - { - return $this->traits; - } - - /** - * Returns method aliases from traits. - * - * @return array - */ - public function getTraitAliases() - { - return $this->traitAliases; - } - - /** - * Returns if the class is a trait. - * - * @return boolean - */ - public function isTrait() - { - return self::IS_TRAIT === $this->type; - } - - /** - * Returns if the class definition is valid. - * - * @return boolean - */ - public function isValid() - { - if (null !== $this->parentClassName && !$this->getParentClass()->isValid()) { - return false; - } - - foreach ($this->getInterfaces() as $interface) { - if (!$interface->isValid()) { - return false; - } - } - - foreach ($this->getTraits() as $trait) { - if (!$trait->isValid()) { - return false; - } - } - - return true; - } - - /** - * Returns if the class uses a particular trait. - * - * @param \ReflectionClass|\TokenReflection\IReflectionClass|string $trait Trait reflection or name - * @return boolean - * @throws \TokenReflection\Exception\RuntimeException If an invalid parameter was provided. - */ - public function usesTrait($trait) - { - if (is_object($trait)) { - if (!$trait instanceof InternalReflectionClass && !$trait instanceof IReflectionClass) { - throw new Exception\RuntimeException(sprintf('Parameter must be a string or an instance of trait reflection, "%s" provided.', get_class($trait)), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - $traitName = $trait->getName(); - - if (!$trait->isTrait()) { - throw new Exception\RuntimeException(sprintf('"%s" is not a trait.', $traitName), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - } else { - $reflection = $this->getBroker()->getClass($trait); - if (!$reflection->isTrait()) { - throw new Exception\RuntimeException(sprintf('"%s" is not a trait.', $trait), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - $traitName = $trait; - } - - return in_array($traitName, $this->getTraitNames()); - } - - /** - * Returns reflections of direct subclasses. - * - * @return array - */ - public function getDirectSubclasses() - { - $that = $this->name; - return array_filter($this->getBroker()->getClasses(), function(ReflectionClass $class) use ($that) { - if (!$class->isSubclassOf($that)) { - return false; - } - - return null === $class->getParentClassName() || !$class->getParentClass()->isSubClassOf($that); - }); - } - - /** - * Returns names of direct subclasses. - * - * @return array - */ - public function getDirectSubclassNames() - { - return array_keys($this->getDirectSubclasses()); - } - - /** - * Returns reflections of indirect subclasses. - * - * @return array - */ - public function getIndirectSubclasses() - { - $that = $this->name; - return array_filter($this->getBroker()->getClasses(), function(ReflectionClass $class) use ($that) { - if (!$class->isSubclassOf($that)) { - return false; - } - - return null !== $class->getParentClassName() && $class->getParentClass()->isSubClassOf($that); - }); - } - - /** - * Returns names of indirect subclasses. - * - * @return array - */ - public function getIndirectSubclassNames() - { - return array_keys($this->getIndirectSubclasses()); - } - - /** - * Returns reflections of classes directly implementing this interface. - * - * @return array - */ - public function getDirectImplementers() - { - if (!$this->isInterface()) { - return array(); - } - - $that = $this->name; - return array_filter($this->getBroker()->getClasses(), function(ReflectionClass $class) use ($that) { - if ($class->isInterface() || !$class->implementsInterface($that)) { - return false; - } - - return null === $class->getParentClassName() || !$class->getParentClass()->implementsInterface($that); - }); - } - - /** - * Returns names of classes directly implementing this interface. - * - * @return array - */ - public function getDirectImplementerNames() - { - return array_keys($this->getDirectImplementers()); - } - - /** - * Returns reflections of classes indirectly implementing this interface. - * - * @return array - */ - public function getIndirectImplementers() - { - if (!$this->isInterface()) { - return array(); - } - - $that = $this->name; - return array_filter($this->getBroker()->getClasses(), function(ReflectionClass $class) use ($that) { - if ($class->isInterface() || !$class->implementsInterface($that)) { - return false; - } - - return null !== $class->getParentClassName() && $class->getParentClass()->implementsInterface($that); - }); - } - - /** - * Returns names of classes indirectly implementing this interface. - * - * @return array - */ - public function getIndirectImplementerNames() - { - return array_keys($this->getIndirectImplementers()); - } - - /** - * Returns if the given object is an instance of this class. - * - * @param object $object Instance - * @return boolean - * @throws \TokenReflection\Exception\RuntimeException If the provided argument is not an object. - */ - public function isInstance($object) - { - if (!is_object($object)) { - throw new Exception\RuntimeException(sprintf('Parameter must be an object, "%s" provided.', gettype($object)), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - return $this->name === get_class($object) || is_subclass_of($object, $this->getName()); - } - - /** - * Creates a new class instance without using a constructor. - * - * @return object - * @throws \TokenReflection\Exception\RuntimeException If the class inherits from an internal class. - */ - public function newInstanceWithoutConstructor() - { - if (!class_exists($this->name, true)) { - throw new Exception\RuntimeException('Could not create an instance; class does not exist.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - $reflection = new \TokenReflection\Php\ReflectionClass($this->getName(), $this->getBroker()); - return $reflection->newInstanceWithoutConstructor(); - } - - /** - * Creates a new instance using variable number of parameters. - * - * Use any number of constructor parameters as function parameters. - * - * @param mixed $args - * @return object - */ - public function newInstance($args) - { - return $this->newInstanceArgs(func_get_args()); - } - - /** - * Creates a new instance using an array of parameters. - * - * @param array $args Array of constructor parameters - * @return object - * @throws \TokenReflection\Exception\RuntimeException If the required class does not exist. - */ - public function newInstanceArgs(array $args = array()) - { - if (!class_exists($this->name, true)) { - throw new Exception\RuntimeException('Could not create an instance; class does not exist.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - $reflection = new InternalReflectionClass($this->name); - return $reflection->newInstanceArgs($args); - } - - /** - * Sets a static property value. - * - * @param string $name Property name - * @param mixed $value Property value - * @throws \TokenReflection\Exception\RuntimeException If the requested static property does not exist. - * @throws \TokenReflection\Exception\RuntimeException If the requested static property is not accessible. - */ - public function setStaticPropertyValue($name, $value) - { - if ($this->hasProperty($name) && ($property = $this->getProperty($name)) && $property->isStatic()) { - if (!$property->isPublic() && !$property->isAccessible()) { - throw new Exception\RuntimeException(sprintf('Static property "%s" is not accessible.', $name), Exception\RuntimeException::NOT_ACCESSBILE, $this); - } - - $property->setDefaultValue($value); - return; - } - - throw new Exception\RuntimeException(sprintf('There is no static property "%s".', $name), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - /** - * Returns the string representation of the reflection object. - * - * @return string - */ - public function __toString() - { - $implements = ''; - $interfaceNames = $this->getInterfaceNames(); - if (count($interfaceNames) > 0) { - $implements = sprintf( - ' %s %s', - $this->isInterface() ? 'extends' : 'implements', - implode(', ', $interfaceNames) - ); - } - - $buffer = ''; - $count = 0; - foreach ($this->getConstantReflections() as $constant) { - $buffer .= ' ' . $constant->__toString(); - $count++; - } - $constants = sprintf("\n\n - Constants [%d] {\n%s }", $count, $buffer); - - $sBuffer = ''; - $sCount = 0; - $buffer = ''; - $count = 0; - foreach ($this->getProperties() as $property) { - $string = ' ' . preg_replace('~\n(?!$)~', "\n ", $property->__toString()); - if ($property->isStatic()) { - $sBuffer .= $string; - $sCount++; - } else { - $buffer .= $string; - $count++; - } - } - $staticProperties = sprintf("\n\n - Static properties [%d] {\n%s }", $sCount, $sBuffer); - $properties = sprintf("\n\n - Properties [%d] {\n%s }", $count, $buffer); - - $sBuffer = ''; - $sCount = 0; - $buffer = ''; - $count = 0; - foreach ($this->getMethods() as $method) { - // Skip private methods of parent classes - if ($method->getDeclaringClassName() !== $this->getName() && $method->isPrivate()) { - continue; - } - // Indent - $string = "\n "; - - $string .= preg_replace('~\n(?!$|\n|\s*\*)~', "\n ", $method->__toString()); - // Add inherits - if ($method->getDeclaringClassName() !== $this->getName()) { - $string = preg_replace( - array('~Method [ <[\w:]+~', '~, overwrites[^,]+~'), - array('\0, inherits ' . $method->getDeclaringClassName(), ''), - $string - ); - } - if ($method->isStatic()) { - $sBuffer .= $string; - $sCount++; - } else { - $buffer .= $string; - $count++; - } - } - $staticMethods = sprintf("\n\n - Static methods [%d] {\n%s }", $sCount, ltrim($sBuffer, "\n")); - $methods = sprintf("\n\n - Methods [%d] {\n%s }", $count, ltrim($buffer, "\n")); - - return sprintf( - "%s%s [ %s %s%s%s %s%s%s ] {\n @@ %s %d-%d%s%s%s%s%s\n}\n", - $this->getDocComment() ? $this->getDocComment() . "\n" : '', - $this->isInterface() ? 'Interface' : 'Class', - $this->isIterateable() ? ' ' : '', - $this->isAbstract() && !$this->isInterface() ? 'abstract ' : '', - $this->isFinal() ? 'final ' : '', - $this->isInterface() ? 'interface' : 'class', - $this->getName(), - null !== $this->getParentClassName() ? ' extends ' . $this->getParentClassName() : '', - $implements, - $this->getFileName(), - $this->getStartLine(), - $this->getEndLine(), - $constants, - $staticProperties, - $staticMethods, - $properties, - $methods - ); - } - - /** - * Exports a reflected object. - * - * @param \TokenReflection\Broker $broker Broker instance - * @param string|object $className Class name or class instance - * @param boolean $return Return the export instead of outputting it - * @return string|null - * @throws \TokenReflection\Exception\RuntimeException If requested parameter doesn't exist. - */ - public static function export(Broker $broker, $className, $return = false) - { - if (is_object($className)) { - $className = get_class($className); - } - - $class = $broker->getClass($className); - if ($class instanceof Invalid\ReflectionClass) { - throw new Exception\RuntimeException('Class is invalid.', Exception\RuntimeException::UNSUPPORTED); - } elseif ($class instanceof Dummy\ReflectionClass) { - throw new Exception\RuntimeException('Class does not exist.', Exception\RuntimeException::DOES_NOT_EXIST); - } - - if ($return) { - return $class->__toString(); - } - - echo $class->__toString(); - } - - /** - * Returns if the class definition is complete. - * - * @return boolean - */ - public function isComplete() - { - if (!$this->definitionComplete) { - if (null !== $this->parentClassName && !$this->getParentClass()->isComplete()) { - return false; - } - - foreach ($this->getOwnInterfaces() as $interface) { - if (!$interface->isComplete()) { - return false; - } - } - - $this->definitionComplete = true; - } - - return $this->definitionComplete; - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return $this->aliases; - } - - /** - * Processes the parent reflection object. - * - * @param \TokenReflection\IReflection $parent Parent reflection object - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionClass - * @throws \TokenReflection\ParseException On invalid parent reflection provided - */ - protected function processParent(IReflection $parent, Stream $tokenStream) - { - if (!$parent instanceof ReflectionFileNamespace) { - throw new Exception\ParseException($this, $tokenStream, sprintf('Invalid parent reflection provided: "%s".', get_class($parent)), Exception\ParseException::INVALID_PARENT); - } - - $this->namespaceName = $parent->getName(); - $this->aliases = $parent->getNamespaceAliases(); - return parent::processParent($parent, $tokenStream); - } - - /** - * Parses reflected element metadata from the token stream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionClass - */ - protected function parse(Stream $tokenStream, IReflection $parent) - { - return $this - ->parseModifiers($tokenStream) - ->parseName($tokenStream) - ->parseParent($tokenStream, $parent) - ->parseInterfaces($tokenStream, $parent); - } - - /** - * Parses class modifiers (abstract, final) and class type (class, interface). - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionClass - */ - private function parseModifiers(Stream $tokenStream) - { - while (true) { - switch ($tokenStream->getType()) { - case null: - break 2; - case T_ABSTRACT: - $this->modifiers = InternalReflectionClass::IS_EXPLICIT_ABSTRACT; - break; - case T_FINAL: - $this->modifiers = InternalReflectionClass::IS_FINAL; - break; - case T_INTERFACE: - $this->modifiers = self::IS_INTERFACE; - $this->type = self::IS_INTERFACE; - $tokenStream->skipWhitespaces(true); - break 2; - case T_TRAIT: - $this->modifiers = self::IS_TRAIT; - $this->type = self::IS_TRAIT; - $tokenStream->skipWhitespaces(true); - break 2; - case T_CLASS: - $tokenStream->skipWhitespaces(true); - break 2; - default: - break; - } - - $tokenStream->skipWhitespaces(true); - } - - return $this; - } - - /** - * Parses the class/interface name. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionClass - * @throws \TokenReflection\Exception\ParseException If the class name could not be determined. - */ - protected function parseName(Stream $tokenStream) - { - if (!$tokenStream->is(T_STRING)) { - throw new Exception\ParseException($this, $tokenStream, 'Unexpected token found.', Exception\ParseException::UNEXPECTED_TOKEN); - } - - if ($this->namespaceName === ReflectionNamespace::NO_NAMESPACE_NAME) { - $this->name = $tokenStream->getTokenValue(); - } else { - $this->name = $this->namespaceName . '\\' . $tokenStream->getTokenValue(); - } - - $tokenStream->skipWhitespaces(true); - - return $this; - } - - /** - * Parses the parent class. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionClass - */ - private function parseParent(Stream $tokenStream, ReflectionElement $parent = null) - { - if (!$tokenStream->is(T_EXTENDS)) { - return $this; - } - - while (true) { - $tokenStream->skipWhitespaces(true); - - $parentClassName = ''; - while (true) { - switch ($tokenStream->getType()) { - case T_STRING: - case T_NS_SEPARATOR: - $parentClassName .= $tokenStream->getTokenValue(); - break; - default: - break 2; - } - - $tokenStream->skipWhitespaces(true); - } - - $parentClassName = Resolver::resolveClassFQN($parentClassName, $this->aliases, $this->namespaceName); - - if ($this->isInterface()) { - $this->interfaces[] = $parentClassName; - - if (',' === $tokenStream->getTokenValue()) { - continue; - } - } else { - $this->parentClassName = $parentClassName; - } - - break; - } - - return $this; - } - - /** - * Parses implemented interfaces. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionClass - * @throws \TokenReflection\Exception\ParseException On error while parsing interfaces. - */ - private function parseInterfaces(Stream $tokenStream, ReflectionElement $parent = null) - { - if (!$tokenStream->is(T_IMPLEMENTS)) { - return $this; - } - - if ($this->isInterface()) { - throw new Exception\ParseException($this, $tokenStream, 'Interfaces cannot implement interfaces.', Exception\ParseException::LOGICAL_ERROR); - } - - while (true) { - $interfaceName = ''; - - $tokenStream->skipWhitespaces(true); - while (true) { - switch ($tokenStream->getType()) { - case T_STRING: - case T_NS_SEPARATOR: - $interfaceName .= $tokenStream->getTokenValue(); - break; - default: - break 2; - } - - $tokenStream->skipWhitespaces(true); - } - - $this->interfaces[] = Resolver::resolveClassFQN($interfaceName, $this->aliases, $this->namespaceName); - - $type = $tokenStream->getType(); - if ('{' === $type) { - break; - } elseif (',' !== $type) { - throw new Exception\ParseException($this, $tokenStream, 'Unexpected token found, expected "{" or ";".', Exception\ParseException::UNEXPECTED_TOKEN); - } - } - - return $this; - } - - /** - * Parses child reflection objects from the token stream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionClass - * @throws \TokenReflection\Exception\ParseException If a parse error was detected. - */ - protected function parseChildren(Stream $tokenStream, IReflection $parent) - { - while (true) { - switch ($type = $tokenStream->getType()) { - case null: - break 2; - case T_COMMENT: - case T_DOC_COMMENT: - $docblock = $tokenStream->getTokenValue(); - if (preg_match('~^' . preg_quote(self::DOCBLOCK_TEMPLATE_START, '~') . '~', $docblock)) { - array_unshift($this->docblockTemplates, new ReflectionAnnotation($this, $docblock)); - } elseif (self::DOCBLOCK_TEMPLATE_END === $docblock) { - array_shift($this->docblockTemplates); - } - $tokenStream->next(); - break; - case '}': - break 2; - case T_PUBLIC: - case T_PRIVATE: - case T_PROTECTED: - case T_STATIC: - case T_VAR: - case T_VARIABLE: - static $searching = array(T_VARIABLE => true, T_FUNCTION => true); - - if (T_VAR !== $tokenStream->getType()) { - $position = $tokenStream->key(); - while (null !== ($type = $tokenStream->getType($position)) && !isset($searching[$type])) { - $position++; - } - } - - if (T_VARIABLE === $type || T_VAR === $type) { - $property = new ReflectionProperty($tokenStream, $this->getBroker(), $this); - $this->properties[$property->getName()] = $property; - $tokenStream->next(); - break; - } - // Break missing on purpose - case T_FINAL: - case T_ABSTRACT: - case T_FUNCTION: - $method = new ReflectionMethod($tokenStream, $this->getBroker(), $this); - $this->methods[$method->getName()] = $method; - $tokenStream->next(); - break; - case T_CONST: - $tokenStream->skipWhitespaces(true); - while ($tokenStream->is(T_STRING)) { - $constant = new ReflectionConstant($tokenStream, $this->getBroker(), $this); - $this->constants[$constant->getName()] = $constant; - if ($tokenStream->is(',')) { - $tokenStream->skipWhitespaces(true); - } else { - $tokenStream->next(); - } - } - break; - case T_USE: - $tokenStream->skipWhitespaces(true); - - while (true) { - $traitName = ''; - $type = $tokenStream->getType(); - while (T_STRING === $type || T_NS_SEPARATOR === $type) { - $traitName .= $tokenStream->getTokenValue(); - $type = $tokenStream->skipWhitespaces(true)->getType(); - } - - if ('' === trim($traitName, '\\')) { - throw new Exception\ParseException($this, $tokenStream, 'An empty trait name found.', Exception\ParseException::LOGICAL_ERROR); - } - - $this->traits[] = Resolver::resolveClassFQN($traitName, $this->aliases, $this->namespaceName); - - if (';' === $type) { - // End of "use" - $tokenStream->skipWhitespaces(); - break; - } elseif (',' === $type) { - // Next trait name follows - $tokenStream->skipWhitespaces(); - continue; - } elseif ('{' !== $type) { - // Unexpected token - throw new Exception\ParseException($this, $tokenStream, 'Unexpected token found: "%s".', Exception\ParseException::UNEXPECTED_TOKEN); - } - - // Aliases definition - $type = $tokenStream->skipWhitespaces(true)->getType(); - while (true) { - if ('}' === $type) { - $tokenStream->skipWhitespaces(); - break 2; - } - - $leftSide = ''; - $rightSide = array('', null); - $alias = true; - - while (T_STRING === $type || T_NS_SEPARATOR === $type || T_DOUBLE_COLON === $type) { - $leftSide .= $tokenStream->getTokenValue(); - $type = $tokenStream->skipWhitespaces(true)->getType(); - } - - if (T_INSTEADOF === $type) { - $alias = false; - } elseif (T_AS !== $type) { - throw new Exception\ParseException($this, $tokenStream, 'Unexpected token found.', Exception\ParseException::UNEXPECTED_TOKEN); - } - - $type = $tokenStream->skipWhitespaces(true)->getType(); - - if (T_PUBLIC === $type || T_PROTECTED === $type || T_PRIVATE === $type) { - if (!$alias) { - throw new Exception\ParseException($this, $tokenStream, 'Unexpected token found.', Exception\ParseException::UNEXPECTED_TOKEN); - } - - switch ($type) { - case T_PUBLIC: - $type = InternalReflectionMethod::IS_PUBLIC; - break; - case T_PROTECTED: - $type = InternalReflectionMethod::IS_PROTECTED; - break; - case T_PRIVATE: - $type = InternalReflectionMethod::IS_PRIVATE; - break; - default: - break; - } - - $rightSide[1] = $type; - $type = $tokenStream->skipWhitespaces(true)->getType(); - } - - while (T_STRING === $type || (T_NS_SEPARATOR === $type && !$alias)) { - $rightSide[0] .= $tokenStream->getTokenValue(); - $type = $tokenStream->skipWhitespaces(true)->getType(); - } - - if (empty($leftSide)) { - throw new Exception\ParseException($this, $tokenStream, 'An empty method name was found.', Exception\ParseException::LOGICAL_ERROR); - } - - if ($alias) { - // Alias - if ($pos = strpos($leftSide, '::')) { - $methodName = substr($leftSide, $pos + 2); - $className = Resolver::resolveClassFQN(substr($leftSide, 0, $pos), $this->aliases, $this->namespaceName); - $leftSide = $className . '::' . $methodName; - - $this->traitAliases[$rightSide[0]] = $leftSide; - } else { - $this->traitAliases[$rightSide[0]] = '(null)::' . $leftSide; - } - - $this->traitImports[$leftSide][] = $rightSide; - } else { - // Insteadof - if ($pos = strpos($leftSide, '::')) { - $methodName = substr($leftSide, $pos + 2); - } else { - throw new Exception\ParseException($this, $tokenStream, 'A T_DOUBLE_COLON has to be present when using T_INSTEADOF.', Exception\ParseException::UNEXPECTED_TOKEN); - } - - $this->traitImports[Resolver::resolveClassFQN($rightSide[0], $this->aliases, $this->namespaceName) . '::' . $methodName][] = null; - } - - if (',' === $type) { - $tokenStream->skipWhitespaces(true); - continue; - } elseif (';' !== $type) { - throw new Exception\ParseException($this, $tokenStream, 'Unexpected token found.', Exception\ParseException::UNEXPECTED_TOKEN); - } - - $type = $tokenStream->skipWhitespaces()->getType(); - } - } - - break; - default: - $tokenStream->next(); - break; - } - } - - return $this; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionConstant.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionConstant.php deleted file mode 100644 index 4dc39672..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionConstant.php +++ /dev/null @@ -1,392 +0,0 @@ -getName(); - if (null !== $this->namespaceName && $this->namespaceName !== ReflectionNamespace::NO_NAMESPACE_NAME) { - $name = substr($name, strlen($this->namespaceName) + 1); - } - - return $name; - } - - /** - * Returns the name of the declaring class. - * - * @return string|null - */ - public function getDeclaringClassName() - { - return $this->declaringClassName; - } - - /** - * Returns a reflection of the declaring class. - * - * @return \TokenReflection\ReflectionClass|null - */ - public function getDeclaringClass() - { - if (null === $this->declaringClassName) { - return null; - } - - return $this->getBroker()->getClass($this->declaringClassName); - } - - /** - * Returns the namespace name. - * - * @return string - */ - public function getNamespaceName() - { - return null === $this->namespaceName || $this->namespaceName === ReflectionNamespace::NO_NAMESPACE_NAME ? '' : $this->namespaceName; - } - - /** - * Returns if the class is defined within a namespace. - * - * @return boolean - */ - public function inNamespace() - { - return '' !== $this->getNamespaceName(); - } - - /** - * Returns the constant value. - * - * @return mixed - */ - public function getValue() - { - if (is_array($this->valueDefinition)) { - $this->value = Resolver::getValueDefinition($this->valueDefinition, $this); - $this->valueDefinition = Resolver::getSourceCode($this->valueDefinition); - } - - return $this->value; - } - - /** - * Returns the constant value definition. - * - * @return string - */ - public function getValueDefinition() - { - return is_array($this->valueDefinition) ? Resolver::getSourceCode($this->valueDefinition) : $this->valueDefinition; - } - - /** - * Returns the originaly provided value definition. - * - * @return string - */ - public function getOriginalValueDefinition() - { - return $this->valueDefinition; - } - - /** - * Returns the string representation of the reflection object. - * - * @return string - */ - public function __toString() - { - return sprintf( - "Constant [ %s %s ] { %s }\n", - strtolower(gettype($this->getValue())), - $this->getName(), - $this->getValue() - ); - } - - /** - * Exports a reflected object. - * - * @param \TokenReflection\Broker $broker Broker instance - * @param string|object|null $class Class name, class instance or null - * @param string $constant Constant name - * @param boolean $return Return the export instead of outputting it - * @return string|null - * @throws \TokenReflection\Exception\RuntimeException If requested parameter doesn't exist. - */ - public static function export(Broker $broker, $class, $constant, $return = false) - { - $className = is_object($class) ? get_class($class) : $class; - $constantName = $constant; - - if (null === $className) { - $constant = $broker->getConstant($constantName); - if (null === $constant) { - throw new Exception\RuntimeException('Constant does not exist.', Exception\RuntimeException::DOES_NOT_EXIST); - } - } else { - $class = $broker->getClass($className); - if ($class instanceof Invalid\ReflectionClass) { - throw new Exception\RuntimeException('Class is invalid.', Exception\RuntimeException::UNSUPPORTED); - } elseif ($class instanceof Dummy\ReflectionClass) { - throw new Exception\RuntimeException('Class does not exist.', Exception\RuntimeException::DOES_NOT_EXIST, $class); - } - $constant = $class->getConstantReflection($constantName); - } - - if ($return) { - return $constant->__toString(); - } - - echo $constant->__toString(); - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return null === $this->declaringClassName ? $this->aliases : $this->getDeclaringClass()->getNamespaceAliases(); - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return null === $this->declaringClassName ? parent::getPrettyName() : sprintf('%s::%s', $this->declaringClassName, $this->name); - } - - /** - * Returns if the constant definition is valid. - * - * @return boolean - */ - public function isValid() - { - return true; - } - - /** - * Processes the parent reflection object. - * - * @param \TokenReflection\IReflection $parent Parent reflection object - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionElement - * @throws \TokenReflection\Exception\ParseException If an invalid parent reflection object was provided. - */ - protected function processParent(IReflection $parent, Stream $tokenStream) - { - if ($parent instanceof ReflectionFileNamespace) { - $this->namespaceName = $parent->getName(); - $this->aliases = $parent->getNamespaceAliases(); - } elseif ($parent instanceof ReflectionClass) { - $this->declaringClassName = $parent->getName(); - } else { - throw new Exception\ParseException($this, $tokenStream, sprintf('Invalid parent reflection provided: "%s".', get_class($parent)), Exception\ParseException::INVALID_PARENT); - } - - return parent::processParent($parent, $tokenStream); - } - - /** - * Find the appropriate docblock. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection - * @return \TokenReflection\ReflectionConstant - */ - protected function parseDocComment(Stream $tokenStream, IReflection $parent) - { - $position = $tokenStream->key() - 1; - while ($position > 0 && !$tokenStream->is(T_CONST, $position)) { - $position--; - } - - $actual = $tokenStream->key(); - - parent::parseDocComment($tokenStream->seek($position), $parent); - - $tokenStream->seek($actual); - - return $this; - } - - /** - * Parses reflected element metadata from the token stream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionConstant - */ - protected function parse(Stream $tokenStream, IReflection $parent) - { - if ($tokenStream->is(T_CONST)) { - $tokenStream->skipWhitespaces(true); - } - - if (false === $this->docComment->getDocComment()) { - parent::parseDocComment($tokenStream, $parent); - } - - return $this - ->parseName($tokenStream) - ->parseValue($tokenStream, $parent); - } - - /** - * Parses the constant name. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionConstant - * @throws \TokenReflection\Exception\ParseReflection If the constant name could not be determined. - */ - protected function parseName(Stream $tokenStream) - { - if (!$tokenStream->is(T_STRING)) { - throw new Exception\ParseException($this, $tokenStream, 'The constant name could not be determined.', Exception\ParseException::LOGICAL_ERROR); - } - - if (null === $this->namespaceName || $this->namespaceName === ReflectionNamespace::NO_NAMESPACE_NAME) { - $this->name = $tokenStream->getTokenValue(); - } else { - $this->name = $this->namespaceName . '\\' . $tokenStream->getTokenValue(); - } - - $tokenStream->skipWhitespaces(true); - - return $this; - } - - /** - * Parses the constant value. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionConstant - * @throws \TokenReflection\Exception\ParseException If the constant value could not be determined. - */ - private function parseValue(Stream $tokenStream, IReflection $parent) - { - if (!$tokenStream->is('=')) { - throw new Exception\ParseException($this, $tokenStream, 'Could not find the definition start.', Exception\ParseException::UNEXPECTED_TOKEN); - } - - $tokenStream->skipWhitespaces(true); - - static $acceptedTokens = array( - '-' => true, - '+' => true, - T_STRING => true, - T_NS_SEPARATOR => true, - T_CONSTANT_ENCAPSED_STRING => true, - T_DNUMBER => true, - T_LNUMBER => true, - T_DOUBLE_COLON => true, - T_CLASS_C => true, - T_DIR => true, - T_FILE => true, - T_FUNC_C => true, - T_LINE => true, - T_METHOD_C => true, - T_NS_C => true, - T_TRAIT_C => true - ); - - while (null !== ($type = $tokenStream->getType())) { - if (T_START_HEREDOC === $type) { - $this->valueDefinition[] = $tokenStream->current(); - while (null !== $type && T_END_HEREDOC !== $type) { - $tokenStream->next(); - $this->valueDefinition[] = $tokenStream->current(); - $type = $tokenStream->getType(); - }; - $tokenStream->next(); - } elseif (isset($acceptedTokens[$type])) { - $this->valueDefinition[] = $tokenStream->current(); - $tokenStream->next(); - } elseif ($tokenStream->isWhitespace(true)) { - $tokenStream->skipWhitespaces(true); - } else { - break; - } - } - - if (empty($this->valueDefinition)) { - throw new Exception\ParseException($this, $tokenStream, 'Value definition is empty.', Exception\ParseException::LOGICAL_ERROR); - } - - $value = $tokenStream->getTokenValue(); - if (null === $type || (',' !== $value && ';' !== $value)) { - throw new Exception\ParseException($this, $tokenStream, 'Invalid value definition.', Exception\ParseException::LOGICAL_ERROR); - } - - return $this; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionElement.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionElement.php deleted file mode 100644 index b27f57df..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionElement.php +++ /dev/null @@ -1,352 +0,0 @@ -count()) { - throw new Exception\ParseException($this, $tokenStream, 'Reflection token stream must not be empty.', Exception\ParseException::INVALID_ARGUMENT); - } - - parent::__construct($tokenStream, $broker, $parent); - } - - /** - * Parses the token substream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - */ - final protected function parseStream(Stream $tokenStream, IReflection $parent = null) - { - $this->fileName = $tokenStream->getFileName(); - - $this - ->processParent($parent, $tokenStream) - ->parseStartLine($tokenStream) - ->parseDocComment($tokenStream, $parent) - ->parse($tokenStream, $parent) - ->parseChildren($tokenStream, $parent) - ->parseEndLine($tokenStream); - } - - /** - * Returns the file name the reflection object is defined in. - * - * @return string - */ - public function getFileName() - { - return $this->fileName; - } - - /** - * Returns a file reflection. - * - * @return \TokenReflection\ReflectionFile - * @throws \TokenReflection\Exception\RuntimeException If the file is not stored inside the broker - */ - public function getFileReflection() - { - return $this->getBroker()->getFile($this->fileName); - } - - /** - * Returns the definition start line number in the file. - * - * @return integer - */ - public function getStartLine() - { - return $this->startLine; - } - - /** - * Returns the definition end line number in the file. - * - * @return integer - */ - public function getEndLine() - { - return $this->endLine; - } - - /** - * Returns the PHP extension reflection. - * - * Alwyas returns null - everything is user defined. - * - * @return null - */ - public function getExtension() - { - return null; - } - - /** - * Returns the PHP extension name. - * - * Alwyas returns false - everything is user defined. - * - * @return boolean - */ - public function getExtensionName() - { - return false; - } - - /** - * Returns the appropriate source code part. - * - * @return string - */ - public function getSource() - { - return $this->broker->getFileTokens($this->getFileName())->getSourcePart($this->startPosition, $this->endPosition); - } - - /** - * Returns the start position in the file token stream. - * - * @return integer - */ - public function getStartPosition() - { - return $this->startPosition; - } - - /** - * Returns the end position in the file token stream. - * - * @return integer - */ - public function getEndPosition() - { - return $this->endPosition; - } - - /** - * Returns the stack of docblock templates. - * - * @return array - */ - protected function getDocblockTemplates() - { - return $this->docblockTemplates; - } - - /** - * Processes the parent reflection object. - * - * @param \TokenReflection\Reflection $parent Parent reflection object - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionElement - */ - protected function processParent(IReflection $parent, Stream $tokenStream) - { - // To be defined in child classes - return $this; - } - - /** - * Find the appropriate docblock. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection - * @return \TokenReflection\ReflectionElement - */ - protected function parseDocComment(Stream $tokenStream, IReflection $parent) - { - if ($this instanceof ReflectionParameter) { - $this->docComment = new ReflectionAnnotation($this); - return $this; - } - - $position = $tokenStream->key(); - - if ($tokenStream->is(T_DOC_COMMENT, $position - 1)) { - $value = $tokenStream->getTokenValue($position - 1); - if (self::DOCBLOCK_TEMPLATE_END !== $value) { - $this->docComment = new ReflectionAnnotation($this, $value); - $this->startPosition--; - } - } elseif ($tokenStream->is(T_DOC_COMMENT, $position - 2)) { - $value = $tokenStream->getTokenValue($position - 2); - if (self::DOCBLOCK_TEMPLATE_END !== $value) { - $this->docComment = new ReflectionAnnotation($this, $value); - $this->startPosition -= 2; - } - } elseif ($tokenStream->is(T_COMMENT, $position - 1) && preg_match('~^' . preg_quote(self::DOCBLOCK_TEMPLATE_START, '~') . '~', $tokenStream->getTokenValue($position - 1))) { - $this->docComment = new ReflectionAnnotation($this, $tokenStream->getTokenValue($position - 1)); - $this->startPosition--; - } elseif ($tokenStream->is(T_COMMENT, $position - 2) && preg_match('~^' . preg_quote(self::DOCBLOCK_TEMPLATE_START, '~') . '~', $tokenStream->getTokenValue($position - 2))) { - $this->docComment = new ReflectionAnnotation($this, $tokenStream->getTokenValue($position - 2)); - $this->startPosition -= 2; - } - - if (null === $this->docComment) { - $this->docComment = new ReflectionAnnotation($this); - } - - if ($parent instanceof ReflectionElement) { - $this->docComment->setTemplates($parent->getDocblockTemplates()); - } - - return $this; - } - - /** - * Saves the start line number. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token susbtream - * @return \TokenReflection\ReflectionElement - */ - private final function parseStartLine(Stream $tokenStream) - { - $token = $tokenStream->current(); - $this->startLine = $token[2]; - - $this->startPosition = $tokenStream->key(); - - return $this; - } - - /** - * Saves the end line number. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token susbtream - * @return \TokenReflection\ReflectionElement - */ - private final function parseEndLine(Stream $tokenStream) - { - $token = $tokenStream->current(); - $this->endLine = $token[2]; - - $this->endPosition = $tokenStream->key(); - - return $this; - } - - /** - * Parses reflected element metadata from the token stream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionElement - */ - abstract protected function parse(Stream $tokenStream, IReflection $parent); - - /** - * Parses the reflection object name. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionElement - */ - abstract protected function parseName(Stream $tokenStream); - - /** - * Parses child reflection objects from the token stream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\Reflection $parent Parent reflection object - * @return \TokenReflection\ReflectionElement - */ - protected function parseChildren(Stream $tokenStream, IReflection $parent) - { - // To be defined in child classes - return $this; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFile.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFile.php deleted file mode 100644 index 400e4840..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFile.php +++ /dev/null @@ -1,143 +0,0 @@ -namespaces; - } - - /** - * Returns the string representation of the reflection object. - * - * @throws \TokenReflection\Exception\RuntimeException If the method is called, because it's unsupported. - */ - public function __toString() - { - throw new Exception\RuntimeException('Casting to string is not supported.', Exception\RuntimeException::UNSUPPORTED, $this); - } - - /** - * Exports a reflected object. - * - * @param \TokenReflection\Broker $broker Broker instance - * @param string $argument Reflection object name - * @param boolean $return Return the export instead of outputting it - * @throws \TokenReflection\Exception\RuntimeException If the method is called, because it's unsupported. - */ - public static function export(Broker $broker, $argument, $return = false) - { - throw new Exception\RuntimeException('Export is not supported.', Exception\RuntimeException::UNSUPPORTED); - } - - /** - * Outputs the file source code. - * - * @return string - */ - public function getSource() - { - return (string) $this->broker->getFileTokens($this->getName()); - } - - /** - * Parses the token substream and prepares namespace reflections from the file. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionFile - */ - protected function parseStream(Stream $tokenStream, IReflection $parent = null) - { - $this->name = $tokenStream->getFileName(); - - if (1 >= $tokenStream->count()) { - // No PHP content - $this->docComment = new ReflectionAnnotation($this, null); - return $this; - } - - $docCommentPosition = null; - - if (!$tokenStream->is(T_OPEN_TAG)) { - $this->namespaces[] = new ReflectionFileNamespace($tokenStream, $this->broker, $this); - } else { - $tokenStream->skipWhitespaces(); - - while (null !== ($type = $tokenStream->getType())) { - switch ($type) { - case T_DOC_COMMENT: - if (null === $docCommentPosition) { - $docCommentPosition = $tokenStream->key(); - } - case T_WHITESPACE: - case T_COMMENT: - break; - case T_DECLARE: - // Intentionally twice call of skipWhitespaces() - $tokenStream - ->skipWhitespaces() - ->findMatchingBracket() - ->skipWhitespaces(); - break; - case T_NAMESPACE: - $docCommentPosition = $docCommentPosition ?: -1; - break 2; - default: - $docCommentPosition = $docCommentPosition ?: -1; - $this->namespaces[] = new ReflectionFileNamespace($tokenStream, $this->broker, $this); - break 2; - } - - $tokenStream->skipWhitespaces(); - } - - while (null !== ($type = $tokenStream->getType())) { - if (T_NAMESPACE === $type) { - $this->namespaces[] = new ReflectionFileNamespace($tokenStream, $this->broker, $this); - } else { - $tokenStream->skipWhitespaces(); - } - } - } - - if (null !== $docCommentPosition && !empty($this->namespaces) && $docCommentPosition === $this->namespaces[0]->getStartPosition()) { - $docCommentPosition = null; - } - $this->docComment = new ReflectionAnnotation($this, null !== $docCommentPosition ? $tokenStream->getTokenValue($docCommentPosition) : null); - - return $this; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFileNamespace.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFileNamespace.php deleted file mode 100644 index 9e7c66e0..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFileNamespace.php +++ /dev/null @@ -1,412 +0,0 @@ -classes; - } - - /** - * Returns constant reflections. - * - * @return array - */ - public function getConstants() - { - return $this->constants; - } - - /** - * Returns function reflections. - * - * @return array - */ - public function getFunctions() - { - return $this->functions; - } - - /** - * Returns all imported namespaces and aliases. - * - * @return array - */ - public function getNamespaceAliases() - { - return $this->aliases; - } - - /** - * Processes the parent reflection object. - * - * @param \TokenReflection\IReflection $parent Parent reflection object - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionElement - * @throws \TokenReflection\Exception\ParseException If an invalid parent reflection object was provided. - */ - protected function processParent(IReflection $parent, Stream $tokenStream) - { - if (!$parent instanceof ReflectionFile) { - throw new Exception\ParseException($this, $tokenStream, 'The parent object has to be an instance of TokenReflection\ReflectionFile.', Exception\ParseException::INVALID_PARENT); - } - - return parent::processParent($parent, $tokenStream); - } - - /** - * Parses reflected element metadata from the token stream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionFileNamespace - */ - protected function parse(Stream $tokenStream, IReflection $parent) - { - return $this->parseName($tokenStream); - } - - /** - * Find the appropriate docblock. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection - * @return \TokenReflection\ReflectionElement - */ - protected function parseDocComment(Stream $tokenStream, IReflection $parent) - { - if (!$tokenStream->is(T_NAMESPACE)) { - $this->docComment = new ReflectionAnnotation($this); - return $this; - } else { - return parent::parseDocComment($tokenStream, $parent); - } - } - - /** - * Parses the namespace name. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionFileNamespace - * @throws \TokenReflection\Exception\ParseException If the namespace name could not be determined. - */ - protected function parseName(Stream $tokenStream) - { - if (!$tokenStream->is(T_NAMESPACE)) { - $this->name = ReflectionNamespace::NO_NAMESPACE_NAME; - return $this; - } - - $tokenStream->skipWhitespaces(); - - $name = ''; - // Iterate over the token stream - while (true) { - switch ($tokenStream->getType()) { - // If the current token is a T_STRING, it is a part of the namespace name - case T_STRING: - case T_NS_SEPARATOR: - $name .= $tokenStream->getTokenValue(); - break; - default: - // Stop iterating when other token than string or ns separator found - break 2; - } - - $tokenStream->skipWhitespaces(true); - } - - $name = ltrim($name, '\\'); - - if (empty($name)) { - $this->name = ReflectionNamespace::NO_NAMESPACE_NAME; - } else { - $this->name = $name; - } - - if (!$tokenStream->is(';') && !$tokenStream->is('{')) { - throw new Exception\ParseException($this, $tokenStream, 'Invalid namespace name end, expecting ";" or "{".', Exception\ParseException::UNEXPECTED_TOKEN); - } - - $tokenStream->skipWhitespaces(); - - return $this; - } - - /** - * Parses child reflection objects from the token stream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionFileNamespace - * @throws \TokenReflection\Exception\ParseException If child elements could not be parsed. - */ - protected function parseChildren(Stream $tokenStream, IReflection $parent) - { - static $skipped = array(T_WHITESPACE => true, T_COMMENT => true, T_DOC_COMMENT => true); - $depth = 0; - - $firstChild = null; - - while (true) { - switch ($tokenStream->getType()) { - case T_USE: - while (true) { - $namespaceName = ''; - $alias = null; - - $tokenStream->skipWhitespaces(true); - - while (true) { - switch ($tokenStream->getType()) { - case T_STRING: - case T_NS_SEPARATOR: - $namespaceName .= $tokenStream->getTokenValue(); - break; - default: - break 2; - } - $tokenStream->skipWhitespaces(true); - } - $namespaceName = ltrim($namespaceName, '\\'); - - if (empty($namespaceName)) { - throw new Exception\ParseException($this, $tokenStream, 'Imported namespace name could not be determined.', Exception\ParseException::LOGICAL_ERROR); - } elseif ('\\' === substr($namespaceName, -1)) { - throw new Exception\ParseException($this, $tokenStream, sprintf('Invalid namespace name "%s".', $namespaceName), Exception\ParseException::LOGICAL_ERROR); - } - - if ($tokenStream->is(T_AS)) { - // Alias defined - $tokenStream->skipWhitespaces(true); - - if (!$tokenStream->is(T_STRING)) { - throw new Exception\ParseException($this, $tokenStream, sprintf('The imported namespace "%s" seems aliased but the alias name could not be determined.', $namespaceName), Exception\ParseException::LOGICAL_ERROR); - } - - $alias = $tokenStream->getTokenValue(); - - $tokenStream->skipWhitespaces(true); - } else { - // No explicit alias - if (false !== ($pos = strrpos($namespaceName, '\\'))) { - $alias = substr($namespaceName, $pos + 1); - } else { - $alias = $namespaceName; - } - } - - if (isset($this->aliases[$alias])) { - throw new Exception\ParseException($this, $tokenStream, sprintf('Namespace alias "%s" already defined.', $alias), Exception\ParseException::LOGICAL_ERROR); - } - - $this->aliases[$alias] = $namespaceName; - - $type = $tokenStream->getType(); - if (';' === $type) { - $tokenStream->skipWhitespaces(); - break 2; - } elseif (',' === $type) { - // Next namespace in the current "use" definition - continue; - } - - throw new Exception\ParseException($this, $tokenStream, 'Unexpected token found.', Exception\ParseException::UNEXPECTED_TOKEN); - } - - case T_COMMENT: - case T_DOC_COMMENT: - $docblock = $tokenStream->getTokenValue(); - if (preg_match('~^' . preg_quote(self::DOCBLOCK_TEMPLATE_START, '~') . '~', $docblock)) { - array_unshift($this->docblockTemplates, new ReflectionAnnotation($this, $docblock)); - } elseif (self::DOCBLOCK_TEMPLATE_END === $docblock) { - array_shift($this->docblockTemplates); - } - $tokenStream->next(); - break; - case '{': - $tokenStream->next(); - $depth++; - break; - case '}': - if (0 === $depth--) { - break 2; - } - - $tokenStream->next(); - break; - case null: - case T_NAMESPACE: - break 2; - case T_ABSTRACT: - case T_FINAL: - case T_CLASS: - case T_TRAIT: - case T_INTERFACE: - $class = new ReflectionClass($tokenStream, $this->getBroker(), $this); - $firstChild = $firstChild ?: $class; - - $className = $class->getName(); - if (isset($this->classes[$className])) { - if (!$this->classes[$className] instanceof Invalid\ReflectionClass) { - $this->classes[$className] = new Invalid\ReflectionClass($className, $this->classes[$className]->getFileName(), $this->getBroker()); - } - - if (!$this->classes[$className]->hasReasons()) { - $this->classes[$className]->addReason(new Exception\ParseException( - $this, - $tokenStream, - sprintf('Class %s is defined multiple times in the file.', $className), - Exception\ParseException::ALREADY_EXISTS - )); - } - } else { - $this->classes[$className] = $class; - } - $tokenStream->next(); - break; - case T_CONST: - $tokenStream->skipWhitespaces(true); - do { - $constant = new ReflectionConstant($tokenStream, $this->getBroker(), $this); - $firstChild = $firstChild ?: $constant; - - $constantName = $constant->getName(); - if (isset($this->constants[$constantName])) { - if (!$this->constants[$constantName] instanceof Invalid\ReflectionConstant) { - $this->constants[$constantName] = new Invalid\ReflectionConstant($constantName, $this->constants[$constantName]->getFileName(), $this->getBroker()); - } - - if (!$this->constants[$constantName]->hasReasons()) { - $this->constants[$constantName]->addReason(new Exception\ParseException( - $this, - $tokenStream, - sprintf('Constant %s is defined multiple times in the file.', $constantName), - Exception\ParseException::ALREADY_EXISTS - )); - } - } else { - $this->constants[$constantName] = $constant; - } - if ($tokenStream->is(',')) { - $tokenStream->skipWhitespaces(true); - } else { - $tokenStream->next(); - } - } while ($tokenStream->is(T_STRING)); - break; - case T_FUNCTION: - $position = $tokenStream->key() + 1; - while (isset($skipped[$type = $tokenStream->getType($position)])) { - $position++; - } - if ('(' === $type) { - // Skipping anonymous functions - - $tokenStream - ->seek($position) - ->findMatchingBracket() - ->skipWhiteSpaces(true); - - if ($tokenStream->is(T_USE)) { - $tokenStream - ->skipWhitespaces(true) - ->findMatchingBracket() - ->skipWhitespaces(true); - } - - $tokenStream - ->findMatchingBracket() - ->next(); - - continue; - } - - $function = new ReflectionFunction($tokenStream, $this->getBroker(), $this); - $firstChild = $firstChild ?: $function; - - $functionName = $function->getName(); - if (isset($this->functions[$functionName])) { - if (!$this->functions[$functionName] instanceof Invalid\ReflectionFunction) { - $this->functions[$functionName] = new Invalid\ReflectionFunction($functionName, $this->functions[$functionName]->getFileName(), $this->getBroker()); - } - - if (!$this->functions[$functionName]->hasReasons()) { - $this->functions[$functionName]->addReason(new Exception\ParseException( - $this, - $tokenStream, - sprintf('Function %s is defined multiple times in the file.', $functionName), - Exception\ParseException::ALREADY_EXISTS - )); - } - } else { - $this->functions[$functionName] = $function; - } - $tokenStream->next(); - break; - default: - $tokenStream->next(); - break; - } - } - - if ($firstChild) { - $this->startPosition = min($this->startPosition, $firstChild->getStartPosition()); - } - - return $this; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFunction.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFunction.php deleted file mode 100644 index 4d42f9b1..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFunction.php +++ /dev/null @@ -1,204 +0,0 @@ -hasAnnotation('disabled'); - } - - /** - * Returns the string representation of the reflection object. - * - * @return string - */ - public function __toString() - { - $parameters = ''; - if ($this->getNumberOfParameters() > 0) { - $buffer = ''; - foreach ($this->getParameters() as $parameter) { - $buffer .= "\n " . $parameter->__toString(); - } - $parameters = sprintf( - "\n\n - Parameters [%d] {%s\n }", - $this->getNumberOfParameters(), - $buffer - ); - } - return sprintf( - "%sFunction [ function %s%s ] {\n @@ %s %d - %d%s\n}\n", - $this->getDocComment() ? $this->getDocComment() . "\n" : '', - $this->returnsReference() ? '&' : '', - $this->getName(), - $this->getFileName(), - $this->getStartLine(), - $this->getEndLine(), - $parameters - ); - } - - /** - * Exports a reflected object. - * - * @param \TokenReflection\Broker $broker Broker instance - * @param string $function Function name - * @param boolean $return Return the export instead of outputting it - * @return string|null - * @throws \TokenReflection\Exception\RuntimeException If requested parameter doesn't exist. - */ - public static function export(Broker $broker, $function, $return = false) - { - $functionName = $function; - - $function = $broker->getFunction($functionName); - if (null === $function) { - throw new Exception\RuntimeException(sprintf('Function %s() does not exist.', $functionName), Exception\RuntimeException::DOES_NOT_EXIST); - } - - if ($return) { - return $function->__toString(); - } - - echo $function->__toString(); - } - - /** - * Calls the function. - * - * @return mixed - */ - public function invoke() - { - return $this->invokeArgs(func_get_args()); - } - - /** - * Calls the function. - * - * @param array $args Function parameter values - * @return mixed - * @throws \TokenReflection\Exception\RuntimeException If the required function does not exist. - */ - public function invokeArgs(array $args = array()) - { - if (!function_exists($this->getName())) { - throw new Exception\RuntimeException('Could not invoke function; function is not defined.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - return call_user_func_array($this->getName(), $args); - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return $this->aliases; - } - - /** - * Returns the function/method as closure. - * - * @return \Closure - */ - public function getClosure() - { - if (!function_exists($this->getName())) { - throw new Exception\RuntimeException('Could not invoke function; function is not defined.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - $that = $this; - return function() use ($that) { - return $that->invokeArgs(func_get_args()); - }; - } - - /** - * Returns the closure scope class. - * - * @return null - */ - public function getClosureScopeClass() - { - return null; - } - - /** - * Returns if the function definition is valid. - * - * @return boolean - */ - public function isValid() - { - return true; - } - - /** - * Processes the parent reflection object. - * - * @param \TokenReflection\IReflection $parent Parent reflection object - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionElement - * @throws \TokenReflection\Exception\ParseException If an invalid parent reflection object was provided. - */ - protected function processParent(IReflection $parent, Stream $tokenStream) - { - if (!$parent instanceof ReflectionFileNamespace) { - throw new Exception\ParseException($this, $tokenStream, 'The parent object has to be an instance of TokenReflection\ReflectionFileNamespace.', Exception\ParseException::INVALID_PARENT); - } - - $this->namespaceName = $parent->getName(); - $this->aliases = $parent->getNamespaceAliases(); - return parent::processParent($parent, $tokenStream); - } - - /** - * Parses reflected element metadata from the token stream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionFunction - */ - protected function parse(Stream $tokenStream, IReflection $parent) - { - return $this - ->parseReturnsReference($tokenStream) - ->parseName($tokenStream); - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFunctionBase.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFunctionBase.php deleted file mode 100644 index ec3eeef8..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionFunctionBase.php +++ /dev/null @@ -1,440 +0,0 @@ -namespaceName && ReflectionNamespace::NO_NAMESPACE_NAME !== $this->namespaceName) { - return $this->namespaceName . '\\' . $this->name; - } - - return $this->name; - } - - /** - * Returns the unqualified name (UQN). - * - * @return string - */ - public function getShortName() - { - return $this->name; - } - - /** - * Returns the namespace name. - * - * @return string - */ - public function getNamespaceName() - { - return null === $this->namespaceName || $this->namespaceName === ReflectionNamespace::NO_NAMESPACE_NAME ? '' : $this->namespaceName; - } - - /** - * Returns if the function/method is defined within a namespace. - * - * @return boolean - */ - public function inNamespace() - { - return '' !== $this->getNamespaceName(); - } - - /** - * Returns if the function/method is a closure. - * - * @return boolean - */ - public function isClosure() - { - return false; - } - - /** - * Returns this pointer bound to closure. - * - * @return null - */ - public function getClosureThis() - { - return null; - } - - /** - * Returns the closure scope class. - * - * @return string|null - */ - public function getClosureScopeClass() - { - return null; - } - - /** - * Returns if the function/method returns its value as reference. - * - * @return boolean - */ - public function returnsReference() - { - return $this->returnsReference; - } - - /** - * Returns a particular function/method parameter. - * - * @param integer|string $parameter Parameter name or position - * @return \TokenReflection\ReflectionParameter - * @throws \TokenReflection\Exception\RuntimeException If there is no parameter of the given name. - * @throws \TokenReflection\Exception\RuntimeException If there is no parameter at the given position. - */ - public function getParameter($parameter) - { - if (is_numeric($parameter)) { - if (!isset($this->parameters[$parameter])) { - throw new Exception\RuntimeException(sprintf('There is no parameter at position "%d".', $parameter), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - return $this->parameters[$parameter]; - } else { - foreach ($this->parameters as $reflection) { - if ($reflection->getName() === $parameter) { - return $reflection; - } - } - - throw new Exception\RuntimeException(sprintf('There is no parameter "%s".', $parameter), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - } - - /** - * Returns parameters. - * - * @return array - */ - public function getParameters() - { - return $this->parameters; - } - - /** - * Returns the number of parameters. - * - * @return integer - */ - public function getNumberOfParameters() - { - return count($this->parameters); - } - - /** - * Returns the number of required parameters. - * - * @return integer - */ - public function getNumberOfRequiredParameters() - { - $count = 0; - array_walk($this->parameters, function(ReflectionParameter $parameter) use (&$count) { - if (!$parameter->isOptional()) { - $count++; - } - }); - return $count; - } - - /** - * Returns static variables. - * - * @return array - */ - public function getStaticVariables() - { - if (empty($this->staticVariables) && !empty($this->staticVariablesDefinition)) { - foreach ($this->staticVariablesDefinition as $variableName => $variableDefinition) { - $this->staticVariables[$variableName] = Resolver::getValueDefinition($variableDefinition, $this); - } - } - - return $this->staticVariables; - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return $this->name . '()'; - } - - /** - * Creates aliases to parameters. - * - * @throws \TokenReflection\Exception\RuntimeException When called on a ReflectionFunction instance. - */ - protected final function aliasParameters() - { - if (!$this instanceof ReflectionMethod) { - throw new Exception\RuntimeException('Only method parameters can be aliased.', Exception\RuntimeException::UNSUPPORTED, $this); - } - - foreach ($this->parameters as $index => $parameter) { - $this->parameters[$index] = $parameter->alias($this); - } - } - - /** - * Parses if the function/method returns its value as reference. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionFunctionBase - * @throws \TokenReflection\Exception\ParseException If could not be determined if the function\method returns its value by reference. - */ - final protected function parseReturnsReference(Stream $tokenStream) - { - if (!$tokenStream->is(T_FUNCTION)) { - throw new Exception\ParseException($this, $tokenStream, 'Could not find the function keyword.', Exception\ParseException::UNEXPECTED_TOKEN); - } - - $tokenStream->skipWhitespaces(true); - - $type = $tokenStream->getType(); - - if ('&' === $type) { - $this->returnsReference = true; - $tokenStream->skipWhitespaces(true); - } elseif (T_STRING !== $type) { - throw new Exception\ParseException($this, $tokenStream, 'Unexpected token found.', Exception\ParseException::UNEXPECTED_TOKEN); - } - - return $this; - } - - /** - * Parses the function/method name. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionMethod - * @throws \TokenReflection\Exception\ParseException If the class name could not be determined. - */ - final protected function parseName(Stream $tokenStream) - { - $this->name = $tokenStream->getTokenValue(); - - $tokenStream->skipWhitespaces(true); - - return $this; - } - - /** - * Parses child reflection objects from the token stream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionElement - */ - final protected function parseChildren(Stream $tokenStream, IReflection $parent) - { - return $this - ->parseParameters($tokenStream) - ->parseStaticVariables($tokenStream); - } - - /** - * Parses function/method parameters. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionFunctionBase - * @throws \TokenReflection\Exception\ParseException If parameters could not be parsed. - */ - final protected function parseParameters(Stream $tokenStream) - { - if (!$tokenStream->is('(')) { - throw new Exception\ParseException($this, $tokenStream, 'Could find the start token.', Exception\ParseException::UNEXPECTED_TOKEN); - } - - static $accepted = array(T_NS_SEPARATOR => true, T_STRING => true, T_ARRAY => true, T_CALLABLE => true, T_VARIABLE => true, '&' => true); - - $tokenStream->skipWhitespaces(true); - - while (null !== ($type = $tokenStream->getType()) && ')' !== $type) { - if (isset($accepted[$type])) { - $parameter = new ReflectionParameter($tokenStream, $this->getBroker(), $this); - $this->parameters[] = $parameter; - } - - if ($tokenStream->is(')')) { - break; - } - - $tokenStream->skipWhitespaces(true); - } - - $tokenStream->skipWhitespaces(); - - return $this; - } - - /** - * Parses static variables. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionFunctionBase - * @throws \TokenReflection\Exception\ParseException If static variables could not be parsed. - */ - final protected function parseStaticVariables(Stream $tokenStream) - { - $type = $tokenStream->getType(); - if ('{' === $type) { - if ($this->getBroker()->isOptionSet(Broker::OPTION_PARSE_FUNCTION_BODY)) { - $tokenStream->skipWhitespaces(true); - - while ('}' !== ($type = $tokenStream->getType())) { - switch ($type) { - case T_STATIC: - $type = $tokenStream->skipWhitespaces(true)->getType(); - if (T_VARIABLE !== $type) { - // Late static binding - break; - } - - while (T_VARIABLE === $type) { - $variableName = $tokenStream->getTokenValue(); - $variableDefinition = array(); - - $type = $tokenStream->skipWhitespaces(true)->getType(); - if ('=' === $type) { - $type = $tokenStream->skipWhitespaces(true)->getType(); - $level = 0; - while ($tokenStream->valid()) { - switch ($type) { - case '(': - case '[': - case '{': - case T_CURLY_OPEN: - case T_DOLLAR_OPEN_CURLY_BRACES: - $level++; - break; - case ')': - case ']': - case '}': - $level--; - break; - case ';': - case ',': - if (0 === $level) { - break 2; - } - default: - break; - } - - $variableDefinition[] = $tokenStream->current(); - $type = $tokenStream->skipWhitespaces(true)->getType(); - } - - if (!$tokenStream->valid()) { - throw new Exception\ParseException($this, $tokenStream, 'Invalid end of token stream.', Exception\ParseException::READ_BEYOND_EOS); - } - } - - $this->staticVariablesDefinition[substr($variableName, 1)] = $variableDefinition; - - if (',' === $type) { - $type = $tokenStream->skipWhitespaces(true)->getType(); - } else { - break; - } - } - - break; - case T_FUNCTION: - // Anonymous function -> skip to its end - if (!$tokenStream->find('{')) { - throw new Exception\ParseException($this, $tokenStream, 'Could not find beginning of the anonymous function.', Exception\ParseException::UNEXPECTED_TOKEN); - } - // Break missing intentionally - case '{': - case '[': - case '(': - case T_CURLY_OPEN: - case T_DOLLAR_OPEN_CURLY_BRACES: - $tokenStream->findMatchingBracket()->skipWhitespaces(true); - break; - default: - $tokenStream->skipWhitespaces(); - break; - } - } - } else { - $tokenStream->findMatchingBracket(); - } - } elseif (';' !== $type) { - throw new Exception\ParseException($this, $tokenStream, 'Unexpected token found.', Exception\ParseException::UNEXPECTED_TOKEN); - } - - return $this; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionMethod.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionMethod.php deleted file mode 100644 index 7f1120d6..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionMethod.php +++ /dev/null @@ -1,775 +0,0 @@ -declaringClassName ? null : $this->getBroker()->getClass($this->declaringClassName); - } - - /** - * Returns the declaring class name. - * - * @return string|null - */ - public function getDeclaringClassName() - { - return $this->declaringClassName; - } - - /** - * Returns method modifiers. - * - * @return integer - */ - public function getModifiers() - { - if (!$this->modifiersComplete && !($this->modifiers & (self::ACCESS_LEVEL_CHANGED | self::IS_IMPLEMENTED_ABSTRACT))) { - $declaringClass = $this->getDeclaringClass(); - $parentClass = $declaringClass->getParentClass(); - if (false !== $parentClass && $parentClass->hasMethod($this->name)) { - $parentClassMethod = $parentClass->getMethod($this->name); - - // Access level changed - if (($this->isPublic() || $this->isProtected()) && $parentClassMethod->is(self::ACCESS_LEVEL_CHANGED | InternalReflectionMethod::IS_PRIVATE)) { - $this->modifiers |= self::ACCESS_LEVEL_CHANGED; - } - - // Implemented abstract - if ($parentClassMethod->isAbstract() && !$this->isAbstract()) { - $this->modifiers |= self::IS_IMPLEMENTED_ABSTRACT; - } - } else { - // Check if it is an implementation of an interface method - foreach ($declaringClass->getInterfaces() as $interface) { - if ($interface->hasOwnMethod($this->name)) { - $this->modifiers |= self::IS_IMPLEMENTED_ABSTRACT; - break; - } - } - } - - // Set if modifiers definition is complete - $this->modifiersComplete = $this->isComplete() || (($this->modifiers & self::IS_IMPLEMENTED_ABSTRACT) && ($this->modifiers & self::ACCESS_LEVEL_CHANGED)); - } - - return $this->modifiers; - } - - /** - * Returns if the method is abstract. - * - * @return boolean - */ - public function isAbstract() - { - return (bool) ($this->modifiers & InternalReflectionMethod::IS_ABSTRACT); - } - - /** - * Returns if the method is final. - * - * @return boolean - */ - public function isFinal() - { - return (bool) ($this->modifiers & InternalReflectionMethod::IS_FINAL); - } - - /** - * Returns if the method is private. - * - * @return boolean - */ - public function isPrivate() - { - return (bool) ($this->modifiers & InternalReflectionMethod::IS_PRIVATE); - } - - /** - * Returns if the method is protected. - * - * @return boolean - */ - public function isProtected() - { - return (bool) ($this->modifiers & InternalReflectionMethod::IS_PROTECTED); - } - - /** - * Returns if the method is public. - * - * @return boolean - */ - public function isPublic() - { - return (bool) ($this->modifiers & InternalReflectionMethod::IS_PUBLIC); - } - - /** - * Returns if the method is static. - * - * @return boolean - */ - public function isStatic() - { - return (bool) ($this->modifiers & InternalReflectionMethod::IS_STATIC); - } - - /** - * Shortcut for isPublic(), ... methods that allows or-ed modifiers. - * - * The {@see getModifiers()} method is called only when really necessary making this - * a more efficient way of doing - * - * if ($method->getModifiers() & $filter) { - * ... - * } - * - * - * @param integer $filter Filter - * @return boolean - */ - public function is($filter = null) - { - // See self::ACCESS_LEVEL_CHANGED | self::IS_IMPLEMENTED_ABSTRACT - static $computedModifiers = 0x808; - - if (null === $filter || ($this->modifiers & $filter)) { - return true; - } elseif (($filter & $computedModifiers) && !$this->modifiersComplete) { - return (bool) ($this->getModifiers() & $filter); - } - - return false; - } - - /** - * Returns if the method is a constructor. - * - * @return boolean - */ - public function isConstructor() - { - return (bool) ($this->modifiers & self::IS_CONSTRUCTOR); - } - - /** - * Returns if the method is a destructor. - * - * @return boolean - */ - public function isDestructor() - { - return (bool) ($this->modifiers & self::IS_DESTRUCTOR); - } - - /** - * Returns the method prototype. - * - * @return \TokenReflection\ReflectionMethod - * @throws \TokenReflection\Exception\RuntimeException If the method has no prototype. - */ - public function getPrototype() - { - if (null === $this->prototype) { - $prototype = null; - - $declaring = $this->getDeclaringClass(); - if (($parent = $declaring->getParentClass()) && $parent->hasMethod($this->name)) { - $method = $parent->getMethod($this->name); - - if (!$method->isPrivate()) { - try { - $prototype = $method->getPrototype(); - } catch (Exception\RuntimeException $e) { - $prototype = $method; - } - } - } - - if (null === $prototype) { - foreach ($declaring->getOwnInterfaces() as $interface) { - if ($interface->hasMethod($this->name)) { - $prototype = $interface->getMethod($this->name); - break; - } - } - } - - $this->prototype = $prototype ?: ($this->isComplete() ? false : null); - } - - if (empty($this->prototype)) { - throw new Exception\RuntimeException('Method has no prototype.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - return $this->prototype; - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return sprintf('%s::%s', $this->declaringClassName ?: $this->declaringTraitName, parent::getPrettyName()); - } - - /** - * Returns the string representation of the reflection object. - * - * @return string - */ - public function __toString() - { - $internal = ''; - $overwrite = ''; - $prototype = ''; - - $declaringClassParent = $this->getDeclaringClass()->getParentClass(); - try { - $prototype = ', prototype ' . $this->getPrototype()->getDeclaringClassName(); - } catch (Exception\RuntimeException $e) { - if ($declaringClassParent && $declaringClassParent->isInternal()) { - $internal = 'internal:' . $parentClass->getExtensionName(); - } - } - - if ($declaringClassParent && $declaringClassParent->hasMethod($this->name)) { - $parentMethod = $declaringClassParent->getMethod($this->name); - $overwrite = ', overwrites ' . $parentMethod->getDeclaringClassName(); - } - - if ($this->isConstructor()) { - $cdtor = ', ctor'; - } elseif ($this->isDestructor()) { - $cdtor = ', dtor'; - } else { - $cdtor = ''; - } - - $parameters = ''; - if ($this->getNumberOfParameters() > 0) { - $buffer = ''; - foreach ($this->getParameters() as $parameter) { - $buffer .= "\n " . $parameter->__toString(); - } - $parameters = sprintf( - "\n\n - Parameters [%d] {%s\n }", - $this->getNumberOfParameters(), - $buffer - ); - } - // @todo support inherits - return sprintf( - "%sMethod [ <%s%s%s%s> %s%s%s%s%s%s method %s%s ] {\n @@ %s %d - %d%s\n}\n", - $this->getDocComment() ? $this->getDocComment() . "\n" : '', - !empty($internal) ? $internal : 'user', - $overwrite, - $prototype, - $cdtor, - $this->isAbstract() ? 'abstract ' : '', - $this->isFinal() ? 'final ' : '', - $this->isStatic() ? 'static ' : '', - $this->isPublic() ? 'public' : '', - $this->isPrivate() ? 'private' : '', - $this->isProtected() ? 'protected' : '', - $this->returnsReference() ? '&' : '', - $this->getName(), - $this->getFileName(), - $this->getStartLine(), - $this->getEndLine(), - $parameters - ); - } - - /** - * Exports a reflected object. - * - * @param \TokenReflection\Broker $broker Broker instance - * @param string|object $class Class name or class instance - * @param string $method Method name - * @param boolean $return Return the export instead of outputting it - * @return string|null - * @throws \TokenReflection\Exception\RuntimeException If requested parameter doesn't exist. - */ - public static function export(Broker $broker, $class, $method, $return = false) - { - $className = is_object($class) ? get_class($class) : $class; - $methodName = $method; - - $class = $broker->getClass($className); - if ($class instanceof Invalid\ReflectionClass) { - throw new Exception\RuntimeException('Class is invalid.', Exception\RuntimeException::UNSUPPORTED); - } elseif ($class instanceof Dummy\ReflectionClass) { - throw new Exception\RuntimeException(sprintf('Class %s does not exist.', $className), Exception\RuntimeException::DOES_NOT_EXIST); - } - $method = $class->getMethod($methodName); - - if ($return) { - return $method->__toString(); - } - - echo $method->__toString(); - } - - /** - * Calls the method on an given instance. - * - * @param object $object Class instance - * @param mixed $args - * @return mixed - */ - public function invoke($object, $args) - { - $params = func_get_args(); - return $this->invokeArgs(array_shift($params), $params); - } - - /** - * Calls the method on an given object. - * - * @param object $object Class instance - * @param array $args Method parameter values - * @return mixed - * @throws \TokenReflection\Exception\RuntimeException If it is not possible to invoke the method. - */ - public function invokeArgs($object, array $args = array()) - { - $declaringClass = $this->getDeclaringClass(); - if (!$declaringClass->isInstance($object)) { - throw new Exception\RuntimeException(sprintf('Expected instance of or subclass of "%s".', $this->declaringClassName), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - if ($this->isPublic()) { - return call_user_func_array(array($object, $this->getName()), $args); - } elseif ($this->isAccessible()) { - $refClass = new InternalReflectionClass($object); - $refMethod = $refClass->getMethod($this->name); - - $refMethod->setAccessible(true); - $value = $refMethod->invokeArgs($object, $args); - $refMethod->setAccessible(false); - - return $value; - } - - throw new Exception\RuntimeException('Only public methods can be invoked.', Exception\RuntimeException::NOT_ACCESSBILE, $this); - } - - /** - * Returns if the property is set accessible. - * - * @return boolean - */ - public function isAccessible() - { - return $this->accessible; - } - - /** - * Sets a method to be accessible or not. - * - * @param boolean $accessible - */ - public function setAccessible($accessible) - { - $this->accessible = (bool) $accessible; - } - - /** - * Returns if the definition is complete. - * - * Technically returns if the declaring class definition is complete. - * - * @return boolean - */ - private function isComplete() - { - return $this->getDeclaringClass()->isComplete(); - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return $this->getDeclaringClass()->getNamespaceAliases(); - } - - /** - * Returns the function/method as closure. - * - * @param object $object Object - * @return \Closure - */ - public function getClosure($object) - { - $declaringClass = $this->getDeclaringClass(); - if (!$declaringClass->isInstance($object)) { - throw new Exception\RuntimeException(sprintf('Expected instance of or subclass of "%s".', $this->declaringClassName), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - $that = $this; - return function() use ($object, $that) { - return $that->invokeArgs($object, func_get_args()); - }; - } - - /** - * Creates a method alias of the given name and access level for the given class. - * - * @param \TokenReflection\ReflectionClass $parent New parent class - * @param string $name New method name - * @param integer $accessLevel New access level - * @return \TokenReflection\ReflectionMethod - * @throws \TokenReflection\Exception\RuntimeException If an invalid method access level was found. - */ - public function alias(ReflectionClass $parent, $name = null, $accessLevel = null) - { - static $possibleLevels = array(InternalReflectionMethod::IS_PUBLIC => true, InternalReflectionMethod::IS_PROTECTED => true, InternalReflectionMethod::IS_PRIVATE => true); - - $method = clone $this; - - $method->declaringClassName = $parent->getName(); - if (null !== $name) { - $method->originalName = $this->name; - $method->name = $name; - } - if (null !== $accessLevel) { - if (!isset($possibleLevels[$accessLevel])) { - throw new Exception\RuntimeException(sprintf('Invalid method access level: "%s".', $accessLevel), Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - $method->modifiers &= ~(InternalReflectionMethod::IS_PUBLIC | InternalReflectionMethod::IS_PROTECTED | InternalReflectionMethod::IS_PRIVATE); - $method->modifiers |= $accessLevel; - - $method->originalModifiers = $this->getModifiers(); - } - - foreach ($this->parameters as $parameterName => $parameter) { - $method->parameters[$parameterName] = $parameter->alias($method); - } - - return $method; - } - - /** - * Returns the original name when importing from a trait. - * - * @return string|null - */ - public function getOriginalName() - { - return $this->originalName; - } - - /** - * Returns the original method when importing from a trait. - * - * @return \TokenReflection\IReflectionMethod|null - */ - public function getOriginal() - { - return $this->original; - } - - /** - * Returns the original modifiers value when importing from a trait. - * - * @return integer|null - */ - public function getOriginalModifiers() - { - return $this->originalModifiers; - } - - /** - * Returns the defining trait. - * - * @return \TokenReflection\IReflectionClass|null - */ - public function getDeclaringTrait() - { - return null === $this->declaringTraitName ? null : $this->getBroker()->getClass($this->declaringTraitName); - } - - /** - * Returns the declaring trait name. - * - * @return string|null - */ - public function getDeclaringTraitName() - { - return $this->declaringTraitName; - } - - /** - * Processes the parent reflection object. - * - * @param \TokenReflection\IReflection $parent Parent reflection object - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionElement - * @throws \TokenReflection\Exception\ParseException If an invalid parent reflection object was provided. - */ - protected function processParent(IReflection $parent, Stream $tokenStream) - { - if (!$parent instanceof ReflectionClass) { - throw new Exception\ParseException($this, $tokenStream, 'The parent object has to be an instance of TokenReflection\ReflectionClass.', Exception\ParseException::INVALID_PARENT); - } - - $this->declaringClassName = $parent->getName(); - if ($parent->isTrait()) { - $this->declaringTraitName = $parent->getName(); - } - return parent::processParent($parent, $tokenStream); - } - - /** - * Parses reflected element metadata from the token stream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionMethod - * @throws \TokenReflection\Exception\Parse If the class could not be parsed. - */ - protected function parse(Stream $tokenStream, IReflection $parent) - { - return $this - ->parseBaseModifiers($tokenStream) - ->parseReturnsReference($tokenStream) - ->parseName($tokenStream) - ->parseInternalModifiers($parent); - } - - /** - * Parses base method modifiers (abstract, final, public, ...). - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionMethod - */ - private function parseBaseModifiers(Stream $tokenStream) - { - while (true) { - switch ($tokenStream->getType()) { - case T_ABSTRACT: - $this->modifiers |= InternalReflectionMethod::IS_ABSTRACT; - break; - case T_FINAL: - $this->modifiers |= InternalReflectionMethod::IS_FINAL; - break; - case T_PUBLIC: - $this->modifiers |= InternalReflectionMethod::IS_PUBLIC; - break; - case T_PRIVATE: - $this->modifiers |= InternalReflectionMethod::IS_PRIVATE; - break; - case T_PROTECTED: - $this->modifiers |= InternalReflectionMethod::IS_PROTECTED; - break; - case T_STATIC: - $this->modifiers |= InternalReflectionMethod::IS_STATIC; - break; - case T_FUNCTION: - case null: - break 2; - default: - break; - } - - $tokenStream->skipWhitespaces(); - } - - if (!($this->modifiers & (InternalReflectionMethod::IS_PRIVATE | InternalReflectionMethod::IS_PROTECTED))) { - $this->modifiers |= InternalReflectionMethod::IS_PUBLIC; - } - - return $this; - } - - /** - * Parses internal PHP method modifiers (abstract, final, public, ...). - * - * @param \TokenReflection\ReflectionClass $class Parent class - * @return \TokenReflection\ReflectionMethod - */ - private function parseInternalModifiers(ReflectionClass $class) - { - $name = strtolower($this->name); - // In PHP 5.3.3+ the ctor can be named only __construct in namespaced classes - if ('__construct' === $name || ((!$class->inNamespace() || PHP_VERSION_ID < 50303) && strtolower($class->getShortName()) === $name)) { - $this->modifiers |= self::IS_CONSTRUCTOR; - } elseif ('__destruct' === $name) { - $this->modifiers |= self::IS_DESTRUCTOR; - } elseif ('__clone' === $name) { - $this->modifiers |= self::IS_CLONE; - } - - if ($class->isInterface()) { - $this->modifiers |= InternalReflectionMethod::IS_ABSTRACT; - } else { - // Can be called statically, see http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/Zend/zend_API.c?revision=309853&view=markup#l1795 - static $notAllowed = array('__clone' => true, '__tostring' => true, '__get' => true, '__set' => true, '__isset' => true, '__unset' => true); - if (!$this->isStatic() && !$this->isConstructor() && !$this->isDestructor() && !isset($notAllowed[$name])) { - $this->modifiers |= self::IS_ALLOWED_STATIC; - } - } - - return $this; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionNamespace.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionNamespace.php deleted file mode 100644 index 6586de31..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionNamespace.php +++ /dev/null @@ -1,558 +0,0 @@ -name = $name; - $this->broker = $broker; - } - - /** - * Returns the name. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Returns if the namespace is internal. - * - * Always false. - * - * @return boolean - */ - public function isInternal() - { - return false; - } - - /** - * Returns if the namespace is user defined. - * - * Always true. - * - * @return boolean - */ - public function isUserDefined() - { - return true; - } - - /** - * Returns if the current reflection comes from a tokenized source. - * - * @return boolean - */ - public function isTokenized() - { - return true; - } - - /** - * Returns if the namespace contains a class of the given name. - * - * @param string $className Class name - * @return boolean - */ - public function hasClass($className) - { - $className = ltrim($className, '\\'); - if (false === strpos($className, '\\') && self::NO_NAMESPACE_NAME !== $this->getName()) { - $className = $this->getName() . '\\' . $className; - } - - return isset($this->classes[$className]); - } - - /** - * Return a class reflection. - * - * @param string $className Class name - * @return \TokenReflection\ReflectionClass - * @throws \TokenReflection\Exception\RuntimeException If the requested class reflection does not exist. - */ - public function getClass($className) - { - $className = ltrim($className, '\\'); - if (false === strpos($className, '\\') && self::NO_NAMESPACE_NAME !== $this->getName()) { - $className = $this->getName() . '\\' . $className; - } - - if (!isset($this->classes[$className])) { - throw new Exception\RuntimeException(sprintf('Class "%s" does not exist.', $className), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - return $this->classes[$className]; - } - - /** - * Returns class reflections. - * - * @return array - */ - public function getClasses() - { - return $this->classes; - } - - /** - * Returns class names (FQN). - * - * @return array - */ - public function getClassNames() - { - return array_keys($this->classes); - } - - /** - * Returns class unqualified names (UQN). - * - * @return array - */ - public function getClassShortNames() - { - return array_map(function(IReflectionClass $class) { - return $class->getShortName(); - }, $this->classes); - } - - /** - * Returns if the namespace contains a constant of the given name. - * - * @param string $constantName Constant name - * @return boolean - */ - public function hasConstant($constantName) - { - $constantName = ltrim($constantName, '\\'); - if (false === strpos($constantName, '\\') && self::NO_NAMESPACE_NAME !== $this->getName()) { - $constantName = $this->getName() . '\\' . $constantName; - } - - return isset($this->constants[$constantName]); - } - - /** - * Returns a constant reflection. - * - * @param string $constantName Constant name - * @return \TokenReflection\ReflectionConstant - * @throws \TokenReflection\Exception\RuntimeException If the required constant does not exist. - */ - public function getConstant($constantName) - { - $constantName = ltrim($constantName, '\\'); - if (false === strpos($constantName, '\\') && self::NO_NAMESPACE_NAME !== $this->getName()) { - $constantName = $this->getName() . '\\' . $constantName; - } - - if (!isset($this->constants[$constantName])) { - throw new Exception\RuntimeException(sprintf('Constant "%s" does not exist.', $constantName), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - return $this->constants[$constantName]; - } - - /** - * Returns constant reflections. - * - * @return array - */ - public function getConstants() - { - return $this->constants; - } - - /** - * Returns constant names (FQN). - * - * @return array - */ - public function getConstantNames() - { - return array_keys($this->constants); - } - - /** - * Returns constant unqualified names (UQN). - * - * @return array - */ - public function getConstantShortNames() - { - return array_map(function(IReflectionConstant $constant) { - return $constant->getShortName(); - }, $this->constants); - } - - /** - * Returns if the namespace contains a function of the given name. - * - * @param string $functionName Function name - * @return boolean - */ - public function hasFunction($functionName) - { - $functionName = ltrim($functionName, '\\'); - if (false === strpos($functionName, '\\') && self::NO_NAMESPACE_NAME !== $this->getName()) { - $functionName = $this->getName() . '\\' . $functionName; - } - - return isset($this->functions[$functionName]); - } - - /** - * Returns a function reflection. - * - * @param string $functionName Function name - * @return \TokenReflection\ReflectionFunction - * @throws \TokenReflection\Exception\RuntimeException If the required function does not exist. - */ - public function getFunction($functionName) - { - $functionName = ltrim($functionName, '\\'); - if (false === strpos($functionName, '\\') && self::NO_NAMESPACE_NAME !== $this->getName()) { - $functionName = $this->getName() . '\\' . $functionName; - } - - if (!isset($this->functions[$functionName])) { - throw new Exception\RuntimeException(sprintf('Function "%s" does not exist.', $functionName), Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - return $this->functions[$functionName]; - } - - /** - * Returns function reflections. - * - * @return array - */ - public function getFunctions() - { - return $this->functions; - } - - /** - * Returns function names (FQN). - * - * @return array - */ - public function getFunctionNames() - { - return array_keys($this->functions); - } - - /** - * Returns function unqualified names (UQN). - * - * @return array - */ - public function getFunctionShortNames() - { - return array_map(function(IReflectionFunction $function) { - return $function->getShortName(); - }, $this->functions); - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return $this->name; - } - - /** - * Returns the string representation of the reflection object. - * - * @return string - */ - public function __toString() - { - $buffer = ''; - $count = 0; - foreach ($this->getClasses() as $class) { - $string = "\n " . trim(str_replace("\n", "\n ", $class->__toString()), ' '); - $string = str_replace(" \n - Parameters", "\n - Parameters", $string); - - $buffer .= $string; - $count++; - } - $classes = sprintf("\n\n - Classes [%d] {\n%s }", $count, ltrim($buffer, "\n")); - - $buffer = ''; - $count = 0; - foreach ($this->getConstants() as $constant) { - $buffer .= ' ' . $constant->__toString(); - $count++; - } - $constants = sprintf("\n\n - Constants [%d] {\n%s }", $count, $buffer); - - $buffer = ''; - $count = 0; - foreach ($this->getFunctions() as $function) { - $string = "\n " . trim(str_replace("\n", "\n ", $function->__toString()), ' '); - $string = str_replace(" \n - Parameters", "\n - Parameters", $string); - - $buffer .= $string; - $count++; - } - $functions = sprintf("\n\n - Functions [%d] {\n%s }", $count, ltrim($buffer, "\n")); - - return sprintf( - "Namespace [ namespace %s ] { %s%s%s\n}\n", - $this->getName(), - $classes, - $constants, - $functions - ); - } - - /** - * Exports a reflected object. - * - * @param \TokenReflection\Broker $broker Broker instance - * @param string $namespace Namespace name - * @param boolean $return Return the export instead of outputting it - * @return string|null - * @throws \TokenReflection\Exception\RuntimeException If requested parameter doesn't exist. - */ - public static function export(Broker $broker, $namespace, $return = false) - { - $namespaceName = $namespace; - - $namespace = $broker->getNamespace($namespaceName); - if (null === $namespace) { - throw new Exception\RuntimeException(sprintf('Namespace %s does not exist.', $namespaceName), Exception\RuntimeException::DOES_NOT_EXIST); - } - - if ($return) { - return $namespace->__toString(); - } - - echo $namespace->__toString(); - } - - /** - * Adds a namespace part from a file. - * - * @param \TokenReflection\ReflectionFileNamespace $namespace Namespace part - * @return \TokenReflection\ReflectionNamespace - * @throws \TokenReflection\Exception\FileProcessingException If one of classes, functions or constants form the namespace are already defined - */ - public function addFileNamespace(ReflectionFileNamespace $namespace) - { - $errors = array(); - - foreach ($namespace->getClasses() as $className => $reflection) { - if ($reflection instanceof Invalid\ReflectionClass) { - $errors = array_merge($errors, $reflection->getReasons()); - } - - if (isset($this->classes[$className])) { - if (!$this->classes[$className] instanceof Invalid\ReflectionClass) { - $this->classes[$className] = new Invalid\ReflectionClass($className, $this->classes[$className]->getFileName(), $this->getBroker()); - } - - $error = new Exception\RuntimeException( - sprintf('Class %s was redeclared (previously declared in file %s).', $className, $this->classes[$className]->getFileName()), - Exception\RuntimeException::ALREADY_EXISTS, - $reflection - ); - $errors[] = $error; - $this->classes[$className]->addReason($error); - - if ($reflection instanceof Invalid\ReflectionClass) { - foreach ($reflection->getReasons() as $reason) { - $this->classes[$className]->addReason($reason); - } - } - } else { - $this->classes[$className] = $reflection; - } - } - - foreach ($namespace->getFunctions() as $functionName => $reflection) { - if ($reflection instanceof Invalid\ReflectionFunction) { - $errors = array_merge($errors, $reflection->getReasons()); - } - - if (isset($this->functions[$functionName])) { - if (!$this->functions[$functionName] instanceof Invalid\ReflectionFunction) { - $this->functions[$functionName] = new Invalid\ReflectionFunction($functionName, $this->functions[$functionName]->getFileName(), $this->getBroker()); - } - - $error = new Exception\RuntimeException( - sprintf('Function %s was redeclared (previousy declared in file %s).', $functionName, $this->functions[$functionName]->getFileName()), - Exception\RuntimeException::ALREADY_EXISTS, - $reflection - ); - $errors[] = $error; - $this->functions[$functionName]->addReason($error); - - if ($reflection instanceof Invalid\ReflectionFunction) { - foreach ($reflection->getReasons() as $reason) { - $this->functions[$functionName]->addReason($reason); - } - } - } else { - $this->functions[$functionName] = $reflection; - } - } - - foreach ($namespace->getConstants() as $constantName => $reflection) { - if ($reflection instanceof Invalid\ReflectionConstant) { - $errors = array_merge($errors, $reflection->getReasons()); - } - - if (isset($this->constants[$constantName])) { - if (!$this->constants[$constantName] instanceof Invalid\ReflectionConstant) { - $this->constants[$constantName] = new Invalid\ReflectionConstant($constantName, $this->constants[$constantName]->getFileName(), $this->getBroker()); - } - - $error = new Exception\RuntimeException( - sprintf('Constant %s was redeclared (previuosly declared in file %s).', $constantName, $this->constants[$constantName]->getFileName()), - Exception\RuntimeException::ALREADY_EXISTS, - $reflection - ); - $errors[] = $error; - $this->constants[$constantName]->addReason($error); - - if ($reflection instanceof Invalid\ReflectionConstant) { - foreach ($reflection->getReasons() as $reason) { - $this->constants[$constantName]->addReason($reason); - } - } - } else { - $this->constants[$constantName] = $reflection; - } - } - - if (!empty($errors)) { - throw new Exception\FileProcessingException($errors, null); - } - - return $this; - } - - /** - * Returns the appropriate source code part. - * - * Impossible for namespaces. - * - * @throws \TokenReflection\Exception\RuntimeException If the method is called, because it's unsupported. - */ - public function getSource() - { - throw new Exception\RuntimeException('Cannot export source code of a namespace.', Exception\RuntimeException::UNSUPPORTED, $this); - } - - /** - * Returns the reflection broker used by this reflection object. - * - * @return \TokenReflection\Broker|null - */ - public function getBroker() - { - return $this->broker; - } - - /** - * Magic __get method. - * - * @param string $key Variable name - * @return mixed - */ - final public function __get($key) - { - return ReflectionElement::get($this, $key); - } - - /** - * Magic __isset method. - * - * @param string $key Variable name - * @return boolean - */ - final public function __isset($key) - { - return ReflectionElement::exists($this, $key); - } -} \ No newline at end of file diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionParameter.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionParameter.php deleted file mode 100644 index 1f2e8342..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionParameter.php +++ /dev/null @@ -1,683 +0,0 @@ -declaringClassName ? null : $this->getBroker()->getClass($this->declaringClassName); - } - - /** - * Returns the declaring class name. - * - * @return string|null - */ - public function getDeclaringClassName() - { - return $this->declaringClassName; - } - - /** - * Returns the declaring function. - * - * @return \TokenReflection\ReflectionFunctionBase - */ - public function getDeclaringFunction() - { - if (null !== $this->declaringClassName) { - // Method parameter - $class = $this->getBroker()->getClass($this->declaringClassName); - if (null !== $class) { - return $class->getMethod($this->declaringFunctionName); - } - } else { - // Function parameter - return $this->getBroker()->getFunction($this->declaringFunctionName); - } - } - - /** - * Returns the declaring function name. - * - * @return string - */ - public function getDeclaringFunctionName() - { - return $this->declaringFunctionName; - } - - /** - * Returns the default value. - * - * @return mixed - * @throws \TokenReflection\Exception\RuntimeException If the property is not optional. - * @throws \TokenReflection\Exception\RuntimeException If the property has no default value. - */ - public function getDefaultValue() - { - if (!$this->isOptional()) { - throw new Exception\RuntimeException('Property is not optional.', Exception\RuntimeException::UNSUPPORTED, $this); - } - - if (null === $this->defaultValue) { - if (0 === count($this->defaultValueDefinition)) { - throw new Exception\RuntimeException('Property has no default value.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - $this->defaultValue = Resolver::getValueDefinition($this->defaultValueDefinition, $this); - } - - return $this->defaultValue; - } - - /** - * Returns the part of the source code defining the parameter default value. - * - * @return string - */ - public function getDefaultValueDefinition() - { - return Resolver::getSourceCode($this->defaultValueDefinition); - } - - /** - * Returns if the default value is defined by a constant. - * - * @return boolean - */ - public function isDefaultValueConstant() - { - if (!$this->isDefaultValueAvailable() || empty($this->defaultValueDefinition)) { - return false; - } - - static $expected = array(T_STRING => true, T_NS_SEPARATOR => true, T_DOUBLE_COLON => true); - foreach ($this->defaultValueDefinition as $token) { - if (!isset($expected[$token[0]])) { - return false; - } - } - - return true; - } - - /** - * Returns the name of the default value constant. - * - * @return string|null - */ - public function getDefaultValueConstantName() - { - if (!$this->isOptional()) { - throw new Exception\RuntimeException('Property is not optional.', Exception\RuntimeException::UNSUPPORTED, $this); - } - - return $this->isDefaultValueConstant() ? $this->getDefaultValueDefinition() : null; - } - - /** - * Retutns if a default value for the parameter is available. - * - * @return boolean - */ - public function isDefaultValueAvailable() - { - return $this->isOptional(); - } - - /** - * Returns the position within all parameters. - * - * @return integer - */ - public function getPosition() - { - return $this->position; - } - - /** - * Returns if the parameter expects an array. - * - * @return boolean - */ - public function isArray() - { - return $this->typeHint === self::ARRAY_TYPE_HINT; - } - - /** - * Returns if the parameter expects a callback. - * - * @return boolean - */ - public function isCallable() - { - return $this->typeHint === self::CALLABLE_TYPE_HINT; - } - - /** - * Returns the original type hint as defined in the source code. - * - * @return string|null - */ - public function getOriginalTypeHint() - { - return !$this->isArray() && !$this->isCallable() ? ltrim($this->originalTypeHint, '\\') : null; - } - - /** - * Returns reflection of the required class of the value. - * - * @return \TokenReflection\IReflectionClass|null - */ - public function getClass() - { - $name = $this->getClassName(); - if (null === $name) { - return null; - } - - return $this->getBroker()->getClass($name); - } - - /** - * Returns the required class name of the value. - * - * @return string|null - * @throws \TokenReflection\Exception\RuntimeException If the type hint class FQN could not be determined. - */ - public function getClassName() - { - if ($this->isArray() || $this->isCallable()) { - return null; - } - - if (null === $this->typeHint && null !== $this->originalTypeHint) { - if (null !== $this->declaringClassName) { - $parent = $this->getDeclaringClass(); - if (null === $parent) { - throw new Exception\RuntimeException('Could not load class reflection.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - } else { - $parent = $this->getDeclaringFunction(); - if (null === $parent || !$parent->isTokenized()) { - throw new Exception\RuntimeException('Could not load function reflection.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - } - - $lTypeHint = strtolower($this->originalTypeHint); - if ('parent' === $lTypeHint || 'self' === $lTypeHint) { - if (null === $this->declaringClassName) { - throw new Exception\RuntimeException('Parameter type hint cannot be "self" nor "parent" when not a method.', Exception\RuntimeException::UNSUPPORTED, $this); - } - - if ('parent' === $lTypeHint) { - if ($parent->isInterface() || null === $parent->getParentClassName()) { - throw new Exception\RuntimeException('Class has no parent.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - $this->typeHint = $parent->getParentClassName(); - } else { - $this->typeHint = $this->declaringClassName; - } - } else { - $this->typeHint = ltrim(Resolver::resolveClassFQN($this->originalTypeHint, $parent->getNamespaceAliases(), $parent->getNamespaceName()), '\\'); - } - } - - return $this->typeHint; - } - - /** - * Returns if the the parameter allows NULL. - * - * @return boolean - */ - public function allowsNull() - { - if ($this->isArray() || $this->isCallable()) { - return 'null' === strtolower($this->getDefaultValueDefinition()); - } - - return null === $this->originalTypeHint || !empty($this->defaultValueDefinition); - } - - /** - * Returns if the parameter is optional. - * - * @return boolean - * @throws \TokenReflection\Exception\RuntimeException If it is not possible to determine if the parameter is optional. - */ - public function isOptional() - { - if (null === $this->isOptional) { - $this->isOptional = !empty($this->defaultValueDefinition) && $this->haveSiblingsDefalutValues(); - } - - return $this->isOptional; - } - - /** - * Returns if all following parameters have a default value definition. - * - * @return boolean - */ - protected function haveSiblingsDefalutValues() - { - $function = $this->getDeclaringFunction(); - if (null === $function) { - throw new Exception\RuntimeException('Could not get the declaring function reflection.', Exception\RuntimeException::DOES_NOT_EXIST, $this); - } - - foreach (array_slice($function->getParameters(), $this->position + 1) as $reflectionParameter) { - if (null === $reflectionParameter->getDefaultValueDefinition()) { - return false; - } - } - - return true; - } - - /** - * Returns if the parameter value is passed by reference. - * - * @return boolean - */ - public function isPassedByReference() - { - return $this->passedByReference; - } - - /** - * Returns if the paramter value can be passed by value. - * - * @return boolean - */ - public function canBePassedByValue() - { - return !$this->isPassedByReference(); - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return str_replace('()', '($' . $this->name . ')', $this->getDeclaringFunction()->getPrettyName()); - } - - /** - * Returns the string representation of the reflection object. - * - * @return string - */ - public function __toString() - { - if ($this->getClass()) { - $hint = $this->getClassName(); - } elseif ($this->isArray()) { - $hint = self::ARRAY_TYPE_HINT; - } elseif ($this->isCallable()) { - $hint = self::CALLABLE_TYPE_HINT; - } else { - $hint = ''; - } - - if (!empty($hint) && $this->allowsNull()) { - $hint .= ' or NULL'; - } - - if ($this->isDefaultValueAvailable()) { - $default = ' = '; - if (null === $this->getDefaultValue()) { - $default .= 'NULL'; - } elseif (is_array($this->getDefaultValue())) { - $default .= 'Array'; - } elseif (is_bool($this->getDefaultValue())) { - $default .= $this->getDefaultValue() ? 'true' : 'false'; - } elseif (is_string($this->getDefaultValue())) { - $default .= sprintf("'%s'", str_replace("'", "\\'", $this->getDefaultValue())); - } else { - $default .= $this->getDefaultValue(); - } - } else { - $default = ''; - } - - return sprintf( - 'Parameter #%d [ <%s> %s%s$%s%s ]', - $this->getPosition(), - $this->isOptional() ? 'optional' : 'required', - $hint ? $hint . ' ' : '', - $this->isPassedByReference() ? '&' : '', - $this->getName(), - $default - ); - } - - /** - * Exports a reflected object. - * - * @param \TokenReflection\Broker $broker Broker instance - * @param string $function Function name - * @param string $parameter Parameter name - * @param boolean $return Return the export instead of outputting it - * @return string|null - * @throws \TokenReflection\Exception\RuntimeException If requested parameter doesn't exist. - */ - public static function export(Broker $broker, $function, $parameter, $return = false) - { - $functionName = $function; - $parameterName = $parameter; - - $function = $broker->getFunction($functionName); - if (null === $function) { - throw new Exception\RuntimeException(sprintf('Function %s() does not exist.', $functionName), Exception\RuntimeException::DOES_NOT_EXIST); - } - $parameter = $function->getParameter($parameterName); - - if ($return) { - return $parameter->__toString(); - } - - echo $parameter->__toString(); - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return $this->getDeclaringFunction()->getNamespaceAliases(); - } - - /** - * Creates a parameter alias for the given method. - * - * @param \TokenReflection\ReflectionMethod $parent New parent method - * @return \TokenReflection\ReflectionParameter - */ - public function alias(ReflectionMethod $parent) - { - $parameter = clone $this; - - $parameter->declaringClassName = $parent->getDeclaringClassName(); - $parameter->declaringFunctionName = $parent->getName(); - - return $parameter; - } - - /** - * Processes the parent reflection object. - * - * @param \TokenReflection\IReflection $parent Parent reflection object - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionElement - * @throws \TokenReflection\Exception\ParseException If an invalid parent reflection object was provided. - */ - protected function processParent(IReflection $parent, Stream $tokenStream) - { - if (!$parent instanceof ReflectionFunctionBase) { - throw new Exception\ParseException($this, $tokenStream, 'The parent object has to be an instance of TokenReflection\ReflectionFunctionBase.', Exception\ParseException::INVALID_PARENT); - } - - // Declaring function name - $this->declaringFunctionName = $parent->getName(); - - // Position - $this->position = count($parent->getParameters()); - - // Declaring class name - if ($parent instanceof ReflectionMethod) { - $this->declaringClassName = $parent->getDeclaringClassName(); - } - - return parent::processParent($parent, $tokenStream); - } - - /** - * Parses reflected element metadata from the token stream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionParameter - */ - protected function parse(Stream $tokenStream, IReflection $parent) - { - return $this - ->parseTypeHint($tokenStream) - ->parsePassedByReference($tokenStream) - ->parseName($tokenStream) - ->parseDefaultValue($tokenStream); - } - - /** - * Parses the type hint. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionParameter - * @throws \TokenReflection\Exception\ParseException If the type hint class name could not be determined. - */ - private function parseTypeHint(Stream $tokenStream) - { - $type = $tokenStream->getType(); - - if (T_ARRAY === $type) { - $this->typeHint = self::ARRAY_TYPE_HINT; - $this->originalTypeHint = self::ARRAY_TYPE_HINT; - $tokenStream->skipWhitespaces(true); - } elseif (T_CALLABLE === $type) { - $this->typeHint = self::CALLABLE_TYPE_HINT; - $this->originalTypeHint = self::CALLABLE_TYPE_HINT; - $tokenStream->skipWhitespaces(true); - } elseif (T_STRING === $type || T_NS_SEPARATOR === $type) { - $className = ''; - do { - $className .= $tokenStream->getTokenValue(); - - $tokenStream->skipWhitespaces(true); - $type = $tokenStream->getType(); - } while (T_STRING === $type || T_NS_SEPARATOR === $type); - - if ('' === ltrim($className, '\\')) { - throw new Exception\ParseException($this, $tokenStream, sprintf('Invalid class name definition: "%s".', $className), Exception\ParseException::LOGICAL_ERROR); - } - - $this->originalTypeHint = $className; - } - - return $this; - } - - /** - * Parses if parameter value is passed by reference. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionParameter - */ - private function parsePassedByReference(Stream $tokenStream) - { - if ($tokenStream->is('&')) { - $this->passedByReference = true; - $tokenStream->skipWhitespaces(true); - } - - return $this; - } - - /** - * Parses the constant name. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionParameter - * @throws \TokenReflection\Exception\ParseException If the parameter name could not be determined. - */ - protected function parseName(Stream $tokenStream) - { - if (!$tokenStream->is(T_VARIABLE)) { - throw new Exception\ParseException($this, $tokenStream, 'The parameter name could not be determined.', Exception\ParseException::UNEXPECTED_TOKEN); - } - - $this->name = substr($tokenStream->getTokenValue(), 1); - - $tokenStream->skipWhitespaces(true); - - return $this; - } - - /** - * Parses the parameter default value. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionParameter - * @throws \TokenReflection\Exception\ParseException If the default value could not be determined. - */ - private function parseDefaultValue(Stream $tokenStream) - { - if ($tokenStream->is('=')) { - $tokenStream->skipWhitespaces(true); - - $level = 0; - while (null !== ($type = $tokenStream->getType())) { - switch ($type) { - case ')': - if (0 === $level) { - break 2; - } - case '}': - case ']': - $level--; - break; - case '(': - case '{': - case '[': - $level++; - break; - case ',': - if (0 === $level) { - break 2; - } - break; - default: - break; - } - - $this->defaultValueDefinition[] = $tokenStream->current(); - $tokenStream->next(); - } - - if (')' !== $type && ',' !== $type) { - throw new Exception\ParseException($this, $tokenStream, 'The property default value is not terminated properly. Expected "," or ")".', Exception\ParseException::UNEXPECTED_TOKEN); - } - } - - return $this; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionProperty.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionProperty.php deleted file mode 100644 index da04c727..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/ReflectionProperty.php +++ /dev/null @@ -1,572 +0,0 @@ -getBroker()->getClass($this->declaringClassName); - } - - /** - * Returns the name of the declaring class. - * - * @return string - */ - public function getDeclaringClassName() - { - return $this->declaringClassName; - } - - /** - * Returns the property default value. - * - * @return mixed - */ - public function getDefaultValue() - { - if (is_array($this->defaultValueDefinition)) { - $this->defaultValue = Resolver::getValueDefinition($this->defaultValueDefinition, $this); - $this->defaultValueDefinition = Resolver::getSourceCode($this->defaultValueDefinition); - } - - return $this->defaultValue; - } - - /** - * Returns the part of the source code defining the property default value. - * - * @return string - */ - public function getDefaultValueDefinition() - { - return is_array($this->defaultValueDefinition) ? Resolver::getSourceCode($this->defaultValueDefinition) : $this->defaultValueDefinition; - } - - /** - * Returns the property value for a particular class instance. - * - * @param object $object - * @return mixed - * @throws \TokenReflection\Exception\RuntimeException If it is not possible to return the property value. - */ - public function getValue($object) - { - $declaringClass = $this->getDeclaringClass(); - if (!$declaringClass->isInstance($object)) { - throw new Exception\RuntimeException('The given class is not an instance or subclass of the current class.', Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - if ($this->isPublic()) { - return $object->{$this->name}; - } elseif ($this->isAccessible()) { - $refClass = new InternalReflectionClass($object); - $refProperty = $refClass->getProperty($this->name); - - $refProperty->setAccessible(true); - $value = $refProperty->getValue($object); - $refProperty->setAccessible(false); - - return $value; - } - - throw new Exception\RuntimeException('Only public and accessible properties can return their values.', Exception\RuntimeException::NOT_ACCESSBILE, $this); - } - - /** - * Returns if the property was created at compile time. - * - * All properties in the source code are. - * - * @return boolean - */ - public function isDefault() - { - return true; - } - - /** - * Returns property modifiers. - * - * @return integer - */ - public function getModifiers() - { - if (false === $this->modifiersComplete) { - $declaringClass = $this->getDeclaringClass(); - $declaringClassParent = $declaringClass->getParentClass(); - - if ($declaringClassParent && $declaringClassParent->hasProperty($this->name)) { - $property = $declaringClassParent->getProperty($this->name); - if (($this->isPublic() && !$property->isPublic()) || ($this->isProtected() && $property->isPrivate())) { - $this->modifiers |= self::ACCESS_LEVEL_CHANGED; - } - } - - $this->modifiersComplete = ($this->modifiers & self::ACCESS_LEVEL_CHANGED) || $declaringClass->isComplete(); - } - - return $this->modifiers; - } - - /** - * Returns if the property is private. - * - * @return boolean - */ - public function isPrivate() - { - return (bool) ($this->modifiers & InternalReflectionProperty::IS_PRIVATE); - } - - /** - * Returns if the property is protected. - * - * @return boolean - */ - public function isProtected() - { - return (bool) ($this->modifiers & InternalReflectionProperty::IS_PROTECTED); - } - - /** - * Returns if the property is public. - * - * @return boolean - */ - public function isPublic() - { - return (bool) ($this->modifiers & InternalReflectionProperty::IS_PUBLIC); - } - - /** - * Returns if the poperty is static. - * - * @return boolean - */ - public function isStatic() - { - return (bool) ($this->modifiers & InternalReflectionProperty::IS_STATIC); - } - - /** - * Returns the string representation of the reflection object. - * - * @return string - */ - public function __toString() - { - return sprintf( - "Property [ %s%s%s%s%s\$%s ]\n", - $this->isStatic() ? '' : ' ', - $this->isPublic() ? 'public ' : '', - $this->isPrivate() ? 'private ' : '', - $this->isProtected() ? 'protected ' : '', - $this->isStatic() ? 'static ' : '', - $this->getName() - ); - } - - /** - * Exports a reflected object. - * - * @param \TokenReflection\Broker $broker Broker instance - * @param string|object $class Class name or class instance - * @param string $property Property name - * @param boolean $return Return the export instead of outputting it - * @return string|null - * @throws \TokenReflection\Exception\RuntimeException If requested parameter doesn't exist. - */ - public static function export(Broker $broker, $class, $property, $return = false) - { - $className = is_object($class) ? get_class($class) : $class; - $propertyName = $property; - - $class = $broker->getClass($className); - if ($class instanceof Invalid\ReflectionClass) { - throw new Exception\RuntimeException('Class is invalid.', Exception\RuntimeException::UNSUPPORTED); - } elseif ($class instanceof Dummy\ReflectionClass) { - throw new Exception\RuntimeException(sprintf('Class %s does not exist.', $className), Exception\RuntimeException::DOES_NOT_EXIST); - } - $property = $class->getProperty($propertyName); - - if ($return) { - return $property->__toString(); - } - - echo $property->__toString(); - } - - /** - * Returns if the property is set accessible. - * - * @return boolean - */ - public function isAccessible() - { - return $this->accessible; - } - - /** - * Sets a property to be accessible or not. - * - * @param boolean $accessible If the property should be accessible. - */ - public function setAccessible($accessible) - { - $this->accessible = (bool) $accessible; - } - - /** - * Sets the property default value. - * - * @param mixed $value - */ - public function setDefaultValue($value) - { - $this->defaultValue = $value; - $this->defaultValueDefinition = var_export($value, true); - } - - /** - * Sets value of a property for a particular class instance. - * - * @param object $object Class instance - * @param mixed $value Poperty value - * @throws \TokenReflection\Exception\RuntimeException If it is not possible to set the property value. - */ - public function setValue($object, $value) - { - $declaringClass = $this->getDeclaringClass(); - if (!$declaringClass->isInstance($object)) { - throw new Exception\RuntimeException('Instance of or subclass expected.', Exception\RuntimeException::INVALID_ARGUMENT, $this); - } - - if ($this->isPublic()) { - $object->{$this->name} = $value; - } elseif ($this->isAccessible()) { - $refClass = new InternalReflectionClass($object); - $refProperty = $refClass->getProperty($this->name); - - $refProperty->setAccessible(true); - $refProperty->setValue($object, $value); - $refProperty->setAccessible(false); - - if ($this->isStatic()) { - $this->setDefaultValue($value); - } - } else { - throw new Exception\RuntimeException('Only public and accessible properties can be set.', Exception\RuntimeException::NOT_ACCESSBILE, $this); - } - } - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return $this->getDeclaringClass()->getNamespaceAliases(); - } - - /** - * Creates a property alias for the given class. - * - * @param \TokenReflection\ReflectionClass $parent New parent class - * @return \TokenReflection\ReflectionProperty - */ - public function alias(ReflectionClass $parent) - { - $property = clone $this; - $property->declaringClassName = $parent->getName(); - return $property; - } - - /** - * Returns the defining trait. - * - * @return \TokenReflection\IReflectionClass|null - */ - public function getDeclaringTrait() - { - return null === $this->declaringTraitName ? null : $this->getBroker()->getClass($this->declaringTraitName); - } - - /** - * Returns the declaring trait name. - * - * @return string|null - */ - public function getDeclaringTraitName() - { - return $this->declaringTraitName; - } - - /** - * Returns an element pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return sprintf('%s::$%s', $this->declaringClassName ?: $this->declaringTraitName, $this->name); - } - - /** - * Processes the parent reflection object. - * - * @param \TokenReflection\IReflection $parent Parent reflection object - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionElement - * @throws \TokenReflection\Exception\Parse If an invalid parent reflection object was provided. - */ - protected function processParent(IReflection $parent, Stream $tokenStream) - { - if (!$parent instanceof ReflectionClass) { - throw new Exception\ParseException($this, $tokenStream, 'The parent object has to be an instance of TokenReflection\ReflectionClass.', Exception\ParseException::INVALID_PARENT); - } - - $this->declaringClassName = $parent->getName(); - if ($parent->isTrait()) { - $this->declaringTraitName = $parent->getName(); - } - return parent::processParent($parent, $tokenStream); - } - - /** - * Parses reflected element metadata from the token stream. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\IReflection $parent Parent reflection object - * @return \TokenReflection\ReflectionProperty - */ - protected function parse(Stream $tokenStream, IReflection $parent) - { - $this->parseModifiers($tokenStream, $parent); - - if (false === $this->docComment->getDocComment()) { - $this->parseDocComment($tokenStream, $parent); - } - - return $this->parseName($tokenStream) - ->parseDefaultValue($tokenStream); - } - - /** - * Parses class modifiers (abstract, final) and class type (class, interface). - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @param \TokenReflection\ReflectionClass $class Defining class - * @return \TokenReflection\ReflectionClass - * @throws \TokenReflection\Exception\ParseException If the modifiers value cannot be determined. - */ - private function parseModifiers(Stream $tokenStream, ReflectionClass $class) - { - while (true) { - switch ($tokenStream->getType()) { - case T_PUBLIC: - case T_VAR: - $this->modifiers |= InternalReflectionProperty::IS_PUBLIC; - break; - case T_PROTECTED: - $this->modifiers |= InternalReflectionProperty::IS_PROTECTED; - break; - case T_PRIVATE: - $this->modifiers |= InternalReflectionProperty::IS_PRIVATE; - break; - case T_STATIC: - $this->modifiers |= InternalReflectionProperty::IS_STATIC; - break; - default: - break 2; - } - - $tokenStream->skipWhitespaces(true); - } - - if (InternalReflectionProperty::IS_STATIC === $this->modifiers) { - $this->modifiers |= InternalReflectionProperty::IS_PUBLIC; - } elseif (0 === $this->modifiers) { - $parentProperties = $class->getOwnProperties(); - if (empty($parentProperties)) { - throw new Exception\ParseException($this, $tokenStream, 'No access level defined and no previous defining class property present.', Exception\ParseException::LOGICAL_ERROR); - } - - $sibling = array_pop($parentProperties); - if ($sibling->isPublic()) { - $this->modifiers = InternalReflectionProperty::IS_PUBLIC; - } elseif ($sibling->isPrivate()) { - $this->modifiers = InternalReflectionProperty::IS_PRIVATE; - } elseif ($sibling->isProtected()) { - $this->modifiers = InternalReflectionProperty::IS_PROTECTED; - } else { - throw new Exception\ParseException($this, $tokenStream, sprintf('Property sibling "%s" has no access level defined.', $sibling->getName()), Exception\Parse::PARSE_ELEMENT_ERROR); - } - - if ($sibling->isStatic()) { - $this->modifiers |= InternalReflectionProperty::IS_STATIC; - } - } - - return $this; - } - - /** - * Parses the property name. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionProperty - * @throws \TokenReflection\Exception\ParseException If the property name could not be determined. - */ - protected function parseName(Stream $tokenStream) - { - if (!$tokenStream->is(T_VARIABLE)) { - throw new Exception\ParseException($this, $tokenStream, 'The property name could not be determined.', Exception\ParseException::LOGICAL_ERROR); - } - - $this->name = substr($tokenStream->getTokenValue(), 1); - - $tokenStream->skipWhitespaces(true); - - return $this; - } - - /** - * Parses the propety default value. - * - * @param \TokenReflection\Stream\StreamBase $tokenStream Token substream - * @return \TokenReflection\ReflectionProperty - * @throws \TokenReflection\Exception\ParseException If the property default value could not be determined. - */ - private function parseDefaultValue(Stream $tokenStream) - { - $type = $tokenStream->getType(); - - if (';' === $type || ',' === $type) { - // No default value - return $this; - } - - if ('=' === $type) { - $tokenStream->skipWhitespaces(true); - } - - $level = 0; - while (null !== ($type = $tokenStream->getType())) { - switch ($type) { - case ',': - if (0 !== $level) { - break; - } - case ';': - break 2; - case ')': - case ']': - case '}': - $level--; - break; - case '(': - case '{': - case '[': - $level++; - break; - default: - break; - } - - $this->defaultValueDefinition[] = $tokenStream->current(); - $tokenStream->next(); - } - - if (',' !== $type && ';' !== $type) { - throw new Exception\ParseException($this, $tokenStream, 'The property default value is not terminated properly. Expected "," or ";".', Exception\ParseException::UNEXPECTED_TOKEN); - } - - return $this; - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Resolver.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Resolver.php deleted file mode 100644 index 65a7b823..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Resolver.php +++ /dev/null @@ -1,274 +0,0 @@ -getNamespaceName(); - } elseif ($reflection instanceof ReflectionParameter) { - $namespace = $reflection->getDeclaringFunction()->getNamespaceName(); - } elseif ($reflection instanceof ReflectionProperty || $reflection instanceof ReflectionMethod) { - $namespace = $reflection->getDeclaringClass()->getNamespaceName(); - } else { - throw new Exception\RuntimeException('Invalid reflection object given.', Exception\RuntimeException::INVALID_ARGUMENT, $reflection); - } - - // Process __LINE__ constants; replace with the line number of the corresponding token - foreach ($tokens as $index => $token) { - if (T_LINE === $token[0]) { - $tokens[$index] = array( - T_LNUMBER, - $token[2], - $token[2] - ); - } - } - - $source = self::getSourceCode($tokens); - - $constants = self::findConstants($tokens, $reflection); - if (!empty($constants)) { - foreach (array_reverse($constants, true) as $offset => $constant) { - $value = ''; - - try { - switch ($constant) { - case '__FILE__': - $value = $reflection->getFileName(); - break; - case '__DIR__': - $value = dirname($reflection->getFileName()); - break; - case '__FUNCTION__': - if ($reflection instanceof IReflectionParameter) { - $value = $reflection->getDeclaringFunctionName(); - } elseif ($reflection instanceof IReflectionFunctionBase) { - $value = $reflection->getName(); - } - break; - case '__CLASS__': - if ($reflection instanceof IReflectionConstant || $reflection instanceof IReflectionParameter || $reflection instanceof IReflectionProperty || $reflection instanceof IReflectionMethod) { - $value = $reflection->getDeclaringClassName() ?: ''; - } - break; - case '__TRAIT__': - if ($reflection instanceof IReflectionMethod || $reflection instanceof IReflectionProperty) { - $value = $reflection->getDeclaringTraitName() ?: ''; - } elseif ($reflection instanceof IReflectionParameter) { - $method = $reflection->getDeclaringFunction(); - if ($method instanceof IReflectionMethod) { - $value = $method->getDeclaringTraitName() ?: ''; - } - } - break; - case '__METHOD__': - if ($reflection instanceof IReflectionParameter) { - if (null !== $reflection->getDeclaringClassName()) { - $value = $reflection->getDeclaringClassName() . '::' . $reflection->getDeclaringFunctionName(); - } else { - $value = $reflection->getDeclaringFunctionName(); - } - } elseif ($reflection instanceof IReflectionConstant || $reflection instanceof IReflectionProperty) { - $value = $reflection->getDeclaringClassName() ?: ''; - } elseif ($reflection instanceof IReflectionMethod) { - $value = $reflection->getDeclaringClassName() . '::' . $reflection->getName(); - } elseif ($reflection instanceof IReflectionFunction) { - $value = $reflection->getName(); - } - break; - case '__NAMESPACE__': - if (($reflection instanceof IReflectionConstant && null !== $reflection->getDeclaringClassName()) || $reflection instanceof IReflectionProperty) { - $value = $reflection->getDeclaringClass()->getNamespaceName(); - } elseif ($reflection instanceof IReflectionParameter) { - if (null !== $reflection->getDeclaringClassName()) { - $value = $reflection->getDeclaringClass()->getNamespaceName(); - } else { - $value = $reflection->getDeclaringFunction()->getNamespaceName(); - } - } elseif ($reflection instanceof IReflectionMethod) { - $value = $reflection->getDeclaringClass()->getNamespaceName(); - } else { - $value = $reflection->getNamespaceName(); - } - break; - default: - if (0 === stripos($constant, 'self::') || 0 === stripos($constant, 'parent::')) { - // Handle self:: and parent:: definitions - - if ($reflection instanceof ReflectionConstant && null === $reflection->getDeclaringClassName()) { - throw new Exception\RuntimeException('Top level constants cannot use self:: and parent:: references.', Exception\RuntimeException::UNSUPPORTED, $reflection); - } elseif ($reflection instanceof ReflectionParameter && null === $reflection->getDeclaringClassName()) { - throw new Exception\RuntimeException('Function parameters cannot use self:: and parent:: references.', Exception\RuntimeException::UNSUPPORTED, $reflection); - } - - if (0 === stripos($constant, 'self::')) { - $className = $reflection->getDeclaringClassName(); - } else { - $declaringClass = $reflection->getDeclaringClass(); - $className = $declaringClass->getParentClassName() ?: self::CONSTANT_NOT_FOUND; - } - - $constantName = $className . substr($constant, strpos($constant, '::')); - } else { - $constantName = self::resolveClassFQN($constant, $reflection->getNamespaceAliases(), $namespace); - if ($cnt = strspn($constant, '\\')) { - $constantName = str_repeat('\\', $cnt) . $constantName; - } - } - - $constantReflection = $reflection->getBroker()->getConstant($constantName); - $value = $constantReflection->getValue(); - } - } catch (Exception\RuntimeException $e) { - $value = self::CONSTANT_NOT_FOUND; - } - - $source = substr_replace($source, var_export($value, true), $offset, strlen($constant)); - } - } - - return self::evaluate(sprintf("return %s;\n", $source)); - } - - /** - * Returns a part of the source code defined by given tokens. - * - * @param array $tokens Tokens array - * @return array - */ - final public static function getSourceCode(array $tokens) - { - if (empty($tokens)) { - return null; - } - - $source = ''; - foreach ($tokens as $token) { - $source .= $token[1]; - } - return $source; - } - - /** - * Finds constant names in the token definition. - * - * @param array $tokens Tokenized source code - * @param \TokenReflection\ReflectionElement $reflection Caller reflection - * @return array - */ - final public static function findConstants(array $tokens, ReflectionElement $reflection) - { - static $accepted = array( - T_DOUBLE_COLON => true, - T_STRING => true, - T_NS_SEPARATOR => true, - T_CLASS_C => true, - T_DIR => true, - T_FILE => true, - T_LINE => true, - T_FUNC_C => true, - T_METHOD_C => true, - T_NS_C => true, - T_TRAIT_C => true - ); - static $dontResolve = array('true' => true, 'false' => true, 'null' => true); - - // Adding a dummy token to the end - $tokens[] = array(null); - - $constants = array(); - $constant = ''; - $offset = 0; - foreach ($tokens as $token) { - if (isset($accepted[$token[0]])) { - $constant .= $token[1]; - } elseif ('' !== $constant) { - if (!isset($dontResolve[strtolower($constant)])) { - $constants[$offset - strlen($constant)] = $constant; - } - $constant = ''; - } - - if (null !== $token[0]) { - $offset += strlen($token[1]); - } - } - return $constants; - } - - /** - * Evaluates a source code. - * - * @param string $source Source code - * @return mixed - */ - final private static function evaluate($source) { - return eval($source); - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Stream/FileStream.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Stream/FileStream.php deleted file mode 100644 index c7cbc892..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Stream/FileStream.php +++ /dev/null @@ -1,50 +0,0 @@ -fileName = Broker::getRealPath($fileName); - - if (false === $this->fileName) { - throw new Exception\StreamException($this, 'File does not exist.', Exception\StreamException::DOES_NOT_EXIST); - } - - $contents = @file_get_contents($this->fileName); - if (false === $contents) { - throw new Exception\StreamException($this, 'File is not readable.', Exception\StreamException::NOT_READABLE); - } - - $this->processSource($contents); - } -} \ No newline at end of file diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Stream/StreamBase.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Stream/StreamBase.php deleted file mode 100644 index 25aa0afd..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Stream/StreamBase.php +++ /dev/null @@ -1,487 +0,0 @@ - true, T_WHITESPACE => true, T_DOC_COMMENT => true, T_INLINE_HTML => true, T_ENCAPSED_AND_WHITESPACE => true, T_CONSTANT_ENCAPSED_STRING => true); - - foreach ($stream as $position => $token) { - if (is_array($token)) { - if (!NATIVE_TRAITS && T_STRING === $token[0]) { - $lValue = strtolower($token[1]); - if ('trait' === $lValue) { - $token[0] = T_TRAIT; - } elseif ('insteadof' === $lValue) { - $token[0] = T_INSTEADOF; - } elseif ('__TRAIT__' === $token[1]) { - $token[0] = T_TRAIT_C; - } elseif ('callable' === $lValue) { - $token[0] = T_CALLABLE; - } - } - - $this->tokens[] = $token; - } else { - $previous = $this->tokens[$position - 1]; - $line = $previous[2]; - if (isset($checkLines[$previous[0]])) { - $line += substr_count($previous[1], "\n"); - } - - $this->tokens[] = array($token, $token, $line); - } - } - - $this->count = count($this->tokens); - } - - /** - * Returns the file name this is a part of. - * - * @return string - */ - public function getFileName() - { - return $this->fileName; - } - - /** - * Returns the original source code. - * - * @return string - */ - public function getSource() - { - return $this->getSourcePart(); - } - - /** - * Returns a part of the source code. - * - * @param mixed $start Start offset - * @param mixed $end End offset - * @return string - */ - public function getSourcePart($start = null, $end = null) - { - $start = (int) $start; - $end = null === $end ? ($this->count - 1) : (int) $end; - - $source = ''; - for ($i = $start; $i <= $end; $i++) { - $source .= $this->tokens[$i][1]; - } - return $source; - } - - /** - * Finds the position of the token of the given type. - * - * @param integer|string $type Token type - * @return \TokenReflection\Stream|boolean - */ - public function find($type) - { - $actual = $this->position; - while (isset($this->tokens[$this->position])) { - if ($type === $this->tokens[$this->position][0]) { - return $this; - } - - $this->position++; - } - - $this->position = $actual; - return false; - } - - /** - * Returns the position of the token with the matching bracket. - * - * @return \TokenReflection\Stream - * @throws \TokenReflection\Exception\RuntimeException If out of the token stream. - * @throws \TokenReflection\Exception\RuntimeException If there is no bracket at the current position. - * @throws \TokenReflection\Exception\RuntimeException If the matching bracket could not be found. - */ - public function findMatchingBracket() - { - static $brackets = array( - '(' => ')', - '{' => '}', - '[' => ']', - T_CURLY_OPEN => '}', - T_DOLLAR_OPEN_CURLY_BRACES => '}' - ); - - if (!$this->valid()) { - throw new Exception\StreamException($this, 'Out of token stream.', Exception\StreamException::READ_BEYOND_EOS); - } - - $position = $this->position; - - $bracket = $this->tokens[$this->position][0]; - - if (!isset($brackets[$bracket])) { - throw new Exception\StreamException($this, sprintf('There is no usable bracket at position "%d".', $position), Exception\StreamException::DOES_NOT_EXIST); - } - - $searching = $brackets[$bracket]; - - $level = 0; - while (isset($this->tokens[$this->position])) { - $type = $this->tokens[$this->position][0]; - if ($searching === $type) { - $level--; - } elseif ($bracket === $type || ($searching === '}' && ('{' === $type || T_CURLY_OPEN === $type || T_DOLLAR_OPEN_CURLY_BRACES === $type))) { - $level++; - } - - if (0 === $level) { - return $this; - } - - $this->position++; - } - - throw new Exception\StreamException($this, sprintf('Could not find the end bracket "%s" of the bracket at position "%d".', $searching, $position), Exception\StreamException::DOES_NOT_EXIST); - } - - /** - * Skips whitespaces and comments next to the current position. - * - * @param boolean $skipDocBlocks Skip docblocks as well - * @return \TokenReflection\Stream\StreamBase - */ - public function skipWhitespaces($skipDocBlocks = false) - { - static $skipped = array(T_WHITESPACE => true, T_COMMENT => true, T_DOC_COMMENT => true); - - do { - $this->position++; - } while (isset($this->tokens[$this->position]) && isset($skipped[$this->tokens[$this->position][0]]) && ($skipDocBlocks || $this->tokens[$this->position][0] !== T_DOC_COMMENT)); - - return $this; - } - - /** - * Returns if the token stream is at a whitespace position. - * - * @param boolean $docBlock Consider docblocks as whitespaces - * @return boolean - */ - public function isWhitespace($docBlock = false) - { - static $skipped = array(T_WHITESPACE => true, T_COMMENT => true, T_DOC_COMMENT => false); - - if (!$this->valid()) { - return false; - } - - return $docBlock ? isset($skipped[$this->getType()]) : !empty($skipped[$this->getType()]); - } - - /** - * Checks if there is a token of the given type at the given position. - * - * @param integer|string $type Token type - * @param integer $position Position; if none given, consider the current iteration position - * @return boolean - */ - public function is($type, $position = -1) - { - return $type === $this->getType($position); - } - - /** - * Returns the type of a token. - * - * @param integer $position Token position; if none given, consider the current iteration position - * @return string|integer|null - */ - public function getType($position = -1) - { - if (-1 === $position) { - $position = $this->position; - } - - return isset($this->tokens[$position]) ? $this->tokens[$position][0] : null; - } - - /** - * Returns the current token value. - * - * @param integer $position Token position; if none given, consider the current iteration position - * @return stirng - */ - public function getTokenValue($position = -1) - { - if (-1 === $position) { - $position = $this->position; - } - - return isset($this->tokens[$position]) ? $this->tokens[$position][1] : null; - } - - /** - * Returns the token type name. - * - * @param integer $position Token position; if none given, consider the current iteration position - * @return string|null - */ - public function getTokenName($position = -1) - { - $type = $this->getType($position); - if (is_string($type)) { - return $type; - } elseif (T_TRAIT === $type) { - return 'T_TRAIT'; - } elseif (T_INSTEADOF === $type) { - return 'T_INSTEADOF'; - } elseif (T_CALLABLE === $type) { - return 'T_CALLABLE'; - } - - return token_name($type); - } - - /** - * Stream serialization. - * - * @return string - */ - public function serialize() - { - return serialize(array($this->fileName, $this->tokens)); - } - - /** - * Restores the stream from the serialized state. - * - * @param string $serialized Serialized form - * @throws \TokenReflection\Exception\StreamException On deserialization error. - */ - public function unserialize($serialized) - { - $data = @unserialize($serialized); - if (false === $data) { - throw new Exception\StreamException($this, 'Could not deserialize the serialized data.', Exception\StreamException::SERIALIZATION_ERROR); - } - if (2 !== count($data) || !is_string($data[0]) || !is_array($data[1])) { - throw new Exception\StreamException($this, 'Invalid serialization data.', Exception\StreamException::SERIALIZATION_ERROR); - } - - $this->fileName = $data[0]; - $this->tokens = $data[1]; - $this->count = count($this->tokens); - $this->position = 0; - } - - /** - * Checks of there is a token with the given index. - * - * @param integer $offset Token index - * @return boolean - */ - public function offsetExists($offset) - { - return isset($this->tokens[$offset]); - } - - /** - * Removes a token. - * - * Unsupported. - * - * @param integer $offset Position - * @throws \TokenReflection\Exception\StreamException Unsupported. - */ - public function offsetUnset($offset) - { - throw new Exception\StreamException($this, 'Removing of tokens from the stream is not supported.', Exception\StreamException::UNSUPPORTED); - } - - /** - * Returns a token at the given index. - * - * @param integer $offset Token index - * @return mixed - */ - public function offsetGet($offset) - { - return isset($this->tokens[$offset]) ? $this->tokens[$offset] : null; - } - - /** - * Sets a value of a particular token. - * - * Unsupported - * - * @param integer $offset Position - * @param mixed $value Value - * @throws \TokenReflection\Exception\StreamException Unsupported. - */ - public function offsetSet($offset, $value) - { - throw new Exception\StreamException($this, 'Setting token values is not supported.', Exception\StreamException::UNSUPPORTED); - } - - /** - * Returns the current internal pointer value. - * - * @return integer - */ - public function key() - { - return $this->position; - } - - /** - * Advances the internal pointer. - * - * @return \TokenReflection\Stream - */ - public function next() - { - $this->position++; - return $this; - } - - /** - * Sets the internal pointer to zero. - * - * @return \TokenReflection\Stream - */ - public function rewind() - { - $this->position = 0; - return $this; - } - - /** - * Returns the current token. - * - * @return array|null - */ - public function current() - { - return isset($this->tokens[$this->position]) ? $this->tokens[$this->position] : null; - } - - /** - * Checks if there is a token on the current position. - * - * @return boolean - */ - public function valid() - { - return isset($this->tokens[$this->position]); - } - - /** - * Returns the number of tokens in the stream. - * - * @return integer - */ - public function count() - { - return $this->count; - } - - /** - * Sets the internal pointer to the given value. - * - * @param integer $position New position - * @return \TokenReflection\Stream - */ - public function seek($position) - { - $this->position = (int) $position; - return $this; - } - - /** - * Returns the stream source code. - * - * @return string - */ - public function __toString() - { - return $this->getSource(); - } -} diff --git a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Stream/StringStream.php b/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Stream/StringStream.php deleted file mode 100644 index 4819c032..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/TokenReflection/Stream/StringStream.php +++ /dev/null @@ -1,38 +0,0 @@ -fileName = $fileName; - $this->processSource($source); - } -} \ No newline at end of file diff --git a/apigen/vendor/andrewsville/php-token-reflection/composer.json b/apigen/vendor/andrewsville/php-token-reflection/composer.json deleted file mode 100644 index 1569e612..00000000 --- a/apigen/vendor/andrewsville/php-token-reflection/composer.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "andrewsville/php-token-reflection", - "type": "library", - "description": "Library emulating the PHP internal reflection using just the tokenized source code.", - "keywords": ["library", "tokenizer", "reflection"], - "homepage": "http://andrewsville.github.com/PHP-Token-Reflection/", - "license": "BSD-3", - - "authors": [ - { - "name": "Ondřej Nešpor", - "homepage": "https://github.com/Andrewsville" - }, - { - "name": "Jaroslav Hanslík", - "homepage": "https://github.com/kukulich" - } - ], - - "require": { - "php": ">=5.3.0", - "ext-tokenizer": "*" - }, - - "autoload": { - "psr-0": { - "TokenReflection": "./" - } - } -} diff --git a/apigen/vendor/apigen/apigen/LICENSE b/apigen/vendor/apigen/apigen/LICENSE index f7c690d2..b3dee944 100644 --- a/apigen/vendor/apigen/apigen/LICENSE +++ b/apigen/vendor/apigen/apigen/LICENSE @@ -1,28 +1,22 @@ -The MIT License +MIT License -- Copyright (c) 2014 [Tomáš Votruba](http://tomasvotruba.cz) -- Copyright (c) 2012 [Olivier Laviale](https://github.com/olvlvl) -- Copyright (c) 2011 [Ondřej Nešpor](https://github.com/Andrewsville) -- Copyright (c) 2011 [Jaroslav Hanslík](https://github.com/kukulich) -- Copyright (c) 2010 [David Grudl](http://davidgrudl.com) +Copyright (c) 2010 David Grudl +& ApiGen Contributors -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/apigen/vendor/apigen/apigen/README.md b/apigen/vendor/apigen/apigen/README.md new file mode 100644 index 00000000..99b45bf8 --- /dev/null +++ b/apigen/vendor/apigen/apigen/README.md @@ -0,0 +1,144 @@ +# Smart and Readable Documentation for PHP projects + +ApiGen is easy to use and modern API doc generator **supporting all PHP 8.2 features**. + + +## Features + +- phpDoc + - [all types supported by PHPStan](https://phpstan.org/writing-php-code/phpdoc-types) + - [generic class declarations](https://phpstan.org/blog/generics-in-php-using-phpdocs) + - [local type aliases](https://phpstan.org/writing-php-code/phpdoc-types#local-type-aliases) +- PHP 8.2 + - [constants in traits](https://wiki.php.net/rfc/constants_in_traits) + - [fetch enum properties in const expressions](https://wiki.php.net/rfc/fetch_property_in_const_expressions) + - [disjunctive normal form types](https://wiki.php.net/rfc/dnf_types) + - [readonly classes](https://wiki.php.net/rfc/readonly_classes) + - [true](https://wiki.php.net/rfc/true-type), [false and null types](https://wiki.php.net/rfc/null-false-standalone-types) +- PHP 8.1 + - [enums](https://wiki.php.net/rfc/enumerations) + - [pure intersection types](https://wiki.php.net/rfc/pure-intersection-types) + - [never type](https://wiki.php.net/rfc/noreturn_type) + - [final class constants](https://wiki.php.net/rfc/final_class_const) + - [new in initializers](https://wiki.php.net/rfc/new_in_initializers) + - [readonly properties](https://wiki.php.net/rfc/readonly_properties_v2) +- PHP 8.0 + - [constructor property promotion](https://wiki.php.net/rfc/constructor_promotion) + - [union types](https://wiki.php.net/rfc/union_types_v2) + - [mixed type](https://wiki.php.net/rfc/mixed_type_v2) + - [static return type](https://wiki.php.net/rfc/static_return_type) +- PHP 7.4 + - [typed properties](https://wiki.php.net/rfc/typed_properties_v2) +- PHP 7.2 + - [object type](https://wiki.php.net/rfc/object-typehint) +- PHP 7.1 + - [nullable types](https://wiki.php.net/rfc/nullable_types) + - [iterable type](https://wiki.php.net/rfc/iterable) + - [void type](https://wiki.php.net/rfc/void_return_type) + - [class constant visibility](https://wiki.php.net/rfc/class_const_visibility) +- PHP 7.0 + - [scalar types](https://wiki.php.net/rfc/scalar_type_hints_v5) + - [return types](https://wiki.php.net/rfc/return_types) +- PHP 5.6 + - [constant scalar expressions](https://wiki.php.net/rfc/const_scalar_exprs) + - [variadic functions](https://wiki.php.net/rfc/variadics) +- PHP 5.4 + - [traits](https://wiki.php.net/rfc/horizontalreuse) + - [callable type](https://wiki.php.net/rfc/callable) + - [binary integer notation](https://wiki.php.net/rfc/binnotation4ints) + + +## Built on Shoulders of Giants + +- [nikic/php-parser](https://github.com/nikic/PHP-Parser) +- [phpstan/phpdoc-parser](https://github.com/phpstan/phpdoc-parser) +- [latte/latte](https://github.com/nette/latte) +- [league/commonmark](https://github.com/thephpleague/commonmark) + + +## Install + +### With Docker + +ApiGen is available as [apigen/apigen](https://hub.docker.com/r/apigen/apigen) Docker image which you can directly use. + +```bash +docker run --rm --interactive --tty --volume "$PWD:$PWD" --workdir "$PWD" \ + apigen/apigen:edge \ + src --output docs +``` + + +### With Phar + +This will install ApiGen phar binary to `tools/apigen`. + +```bash +mkdir -p tools +curl -L https://github.com/ApiGen/ApiGen/releases/latest/download/apigen.phar -o tools/apigen +chmod +x tools/apigen +tools/apigen src --output docs +``` + + +### With Composer + +This will install ApiGen to `tools/apigen` directory with executable entry point available in `tools/apigen/bin/apigen`. + +```bash +composer create-project --no-dev apigen/apigen:^7.0@alpha tools/apigen +tools/apigen/bin/apigen src --output docs +``` + + +## Usage + +Generate API docs by passing source directories and destination option: + +```bash +apigen src --output docs +``` + + +## Configuration + +ApiGen can be configured with `apigen.neon` configuration file. + +```neon +parameters: + # string[], passed as arguments in CLI, e.g. ['src'] + paths: [] + + # string[], --include in CLI, included files mask, e.g. ['*.php'] + include: ['*.php'] + + # string[], --exclude in CLI, excluded files mask, e.g. ['tests/**'] + exclude: [] + + # bool, should protected members be excluded? + excludeProtected: false + + # bool, should private members be excluded? + excludePrivate: true + + # string[], list of tags used for excluding class-likes and members + excludeTagged: ['internal'] + + # string, --output in CLI + outputDir: '%workingDir%/api' + + # string | null, --theme in CLI + themeDir: null + + # string, --title in CLI + title: 'API Documentation' + + # string, --base-url in CLI + baseUrl: '' + + # int, --workers in CLI, number of processes that will be forked for parallel rendering + workerCount: 8 + + # string, --memory-limit in CLI + memoryLimit: '512M' +``` diff --git a/apigen/vendor/apigen/apigen/UPGRADE-4.0.md b/apigen/vendor/apigen/apigen/UPGRADE-4.0.md deleted file mode 100644 index de41a8d0..00000000 --- a/apigen/vendor/apigen/apigen/UPGRADE-4.0.md +++ /dev/null @@ -1,117 +0,0 @@ -# Upgrade from 2.x to 4.0 - - -## Version - -- Version 3.0 was skipped, because master branch had 3.0-dev alias with code base similar to 2.8. - Since then there were many BC breaks, there for naming it 4.0. - - -## PHP version - -- Min PHP version was raised: - - Before: 5.3 - - After: **5.4** - - -## Distribution - -- PEAR support was dropped. **Use PHAR file instead**. Latest stable version can be always found at [apigen.org](http://apigen.org) - -- New [Release process](wiki/Release-Process) was established. Releasing minor version **every 2 months**. - - -## Cli commands - -- [Symfony\Console](https://github.com/symfony/Console) replaced custom CLI solution, thus composer-like approach is used. - In particular, you need to call specific command name in first argument. - - Before: - - `apigen -s source -d destination` - - After: - - `apigen generate -s source -d destination` - -- New command `self-update` added, to upgrade `.phar` file: - - Before: - - *manual update* - - After: - - `apigen self-update` - - -## Cli options - -- Bool options are off when absent, on when present. - - Before: - - `... --tree yes # tree => true` - - `... --tree no # tree => false` - - After: - - `... --tree # tree => true` - - `... # tree => false` - -- Options with values now accept multiple formats: - - Before: - - `... --access-levels public --access-levels protected` - - After: - - `... --access-levels public,protected` - - or - - `... --access-levels="public,protected"` - - or - - `... --access-levels public --access-levels protected` - - -- Some options were dropped. To see what the available ones are, just run `apigen generate --help`. - - - `--skip-doc-prefix` was dropped, use `--skip-doc-path` instead - - `--allowed-html` was dropped - - `--autocomplete` was dropped; autocomplete now works for classes, constants and functions by default - - `--report`; use [Php_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) for any custom checkstyle - - `--wipeout`; now wipes out everytime - - `--progressbar`; now always present - - `--colors`; now always colors - - `--update-check`; now always colors - -- Some options were renamed and reversed. - - - `--source-code` was off by default, now it on by default; to turn it off, add `--no-source-code` - - -## Markup - -- Docblock markup was changed from Texy to [Markdown Markup](https://github.com/michelf/php-markdown) - - -## Coding standard - -- [Zenify\CodingStandard](https://github.com/Zenify/CodingStandard) was introduces. It's based on [PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) - -- Part of continuous integration testing by [Travis CI](http://travis-ci.org). - - -## Tests - -- From no tests to unit testing with [PHPUnit](https://github.com/sebastianbergmann/phpunit). With decent coverage of ~80 %. - -- Part of continuous integration testing by [Travis CI](http://travis-ci.org). diff --git a/apigen/vendor/apigen/apigen/apigen.neon b/apigen/vendor/apigen/apigen/apigen.neon new file mode 100644 index 00000000..2b15d9ca --- /dev/null +++ b/apigen/vendor/apigen/apigen/apigen.neon @@ -0,0 +1,146 @@ +parameters: + # string[], passed as arguments in CLI, e.g. ['src'] + paths: [] + + # string[], --include in CLI, included files mask, e.g. ['*.php'] + include: ['*.php'] + + # string[], --exclude in CLI, excluded files mask, e.g. ['tests/**'] + exclude: [] + + # bool, should protected members be excluded? + excludeProtected: false + + # bool, should private members be excluded? + excludePrivate: true + + # string[], list of tags used for excluding class-likes and members + excludeTagged: ['internal'] + + # string, --output in CLI + outputDir: '%workingDir%/api' + + # string | null + themeDir: null + + # string, --title in CLI + title: '' + + # string, --base-url in CLI + baseUrl: '' + + # int, --workers in CLI + workerCount: 8 + + # string, --memory-limit in CLI + memoryLimit: '512M' + + +services: + # ApiGen + apigen: + factory: ApiGen\ApiGen(paths: %paths%, include: %include%, exclude: %exclude%) + + # Locator + locator: + factory: ApiGen\Locator::create(projectDir: %workingDir%) + + # Scheduler + scheduler.factory: + factory: ApiGen\Scheduler\SchedulerFactory(workerCount: %workerCount%) + + # Analyzer + analyze.phpDocResolver: + factory: ApiGen\Analyzer\NodeVisitors\PhpDocResolver + + analyzer.nodeTraverser: + type: PhpParser\NodeTraverserInterface + factory: PhpParser\NodeTraverser + setup!: + - addVisitor(@PhpParser\NodeVisitor\NameResolver) + - addVisitor(@ApiGen\Analyzer\NodeVisitors\PhpDocResolver) + + analyzer.filter: + factory: ApiGen\Analyzer\Filter(excludeProtected: %excludeProtected%, excludePrivate: %excludePrivate%, excludeTagged: %excludeTagged%) + + analyzer.taskHandlerFactory: + implement: ApiGen\Analyzer\AnalyzeTaskHandlerFactory + + analyzer: + factory: ApiGen\Analyzer + + # Indexer + indexer: + factory: ApiGen\Indexer + + # Renderer + renderer.filter: + factory: ApiGen\Renderer\Filter + + renderer.urlGenerator: + factory: ApiGen\Renderer\UrlGenerator(ApiGen\Helpers::baseDir(%paths%), %baseUrl%) + + renderer.sourceHighlighter: + factory: ApiGen\Renderer\SourceHighlighter + + renderer.latte.extension: + factory: ApiGen\Renderer\Latte\LatteExtension + + renderer.latte.functions: + factory: ApiGen\Renderer\Latte\LatteFunctions + + renderer.latte.engineFactory: + factory: ApiGen\Renderer\Latte\LatteEngineFactory(tempDir: %tempDir%, themeDir: %themeDir%) + + renderer.latte.engine: + factory: @ApiGen\Renderer\Latte\LatteEngineFactory::create() + + renderer.taskHandlerFactory: + implement: ApiGen\Renderer\Latte\LatteRenderTaskHandlerFactory + arguments: + outputDir: %outputDir% + + renderer: + type: ApiGen\Renderer + factory: ApiGen\Renderer\Latte\LatteRenderer(outputDir: %outputDir%, title: %title%, version: %version%) + + # league/commonmark + commonMark: + type: League\CommonMark\ConverterInterface + factory: League\CommonMark\GithubFlavoredMarkdownConverter + + # nikic/php-parser + phpParser.nameResolver: + factory: PhpParser\NodeVisitor\NameResolver + + phpParser.nameContext: + factory: @PhpParser\NodeVisitor\NameResolver::getNameContext() + + phpParser.factory: + factory: PhpParser\ParserFactory + + phpParser.lexer: + type: PhpParser\Lexer + factory: ApiGen\Analyzer\BodySkippingLexer + + phpParser: + type: PhpParser\Parser + factory: @PhpParser\ParserFactory::create(PhpParser\ParserFactory::PREFER_PHP7, @PhpParser\Lexer) + + # phpstan/phpdoc-parser + phpDocParser.typeParser: + factory: PHPStan\PhpDocParser\Parser\TypeParser + + phpDocParser.constExprParser: + factory: PHPStan\PhpDocParser\Parser\ConstExprParser + + phpDocParser.lexer: + factory: PHPStan\PhpDocParser\Lexer\Lexer + + phpDocParser: + factory: PHPStan\PhpDocParser\Parser\PhpDocParser(requireWhitespaceBeforeDescription: true) + + # symfony/console + symfonyConsole.output: + type: Symfony\Component\Console\Style\OutputStyle + imported: true diff --git a/apigen/vendor/apigen/apigen/bin/apigen b/apigen/vendor/apigen/apigen/bin/apigen index 7c01f86c..3c2ddf38 100644 --- a/apigen/vendor/apigen/apigen/bin/apigen +++ b/apigen/vendor/apigen/apigen/bin/apigen @@ -1,40 +1,86 @@ #!/usr/bin/env php -setVersion(InstalledVersions::getPrettyVersion('apigen/apigen')); + +$app->addArgument('path', InputArgument::IS_ARRAY, 'path directory to analyze'); +$app->addOption('config', 'c', InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'path to config file'); +$app->addOption('include', 'i', InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'includes files mask, e.g. *.php'); +$app->addOption('exclude', 'e', InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'excluded files mask, e.g. tests/**'); +$app->addOption('working-dir', null, InputOption::VALUE_REQUIRED, 'project directory (containing composer.json), defaults to current working directory'); +$app->addOption('temp', null, InputOption::VALUE_REQUIRED, 'temp directory, defaults to sys_get_temp_dir() . \'/apigen\''); +$app->addOption('workers', 'w', InputOption::VALUE_REQUIRED, 'worker count'); +$app->addOption('memory-limit', null, InputOption::VALUE_REQUIRED, 'memory limit'); +$app->addOption('title', 't', InputOption::VALUE_REQUIRED, 'title'); +$app->addOption('base-url', null, InputOption::VALUE_REQUIRED, 'base URL'); +$app->addOption('output', 'o', InputOption::VALUE_REQUIRED, 'output directory'); +$app->addOption('theme', null, InputOption::VALUE_REQUIRED, 'theme directory'); + +$app->setCode(function (InputInterface $input, ConsoleOutputInterface $output): int { + $paths = $input->getArgument('path'); + $options = $input->getOptions(); + + $optionsMapping = [ + 'include' => 'include', + 'exclude' => 'exclude', + 'working-dir' => 'workingDir', + 'temp' => 'tempDir', + 'workers' => 'workerCount', + 'memory-limit' => 'memoryLimit', + 'title' => 'title', + 'base-url' => 'baseUrl', + 'output' => 'outputDir', + 'theme' => 'themeDir', + ]; + + $numericOptions = [ + 'workers' => true, + ]; + + $parameters = []; + foreach ($optionsMapping as $optionKey => $parameterKey) { + $optionValue = $options[$optionKey]; + if (is_string($optionValue)) { + $parameters[$parameterKey] = isset($numericOptions[$optionKey]) ? (int) $optionValue : $optionValue; -$configurator = new Nette\Configurator; -$configurator->setDebugMode( ! Tracy\Debugger::$productionMode); -$configurator->setTempDirectory($tempDir); -$configurator->addConfig(__DIR__ . '/../src/DI/config.neon'); -$configurator->addParameters(['rootDir' => __DIR__ . '/..']); -$container = $configurator->createContainer(); + } elseif (is_array($optionValue) && count($optionValue) > 0) { + $parameters[$parameterKey] = $optionValue; + } + } + if (count($paths) > 0) { + $parameters['paths'] = $paths; + } -/** @var ApiGen\Console\Application $application */ -$application = $container->getByType('ApiGen\Console\Application'); -$application->run(); + $style = new SymfonyStyle($input, $output); + $apiGen = Bootstrap::createApiGen($style, $parameters, $options['config']); + return $apiGen->generate() ? Command::SUCCESS : Command::FAILURE; +}); -// Remove temp data -ApiGen\FileSystem\FileSystem::deleteDir($tempDir); +$app->run(); diff --git a/apigen/vendor/apigen/apigen/bin/bootstrap.php b/apigen/vendor/apigen/apigen/bin/bootstrap.php deleted file mode 100644 index 7a4c2160..00000000 --- a/apigen/vendor/apigen/apigen/bin/bootstrap.php +++ /dev/null @@ -1,20 +0,0 @@ -=5.4", - "nette/application": "~2.2", - "nette/bootstrap": "~2.2", - "nette/di": "~2.2", - "nette/neon": "~2.2", - "nette/mail": "~2.2", - "nette/robot-loader": "~2.2", - "nette/safe-stream": "~2.2", - "latte/latte": ">=2.2.0,<2.3.5", - "tracy/tracy": "~2.2", - - "kukulich/fshl": "~2.1", - "andrewsville/php-token-reflection": "~1.4", - "michelf/php-markdown": "~1.4", - "kdyby/events": "~2.0", - "symfony/options-resolver": "~2.6.1", - "symfony/console": "~2.6", - "symfony/yaml": "~2.6", - "herrera-io/phar-update": "~2.0", - - "apigen/theme-default": "~1.0.1", - "apigen/theme-bootstrap": "~1.1.2" + "php": "^8.1", + "ext-ctype": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "composer-runtime-api": "^2.0", + "jetbrains/phpstorm-stubs": "^2022.3", + "latte/latte": "^3.0", + "league/commonmark": "^2.3", + "nette/di": "^3.1", + "nette/finder": "^3.0", + "nette/schema": "^1.2", + "nette/utils": "^4.0", + "nikic/php-parser": "^4.15", + "phpstan/php-8-stubs": "^0.3.55", + "phpstan/phpdoc-parser": "^1.16", + "symfony/console": "^6.0" }, "require-dev": { - "mockery/mockery": "~0.9", - "herrera-io/box": "~1.6" + "nette/neon": "^3.4", + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.9", + "tracy/tracy": "^2.9" + }, + "replace": { + "symfony/polyfill-ctype": "*", + "symfony/polyfill-mbstring": "*", + "symfony/polyfill-php80": "*" }, "autoload": { "psr-4": { @@ -46,15 +46,19 @@ }, "autoload-dev": { "psr-4": { - "ApiGen\\Tests\\": "tests" + "ApiGenTests\\": "tests" } }, - "bin": [ - "bin/apigen" - ], - "extra": { - "branch-alias": { - "dev-master": "4.1.0-dev" - } + "config": { + "platform-check": true, + "sort-packages": true + }, + "scripts": { + "check": [ + "@check:phpstan", + "@check:tests" + ], + "check:tests": "tester -C tests", + "check:phpstan": "phpstan analyse -vvv" } } diff --git a/apigen/vendor/apigen/apigen/composer.lock b/apigen/vendor/apigen/apigen/composer.lock new file mode 100644 index 00000000..f36ffd05 --- /dev/null +++ b/apigen/vendor/apigen/apigen/composer.lock @@ -0,0 +1,1846 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "057f841cea7b2f758ea08565b3e09739", + "packages": [ + { + "name": "dflydev/dot-access-data", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "f41715465d65213d644d3141a6a93081be5d3549" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", + "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + }, + "time": "2022-10-27T11:44:00+00:00" + }, + { + "name": "jetbrains/phpstorm-stubs", + "version": "v2022.3", + "source": { + "type": "git", + "url": "https://github.com/JetBrains/phpstorm-stubs.git", + "reference": "6b568c153cea002dc6fad96285c3063d07cab18d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JetBrains/phpstorm-stubs/zipball/6b568c153cea002dc6fad96285c3063d07cab18d", + "reference": "6b568c153cea002dc6fad96285c3063d07cab18d", + "shasum": "" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "@stable", + "nikic/php-parser": "@stable", + "php": "^8.0", + "phpdocumentor/reflection-docblock": "@stable", + "phpunit/phpunit": "@stable" + }, + "type": "library", + "autoload": { + "files": [ + "PhpStormStubsMap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "PHP runtime & extensions header files for PhpStorm", + "homepage": "https://www.jetbrains.com/phpstorm", + "keywords": [ + "autocomplete", + "code", + "inference", + "inspection", + "jetbrains", + "phpstorm", + "stubs", + "type" + ], + "support": { + "source": "https://github.com/JetBrains/phpstorm-stubs/tree/v2022.3" + }, + "time": "2022-10-17T09:21:37+00:00" + }, + { + "name": "latte/latte", + "version": "v3.0.6", + "source": { + "type": "git", + "url": "https://github.com/nette/latte.git", + "reference": "6f66dcfea7ad76f60b8234139161421e9e1e309f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/latte/zipball/6f66dcfea7ad76f60b8234139161421e9e1e309f", + "reference": "6f66dcfea7ad76f60b8234139161421e9e1e309f", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=8.0 <8.3" + }, + "conflict": { + "nette/application": "<3.1.7", + "nette/caching": "<3.1.4" + }, + "require-dev": { + "nette/php-generator": "^3.6 || ^4.0", + "nette/tester": "^2.0", + "nette/utils": "^3.0", + "phpstan/phpstan": "^1", + "tracy/tracy": "^2.3" + }, + "suggest": { + "ext-fileinfo": "to use filter |datastream", + "ext-iconv": "to use filters |reverse, |substring", + "ext-mbstring": "to use filters like lower, upper, capitalize, ...", + "nette/php-generator": "to use tag {templatePrint}", + "nette/utils": "to use filter |webalize" + }, + "bin": [ + "bin/latte-lint" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "☕ Latte: the intuitive and fast template engine for those who want the most secure PHP sites. Introduces context-sensitive escaping.", + "homepage": "https://latte.nette.org", + "keywords": [ + "context-sensitive", + "engine", + "escaping", + "html", + "nette", + "security", + "template", + "twig" + ], + "support": { + "issues": "https://github.com/nette/latte/issues", + "source": "https://github.com/nette/latte/tree/v3.0.6" + }, + "time": "2023-03-09T01:34:56+00:00" + }, + { + "name": "league/commonmark", + "version": "2.4.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "d44a24690f16b8c1808bf13b1bd54ae4c63ea048" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d44a24690f16b8c1808bf13b1bd54ae4c63ea048", + "reference": "d44a24690f16b8c1808bf13b1bd54ae4c63ea048", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.30.0", + "commonmark/commonmark.js": "0.30.0", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2023-03-24T15:16:10+00:00" + }, + { + "name": "league/config", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2022-12-11T20:36:23+00:00" + }, + { + "name": "nette/di", + "version": "v3.1.2", + "source": { + "type": "git", + "url": "https://github.com/nette/di.git", + "reference": "355cefbd71011a76b670fda3340d612a6944f972" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/di/zipball/355cefbd71011a76b670fda3340d612a6944f972", + "reference": "355cefbd71011a76b670fda3340d612a6944f972", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "nette/neon": "^3.3 || ^4.0", + "nette/php-generator": "^3.5.4 || ^4.0", + "nette/robot-loader": "^3.2 || ~4.0.0", + "nette/schema": "^1.2", + "nette/utils": "^3.2.5 || ~4.0.0", + "php": ">=7.2 <8.3" + }, + "require-dev": { + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "💎 Nette Dependency Injection Container: Flexible, compiled and full-featured DIC with perfectly usable autowiring and support for all new PHP features.", + "homepage": "https://nette.org", + "keywords": [ + "compiled", + "di", + "dic", + "factory", + "ioc", + "nette", + "static" + ], + "support": { + "issues": "https://github.com/nette/di/issues", + "source": "https://github.com/nette/di/tree/v3.1.2" + }, + "time": "2023-03-13T14:03:15+00:00" + }, + { + "name": "nette/finder", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/nette/finder.git", + "reference": "027395c638637de95c8e9fad49a7c51249404ed2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/finder/zipball/027395c638637de95c8e9fad49a7c51249404ed2", + "reference": "027395c638637de95c8e9fad49a7c51249404ed2", + "shasum": "" + }, + "require": { + "nette/utils": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🔍 Nette Finder: find files and directories with an intuitive API.", + "homepage": "https://nette.org", + "keywords": [ + "filesystem", + "glob", + "iterator", + "nette" + ], + "support": { + "issues": "https://github.com/nette/finder/issues", + "source": "https://github.com/nette/finder/tree/v3.0.0" + }, + "time": "2022-12-14T17:05:54+00:00" + }, + { + "name": "nette/neon", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/nette/neon.git", + "reference": "372d945c156ee7f35c953339fb164538339e6283" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/neon/zipball/372d945c156ee7f35c953339fb164538339e6283", + "reference": "372d945c156ee7f35c953339fb164538339e6283", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=8.0 <8.3" + }, + "require-dev": { + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.7" + }, + "bin": [ + "bin/neon-lint" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🍸 Nette NEON: encodes and decodes NEON file format.", + "homepage": "https://ne-on.org", + "keywords": [ + "export", + "import", + "neon", + "nette", + "yaml" + ], + "support": { + "issues": "https://github.com/nette/neon/issues", + "source": "https://github.com/nette/neon/tree/v3.4.0" + }, + "time": "2023-01-13T03:08:29+00:00" + }, + { + "name": "nette/php-generator", + "version": "v4.0.6", + "source": { + "type": "git", + "url": "https://github.com/nette/php-generator.git", + "reference": "0f1275bb8d39b3eb92b57c22a51fe693f1f145a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/php-generator/zipball/0f1275bb8d39b3eb92b57c22a51fe693f1f145a5", + "reference": "0f1275bb8d39b3eb92b57c22a51fe693f1f145a5", + "shasum": "" + }, + "require": { + "nette/utils": "^3.2.9 || ^4.0", + "php": ">=8.0 <8.3" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.4", + "nikic/php-parser": "^4.15", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.8" + }, + "suggest": { + "nikic/php-parser": "to use ClassType::from(withBodies: true) & ClassType::fromCode()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.2 features.", + "homepage": "https://nette.org", + "keywords": [ + "code", + "nette", + "php", + "scaffolding" + ], + "support": { + "issues": "https://github.com/nette/php-generator/issues", + "source": "https://github.com/nette/php-generator/tree/v4.0.6" + }, + "time": "2023-03-13T17:38:30+00:00" + }, + { + "name": "nette/robot-loader", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/nette/robot-loader.git", + "reference": "2970fc5a7ba858d996801df3af68005ca51f26a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/robot-loader/zipball/2970fc5a7ba858d996801df3af68005ca51f26a9", + "reference": "2970fc5a7ba858d996801df3af68005ca51f26a9", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "nette/utils": "^4.0", + "php": ">=8.0 <8.3" + }, + "require-dev": { + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🍀 Nette RobotLoader: high performance and comfortable autoloader that will search and autoload classes within your application.", + "homepage": "https://nette.org", + "keywords": [ + "autoload", + "class", + "interface", + "nette", + "trait" + ], + "support": { + "issues": "https://github.com/nette/robot-loader/issues", + "source": "https://github.com/nette/robot-loader/tree/v4.0.0" + }, + "time": "2023-01-18T04:17:49+00:00" + }, + { + "name": "nette/schema", + "version": "v1.2.3", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", + "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", + "shasum": "" + }, + "require": { + "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", + "php": ">=7.1 <8.3" + }, + "require-dev": { + "nette/tester": "^2.3 || ^2.4", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.2.3" + }, + "time": "2022-10-13T01:24:26+00:00" + }, + { + "name": "nette/utils", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "cacdbf5a91a657ede665c541eda28941d4b09c1e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/cacdbf5a91a657ede665c541eda28941d4b09c1e", + "reference": "cacdbf5a91a657ede665c541eda28941d4b09c1e", + "shasum": "" + }, + "require": { + "php": ">=8.0 <8.3" + }, + "conflict": { + "nette/finder": "<3", + "nette/schema": "<1.2.2" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", + "ext-xml": "to use Strings::length() etc. when mbstring is not available" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v4.0.0" + }, + "time": "2023-02-02T10:41:53+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.15.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4" + }, + "time": "2023-03-05T19:49:14+00:00" + }, + { + "name": "phpstan/php-8-stubs", + "version": "0.3.60", + "source": { + "type": "git", + "url": "https://github.com/phpstan/php-8-stubs.git", + "reference": "945d7554e8bc083afb3d13ae4431017aaf786f52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/php-8-stubs/zipball/945d7554e8bc083afb3d13ae4431017aaf786f52", + "reference": "945d7554e8bc083afb3d13ae4431017aaf786f52", + "shasum": "" + }, + "type": "library", + "autoload": { + "classmap": [ + "Php8StubsMap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT", + "PHP-3.01" + ], + "description": "PHP stubs extracted from php-src", + "support": { + "issues": "https://github.com/phpstan/php-8-stubs/issues", + "source": "https://github.com/phpstan/php-8-stubs/tree/0.3.60" + }, + "time": "2023-03-10T08:48:19+00:00" + }, + { + "name": "phpstan/phpdoc-parser", + "version": "1.18.0", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "882eabc9b6a12e25c27091a261397f9c8792e722" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/882eabc9b6a12e25c27091a261397f9c8792e722", + "reference": "882eabc9b6a12e25c27091a261397f9c8792e722", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.5", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/phpunit": "^9.5", + "symfony/process": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.18.0" + }, + "time": "2023-04-06T07:26:43+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "symfony/console", + "version": "v6.2.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "3582d68a64a86ec25240aaa521ec8bc2342b369b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/3582d68a64a86ec25240aaa521ec8bc2342b369b", + "reference": "3582d68a64a86ec25240aaa521ec8bc2342b369b", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/string": "^5.4|^6.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/lock": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v6.2.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-29T21:42:15+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", + "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-01T10:25:55+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "511a08c03c1960e08a883f4cffcacd219b758354" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", + "reference": "511a08c03c1960e08a883f4cffcacd219b758354", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "a8c9cedf55f314f3a186041d19537303766df09a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/a8c9cedf55f314f3a186041d19537303766df09a", + "reference": "a8c9cedf55f314f3a186041d19537303766df09a", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^2.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.2.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-01T10:32:47+00:00" + }, + { + "name": "symfony/string", + "version": "v6.2.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/193e83bbd6617d6b2151c37fff10fa7168ebddef", + "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.0" + }, + "require-dev": { + "symfony/error-handler": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/intl": "^6.2", + "symfony/translation-contracts": "^2.0|^3.0", + "symfony/var-exporter": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v6.2.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-20T16:06:02+00:00" + } + ], + "packages-dev": [ + { + "name": "nette/tester", + "version": "v2.5.0", + "source": { + "type": "git", + "url": "https://github.com/nette/tester.git", + "reference": "78555c76859208ee049335863e63e357ba71578f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/tester/zipball/78555c76859208ee049335863e63e357ba71578f", + "reference": "78555c76859208ee049335863e63e357ba71578f", + "shasum": "" + }, + "require": { + "php": ">=8.0 <8.3" + }, + "require-dev": { + "ext-simplexml": "*", + "phpstan/phpstan": "^1.0" + }, + "bin": [ + "src/tester" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Miloslav Hůla", + "homepage": "https://github.com/milo" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "Nette Tester: enjoyable unit testing in PHP with code coverage reporter. 🍏🍏🍎🍏", + "homepage": "https://tester.nette.org", + "keywords": [ + "Xdebug", + "assertions", + "clover", + "code coverage", + "nette", + "pcov", + "phpdbg", + "phpunit", + "testing", + "unit" + ], + "support": { + "issues": "https://github.com/nette/tester/issues", + "source": "https://github.com/nette/tester/tree/v2.5.0" + }, + "time": "2023-03-02T02:14:46+00:00" + }, + { + "name": "phpstan/phpstan", + "version": "1.10.11", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "8aa62e6ea8b58ffb650e02940e55a788cbc3fe21" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/8aa62e6ea8b58ffb650e02940e55a788cbc3fe21", + "reference": "8aa62e6ea8b58ffb650e02940e55a788cbc3fe21", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], + "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", + "issues": "https://github.com/phpstan/phpstan/issues", + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", + "type": "tidelift" + } + ], + "time": "2023-04-04T19:17:42+00:00" + }, + { + "name": "tracy/tracy", + "version": "v2.10.2", + "source": { + "type": "git", + "url": "https://github.com/nette/tracy.git", + "reference": "882fee7cf4258a602ad4a37461e837ed2ca1406b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/tracy/zipball/882fee7cf4258a602ad4a37461e837ed2ca1406b", + "reference": "882fee7cf4258a602ad4a37461e837ed2ca1406b", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-session": "*", + "php": ">=8.0 <8.3" + }, + "conflict": { + "nette/di": "<3.0" + }, + "require-dev": { + "latte/latte": "^2.5", + "nette/di": "^3.0", + "nette/mail": "^3.0", + "nette/tester": "^2.2", + "nette/utils": "^3.0", + "phpstan/phpstan": "^1.0", + "psr/log": "^1.0 || ^2.0 || ^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.10-dev" + } + }, + "autoload": { + "files": [ + "src/Tracy/functions.php" + ], + "classmap": [ + "src" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "😎 Tracy: the addictive tool to ease debugging PHP code for cool developers. Friendly design, logging, profiler, advanced features like debugging AJAX calls or CLI support. You will love it.", + "homepage": "https://tracy.nette.org", + "keywords": [ + "Xdebug", + "debug", + "debugger", + "nette", + "profiler" + ], + "support": { + "issues": "https://github.com/nette/tracy/issues", + "source": "https://github.com/nette/tracy/tree/v2.10.2" + }, + "time": "2023-03-29T12:34:53+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": "^8.1", + "ext-ctype": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "composer-runtime-api": "^2.0" + }, + "platform-dev": [], + "plugin-api-version": "2.3.0" +} diff --git a/apigen/vendor/apigen/apigen/generate-api.sh b/apigen/vendor/apigen/apigen/generate-api.sh deleted file mode 100644 index 52b5e0ca..00000000 --- a/apigen/vendor/apigen/apigen/generate-api.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash - -# Build settings -REPOSITORY=${REPOSITORY:-"https://${GH_TOKEN}@github.com/ApiGen/api.git"} -BRANCH=${BRANCH:-"gh-pages"} -BUILD_DIR=${BUILD_DIR:-"/tmp/generate-api"} - -# Git identity -GIT_AUTHOR_NAME=${GIT_AUTHOR_NAME:-"Travis"} -GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL:-"travis@travis-ci.org"} - -# Generate API -git clone "${REPOSITORY}" "${BUILD_DIR}" --branch "${BRANCH}" --depth 1 -yes | bin/apigen generate -s src -d "${BUILD_DIR}" - -# Commit & push -cd "${BUILD_DIR}" || exit 1 -git add . -git commit -m "Generate API" -git push origin "${BRANCH}" diff --git a/apigen/vendor/apigen/apigen/src/Analyzer.php b/apigen/vendor/apigen/apigen/src/Analyzer.php new file mode 100644 index 00000000..1ecebcd6 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Analyzer.php @@ -0,0 +1,159 @@ +schedulerFactory->create(AnalyzeTaskHandlerFactory::class, context: null); + $state = new AnalyzeState($progressBar, $scheduler); + + foreach ($files as $file) { + $this->scheduleFile($state, $file, primary: true); + } + + /** @var AnalyzeTask $task */ + foreach ($scheduler->process() as $task => $result) { + $this->processTaskResult($result, $state); + $progressBar->setMessage($task->sourceFile); + $progressBar->advance(); + } + + foreach ($state->missing as $missing) { + $referencedBy = $state->classLikes[$missing->referencedBy->fullLower] ?? $state->functions[$missing->referencedBy->fullLower]; + + if ($referencedBy->primary) { + $state->errors[ErrorKind::MissingSymbol->name][] = $this->createMissingSymbolError($missing, $referencedBy); + } + } + + return new AnalyzeResult($state->classLikes + $state->missing, $state->functions, $state->errors); + } + + + protected function scheduleFile(AnalyzeState $state, string $file, bool $primary): void + { + $file = Helpers::realPath($file); + + if (isset($state->files[$file])) { + return; + } + + $state->files[$file] = true; + $state->progressBar->setMaxSteps(count($state->files)); + $state->scheduler->schedule(new AnalyzeTask($file, $primary)); + } + + + /** + * @param array $result + */ + protected function processTaskResult(array $result, AnalyzeState $state): void + { + foreach ($result as $info) { + match (true) { + $info instanceof ClassLikeReferenceInfo => $this->processClassLikeReference($state, $info), + $info instanceof ClassLikeInfo => $this->processClassLike($state, $info), + $info instanceof FunctionInfo => $this->processFunction($state, $info), + $info instanceof ErrorInfo => $this->processError($state, $info), + }; + } + } + + + protected function processClassLikeReference(AnalyzeState $state, ClassLikeReferenceInfo $info): void + { + if ($state->prevName !== null && !isset($state->classLikes[$info->fullLower]) && !isset($state->missing[$info->fullLower])) { + $name = new NameInfo($info->full, $info->fullLower); + $state->missing[$info->fullLower] = new MissingInfo($name, $state->prevName); + + if (($file = $this->locator->locate($info)) !== null) { + $this->scheduleFile($state, $file, primary: false); + } + } + } + + + protected function processClassLike(AnalyzeState $state, ClassLikeInfo $info): void + { + if (!isset($state->classLikes[$info->name->fullLower])) { + unset($state->missing[$info->name->fullLower]); + $state->classLikes[$info->name->fullLower] = $info; + $state->prevName = $info->name; + + } else { + $existing = $state->classLikes[$info->name->fullLower]; + $state->errors[ErrorKind::DuplicateSymbol->name][] = $this->createDuplicateSymbolError($info, $existing); + $state->prevName = null; + } + } + + + protected function processFunction(AnalyzeState $state, FunctionInfo $info): void + { + if (!isset($state->functions[$info->name->fullLower])) { + $state->functions[$info->name->fullLower] = $info; + $state->prevName = $info->name; + + } else { + $existing = $state->functions[$info->name->fullLower]; + $state->errors[ErrorKind::DuplicateSymbol->name][] = $this->createDuplicateSymbolError($info, $existing); + $state->prevName = null; + } + } + + + protected function processError(AnalyzeState $state, ErrorInfo $info): void + { + $state->errors[$info->kind->name][] = $info; + $state->prevName = null; + } + + + protected function createMissingSymbolError(MissingInfo $dependency, ClassLikeInfo | FunctionInfo $referencedBy): ErrorInfo + { + return new ErrorInfo(ErrorKind::MissingSymbol, implode("\n", [ + "Missing {$dependency->name->full}", + "referenced by {$referencedBy->name->full}", + ])); + } + + + protected function createDuplicateSymbolError(ClassLikeInfo | FunctionInfo $info, ClassLikeInfo | FunctionInfo $first): ErrorInfo + { + return new ErrorInfo(ErrorKind::DuplicateSymbol, implode("\n", [ + "Multiple definitions of {$info->name->full}.", + "The first definition was found in {$first->file} on line {$first->startLine}", + "and then another one was found in {$info->file} on line {$info->startLine}", + ])); + } +} diff --git a/apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeResult.php b/apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeResult.php new file mode 100644 index 00000000..63fea43e --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeResult.php @@ -0,0 +1,23 @@ +> $scheduler + */ + public function __construct( + public ProgressBar $progressBar, + public Scheduler $scheduler, + ) { + } +} diff --git a/apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeTask.php b/apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeTask.php new file mode 100644 index 00000000..d57611b1 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeTask.php @@ -0,0 +1,15 @@ +> + */ +class AnalyzeTaskHandler implements TaskHandler +{ + /** + * @param null $context + */ + public function __construct( + protected Parser $parser, + protected NodeTraverserInterface $traverser, + protected Filter $filter, + protected mixed $context = null, + ) { + } + + + /** + * @param AnalyzeTask $task + */ + public function handle(Task $task): array + { + try { + $content = FileSystem::read($task->sourceFile); + + if (!mb_check_encoding($content, 'UTF-8')) { + $error = new ErrorInfo(ErrorKind::InvalidEncoding, "File {$task->sourceFile} is not UTF-8 encoded"); + return [$error]; + } + + $ast = $this->parser->parse($content) ?? throw new \LogicException(); + $ast = $this->traverser->traverse($ast); + return iterator_to_array($this->processNodes($task, $ast), preserve_keys: false); + + } catch (\PhpParser\Error $e) { + $error = new ErrorInfo(ErrorKind::SyntaxError, "Parse error in file {$task->sourceFile}:\n{$e->getMessage()}"); + return [$error]; + + } catch (\Throwable $e) { + $ex = new \LogicException("Failed to analyze file $task->sourceFile", 0, $e); + $error = new ErrorInfo(ErrorKind::InternalError, (string) $ex); + return [$error]; + } + } + + + /** + * @param Node[] $nodes indexed by [] + * @return Iterator + */ + protected function processNodes(AnalyzeTask $task, array $nodes): Iterator + { + foreach ($nodes as $node) { + if ($node instanceof Node\Stmt\ClassLike && $node->name !== null) { + try { + $task->primary = $task->primary && $this->filter->filterClassLikeNode($node); + $classLike = $this->processClassLike($task, $node); + yield $classLike; + yield from $this->extractDependencies($classLike); + + } catch (\Throwable $e) { + throw new \LogicException("Failed to analyze class-like $node->namespacedName", 0, $e); + } + + } elseif ($node instanceof Node\Stmt\Function_) { + try { + $functionInfo = $this->processFunction($task, $node); + + if ($functionInfo !== null) { + yield $functionInfo; + yield from $this->extractDependencies($functionInfo); + } + + } catch (\Throwable $e) { + throw new \LogicException("Failed to analyze function $node->namespacedName", 0, $e); + } + + } elseif ($node instanceof Node\Stmt) { // TODO: constants, class aliases + foreach ($node->getSubNodeNames() as $name) { + $subNode = $node->$name; + + if (is_array($subNode)) { + yield from $this->processNodes($task, $subNode); + + } elseif ($subNode instanceof Node) { + yield from $this->processNodes($task, [$subNode]); + } + } + } + } + } + + + protected function processClassLike(AnalyzeTask $task, Node\Stmt\ClassLike $node): ClassLikeInfo + { + $extendsTagNames = ['extends', 'template-extends', 'phpstan-extends']; + $implementsTagNames = ['implements', 'template-implements', 'phpstan-implements']; + $useTagNames = ['use', 'template-use', 'phpstan-use']; + + assert($node->namespacedName !== null); + $name = new NameInfo($node->namespacedName->toString()); + + $classDoc = $this->extractPhpDoc($node); + $tags = $this->extractTags($classDoc); + + if ($task->primary && !$this->filter->filterClassLikeTags($tags)) { + $task->primary = false; + } + + if ($node instanceof Node\Stmt\Class_) { + $info = new ClassInfo($name, $task->primary); + $info->abstract = $node->isAbstract(); + $info->final = $node->isFinal(); + $info->readOnly = $node->isReadonly(); + $info->extends = $node->extends ? $this->processName($node->extends, $tags, $extendsTagNames) : null; + $info->implements = $this->processNameList($node->implements, $tags, $implementsTagNames); + + $info->aliases = $this->extractAliases($classDoc, $node->getDocComment()?->getStartLine(), $node->getDocComment()?->getEndLine()); + unset($tags['phpstan-type'], $tags['phpstan-import-type']); + + foreach ($node->getTraitUses() as $traitUse) { // TODO: trait adaptations + $info->uses += $this->processNameList($traitUse->traits, $tags, $useTagNames); + } + + } elseif ($node instanceof Node\Stmt\Interface_) { + $info = new InterfaceInfo($name, $task->primary); + $info->extends = $this->processNameList($node->extends, $tags, $extendsTagNames); + + } elseif ($node instanceof Node\Stmt\Trait_) { + $info = new TraitInfo($name, $task->primary); + + } elseif ($node instanceof Node\Stmt\Enum_) { + $autoImplement = new ClassLikeReferenceInfo($node->scalarType ? BackedEnum::class : UnitEnum::class); + + $info = new EnumInfo($name, $task->primary); + $info->scalarType = $node->scalarType?->name; + $info->implements = $this->processNameList($node->implements, $tags, $implementsTagNames) + [$autoImplement->fullLower => $autoImplement]; + + foreach ($node->getTraitUses() as $traitUse) { + $info->uses += $this->processNameList($traitUse->traits, $tags, $useTagNames); + } + + } else { + throw new \LogicException(sprintf('Unsupported ClassLike node %s', get_debug_type($node))); + } + + $info->genericParameters = $this->extractGenericParameters($classDoc); + $info->description = $this->extractMultiLineDescription($classDoc); + $info->tags = $tags; + $info->file = $task->sourceFile; + $info->startLine = $node->getStartLine(); + $info->endLine = $node->getEndLine(); + + $info->mixins = $this->processMixinTags($tags['mixin'] ?? []); + + foreach ($this->extractMembers($info->tags, $node) as $member) { + if (!$this->filter->filterMemberInfo($info, $member)) { + continue; + + } elseif ($member instanceof ConstantInfo) { + $info->constants[$member->name] = $member; + + } elseif ($member instanceof PropertyInfo) { + $info->properties[$member->name] = $member; + + } elseif ($member instanceof MethodInfo) { + $info->methods[$member->nameLower] = $member; + + } elseif ($member instanceof EnumCaseInfo) { + assert($info instanceof EnumInfo); + $info->cases[$member->name] = $member; + + } else { + throw new \LogicException(sprintf('Unexpected member type %s', get_debug_type($member))); + } + } + + unset($info->tags['mixin']); + unset($info->tags['property'], $info->tags['property-read'], $info->tags['property-write']); + unset($info->tags['method']); + + if ($info->primary && !$this->filter->filterClassLikeInfo($info)) { + $info->primary = false; + } + + return $info; + } + + + /** + * @param PhpDocTagValueNode[][] $tags indexed by [tagName][] + * @return iterable + */ + protected function extractMembers(array $tags, Node\Stmt\ClassLike $node): iterable + { + yield from $this->extractMembersFromBody($node); + yield from $this->extractMembersFromTags($tags); + } + + + /** + * @return iterable + */ + protected function extractMembersFromBody(Node\Stmt\ClassLike $node): iterable + { + foreach ($node->stmts as $member) { + $memberDoc = $this->extractPhpDoc($member); + $description = $this->extractMultiLineDescription($memberDoc); + $tags = $this->extractTags($memberDoc); + + if (!$this->filter->filterMemberTags($tags)) { + continue; + } + + if ($member instanceof Node\Stmt\ClassConst) { + if (!$this->filter->filterConstantNode($member)) { + continue; + } + + foreach ($member->consts as $constant) { + $memberInfo = new ConstantInfo($constant->name->name, $this->processExpr($constant->value)); + + $memberInfo->description = $description; + $memberInfo->tags = $tags; + + $memberInfo->startLine = $member->getComments() ? $member->getComments()[0]->getStartLine() : $member->getStartLine(); + $memberInfo->endLine = $member->getEndLine(); + + $memberInfo->public = $member->isPublic(); + $memberInfo->protected = $member->isProtected(); + $memberInfo->private = $member->isPrivate(); + $memberInfo->final = $member->isFinal(); + + yield $memberInfo; + } + + } elseif ($member instanceof Node\Stmt\Property) { + if (!$this->filter->filterPropertyNode($member)) { + continue; + } + + $varTag = isset($tags['var'][0]) && $tags['var'][0] instanceof VarTagValueNode ? $tags['var'][0] : null; + unset($tags['var']); + + foreach ($member->props as $property) { + $memberInfo = new PropertyInfo($property->name->name); + + $memberInfo->description = $this->extractSingleLineDescription($varTag); + $memberInfo->tags = $tags; + + $memberInfo->startLine = $member->getComments() ? $member->getComments()[0]->getStartLine() : $member->getStartLine(); + $memberInfo->endLine = $member->getEndLine(); + + $memberInfo->public = $member->isPublic(); + $memberInfo->protected = $member->isProtected(); + $memberInfo->private = $member->isPrivate(); + $memberInfo->static = $member->isStatic(); + $memberInfo->readOnly = $member->isReadonly(); + + $memberInfo->type = $varTag ? $varTag->type : $this->processTypeOrNull($member->type); + $memberInfo->default = $this->processExprOrNull($property->default); + + yield $memberInfo; + } + + } elseif ($member instanceof Node\Stmt\ClassMethod) { + if (!$this->filter->filterMethodNode($member)) { + continue; + } + + /** @var ?ReturnTagValueNode $returnTag */ + $returnTag = isset($tags['return'][0]) && $tags['return'][0] instanceof ReturnTagValueNode ? $tags['return'][0] : null; + unset($tags['param'], $tags['return']); + + $memberInfo = new MethodInfo($member->name->name); + + $memberInfo->description = $description; + $memberInfo->tags = $tags; + + $memberInfo->genericParameters = $this->extractGenericParameters($memberDoc); + $memberInfo->parameters = $this->processParameters($this->extractParamTagValues($memberDoc), $member->params); + $memberInfo->returnType = $returnTag ? $returnTag->type : $this->processTypeOrNull($member->returnType); + $memberInfo->returnDescription = $this->extractSingleLineDescription($returnTag); + $memberInfo->byRef = $member->byRef; + + $memberInfo->startLine = $member->getComments() ? $member->getComments()[0]->getStartLine() : $member->getStartLine(); + $memberInfo->endLine = $member->getEndLine(); + + $memberInfo->public = $member->isPublic(); + $memberInfo->protected = $member->isProtected(); + $memberInfo->private = $member->isPrivate(); + + $memberInfo->static = $member->isStatic(); + $memberInfo->abstract = $member->isAbstract(); + $memberInfo->final = $member->isFinal(); + + yield $memberInfo; + + if ($member->name->toLowerString() === '__construct') { + foreach ($member->params as $param) { + if ($param->flags === 0 || !$this->filter->filterPromotedPropertyNode($param)) { + continue; + } + + assert($param->var instanceof Node\Expr\Variable); + assert(is_string($param->var->name)); + $propertyInfo = new PropertyInfo($param->var->name); + + $propertyInfo->description = $memberInfo->parameters[$propertyInfo->name]->description; + + $propertyInfo->startLine = $param->getStartLine(); + $propertyInfo->endLine = $param->getEndLine(); + + $propertyInfo->public = (bool) ($param->flags & Node\Stmt\Class_::MODIFIER_PUBLIC); + $propertyInfo->protected = (bool) ($param->flags & Node\Stmt\Class_::MODIFIER_PROTECTED); + $propertyInfo->private = (bool) ($param->flags & Node\Stmt\Class_::MODIFIER_PRIVATE); + + $propertyInfo->readOnly = (bool) ($param->flags & Node\Stmt\Class_::MODIFIER_READONLY); + $propertyInfo->type = $memberInfo->parameters[$propertyInfo->name]->type; + + yield $propertyInfo; + } + } + + } elseif ($member instanceof Node\Stmt\EnumCase) { + if (!$this->filter->filterEnumCaseNode($member)) { + continue; + } + + $memberInfo = new EnumCaseInfo($member->name->name, $this->processExprOrNull($member->expr)); + + $memberInfo->description = $description; + $memberInfo->tags = $tags; + + $memberInfo->startLine = $member->getComments() ? $member->getComments()[0]->getStartLine() : $member->getStartLine(); + $memberInfo->endLine = $member->getEndLine(); + + yield $memberInfo; + } + } + } + + + /** + * @param PhpDocTagValueNode[][] $tags indexed by [tagName][] + * @return iterable + */ + protected function extractMembersFromTags(array $tags): iterable + { + $propertyTags = [ + 'property' => [false, false], + 'property-read' => [true, false], + 'property-write' => [false, true], + ]; + + foreach ($propertyTags as $tag => [$readOnly, $writeOnly]) { + /** @var PropertyTagValueNode $value */ + foreach ($tags[$tag] ?? [] as $value) { + $propertyInfo = new PropertyInfo(substr($value->propertyName, 1)); + $propertyInfo->magic = true; + $propertyInfo->public = true; + $propertyInfo->type = $value->type; + $propertyInfo->description = $this->extractSingleLineDescription($value); + $propertyInfo->readOnly = $readOnly; + $propertyInfo->writeOnly = $writeOnly; + + yield $propertyInfo; + } + } + + /** @var MethodTagValueNode $value */ + foreach ($tags['method'] ?? [] as $value) { + $methodInfo = new MethodInfo($value->methodName); + $methodInfo->magic = true; + $methodInfo->public = true; + $methodInfo->static = $value->isStatic; + $methodInfo->returnType = $value->returnType; + $methodInfo->description = $this->extractSingleLineDescription($value); + + foreach ($value->parameters as $position => $parameter) { + $parameterInfo = new ParameterInfo(substr($parameter->parameterName, 1), $position); + $parameterInfo->type = $parameter->type; + $parameterInfo->byRef = $parameter->isReference; + $parameterInfo->variadic = $parameter->isVariadic; + $parameterInfo->default = $parameter->defaultValue?->getAttribute('info'); + + $methodInfo->parameters[$parameterInfo->name] = $parameterInfo; + } + + yield $methodInfo; + } + } + + + protected function processFunction(AnalyzeTask $task, Node\Stmt\Function_ $node): ?FunctionInfo + { + if (!$this->filter->filterFunctionNode($node)) { + return null; + } + + $phpDoc = $this->extractPhpDoc($node); + $tags = $this->extractTags($phpDoc); + + if (!$this->filter->filterFunctionTags($tags)) { + return null; + } + + assert($node->namespacedName !== null); + $name = new NameInfo($node->namespacedName->toString()); + $info = new FunctionInfo($name, $task->primary); + + $info->description = $this->extractMultiLineDescription($phpDoc); + $info->tags = $tags; + $info->file = $task->sourceFile; + $info->startLine = $node->getStartLine(); + $info->endLine = $node->getEndLine(); + + /** @var ?ReturnTagValueNode $returnTag */ + $returnTag = isset($tags['return'][0]) && $tags['return'][0] instanceof ReturnTagValueNode ? $tags['return'][0] : null; + unset($tags['param'], $tags['return']); + + $info->genericParameters = $this->extractGenericParameters($phpDoc); + $info->parameters = $this->processParameters($this->extractParamTagValues($phpDoc), $node->params); + $info->returnType = $returnTag ? $returnTag->type : $this->processTypeOrNull($node->returnType); + $info->returnDescription = $this->extractSingleLineDescription($returnTag); + $info->byRef = $node->byRef; + + if (!$this->filter->filterFunctionInfo($info)) { + return null; + } + + return $info; + } + + + /** + * @param ParamTagValueNode[] $paramTags indexed by [parameterName] + * @param Node\Param[] $parameters indexed by [] + * @return ParameterInfo[] + */ + protected function processParameters(array $paramTags, array $parameters): array + { + $parameterInfos = []; + foreach ($parameters as $position => $parameter) { + assert($parameter->var instanceof Node\Expr\Variable); + assert(is_scalar($parameter->var->name)); + + $paramTag = $paramTags["\${$parameter->var->name}"] ?? null; + $parameterInfo = new ParameterInfo($parameter->var->name, $position); + $parameterInfo->description = $this->extractSingleLineDescription($paramTag); + $parameterInfo->type = $paramTag ? $paramTag->type : $this->processTypeOrNull($parameter->type); + $parameterInfo->byRef = $parameter->byRef; + $parameterInfo->variadic = $parameter->variadic || ($paramTag && $paramTag->isVariadic); + $parameterInfo->default = $this->processExprOrNull($parameter->default); + + $parameterInfos[$parameter->var->name] = $parameterInfo; + } + + return $parameterInfos; + } + + + /** + * @param PhpDocTagValueNode[][] $tagValues indexed by [tagName][] + * @param string[] $tagNames indexed by [] + */ + protected function processName(Node\Name $name, array $tagValues = [], array $tagNames = []): ClassLikeReferenceInfo + { + $refInfo = new ClassLikeReferenceInfo($name->toString()); + + foreach ($tagNames as $tagName) { + foreach ($tagValues[$tagName] ?? [] as $tagValue) { + assert($tagValue instanceof ExtendsTagValueNode || $tagValue instanceof ImplementsTagValueNode || $tagValue instanceof UsesTagValueNode); + + $kind = $tagValue->type->type->getAttribute('kind'); + assert($kind instanceof IdentifierKind); + + if ($kind === IdentifierKind::ClassLike) { + $refInfo = $tagValue->type->type->getAttribute('classLikeReference'); + assert($refInfo instanceof ClassLikeReferenceInfo); + + $refInfo->genericArgs = $tagValue->type->genericTypes; + } + } + } + + return $refInfo; + } + + + /** + * @param Node\Name[] $names indexed by [] + * @param PhpDocTagValueNode[][] $tagValues indexed by [tagName][] + * @param string[] $tagNames indexed by [] + * @return ClassLikeReferenceInfo[] indexed by [classLikeName] + */ + protected function processNameList(array $names, array $tagValues = [], array $tagNames = []): array + { + $nameMap = []; + + foreach ($names as $name) { + $nameInfo = new ClassLikeReferenceInfo($name->toString()); + $nameMap[$nameInfo->fullLower] = $nameInfo; + } + + foreach ($tagNames as $tagName) { + foreach ($tagValues[$tagName] ?? [] as $tagValue) { + assert($tagValue instanceof ExtendsTagValueNode || $tagValue instanceof ImplementsTagValueNode || $tagValue instanceof UsesTagValueNode); + + $kind = $tagValue->type->type->getAttribute('kind'); + assert($kind instanceof IdentifierKind); + + if ($kind === IdentifierKind::ClassLike) { + $refInfo = $tagValue->type->type->getAttribute('classLikeReference'); + assert($refInfo instanceof ClassLikeReferenceInfo); + + $refInfo->genericArgs = $tagValue->type->genericTypes; + $nameMap[$refInfo->fullLower] = $refInfo; + } + } + } + + return $nameMap; + } + + + /** + * @param PhpDocTagValueNode[] $values indexed by [] + * @return ClassLikeReferenceInfo[] indexed by [classLikeName] + */ + protected function processMixinTags(array $values): array + { + $nameMap = []; + + foreach ($values as $value) { + if ($value instanceof MixinTagValueNode && $value->type instanceof IdentifierTypeNode) { + $kind = $value->type->getAttribute('kind'); + assert($kind instanceof IdentifierKind); + + if ($kind === IdentifierKind::ClassLike) { + $refInfo = $value->type->getAttribute('classLikeReference'); + assert($refInfo instanceof ClassLikeReferenceInfo); + + $nameMap[$refInfo->fullLower] = $refInfo; + } + } + } + + return $nameMap; + } + + + protected function processTypeOrNull(Identifier|Name|ComplexType|null $node): ?TypeNode + { + return $node ? $this->processType($node) : null; + } + + + protected function processType(Identifier|Name|ComplexType $node): TypeNode + { + if ($node instanceof ComplexType) { + if ($node instanceof NullableType) { + return new NullableTypeNode($this->processType($node->type)); + + } elseif ($node instanceof UnionType) { + return new UnionTypeNode(array_map($this->processType(...), $node->types)); + + } elseif ($node instanceof IntersectionType) { + return new IntersectionTypeNode(array_map($this->processType(...), $node->types)); + + } else { + throw new \LogicException(sprintf('Unsupported complex type %s', get_debug_type($node))); + } + + } elseif ($node instanceof Name && !$node->isSpecialClassName()) { + $identifier = new IdentifierTypeNode($node->toString()); + $identifier->setAttribute('kind', IdentifierKind::ClassLike); + $identifier->setAttribute('classLikeReference', new ClassLikeReferenceInfo($identifier->name)); + + } else { + $identifier = new IdentifierTypeNode($node->toString()); + $identifier->setAttribute('kind', IdentifierKind::Keyword); + } + + return $identifier; + } + + + protected function processExprOrNull(?Node\Expr $expr): ?ExprInfo + { + return $expr ? $this->processExpr($expr) : null; + } + + + protected function processExpr(Node\Expr $expr): ExprInfo + { + if ($expr instanceof Node\Scalar\LNumber) { + return new IntegerExprInfo($expr->value, $expr->getAttribute('kind'), $expr->getAttribute('rawValue')); + + } elseif ($expr instanceof Node\Scalar\DNumber) { + return new FloatExprInfo($expr->value, $expr->getAttribute('rawValue')); + + } elseif ($expr instanceof Node\Scalar\String_) { + return new StringExprInfo($expr->value, $expr->getAttribute('rawValue')); + + } elseif ($expr instanceof Node\Expr\Array_) { + $items = []; + + foreach ($expr->items as $item) { + assert($item !== null); + $key = $this->processExprOrNull($item->key); + $value = $this->processExpr($item->value); + $items[] = new ArrayItemExprInfo($key, $value); + } + + return new ArrayExprInfo($items); + + } elseif ($expr instanceof Node\Expr\ClassConstFetch) { + assert($expr->class instanceof Node\Name); + assert($expr->name instanceof Node\Identifier); + + // TODO: handle 'self' & 'parent' differently? + return new ClassConstantFetchExprInfo($this->processName($expr->class), $expr->name->toString()); + + } elseif ($expr instanceof Node\Expr\ConstFetch) { + $lower = $expr->name->toLowerString(); + + if ($lower === 'true') { + return new BooleanExprInfo(true); + + } elseif ($lower === 'false') { + return new BooleanExprInfo(false); + + } elseif ($lower === 'null') { + return new NullExprInfo(); + + } else { + return new ConstantFetchExprInfo($expr->name->toString()); + } + + } elseif ($expr instanceof Node\Scalar\MagicConst) { + return new ConstantFetchExprInfo($expr->getName()); + + } elseif ($expr instanceof Node\Expr\UnaryMinus) { + return new UnaryOpExprInfo('-', $this->processExpr($expr->expr)); + + } elseif ($expr instanceof Node\Expr\UnaryPlus) { + return new UnaryOpExprInfo('+', $this->processExpr($expr->expr)); + + } elseif ($expr instanceof Node\Expr\BinaryOp) { + return new BinaryOpExprInfo( + $expr->getOperatorSigil(), + $this->processExpr($expr->left), + $this->processExpr($expr->right), + ); + + } elseif ($expr instanceof Node\Expr\Ternary) { + return new TernaryExprInfo( + $this->processExpr($expr->cond), + $this->processExprOrNull($expr->if), + $this->processExpr($expr->else), + ); + + } elseif ($expr instanceof Node\Expr\ArrayDimFetch) { + assert($expr->dim !== null); + return new DimFetchExprInfo( + $this->processExpr($expr->var), + $this->processExpr($expr->dim), + ); + + } elseif ($expr instanceof Node\Expr\PropertyFetch) { + return new PropertyFetchExprInfo( + $this->processExpr($expr->var), + $expr->name instanceof Node\Expr ? $this->processExpr($expr->name) : $expr->name->name, + ); + + } elseif ($expr instanceof Node\Expr\NullsafePropertyFetch) { + return new NullSafePropertyFetchExprInfo( + $this->processExpr($expr->var), + $expr->name instanceof Node\Expr ? $this->processExpr($expr->name) : $expr->name->name, + ); + + } elseif ($expr instanceof Node\Expr\New_) { + assert($expr->class instanceof Name); + + $args = []; + foreach ($expr->args as $arg) { + assert($arg instanceof Node\Arg); + $args[] = new ArgExprInfo($arg->name?->name, $this->processExpr($arg->value)); + } + + return new NewExprInfo($this->processName($expr->class), $args); + + } else { + throw new \LogicException(sprintf('Unsupported expr node %s used in constant expression', get_debug_type($expr))); + } + } + + + protected function extractPhpDoc(Node $node): PhpDocNode + { + return $node->getAttribute('phpDoc') ?? new PhpDocNode([]); + } + + + /** + * @return PhpDocTextNode[] indexed by [] + */ + protected function extractMultiLineDescription(PhpDocNode $node): array + { + $textNodes = []; + + foreach ($node->children as $child) { + if ($child instanceof PhpDocTextNode) { + $textNodes[] = $child; + + } else { + break; + } + } + + return $textNodes; + } + + + /** + * @return PhpDocTextNode[] indexed by [] + */ + protected function extractSingleLineDescription(?PhpDocTagValueNode $tagValue): array + { + return $tagValue?->getAttribute('description') ?? []; + } + + + /** + * @return GenericParameterInfo[] indexed by [name] + */ + protected function extractGenericParameters(PhpDocNode $node): array + { + $genericParameters = []; + + foreach ($node->children as $child) { + if ($child instanceof PhpDocTagNode && $child->value instanceof TemplateTagValueNode) { + $lower = strtolower($child->value->name); + + $variance = match (true) { + str_ends_with($child->name, '-covariant') => GenericParameterVariance::Covariant, + str_ends_with($child->name, '-contravariant') => GenericParameterVariance::Contravariant, + default => GenericParameterVariance::Invariant, + }; + + $genericParameters[$lower] = new GenericParameterInfo( + name: $child->value->name, + variance: $variance, + bound: $child->value->bound, + default: $child->value->default, + description: $child->value->description, + ); + } + } + + return $genericParameters; + } + + + /** + * @return AliasInfo[] indexed by [name] + */ + protected function extractAliases(PhpDocNode $node, ?int $startLine, ?int $endLine): array + { + $aliases = []; + + foreach ($node->children as $child) { + if ($child instanceof PhpDocTagNode && $child->value instanceof TypeAliasTagValueNode) { + $lower = strtolower($child->value->alias); + $aliases[$lower] = new AliasInfo($child->value->alias, $child->value->type); + $aliases[$lower]->startLine = $startLine; + $aliases[$lower]->endLine = $endLine; + } + } + + return $aliases; + } + + + /** + * @return PhpDocTagValueNode[][] indexed by [tagName][] + */ + protected function extractTags(PhpDocNode $node): array + { + $tags = []; + + foreach ($node->getTags() as $tag) { + if (!$tag->value instanceof InvalidTagValueNode) { + $tags[substr($tag->name, 1)][] = $tag->value; + } + } + + return $tags; + } + + + /** + * @return ParamTagValueNode[] indexed by [parameterName] + */ + protected function extractParamTagValues(PhpDocNode $node): array + { + $values = []; + + foreach ($node->children as $child) { + if ($child instanceof PhpDocTagNode && $child->value instanceof ParamTagValueNode) { + $values[$child->value->parameterName] = $child->value; + } + } + + return $values; + } + + + /** + * @return ClassLikeReferenceInfo[] indexed by [classLikeName] + */ + protected function extractDependencies(ClassLikeInfo | FunctionInfo $referencedBy): array + { + $dependencies = []; + $stack = [$referencedBy]; + $index = 1; + + while ($index > 0) { + $value = $stack[--$index]; + + if ($value instanceof ClassLikeReferenceInfo && $value->fullLower !== 'self' && $value->fullLower !== 'parent') { + $dependencies[$value->fullLower] ??= $value; + } + + foreach ((array) $value as $item) { + if (is_array($item) || is_object($item)) { + $stack[$index++] = $item; + } + } + } + + return $dependencies; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeTaskHandlerFactory.php b/apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeTaskHandlerFactory.php new file mode 100644 index 00000000..8f14e1fe --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Analyzer/AnalyzeTaskHandlerFactory.php @@ -0,0 +1,17 @@ + + */ +interface AnalyzeTaskHandlerFactory extends TaskHandlerFactory +{ + /** + * @param null $context + */ + public function create(mixed $context): AnalyzeTaskHandler; +} diff --git a/apigen/vendor/apigen/apigen/src/Analyzer/BodySkippingLexer.php b/apigen/vendor/apigen/apigen/src/Analyzer/BodySkippingLexer.php new file mode 100644 index 00000000..02d0468b --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Analyzer/BodySkippingLexer.php @@ -0,0 +1,73 @@ +tokens); + $prevToken = null; + $level = null; + + for ($i = 0; $i < $tokenCount; $i++) { + $token = is_array($this->tokens[$i]) ? $this->tokens[$i][0] : $this->tokens[$i]; + assert(is_string($token) || is_int($token)); + + if ($level === null) { + if ($token === T_FUNCTION && $prevToken !== T_USE) { + $level = 0; + } + + } else { + if ($token === '{' || $token === T_CURLY_OPEN || $token === T_DOLLAR_OPEN_CURLY_BRACES) { + $level++; + + } elseif ($token === '}') { + $level--; + + if ($level <= 0) { + $level = null; + } + + } elseif ($token === ';') { + if ($level <= 0) { + $level = null; + } + } + + if ($level !== null && $level > ($token === '{' ? 1 : 0)) { + if (is_array($this->tokens[$i])) { + $this->tokens[$i][0] = T_WHITESPACE; + + } else { + $this->tokens[$i] = [T_WHITESPACE, ' ']; + } + } + } + + if ($token !== T_WHITESPACE && $token !== T_DOC_COMMENT && $token !== T_COMMENT) { + $prevToken = $token; + } + } + } +} diff --git a/apigen/vendor/apigen/apigen/src/Analyzer/Filter.php b/apigen/vendor/apigen/apigen/src/Analyzer/Filter.php new file mode 100644 index 00000000..98675b3a --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Analyzer/Filter.php @@ -0,0 +1,134 @@ +excludedVisibilityMask |= ($excludeProtected ? Node\Stmt\Class_::MODIFIER_PROTECTED : 0); + $this->excludedVisibilityMask |= ($excludePrivate ? Node\Stmt\Class_::MODIFIER_PRIVATE : 0); + } + + + public function filterClassLikeNode(Node\Stmt\ClassLike $node): bool + { + return true; + } + + + /** + * @param PhpDocTagValueNode[][] $tags indexed by [tagName][] + */ + public function filterClassLikeTags(array $tags): bool + { + foreach ($this->excludeTagged as $tag) { + if (isset($tags[$tag])) { + return false; + } + } + + return true; + } + + + public function filterClassLikeInfo(ClassLikeInfo $info): bool + { + return true; + } + + + public function filterFunctionNode(Node\Stmt\Function_ $node): bool + { + return true; + } + + + /** + * @param PhpDocTagValueNode[][] $tags indexed by [tagName][] + */ + public function filterFunctionTags(array $tags): bool + { + foreach ($this->excludeTagged as $tag) { + if (isset($tags[$tag])) { + return false; + } + } + + return true; + } + + + public function filterFunctionInfo(FunctionInfo $info): bool + { + return true; + } + + + public function filterConstantNode(Node\Stmt\ClassConst $node): bool + { + return ($node->flags & $this->excludedVisibilityMask) === 0; + } + + + public function filterPropertyNode(Node\Stmt\Property $node): bool + { + return ($node->flags & $this->excludedVisibilityMask) === 0; + } + + + public function filterPromotedPropertyNode(Node\Param $node): bool + { + return ($node->flags & $this->excludedVisibilityMask) === 0; + } + + + public function filterMethodNode(Node\Stmt\ClassMethod $node): bool + { + return ($node->flags & $this->excludedVisibilityMask) === 0; + } + + + public function filterEnumCaseNode(Node\Stmt\EnumCase $node): bool + { + return true; + } + + + /** + * @param PhpDocTagValueNode[][] $tags indexed by [tagName][] + */ + public function filterMemberTags(array $tags): bool + { + foreach ($this->excludeTagged as $tag) { + if (isset($tags[$tag])) { + return false; + } + } + + return true; + } + + + public function filterMemberInfo(ClassLikeInfo $classLike, MemberInfo $member): bool + { + return true; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Analyzer/IdentifierKind.php b/apigen/vendor/apigen/apigen/src/Analyzer/IdentifierKind.php new file mode 100644 index 00000000..dee76dfa --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Analyzer/IdentifierKind.php @@ -0,0 +1,12 @@ +parent = $parent; + $this->scope = $parent?->scope; + $this->genericParameters = $parent?->genericParameters ?? []; + $this->aliases = $parent?->aliases ?? []; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Analyzer/NodeVisitors/PhpDocResolver.php b/apigen/vendor/apigen/apigen/src/Analyzer/NodeVisitors/PhpDocResolver.php new file mode 100644 index 00000000..5c024069 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Analyzer/NodeVisitors/PhpDocResolver.php @@ -0,0 +1,481 @@ + true, + 'bool' => true, + 'callable' => true, + 'false' => true, + 'float' => true, + 'int' => true, + 'iterable' => true, + 'mixed' => true, + 'never' => true, + 'null' => true, + 'object' => true, + 'parent' => true, + 'self' => true, + 'static' => true, + 'string' => true, + 'true' => true, + 'void' => true, + ]; + + protected const KEYWORDS = self::NATIVE_KEYWORDS + [ + 'array-key' => true, + 'associative-array' => true, + 'boolean' => true, + 'callable-object' => true, + 'callable-string' => true, + 'class-string' => true, + 'double' => true, + 'empty' => true, + 'integer' => true, + 'interface-string' => true, + 'key-of' => true, + 'list' => true, + 'literal-string' => true, + 'lowercase-string' => true, + 'max' => true, + 'min' => true, + 'negative-int' => true, + 'never-return' => true, + 'never-returns' => true, + 'no-return' => true, + 'non-empty-array' => true, + 'non-empty-list' => true, + 'non-empty-lowercase-string' => true, + 'non-empty-string' => true, + 'non-falsy-string' => true, + 'non-negative-int' => true, + 'non-positive-int' => true, + 'noreturn' => true, + 'number' => true, + 'numeric' => true, + 'numeric-string' => true, + 'positive-int' => true, + 'resource' => true, + 'scalar' => true, + 'trait-string' => true, + 'truthy-string' => true, + 'value-of' => true, + ]; + + protected NameContextFrame $nameContextFrame; + + + public function __construct( + protected Lexer $lexer, + protected PhpDocParser $parser, + protected NameContext $nameContext, + ) { + $this->nameContextFrame = new NameContextFrame(parent: null); + } + + + public function enterNode(Node $node): null|int|Node + { + $doc = $node->getDocComment(); + + if ($doc !== null) { + $tokens = $this->lexer->tokenize($doc->getText()); + $phpDoc = $this->parser->parse(new TokenIterator($tokens)); + + if ($node instanceof Node\Stmt\ClassLike) { + assert($node->namespacedName !== null); + $scope = new ClassLikeReferenceInfo($node->namespacedName->toString()); + $this->nameContextFrame = $this->resolveNameContext($phpDoc, $this->nameContextFrame, $scope); + + } elseif ($node instanceof Node\FunctionLike) { + $scope = $this->nameContextFrame->scope; + $this->nameContextFrame = $this->resolveNameContext($phpDoc, $this->nameContextFrame, $scope); + } + + $node->setAttribute('phpDoc', $this->resolvePhpDoc($phpDoc)); + + } elseif ($node instanceof Node\Stmt\ClassLike || $node instanceof Node\FunctionLike) { + $this->nameContextFrame = new NameContextFrame($this->nameContextFrame); + } + + return null; + } + + + public function leaveNode(Node $node): null|int|Node|array + { + if ($node instanceof Node\Stmt\ClassLike || $node instanceof Node\FunctionLike) { + if ($this->nameContextFrame->parent === null) { + throw new \LogicException('Name context stack is empty.'); + + } else { + $this->nameContextFrame = $this->nameContextFrame->parent; + } + } + + return null; + } + + + protected function resolveNameContext(PhpDocNode $doc, NameContextFrame $parent, ?ClassLikeReferenceInfo $scope): NameContextFrame + { + $frame = new NameContextFrame($parent); + + foreach ($doc->children as $child) { + if ($child instanceof PhpDocTagNode) { + if ($child->value instanceof TypeAliasTagValueNode) { + assert($scope !== null); + $lower = strtolower($child->value->alias); + $frame->aliases[$lower] = new AliasReferenceInfo($scope, $child->value->alias); + + } elseif ($child->value instanceof TypeAliasImportTagValueNode) { + $classLike = new ClassLikeReferenceInfo($this->resolveClassLikeIdentifier($child->value->importedFrom->name)); + $lower = strtolower($child->value->importedAs ?? $child->value->importedAlias); + $frame->aliases[$lower] = new AliasReferenceInfo($classLike, $child->value->importedAlias); + + } elseif ($child->value instanceof TemplateTagValueNode) { + $lower = strtolower($child->value->name); + $frame->genericParameters[$lower] = true; + } + } + } + + return $frame; + } + + + protected function resolvePhpDoc(PhpDocNode $phpDoc): PhpDocNode + { + $newChildren = []; + + foreach ($phpDoc->children as $child) { + if ($child instanceof PhpDocTagNode) { + $this->resolvePhpDocTag($child); + $newChildren[] = $child; + + } elseif ($child instanceof PhpDocTextNode) { + foreach ($this->resolvePhpDocTextNode($child->text) as $newChild) { + $newChildren[] = $newChild; + } + } + } + + return new PhpDocNode($newChildren); + } + + + protected function resolvePhpDocTag(PhpDocTagNode $tag): void + { + $stack = [$tag]; + $index = 1; + + while ($index > 0) { + $value = $stack[--$index]; + + if ($value instanceof IdentifierTypeNode) { + $this->resolveIdentifier($value); + + } elseif ($value instanceof ConstExprNode) { + $value->setAttribute('info', $this->resolveConstExpr($value)); + + } elseif ($value instanceof ArrayShapeItemNode || $value instanceof ObjectShapeItemNode) { + $stack[$index++] = $value->valueType; // intentionally not pushing $value->keyName + + } else { + foreach ((array) $value as $item) { + if (is_array($item) || is_object($item)) { + $stack[$index++] = $item; + } + } + } + } + + if (property_exists($tag->value, 'description')) { + $tag->value->setAttribute('description', $this->resolvePhpDocTextNode($tag->value->description)); + } + } + + + /** + * @return PhpDocTextNode[] indexed by [] + */ + public function resolvePhpDocTextNode(string $text): array + { + $matches = Strings::matchAll($text, '#\{(@(?:[a-z][a-z0-9-\\\\]+:)?[a-z][a-z0-9-\\\\]*+)(?:[ \t]++([^}]++))?\}#', captureOffset: true); + + $nodes = []; + $offset = 0; + + foreach ($matches as $match) { + $matchText = $match[0][0]; + $matchOffset = $match[0][1]; + $tagName = $match[1][0]; + $tagValue = $match[2][0] ?? ''; + + $nodes[] = new PhpDocTextNode(substr($text, $offset, $matchOffset - $offset)); + $nodes[] = $this->resolveInlineTag($tagName, $tagValue) ?? new PhpDocTextNode($matchText); + $offset = $matchOffset + strlen($matchText); + } + + $nodes[] = new PhpDocTextNode(substr($text, $offset)); + return array_filter($nodes, static fn(PhpDocTextNode $node): bool => $node->text !== ''); + } + + + protected function resolveInlineTag(string $tagName, string $tagValue): ?PhpDocTextNode + { + if ($tagName === '@link' || $tagName === '@see') { + $parts = explode(' ', $tagValue, 2); + $node = new PhpDocTextNode($parts[1] ?? $parts[0]); + $references = $this->resolveLinkTarget($parts[0]); + + if (count($references) > 0) { + $node->setAttribute('targets', $references); + } + + return $node; + } + + return null; + } + + + /** + * @return list + */ + protected function resolveLinkTarget(string $target): array + { + $identifier = '[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*+'; + $qualifiedIdentifier = "\\\\?+{$identifier}(?:\\\\{$identifier})*+"; + $references = []; + + if (($match = Strings::match($target, "#^{$qualifiedIdentifier}#")) !== null) { + $classLike = new ClassLikeReferenceInfo($this->resolveClassLikeIdentifier($match[0])); + $offset = strlen($match[0]); + + if ($offset === strlen($target)) { + $references[] = $classLike; + + foreach ($this->resolveFunctionLinkTarget($match[0]) as $functionReference) { + $references[] = $functionReference; + } + + if (!str_contains($target, '\\')) { + $classLike = new ClassLikeReferenceInfo('self'); + $references[] = new ConstantReferenceInfo($classLike, $target); + $references[] = new MethodReferenceInfo($classLike, $target); + } + + } elseif (($match = Strings::match($target, "#::($identifier)\\(\\)$#A", offset: $offset)) !== null) { + $references[] = new MethodReferenceInfo($classLike, $match[1]); + + } elseif (($match = Strings::match($target, "#::($identifier)$#A", offset: $offset)) !== null) { + $references[] = new ConstantReferenceInfo($classLike, $match[1]); + $references[] = new MethodReferenceInfo($classLike, $match[1]); + + } elseif (($match = Strings::match($target, "#::\\\$($identifier)$#A", offset: $offset)) !== null) { + $references[] = new PropertyReferenceInfo($classLike, $match[1]); + + } elseif (Strings::match($target, "#\\(\\)$#A", offset: $offset) !== null) { + $functionName = substr($target, 0, -2); + foreach ($this->resolveFunctionLinkTarget($functionName) as $functionReference) { + $references[] = $functionReference; + } + + if (!str_contains($functionName, '\\')) { + $classLike = new ClassLikeReferenceInfo('self'); + $references[] = new MethodReferenceInfo($classLike, $functionName); + } + + } elseif (Validators::isUrl($target)) { + $references[] = $target; + } + + } elseif (($match = Strings::match($target, "#^\\\$($identifier)$#")) !== null) { + $classLike = new ClassLikeReferenceInfo('self'); + $references[] = new PropertyReferenceInfo($classLike, $match[1]); + } + + return $references; + } + + + /** + * @return FunctionReferenceInfo[] indexed by [] + */ + protected function resolveFunctionLinkTarget(string $target): array + { + $resolvedFunctionIdentifier = $this->resolveFunctionIdentifier($target); + + if ($resolvedFunctionIdentifier !== null) { + return [ + new FunctionReferenceInfo($resolvedFunctionIdentifier), + ]; + + } elseif (($namespace = $this->nameContext->getNamespace()?->toString()) !== null) { + return [ + new FunctionReferenceInfo("{$namespace}\\{$target}"), + new FunctionReferenceInfo($target), + ]; + + } else { + throw new LogicException("Unable to resolve function {$target}"); + } + } + + + protected function resolveIdentifier(IdentifierTypeNode $identifier): void + { + $lower = strtolower($identifier->name); + + if (isset(self::KEYWORDS[$identifier->name]) || isset(self::NATIVE_KEYWORDS[$lower]) || str_contains($lower, '-')) { + $identifier->setAttribute('kind', IdentifierKind::Keyword); + + } elseif (isset($this->nameContextFrame->genericParameters[$lower])) { + $identifier->setAttribute('kind', IdentifierKind::Generic); + + } elseif (isset($this->nameContextFrame->aliases[$lower])) { + $identifier->setAttribute('kind', IdentifierKind::Alias); + $identifier->setAttribute('aliasReference', $this->nameContextFrame->aliases[$lower]); + + } else { + $classLikeReference = new ClassLikeReferenceInfo($this->resolveClassLikeIdentifier($identifier->name)); + $identifier->setAttribute('kind', IdentifierKind::ClassLike); + $identifier->setAttribute('classLikeReference', $classLikeReference); + } + } + + + protected function resolveClassLikeIdentifier(string $identifier): string + { + if ($identifier[0] === '\\') { + return substr($identifier, 1); + + } else { + return $this->nameContext->getResolvedClassName(new Node\Name($identifier))->toString(); + } + } + + + protected function resolveFunctionIdentifier(string $identifier): ?string + { + if ($identifier[0] === '\\') { + return substr($identifier, 1); + + } else { + return $this->nameContext->getResolvedName(new Node\Name($identifier), Use_::TYPE_FUNCTION)?->toString(); + } + } + + + protected function resolveConstExpr(ConstExprNode $expr): ExprInfo + { + if ($expr instanceof ConstExprTrueNode) { + return new BooleanExprInfo(true); + + } elseif ($expr instanceof ConstExprFalseNode) { + return new BooleanExprInfo(false); + + } elseif ($expr instanceof ConstExprNullNode) { + return new NullExprInfo(); + + } elseif ($expr instanceof ConstExprIntegerNode) { + $node = Node\Scalar\LNumber::fromString($expr->value); + return new IntegerExprInfo($node->value, $node->getAttribute('kind'), $expr->value); + + } elseif ($expr instanceof ConstExprFloatNode) { + return new FloatExprInfo(Node\Scalar\DNumber::parse($expr->value), $expr->value); + + } elseif ($expr instanceof ConstExprStringNode) { + return new StringExprInfo($expr->value, raw: null); + + } elseif ($expr instanceof ConstExprArrayNode) { + $items = []; + + foreach ($expr->items as $item) { + $items[] = new ArrayItemExprInfo( + $item->key ? $this->resolveConstExpr($item->key) : null, + $this->resolveConstExpr($item->value), + ); + } + + return new ArrayExprInfo($items); + + } elseif ($expr instanceof ConstFetchNode) { + if ($expr->className === '') { + return new ConstantFetchExprInfo($expr->name); + + } else { + return new ClassConstantFetchExprInfo(new ClassLikeReferenceInfo($this->resolveClassLikeIdentifier($expr->className)), $expr->name); + } + + } else { + throw new \LogicException(sprintf('Unsupported const expr node %s used in PHPDoc', get_debug_type($expr))); + } + } +} diff --git a/apigen/vendor/apigen/apigen/src/ApiGen.php b/apigen/vendor/apigen/apigen/src/ApiGen.php index bf76ae10..ee1b1c4b 100644 --- a/apigen/vendor/apigen/apigen/src/ApiGen.php +++ b/apigen/vendor/apigen/apigen/src/ApiGen.php @@ -1,18 +1,239 @@ -findFiles(); + + PHP_VERSION_ID >= 80200 && memory_reset_peak_usage(); + $analyzeTime = -hrtime(true); + $analyzeResult = $this->analyze($files); + $analyzeTime += hrtime(true); + $analyzeMemory = memory_get_peak_usage(); + + PHP_VERSION_ID >= 80200 && memory_reset_peak_usage(); + $indexTime = -hrtime(true); + $index = $this->index($analyzeResult); + $indexTime += hrtime(true); + $indexMemory = memory_get_peak_usage(); + + PHP_VERSION_ID >= 80200 && memory_reset_peak_usage(); + $renderTime = -hrtime(true); + $this->render($index); + $renderTime += hrtime(true); + $renderMemory = memory_get_peak_usage(); + + $this->performance($analyzeTime, $analyzeMemory, $indexTime, $indexMemory, $renderTime, $renderMemory); + return $this->finish($analyzeResult); + } + + + /** + * @return string[] list of files, indexed by [] + */ + protected function findFiles(): array + { + $files = []; + $dirs = []; + + foreach ($this->paths as $path) { + if (is_file($path)) { + $files[] = $path; + + } elseif (is_dir($path)) { + $dirs[] = $path; + + } else { + $this->output->error(sprintf('Path "%s" does not exist.', $path)); + } + } + + if (count($dirs) > 0) { + $finder = Finder::findFiles($this->include) + ->exclude($this->exclude) + ->from($dirs); + + foreach ($finder as $file => $_) { + $files[] = $file; + } + } + + if (count($files) === 0) { + throw new \RuntimeException('No source files found.'); + + } elseif ($this->output->isDebug()) { + $this->output->text('Matching source files:'); + $this->output->newLine(); + $this->output->listing($files); + + } elseif ($this->output->isVerbose()) { + $this->output->text(sprintf('Found %d source files.', count($files))); + $this->output->newLine(); + } + + return $files; + } + + + /** + * @param string[] $files indexed by [] + */ + protected function analyze(array $files): AnalyzeResult + { + $progressBar = $this->createProgressBar('Analyzing'); + $result = $this->analyzer->analyze($progressBar, $files); + + if ($progressBar->getMaxSteps() === $progressBar->getProgress()) { + $progressBar->setMessage('done'); + $progressBar->finish(); + } + + $this->output->newLine(2); + + return $result; + } + + + protected function index(AnalyzeResult $analyzeResult): Index + { + $index = new Index(); + + foreach ($analyzeResult->classLike as $info) { + $this->indexer->indexFile($index, $info->file, $info->primary); + $this->indexer->indexNamespace($index, $info->name->namespace, $info->name->namespaceLower, $info->primary, $info->isDeprecated()); + $this->indexer->indexClassLike($index, $info); + } + + foreach ($analyzeResult->function as $info) { + $this->indexer->indexFile($index, $info->file, $info->primary); + $this->indexer->indexNamespace($index, $info->name->namespace, $info->name->namespaceLower, $info->primary, $info->isDeprecated()); + $this->indexer->indexFunction($index, $info); + } + + $this->indexer->postProcess($index); + return $index; + } + + + protected function render(Index $index): void + { + $progressBar = $this->createProgressBar('Rendering'); + $this->renderer->render($progressBar, $index); + + if ($progressBar->getMaxSteps() === $progressBar->getProgress()) { + $progressBar->setMessage('done'); + $progressBar->finish(); + } + + $this->output->newLine(2); + } + + + protected function createProgressBar(string $label): ProgressBar + { + $progressBar = $this->output->createProgressBar(); + $progressBar->setFormat(" $label %current%/%max% %bar% %percent:3s%% %message%"); + $progressBar->setBarCharacter("\u{2588}"); + $progressBar->setProgressCharacter('_'); + $progressBar->setEmptyBarCharacter('_'); + + return $progressBar; + } + + + protected function performance(float $analyzeTime, int $analyzeMemory, float $indexTime, int $indexMemory, float $renderTime, int $renderMemory): void + { + if ($this->output->isVeryVerbose()) { + $lines = [ + 'Analyze time' => sprintf('%6.0f ms', $analyzeTime / 1e6), + 'Index time' => sprintf('%6.0f ms', $indexTime / 1e6), + 'Render time' => sprintf('%6.0f ms', $renderTime / 1e6), + '' => '', + 'Analyze peak memory' => sprintf('%6.0f MB', $analyzeMemory / 1e6), + 'Index peak memory' => sprintf('%6.0f MB', $indexMemory / 1e6), + 'Render peak memory' => sprintf('%6.0f MB', $renderMemory / 1e6), + ]; + + foreach ($lines as $label => $value) { + $this->output->text(sprintf('%-20s %s', $label, $value)); + } + } + } + + + protected function finish(AnalyzeResult $analyzeResult): bool + { + if (count($analyzeResult->error) === 0) { + $this->output->success('Finished OK'); + return true; + } + + $hasError = false; + foreach ($analyzeResult->error as $errorKind => $errorGroup) { + $errorLines = array_column($errorGroup, 'message'); + + if (!$this->output->isVerbose() && count($errorLines) > 5) { + $errorLines = array_slice($errorLines, 0, 5); + $errorLines[] = '...'; + $errorLines[] = sprintf('and %d more (use --verbose to show all)', count($errorGroup) - 5); + } + + if ($errorKind === ErrorKind::InternalError->name) { + $hasError = true; + $this->output->error(implode("\n\n", $errorLines)); + + } else { + $this->output->warning(implode("\n\n", $errorLines)); + } + } - const VERSION = '4.1.0'; + if ($hasError) { + $this->output->error('Finished with errors'); + return false; + } + $this->output->success('Finished with warnings'); + return true; + } } diff --git a/apigen/vendor/apigen/apigen/src/Bootstrap.php b/apigen/vendor/apigen/apigen/src/Bootstrap.php new file mode 100644 index 00000000..f90e6a70 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Bootstrap.php @@ -0,0 +1,206 @@ +text("Using configuration file $autoDiscoveryPath.\n"); + $configPaths[] = $autoDiscoveryPath; + } + + $config = self::mergeConfigs( + ['parameters' => ['workingDir' => $workingDir, 'tempDir' => $tempDir, 'version' => $version]], + self::loadConfig(__DIR__ . '/../apigen.neon'), + ...array_map(self::loadConfig(...), $configPaths), + ...[['parameters' => self::resolvePaths($parameters, $workingDir)]], + ); + + $parameters = $config['parameters']; + unset($config['parameters']); + + self::validateParameters($parameters); + $parameters = DIHelpers::expand($parameters, $parameters); + $containerLoader = new ContainerLoader($parameters['tempDir'], autoRebuild: true); + + $containerGenerator = function (Compiler $compiler) use ($config, $parameters): void { + $compiler->addExtension('extensions', new ExtensionsExtension); + $compiler->addConfig($config); + $compiler->setDynamicParameterNames(array_keys($parameters)); + }; + + $containerKey = [ + $config, + PHP_VERSION_ID - PHP_RELEASE_VERSION, + ]; + + /** @var class-string $containerClassName */ + $containerClassName = $containerLoader->load($containerGenerator, $containerKey); + + $container = new $containerClassName($parameters); + assert($container instanceof Container); + assert(method_exists($container, 'initialize')); + + $container->addService('symfonyConsole.output', $output); + $container->initialize(); + ini_set('memory_limit', $container->parameters['memoryLimit']); + + $apiGen = $container->getByType(ApiGen::class) ?? throw new \LogicException(); + assert($apiGen instanceof ApiGen); + + return $apiGen; + } + + + protected static function validateParameters(array $parameters): void + { + $schema = Expect::structure([ + // input + 'paths' => Expect::listOf('string')->min(1), + 'include' => Expect::listOf('string'), + 'exclude' => Expect::listOf('string'), + + // analysis + 'excludeProtected' => Expect::bool(), + 'excludePrivate' => Expect::bool(), + 'excludeTagged' => Expect::listOf('string'), + + // output + 'outputDir' => Expect::string(), + 'themeDir' => Expect::string()->nullable(), + 'title' => Expect::string(), + 'version' => Expect::string(), + 'baseUrl' => Expect::string(), + + // system + 'workingDir' => Expect::string(), + 'tempDir' => Expect::string(), + 'workerCount' => Expect::int()->min(1), + 'memoryLimit' => Expect::string(), + ]); + + (new Processor)->process($schema, $parameters); + } + + + protected static function mergeConfigs(array...$configs): array + { + $mergedConfig = []; + + foreach ($configs as $config) { + foreach ($config['parameters'] ?? [] as $key => $value) { + if (is_array($value)) { + $config['parameters'][$key][SchemaHelpers::PREVENT_MERGING] = true; + } + } + + $mergedConfig = SchemaHelpers::merge($config, $mergedConfig); + assert(is_array($mergedConfig)); + } + + return $mergedConfig; + } + + + protected static function loadConfig(string $path): array + { + $data = (new Loader)->load($path); + $data['parameters'] = self::resolvePaths($data['parameters'] ?? [], Helpers::realPath(dirname($path))); + + return $data; + } + + + protected static function resolvePaths(array $parameters, string $base): array + { + foreach (['tempDir', 'workingDir', 'outputDir', 'themeDir'] as $parameterKey) { + if (isset($parameters[$parameterKey])) { + $parameters[$parameterKey] = self::resolvePath($parameters[$parameterKey], $base); + } + } + + foreach ($parameters['paths'] ?? [] as $i => $path) { + if (is_int($i)) { + $parameters['paths'][$i] = self::resolvePath($parameters['paths'][$i], $base); + } + } + + return $parameters; + } + + + protected static function resolvePath(string $path, string $base): string + { + return (FileSystem::isAbsolute($path) || str_starts_with($path, '%')) + ? $path + : FileSystem::joinPaths($base, $path); + } +} diff --git a/apigen/vendor/apigen/apigen/src/Charset/CharsetConvertor.php b/apigen/vendor/apigen/apigen/src/Charset/CharsetConvertor.php deleted file mode 100644 index c08397ce..00000000 --- a/apigen/vendor/apigen/apigen/src/Charset/CharsetConvertor.php +++ /dev/null @@ -1,58 +0,0 @@ -charsetDetector = $charsetDetector; - } - - - /** - * @param string $filePath - * @return string - */ - public function convertFileToUtf($filePath) - { - $fileEncoding = $this->charsetDetector->detectForFilePath($filePath); - $content = file_get_contents($filePath); - - if ($fileEncoding === Encoding::UTF_8) { - return $content; - - } else { - return $this->convertContentToUtf($content, $fileEncoding); - } - } - - - /** - * @param string $content - * @param string $fileEncoding - * @return string - */ - private function convertContentToUtf($content, $fileEncoding) - { - return @iconv($fileEncoding, self::ICONV_UTF_CHARSET, $content); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Charset/CharsetDetector.php b/apigen/vendor/apigen/apigen/src/Charset/CharsetDetector.php deleted file mode 100644 index 696ba925..00000000 --- a/apigen/vendor/apigen/apigen/src/Charset/CharsetDetector.php +++ /dev/null @@ -1,93 +0,0 @@ - fileEncoding } - */ - private $detectedFileEncodings = []; - - /** - * @var CharsetOptionsResolver - */ - private $charsetOptionsResolver; - - - public function __construct(CharsetOptionsResolver $charsetOptionsResolver) - { - $this->charsetOptionsResolver = $charsetOptionsResolver; - $this->charsets = [Encoding::UTF_8]; - } - - - public function setCharsets(array $charsets) - { - $this->charsets = $this->charsetOptionsResolver->resolve($charsets); - } - - - /** - * @param string $filePath - * @return string - */ - public function detectForFilePath($filePath) - { - if (isset($this->detectedFileEncodings[$filePath])) { - return $this->detectedFileEncodings[$filePath]; - } - - $detectedEncoding = $this->detectForContent(file_get_contents($filePath)); - $this->detectedFileEncodings[$filePath] = $detectedEncoding; - return $detectedEncoding; - } - - - /** - * @param string $fileContent - * @return string - */ - private function detectForContent($fileContent) - { - $fileEncoding = mb_detect_encoding($fileContent, $this->charsets); - - // mb_detect_encoding can not handle WINDOWS-1250 and returns ISO-8859-1 instead - if ($this->isWindows1250($fileEncoding, $fileContent)) { - return Encoding::WIN_1250; - } - - return $fileEncoding; - } - - - /** - * @param string $fileEncoding - * @param string $fileContent - * @return bool - */ - private function isWindows1250($fileEncoding, $fileContent) - { - if ($fileEncoding === Encoding::ISO_8859_1 && preg_match('~[\x7F-\x9F\xBC]~', $fileContent)) { - return TRUE; - } - return FALSE; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Charset/Configuration/CharsetOptionsResolver.php b/apigen/vendor/apigen/apigen/src/Charset/Configuration/CharsetOptionsResolver.php deleted file mode 100644 index f1b233c6..00000000 --- a/apigen/vendor/apigen/apigen/src/Charset/Configuration/CharsetOptionsResolver.php +++ /dev/null @@ -1,140 +0,0 @@ -optionsResolverFactory = $optionsResolverFactory; - } - - - /** - * @return string[] - */ - public function getDefaults() - { - return [self::CHARSETS => [Encoding::UTF_8]]; - } - - - /** - * @param string[] $options - * @return string[] - */ - public function resolve(array $options = []) - { - $this->resolver = $this->optionsResolverFactory->create(); - $this->setDefaults(); - $this->setNormalizers(); - $options = $this->normalizeInput($options); - $options = $this->resolver->resolve($options); - return $this->normalizeOutput($options); - } - - - private function setDefaults() - { - $this->resolver->setDefaults($this->getDefaults()); - } - - - private function setNormalizers() - { - $this->resolver->setNormalizers([ - self::CHARSETS => function (Options $options, $value) { - $value = array_map('strtoupper', $value); - $value = $this->replaceWin1250WithIso($value); - $value = $this->filterSupportedCharsets($value); - $value = $this->moveUtfFirst($value); - return $value; - } - ]); - } - - - /** - * @return array - */ - private function replaceWin1250WithIso(array $charsets) - { - if (($key = array_search(Encoding::WIN_1250, $charsets)) !== FALSE) { - $charsets[$key] = Encoding::ISO_8859_1; - } - return $charsets; - } - - - /** - * @return array - */ - private function filterSupportedCharsets(array $charsets) - { - $supportedEncodingList = array_map('strtoupper', mb_list_encodings()); - return array_intersect($charsets, $supportedEncodingList); - } - - - /** - * @return array - */ - private function moveUtfFirst(array $charsets) - { - if (($key = array_search(Encoding::UTF_8, $charsets)) !== FALSE) { - unset($charsets[$key]); - } - array_unshift($charsets, Encoding::UTF_8); - return $charsets; - } - - - /** - * @return array - */ - private function normalizeInput(array $options) - { - if (isset($options[self::CHARSETS])) { - return $options; - } - return [self::CHARSETS => $options]; - } - - - /** - * @return string[] - */ - private function normalizeOutput(array $options) - { - return $options[self::CHARSETS]; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Charset/Encoding.php b/apigen/vendor/apigen/apigen/src/Charset/Encoding.php deleted file mode 100644 index 15018661..00000000 --- a/apigen/vendor/apigen/apigen/src/Charset/Encoding.php +++ /dev/null @@ -1,20 +0,0 @@ -dashFormat($name); - return parent::addOption($name, $shortcut, $mode, $description, $default); - } - - - /** - * @param string $name - * @return string - */ - private function dashFormat($name) - { - return preg_replace_callback('~([A-Z])~', function ($matches) { - return '-' . strtolower($matches[1]); - }, $name); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Command/GenerateCommand.php b/apigen/vendor/apigen/apigen/src/Command/GenerateCommand.php deleted file mode 100644 index d5493518..00000000 --- a/apigen/vendor/apigen/apigen/src/Command/GenerateCommand.php +++ /dev/null @@ -1,270 +0,0 @@ -configuration = $configuration; - $this->scanner = $scanner; - $this->parser = $parser; - $this->parserResult = $parserResult; - $this->generatorQueue = $generatorQueue; - $this->fileSystem = $fileSystem; - $this->themeResources = $themeResources; - $this->io = $io; - } - - - protected function configure() - { - $this->setName('generate') - ->setDescription('Generate API documentation') - ->addOption(CO::SOURCE, 's', InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED, - 'Dirs or files documentation is generated for.') - ->addOption(CO::DESTINATION, 'd', InputOption::VALUE_REQUIRED, 'Target dir for documentation.') - ->addOption(CO::ACCESS_LEVELS, NULL, InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED, - 'Access levels of included method and properties.', - [COR::AL_PUBLIC, COR::AL_PROTECTED]) - ->addOption(CO::ANNOTATION_GROUPS, NULL, InputOption::VALUE_REQUIRED, - 'Generate page with elements with specific annotation.') - ->addOption(CO::BASE_URL, NULL, InputOption::VALUE_REQUIRED, - 'Base url used for sitemap (useful for public doc).') - ->addOption(CO::CONFIG, NULL, InputOption::VALUE_REQUIRED, - 'Custom path to apigen.neon config file.', getcwd() . '/apigen.neon') - ->addOption(CO::GOOGLE_CSE_ID, NULL, InputOption::VALUE_REQUIRED, - 'Custom google search engine id (for search box).') - ->addOption(CO::GOOGLE_ANALYTICS, NULL, InputOption::VALUE_REQUIRED, 'Google Analytics tracking code.') - ->addOption(CO::DEBUG, NULL, InputOption::VALUE_NONE, 'Turn on debug mode.') - ->addOption(CO::DEPRECATED, NULL, InputOption::VALUE_NONE, - 'Generate documentation for elements marked as @deprecated') - ->addOption(CO::DOWNLOAD, NULL, InputOption::VALUE_NONE, - 'Add link to ZIP archive of documentation.') - ->addOption(CO::EXTENSIONS, NULL, InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED, - 'Scanned file extensions.', ['php']) - ->addOption(CO::EXCLUDE, NULL, InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED, - 'Directories and files matching this mask will not be parsed (e.g. */tests/*).') - ->addOption(CO::GROUPS, NULL, InputOption::VALUE_REQUIRED, - 'The way elements are grouped in menu.', 'auto') - ->addOption(CO::CHARSET, NULL, InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED, - 'Charset of scanned files.') - ->addOption(CO::MAIN, NULL, InputOption::VALUE_REQUIRED, - 'Elements with this name prefix will be first in tree.') - ->addOption(CO::INTERNAL, NULL, InputOption::VALUE_NONE, 'Include elements marked as @internal.') - ->addOption(CO::PHP, NULL, InputOption::VALUE_NONE, 'Generate documentation for PHP internal classes.') - ->addOption(CO::SKIP_DOC_PATH, NULL, InputOption::VALUE_IS_ARRAY | InputOption::VALUE_REQUIRED, - 'Files matching this mask will be included in class tree,' - . ' but will not create a link to their documentation.') - ->addOption(CO::NO_SOURCE_CODE, NULL, InputOption::VALUE_NONE, - 'Do not generate highlighted source code for elements.') - ->addOption(CO::TEMPLATE_THEME, NULL, InputOption::VALUE_REQUIRED, 'ApiGen template theme name.', 'default') - ->addOption(CO::TEMPLATE_CONFIG, NULL, InputOption::VALUE_REQUIRED, - 'Your own template config, has higher priority ' . CO::TEMPLATE_THEME . '.') - ->addOption(CO::TITLE, NULL, InputOption::VALUE_REQUIRED, 'Title of generated documentation.') - ->addOption(CO::TODO, NULL, InputOption::VALUE_NONE, 'Generate documentation for elements marked as @todo.') - ->addOption(CO::TREE, NULL, InputOption::VALUE_NONE, - 'Generate tree view of classes, interfaces, traits and exceptions.'); - } - - - protected function execute(InputInterface $input, OutputInterface $output) - { - try { - $options = $this->prepareOptions($input->getOptions()); - $this->scanAndParse($options); - $this->generate($options); - return 0; - - } catch (\Exception $e) { - $output->writeln(PHP_EOL . '' . $e->getMessage() . ''); - return 1; - } - } - - - private function scanAndParse(array $options) - { - $this->io->writeln('Scanning sources and parsing'); - - $files = $this->scanner->scan($options[CO::SOURCE], $options[CO::EXCLUDE], $options[CO::EXTENSIONS]); - $this->parser->parse($files); - - $this->reportParserErrors($this->parser->getErrors()); - - $stats = $this->parserResult->getDocumentedStats(); - $this->io->writeln(sprintf( - 'Found %d classes, %d constants and %d functions', - $stats['classes'], - $stats['constants'], - $stats['functions'] - )); - } - - - private function generate(array $options) - { - $this->prepareDestination($options[CO::DESTINATION]); - $this->io->writeln('Generating API documentation'); - $this->generatorQueue->run(); - } - - - private function reportParserErrors(array $errors) - { - /** @var FileProcessingException[] $errors */ - foreach ($errors as $error) { - /** @var \Exception[] $reasons */ - $reasons = $error->getReasons(); - if (count($reasons) && isset($reasons[0])) { - $this->io->writeln("Parse error: " . $reasons[0]->getMessage() . ""); - } - } - } - - - /** - * @return array - */ - private function prepareOptions(array $cliOptions) - { - $cliOptions = $this->convertDashKeysToCamel($cliOptions); - $configFile = $cliOptions[CO::CONFIG]; - $options = $cliOptions; - - if (file_exists($configFile)) { - // get reader by file extension - $configFileOptions = ConfigurationReader::getReader($configFile)->read(); - $options = array_merge($options, $configFileOptions); - } - - return $this->configuration->resolveOptions($options); - } - - - /** - * @return array - */ - private function convertDashKeysToCamel(array $options) - { - foreach ($options as $key => $value) { - $camelKey = $this->camelFormat($key); - if ($key !== $camelKey) { - $options[$camelKey] = $value; - unset($options[$key]); - } - } - return $options; - } - - - /** - * @param string $name - * @return string - */ - private function camelFormat($name) - { - return preg_replace_callback('~-([a-z])~', function ($matches) { - return strtoupper($matches[1]); - }, $name); - } - - - /** - * @param string $destination - */ - private function prepareDestination($destination) - { - $this->cleanDestinationWithCaution($destination); - $this->themeResources->copyToDestination($destination); - } - - - /** - * @param string $destination - */ - private function cleanDestinationWithCaution($destination) - { - if ( ! $this->fileSystem->isDirEmpty($destination)) { - if ($this->io->ask('Destination is not empty. Do you want to erase it?', TRUE)) { - $this->fileSystem->purgeDir($destination); - } - } - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Command/SelfUpdateCommand.php b/apigen/vendor/apigen/apigen/src/Command/SelfUpdateCommand.php deleted file mode 100644 index 3a2d6e6f..00000000 --- a/apigen/vendor/apigen/apigen/src/Command/SelfUpdateCommand.php +++ /dev/null @@ -1,68 +0,0 @@ -setName('self-update') - ->setAliases(['selfupdate']) - ->setDescription('Updates apigen.phar to the latest available version'); - } - - - /** - * @return int - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - try { - $updateManager = $this->createUpdateManager(); - $version = $this->getApplication()->getVersion(); - if ($updateManager->update($version, FALSE, TRUE)) { - $output->writeln('Updated to latest version.'); - - } else { - $output->writeln('Already up-to-date.'); - } - - return 0; - - } catch (\Exception $e) { - $output->writeln('' . $e->getMessage() . ''); - return 1; - } - } - - - /** - * @return Manager - */ - private function createUpdateManager() - { - return new Manager(Manifest::loadFile(self::MANIFEST_URL)); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Configuration/Configuration.php b/apigen/vendor/apigen/apigen/src/Configuration/Configuration.php deleted file mode 100644 index 5dd7aa0e..00000000 --- a/apigen/vendor/apigen/apigen/src/Configuration/Configuration.php +++ /dev/null @@ -1,138 +0,0 @@ -configurationOptionsResolver = $configurationOptionsResolver; - } - - - /** - * @return array - */ - public function resolveOptions(array $options) - { - $options = $this->unsetConsoleOptions($options); - $this->options = $options = $this->configurationOptionsResolver->resolve($options); - $this->onOptionsResolve($options); - return $options; - } - - - /** - * @param string $name - * @return mixed|NULL - */ - public function getOption($name) - { - if (isset($this->getOptions()[$name])) { - return $this->getOptions()[$name]; - } - return NULL; - } - - - /** - * @return array - */ - public function getOptions() - { - if ($this->options === NULL) { - $this->resolveOptions([]); - } - return $this->options; - } - - - /** - * @param int $namespaceCount - * @param int $packageCount - * @return bool - */ - public function areNamespacesEnabled($namespaceCount, $packageCount) - { - if ($this->getOption(CO::GROUPS) === self::GROUPS_NAMESPACES) { - return TRUE; - } - if ($this->getOption(CO::GROUPS) === self::GROUPS_AUTO && ($namespaceCount > 0 || $packageCount === 0)) { - return TRUE; - } - return FALSE; - } - - - /** - * @param bool $areNamespacesEnabled - * @return bool - */ - public function arePackagesEnabled($areNamespacesEnabled) - { - if ($this->getOption(CO::GROUPS) === self::GROUPS_PACKAGES) { - return TRUE; - - } elseif ($this->getOption(CO::GROUPS) === self::GROUPS_AUTO && ($areNamespacesEnabled === FALSE)) { - return TRUE; - } - return FALSE; - } - - - /** - * @return string - */ - public function getZipFileName() - { - $webalizedTitle = Strings::webalize($this->getOption(CO::TITLE), NULL, FALSE); - return ($webalizedTitle ? '-' : '') . 'API-documentation.zip'; - } - - - /** - * @return array - */ - private function unsetConsoleOptions(array $options) - { - unset($options[CO::CONFIG], $options['help'], $options['version'], $options['quiet']); - return $options; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Configuration/ConfigurationOptions.php b/apigen/vendor/apigen/apigen/src/Configuration/ConfigurationOptions.php deleted file mode 100644 index 1d08779b..00000000 --- a/apigen/vendor/apigen/apigen/src/Configuration/ConfigurationOptions.php +++ /dev/null @@ -1,45 +0,0 @@ - [], - CO::ACCESS_LEVELS => [], - CO::BASE_URL => '', - CO::CONFIG => '', - CO::DEBUG => FALSE, - CO::DEPRECATED => FALSE, - CO::DESTINATION => NULL, - CO::DOWNLOAD => FALSE, - CO::EXCLUDE => [], - CO::EXTENSIONS => [], - CO::GOOGLE_CSE_ID => '', - CO::GOOGLE_ANALYTICS => '', - CO::GROUPS => '', - CO::CHARSET => [], - CO::MAIN => '', - CO::INTERNAL => FALSE, - CO::PHP => FALSE, - CO::SKIP_DOC_PATH => [], - CO::SOURCE => [], - CO::NO_SOURCE_CODE => FALSE, - CO::TEMPLATE => NULL, - CO::TEMPLATE_CONFIG => NULL, - CO::TEMPLATE_THEME => self::TEMPLATE_THEME_DEFAULT, - CO::TITLE => '', - CO::TODO => FALSE, - CO::TREE => TRUE, - // helpers - CO::VISIBILITY_LEVELS => [], - CO::SOURCE_CODE => '' - ]; - - /** - * @var ThemeConfigFactory - */ - private $themeConfigFactory; - - /** - * @var OptionsResolver - */ - private $resolver; - - /** - * @var OptionsResolverFactory - */ - private $optionsResolverFactory; - - /** - * @var ThemeConfigPathResolver - */ - private $themeConfigPathResolver; - - - public function __construct( - ThemeConfigFactory $themeConfigFactory, - OptionsResolverFactory $optionsResolverFactory, - ThemeConfigPathResolver $themeConfigPathResolver - ) { - $this->themeConfigFactory = $themeConfigFactory; - $this->optionsResolverFactory = $optionsResolverFactory; - $this->themeConfigPathResolver = $themeConfigPathResolver; - } - - - /** - * @return array - */ - public function resolve(array $options) - { - $this->resolver = $this->optionsResolverFactory->create(); - $this->setDefaults(); - $this->setRequired(); - $this->setAllowedValues(); - $this->setNormalizers(); - return $this->resolver->resolve($options); - } - - - private function setDefaults() - { - $this->resolver->setDefaults($this->defaults); - $this->resolver->setDefaults([ - CO::VISIBILITY_LEVELS => function (Options $options) { - return $this->getAccessLevelForReflections($options[CO::ACCESS_LEVELS]); - }, - CO::TEMPLATE => function (Options $options) { - if ( ! $options[CO::TEMPLATE_CONFIG]) { - $config = $this->getTemplateConfigPathFromTheme($options[CO::TEMPLATE_THEME]); - - } else { - $config = $options[CO::TEMPLATE_CONFIG]; - } - return $this->themeConfigFactory->create($config)->getOptions(); - } - ]); - } - - - /** - * @return int - */ - private function getAccessLevelForReflections(array $options) - { - $accessLevel = NULL; - if (in_array(self::AL_PUBLIC, $options)) { - $accessLevel |= ReflectionProperty::IS_PUBLIC; - } - - if (in_array(self::AL_PROTECTED, $options)) { - $accessLevel |= ReflectionProperty::IS_PROTECTED; - } - - if (in_array(self::AL_PRIVATE, $options)) { - $accessLevel |= ReflectionProperty::IS_PRIVATE; - } - - return $accessLevel; - } - - - private function setRequired() - { - $this->resolver->setRequired([ - CO::SOURCE, - CO::DESTINATION - ]); - } - - - private function setAllowedValues() - { - $this->resolver->addAllowedValues(CO::DESTINATION, function ($destination) { - return $this->allowedValuesForDestination($destination); - }); - - $this->resolver->addAllowedValues(CO::SOURCE, function ($source) { - return $this->allowedValuesForSource($source); - }); - - $this->resolver->addAllowedValues(CO::TEMPLATE_CONFIG, function ($value) { - if ($value && ! is_file($value)) { - throw new ConfigurationException("Template config '$value' was not found"); - } - return TRUE; - }); - } - - - private function setNormalizers() - { - $this->resolver->setNormalizers([ - CO::ANNOTATION_GROUPS => function (Options $options, $value) { - $value = (array) $value; - if ($options[CO::DEPRECATED]) { - $value[] = CO::DEPRECATED; - } - if ($options[CO::TODO]) { - $value[] = CO::TODO; - } - return array_unique($value); - }, - CO::DESTINATION => function (Options $options, $value) { - return FileSystem::getAbsolutePath($value); - }, - CO::BASE_URL => function (Options $options, $value) { - return rtrim($value, '/'); - }, - CO::SKIP_DOC_PATH => function (Options $options, $value) { - $value = (array) $value; - foreach ($value as $key => $source) { - $value[$key] = FileSystem::getAbsolutePath($source); - } - return $value; - }, - CO::SOURCE => function (Options $options, $value) { - if ( ! is_array($value)) { - $value = [$value]; - } - foreach ($value as $key => $source) { - $value[$key] = FileSystem::getAbsolutePath($source); - } - return $value; - }, - CO::SOURCE_CODE => function (Options $options) { - return ! $options[CO::NO_SOURCE_CODE]; - }, - CO::TEMPLATE_CONFIG => function (Options $options, $value) { - return FileSystem::getAbsolutePath($value); - } - ]); - } - - - /** - * @param string $theme - * @return string - */ - private function getTemplateConfigPathFromTheme($theme) - { - if ($theme === self::TEMPLATE_THEME_DEFAULT) { - return $this->themeConfigPathResolver->resolve('/vendor/apigen/theme-default/src/config.neon'); - - } elseif ($theme === self::TEMPLATE_THEME_BOOTSTRAP) { - return $this->themeConfigPathResolver->resolve('/vendor/apigen/theme-bootstrap/src/config.neon'); - } - - throw new ConfigurationException(CO::TEMPLATE_THEME . ' ' . $theme . ' is not supported.'); - } - - - /** - * @param string $destination - * @return bool - */ - private function allowedValuesForDestination($destination) - { - if ( ! $destination) { - throw new ConfigurationException("Destination is not set. Use '-d ' or config to set it"); - - } elseif ( ! is_dir($destination)) { - mkdir($destination, 0755, TRUE); - } - - if ( ! is_writable($destination)) { - throw new ConfigurationException("Destination '$destination' is not writable"); - } - return TRUE; - } - - - /** - * @param string|array $source - * @return bool - */ - private function allowedValuesForSource($source) - { - if ( ! $source) { - throw new ConfigurationException("Source is not set. Use '-s ' or config to set it"); - - } elseif ( ! is_array($source)) { - $source = [$source]; - } - - foreach ($source as $singleSource) { - if ( ! file_exists($singleSource)) { - throw new ConfigurationException("Source '$singleSource' does not exist"); - } - } - return TRUE; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Configuration/Exceptions/ConfigurationException.php b/apigen/vendor/apigen/apigen/src/Configuration/Exceptions/ConfigurationException.php deleted file mode 100644 index 25674db3..00000000 --- a/apigen/vendor/apigen/apigen/src/Configuration/Exceptions/ConfigurationException.php +++ /dev/null @@ -1,21 +0,0 @@ -validatePath($path); - $this->path = $path; - } - - - /** - * @param string $path - */ - protected function validatePath($path) - { - if ( ! file_exists($path)) { - throw new MissingFileException($path . ' could not be found'); - } - - if ( ! is_readable($path)) { - throw new FileNotReadableException($path . ' is not readable.'); - } - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Configuration/Readers/Exceptions/FileNotReadableException.php b/apigen/vendor/apigen/apigen/src/Configuration/Readers/Exceptions/FileNotReadableException.php deleted file mode 100644 index 44c53f2d..00000000 --- a/apigen/vendor/apigen/apigen/src/Configuration/Readers/Exceptions/FileNotReadableException.php +++ /dev/null @@ -1,18 +0,0 @@ -path); - return (array) Neon::decode($json); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Configuration/Readers/ReaderFactory.php b/apigen/vendor/apigen/apigen/src/Configuration/Readers/ReaderFactory.php deleted file mode 100644 index d2fa4e85..00000000 --- a/apigen/vendor/apigen/apigen/src/Configuration/Readers/ReaderFactory.php +++ /dev/null @@ -1,32 +0,0 @@ -path)); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Configuration/Theme/ThemeConfig.php b/apigen/vendor/apigen/apigen/src/Configuration/Theme/ThemeConfig.php deleted file mode 100644 index 2fadedb9..00000000 --- a/apigen/vendor/apigen/apigen/src/Configuration/Theme/ThemeConfig.php +++ /dev/null @@ -1,62 +0,0 @@ -filePath = $filePath; - $this->themeConfigOptionsResolver = $themeConfigOptionsResolver; - } - - - /** - * @return mixed[] - */ - public function getOptions() - { - if ($this->options === NULL) { - $file = new NeonFile($this->filePath); - $values = $file->read(); - $values['templatesPath'] = dirname($this->filePath); - $this->options = $this->themeConfigOptionsResolver->resolve($values); - } - return $this->options; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Configuration/Theme/ThemeConfigFactory.php b/apigen/vendor/apigen/apigen/src/Configuration/Theme/ThemeConfigFactory.php deleted file mode 100644 index fd761d7d..00000000 --- a/apigen/vendor/apigen/apigen/src/Configuration/Theme/ThemeConfigFactory.php +++ /dev/null @@ -1,22 +0,0 @@ - '', - 'options' => [ - 'elementDetailsCollapsed' => TRUE, - 'elementsOrder' => 'natural' # or: alphabetical - ], - TCO::RESOURCES => [ - 'resources' => 'resources' - ], - TCO::TEMPLATES => [ - TCO::OVERVIEW => [ - 'filename' => 'index.html', - 'template' => 'overview.latte' - ], - TCO::COMBINED => [ - 'filename' => 'resources/combined.js', - 'template' => 'combined.js.latte' - ], - TCO::ELEMENT_LIST => [ - 'filename' => 'elementlist.js', - 'template' => 'elementlist.js.latte' - ], - TCO::E404 => [ - 'filename' => '404.html', - 'template' => '404.latte' - ], - TCO::PACKAGE => [ - 'filename' => 'package-%s.html', - 'template' => 'package.latte' - ], - TCO::T_NAMESPACE => [ - 'filename' => 'namespace-%s.html', - 'template' => 'namespace.latte' - ], - TCO::T_CLASS => [ - 'filename' => 'class-%s.html', - 'template' => 'class.latte' - ], - TCO::T_CONSTANT => [ - 'filename' => 'constant-%s.html', - 'template' => 'constant.latte' - ], - TCO::T_FUNCTION => [ - 'filename' => 'function-%s.html', - 'template' => 'function.latte' - ], - TCO::ANNOTATION_GROUP => [ - 'filename' => 'annotation-group-%s.html', - 'template' => 'annotation-group.latte' - ], - TCO::SOURCE => [ - 'filename' => 'source-%s.html', - 'template' => 'source.latte' - ], - TCO::TREE => [ - 'filename' => 'tree.html', - 'template' => 'tree.latte' - ], - TCO::SITEMAP => [ - 'filename' => 'sitemap.xml', - 'template' => 'sitemap.xml.latte' - ], - TCO::OPENSEARCH => [ - 'filename' => 'opensearch.xml', - 'template' => 'opensearch.xml.latte' - ], - TCO::ROBOTS => [ - 'filename' => 'robots.txt', - 'template' => 'robots.txt.latte' - ] - ], - TCO::TEMPLATES_PATH => '' - ]; - - /** - * @var OptionsResolver - */ - private $resolver; - - /** - * @var OptionsResolverFactory - */ - private $optionsResolverFactory; - - - public function __construct(OptionsResolverFactory $optionsResolverFactory) - { - $this->optionsResolverFactory = $optionsResolverFactory; - } - - - /** - * @return array - */ - public function resolve(array $options) - { - $this->resolver = $this->optionsResolverFactory->create(); - $this->setDefaults(); - $this->setNormalizers(); - return $this->resolver->resolve($options); - } - - - private function setDefaults() - { - $this->resolver->setDefaults($this->defaults); - } - - - private function setNormalizers() - { - $this->resolver->setNormalizers([ - TCO::RESOURCES => function (Options $options, $resources) { - $absolutizedResources = []; - foreach ($resources as $key => $resource) { - $key = $options['templatesPath'] . '/' . $key; - $absolutizedResources[$key] = $resource; - } - return $absolutizedResources; - }, - TCO::TEMPLATES => function (Options $options, $value) { - return $this->makeTemplatePathsAbsolute($value, $options); - } - ]); - } - - - /** - * @return array - */ - private function makeTemplatePathsAbsolute(array $value, Options $options) - { - foreach ($value as $type => $settings) { - $filePath = $options[TCO::TEMPLATES_PATH] . '/' . $settings['template']; - $value[$type]['template'] = $filePath; - $this->validateFileExistence($filePath, $type); - } - return $value; - } - - - /** - * @param string $file - * @param string $type - */ - private function validateFileExistence($file, $type) - { - if ( ! is_file($file)) { - throw new ConfigurationException("Template for $type was not found in $file"); - } - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Console/Application.php b/apigen/vendor/apigen/apigen/src/Console/Application.php deleted file mode 100644 index bbfb9974..00000000 --- a/apigen/vendor/apigen/apigen/src/Console/Application.php +++ /dev/null @@ -1,93 +0,0 @@ -setMemoryLimitTo('1024M'); - } - - - /** - * {@inheritdoc} - */ - public function doRun(InputInterface $input, OutputInterface $output) - { - $this->onRun($input, $output); - return parent::doRun($input, $output); - } - - - /** - * {@inheritdoc} - */ - public function run(InputInterface $input = NULL, OutputInterface $output = NULL) - { - return parent::run(new LiberalFormatArgvInput, $output); - } - - - public function setEventManager(EventManager $eventManager) - { - $this->eventManager = $eventManager; - } - - - /** - * {@inheritdoc} - */ - protected function getDefaultInputDefinition() - { - return new InputDefinition([ - new InputArgument('command', InputArgument::REQUIRED, 'The command to execute'), - new InputOption('help', 'h', InputOption::VALUE_NONE, 'Display this help message.'), - new InputOption('quiet', 'q', InputOption::VALUE_NONE, 'Do not output any message.'), - new InputOption('version', 'V', InputOption::VALUE_NONE, 'Display this application version.') - ]); - } - - - private function onRun(InputInterface $input, OutputInterface $output) - { - $this->eventManager->dispatchEvent(__METHOD__, new EventArgsList([$input, $output])); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Console/IO.php b/apigen/vendor/apigen/apigen/src/Console/IO.php deleted file mode 100644 index f1bd834c..00000000 --- a/apigen/vendor/apigen/apigen/src/Console/IO.php +++ /dev/null @@ -1,98 +0,0 @@ -input = new ArrayInput([]); - $this->output = new NullOutput; - $this->helperSet = $helperSet; - } - - - /** - * @return InputInterface - */ - public function getInput() - { - return $this->input; - } - - - public function setInput(InputInterface $input) - { - $this->input = $input; - } - - - /** - * @return OutputInterface - */ - public function getOutput() - { - return $this->output; - } - - - public function setOutput(OutputInterface $output) - { - $this->output = $output; - } - - - /** - * {@inheritdoc} - */ - public function writeln($message) - { - return $this->output->writeln($message); - } - - - /** - * {@inheritdoc} - */ - public function ask($question, $default = NULL) - { - /** @var QuestionHelper $helper */ - $helper = $this->helperSet->get('question'); - $question = new ConfirmationQuestion($question, $default); - return $helper->ask($this->input, $this->output, $question); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Console/IOInterface.php b/apigen/vendor/apigen/apigen/src/Console/IOInterface.php deleted file mode 100644 index aa8caf49..00000000 --- a/apigen/vendor/apigen/apigen/src/Console/IOInterface.php +++ /dev/null @@ -1,29 +0,0 @@ - $value) { - $options[$key] = $this->removeEqualsSign($value); - $options[$key] = $this->splitByComma($value); - } - return $options; - } - - - /** - * @param string $name - * @return mixed - */ - public function getOption($name) - { - $this->options = $this->getOptions(); - return parent::getOption($name); - } - - - /** - * @param array|string $value - * @return array|string - */ - private function removeEqualsSign($value) - { - if (is_array($value)) { - array_walk($value, function (&$singleValue) { - $singleValue = ltrim($singleValue, '='); - }); - - } else { - $value = ltrim($value, '='); - } - return $value; - } - - - /** - * @param mixed $value - * @return mixed - */ - private function splitByComma($value) - { - if (is_array($value)) { - array_walk($value, function (&$singleValue) { - $singleValue = $this->splitByCommaIfHasAny($singleValue); - }); - if (count($value) && is_array($value[0])) { - return $value[0]; - } - - } else { - $value = $this->splitByCommaIfHasAny($value); - } - return $value; - } - - - /** - * @param string $value - * @return bool - */ - private function containsComma($value) - { - return strpos($value, ',') !== FALSE; - } - - - /** - * @param string $value - * @return string|array - */ - private function splitByCommaIfHasAny($value) - { - if ($this->containsComma($value)) { - return explode(',', $value); - } - return $value; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Console/ProgressBar.php b/apigen/vendor/apigen/apigen/src/Console/ProgressBar.php deleted file mode 100644 index bdf5f0d3..00000000 --- a/apigen/vendor/apigen/apigen/src/Console/ProgressBar.php +++ /dev/null @@ -1,91 +0,0 @@ -consoleIO = $consoleIO; - } - - - /** - * @param int $maximum - */ - public function init($maximum = 1) - { - $this->bar = new ProgressBarHelper($this->consoleIO->getOutput(), $maximum); - $this->bar->setFormat($this->getBarFormat()); - $this->bar->start(); - } - - - /** - * @param int $increment - */ - public function increment($increment = 1) - { - if ($this->bar === NULL) { - return; - } - - $this->bar->advance($increment); - if ($this->bar->getProgress() === $this->bar->getMaxSteps()) { - $this->consoleIO->getOutput()->writeln(' - Finished!'); - } - } - - - /** - * @return string - */ - private function getBarFormat() - { - if ($this->getDebugOption()) { - return 'debug'; - - } else { - return '%percent:3s% %'; - } - } - - - /** - * @return bool - */ - private function getDebugOption() - { - if ($this->consoleIO->getInput() && $this->consoleIO->getInput()->hasOption(CO::DEBUG)) { - return $this->consoleIO->getInput()->getOption(CO::DEBUG); - - } else { - return FALSE; - } - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Console/Question/ConfirmationQuestion.php b/apigen/vendor/apigen/apigen/src/Console/Question/ConfirmationQuestion.php deleted file mode 100644 index 50fed8d4..00000000 --- a/apigen/vendor/apigen/apigen/src/Console/Question/ConfirmationQuestion.php +++ /dev/null @@ -1,30 +0,0 @@ -%s [%s] ', - parent::getQuestion(), - $this->getDefault() === TRUE ? 'yes' : 'no' - ); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/DI/ApiGenExtension.php b/apigen/vendor/apigen/apigen/src/DI/ApiGenExtension.php deleted file mode 100644 index 02349291..00000000 --- a/apigen/vendor/apigen/apigen/src/DI/ApiGenExtension.php +++ /dev/null @@ -1,101 +0,0 @@ -loadServicesFromConfig(); - $this->setupTemplating(); - } - - - public function beforeCompile() - { - $builder = $this->getContainerBuilder(); - $builder->prepareClassList(); - $this->setupConsole(); - $this->setupTemplatingFilters(); - $this->setupGeneratorQueue(); - } - - - private function loadServicesFromConfig() - { - $builder = $this->getContainerBuilder(); - $config = $this->loadFromFile(__DIR__ . '/apigen.services.neon'); - $this->compiler->parseServices($builder, $config); - } - - - private function setupTemplating() - { - $builder = $this->getContainerBuilder(); - $builder->addDefinition($this->prefix('latteFactory')) - ->setClass('Latte\Engine') - ->addSetup('setTempDirectory', [$builder->expand('%tempDir%/cache/latte')]); - } - - - private function setupConsole() - { - $builder = $this->getContainerBuilder(); - - $application = $builder->getDefinition($builder->getByType('ApiGen\Console\Application')); - - foreach (array_keys($builder->findByTag(self::TAG_CONSOLE_COMMAND)) as $serviceName) { - $className = $builder->getDefinition($serviceName)->getClass(); - if ( ! $this->isPhar() && $className === 'ApiGen\Command\SelfUpdateCommand') { - continue; - } - $application->addSetup('add', ['@' . $serviceName]); - } - } - - - /** - * @return bool - */ - private function isPhar() - { - return substr(__FILE__, 0, 5) === 'phar:'; - } - - - private function setupTemplatingFilters() - { - $builder = $this->getContainerBuilder(); - $latteFactory = $builder->getDefinition($builder->getByType('Latte\Engine')); - foreach (array_keys($builder->findByTag(self::TAG_LATTE_FILTER)) as $serviceName) { - $latteFactory->addSetup('addFilter', [NULL, ['@' . $serviceName, 'loader']]); - } - } - - - private function setupGeneratorQueue() - { - $builder = $this->getContainerBuilder(); - $generator = $builder->getDefinition($builder->getByType('ApiGen\Generator\GeneratorQueue')); - foreach (array_keys($builder->findByTag(self::TAG_TEMPLATE_GENERATOR)) as $serviceName) { - $generator->addSetup('addToQueue', ['@' . $serviceName]); - } - } - -} diff --git a/apigen/vendor/apigen/apigen/src/DI/CharsetConvertorExtension.php b/apigen/vendor/apigen/apigen/src/DI/CharsetConvertorExtension.php deleted file mode 100644 index 5125125e..00000000 --- a/apigen/vendor/apigen/apigen/src/DI/CharsetConvertorExtension.php +++ /dev/null @@ -1,32 +0,0 @@ -getContainerBuilder(); - - $builder->addDefinition($this->prefix('convertor')) - ->setClass('ApiGen\Charset\CharsetConvertor'); - - $builder->addDefinition($this->prefix('detector')) - ->setClass('ApiGen\Charset\CharsetDetector'); - - $builder->addDefinition($this->prefix('charsetOptionsResolver')) - ->setClass('ApiGen\Charset\Configuration\CharsetOptionsResolver'); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/DI/ParserExtension.php b/apigen/vendor/apigen/apigen/src/DI/ParserExtension.php deleted file mode 100644 index 8d492192..00000000 --- a/apigen/vendor/apigen/apigen/src/DI/ParserExtension.php +++ /dev/null @@ -1,36 +0,0 @@ -getContainerBuilder(); - $config = $this->loadFromFile(__DIR__ . '/parser.services.neon'); - $this->compiler->parseServices($builder, $config); - - $backend = $builder->addDefinition($this->prefix('backend')) - ->setClass('ApiGen\Parser\Broker\Backend'); - - $builder->addDefinition($this->prefix('broker')) - ->setClass('TokenReflection\Broker') - ->setArguments([ - $backend, - Broker::OPTION_DEFAULT & ~(Broker::OPTION_PARSE_FUNCTION_BODY | Broker::OPTION_SAVE_TOKEN_STREAM) - ]); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/DI/apigen.services.neon b/apigen/vendor/apigen/apigen/src/DI/apigen.services.neon deleted file mode 100644 index e919e19c..00000000 --- a/apigen/vendor/apigen/apigen/src/DI/apigen.services.neon +++ /dev/null @@ -1,96 +0,0 @@ -services: - # commands - - {class: ApiGen\Command\GenerateCommand, tags: [console.command]} - - {class: ApiGen\Command\SelfUpdateCommand, tags: [console.command]} - - # configuration - - ApiGen\Configuration\Configuration - - ApiGen\Configuration\ConfigurationOptionsResolver - - ApiGen\Configuration\OptionsResolverFactory - - - implement: ApiGen\Configuration\Theme\ThemeConfigFactory - parameters: [filePath] - arguments: [%filePath%] - - ApiGen\Configuration\Theme\ThemeConfigOptionsResolver - - # console - - - class: ApiGen\Console\Application - setup: - - setEventManager - - ApiGen\Console\IO - - ApiGen\Console\ProgressBar - - Symfony\Component\Console\Helper\ProgressHelper - - Symfony\Component\Console\Helper\QuestionHelper - - - class: Symfony\Component\Console\Helper\HelperSet - setup: - - set(@Symfony\Component\Console\Helper\ProgressHelper, 'progress') - - set(@Symfony\Component\Console\Helper\QuestionHelper, 'question') - - # elements - - ApiGen\Generator\Resolvers\ElementResolver - - ApiGen\Generator\Resolvers\RelativePathResolver - - # events - - {class: ApiGen\Events\ProgressBarIncrement, tags: [kdyby.subscriber]} - - {class: ApiGen\Events\InjectConfig, tags: [kdyby.subscriber]} - - {class: ApiGen\Events\SetIoOnConsoleRun, tags: [kdyby.subscriber]} - - # filesystem - - ApiGen\FileSystem\FileSystem - - ApiGen\FileSystem\ZipArchiveGenerator - - # generator - - ApiGen\Scanner\Scanner - - ApiGen\Generator\GeneratorQueue - # intentionally first to collect output from other generators - - {class: ApiGen\Generator\TemplateGenerators\ZipGenerator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\CombinedGenerator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\AnnotationGroupsGenerator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\E404Generator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\ElementListGenerator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\OpensearchGenerator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\OverviewGenerator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\SitemapGenerator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\SourceCodeGenerator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\TreeGenerator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\RobotsGenerator, tags: [template.generator]} - # elements - - {class: ApiGen\Generator\TemplateGenerators\ClassElementGenerator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\ConstantElementGenerator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\FunctionElementGenerator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\NamespaceGenerator, tags: [template.generator]} - - {class: ApiGen\Generator\TemplateGenerators\PackageGenerator, tags: [template.generator]} - - ApiGen\Generator\TemplateGenerators\Loaders\NamespaceAndPackageLoader - - ApiGen\Generator\Markups\MarkdownMarkup - - Michelf\MarkdownExtra - - # templating - - ApiGen\Templating\TemplateElementsLoader - - ApiGen\Templating\TemplateFactory - - ApiGen\Templating\TemplateNavigator - - ApiGen\Templating\Filters\Helpers\ElementLinkFactory - - ApiGen\Templating\Filters\Helpers\ElementUrlFactory - - ApiGen\Templating\Filters\Helpers\LinkBuilder - - {class: ApiGen\Templating\Filters\AnnotationFilters, tags: [latte.filter]} - - {class: ApiGen\Templating\Filters\PathFilters, tags: [latte.filter]} - - {class: ApiGen\Templating\Filters\PhpManualFilters, tags: [latte.filter]} - - {class: ApiGen\Templating\Filters\ResolverFilters, tags: [latte.filter]} - - {class: ApiGen\Templating\Filters\SourceFilters, tags: [latte.filter]} - - {class: ApiGen\Templating\Filters\UrlFilters, tags: [latte.filter]} - - {class: ApiGen\Templating\Filters\NamespaceAndPackageUrlFilters, tags: [latte.filter]} - - {class: ApiGen\Templating\Filters\ElementUrlFilters, tags: [latte.filter]} - - # theme - - ApiGen\Theme\ThemeResources - - ApiGen\Theme\ThemeConfigPathResolver(%rootDir%) - - # syntax highlighter - - ApiGen\Generator\SourceCodeHighlighter\FshlSourceCodeHighlighter - - FSHL\Output\Html - - FSHL\Lexer\Php - - - class: FSHL\Highlighter - setup: - - setLexer(@FSHL\Lexer\Php) diff --git a/apigen/vendor/apigen/apigen/src/DI/config.neon b/apigen/vendor/apigen/apigen/src/DI/config.neon deleted file mode 100644 index 60e29280..00000000 --- a/apigen/vendor/apigen/apigen/src/DI/config.neon +++ /dev/null @@ -1,5 +0,0 @@ -extensions: - - ApiGen\DI\ApiGenExtension - - ApiGen\DI\CharsetConvertorExtension - - ApiGen\DI\ParserExtension - - Kdyby\Events\DI\EventsExtension diff --git a/apigen/vendor/apigen/apigen/src/DI/parser.services.neon b/apigen/vendor/apigen/apigen/src/DI/parser.services.neon deleted file mode 100644 index 42a1c070..00000000 --- a/apigen/vendor/apigen/apigen/src/DI/parser.services.neon +++ /dev/null @@ -1,11 +0,0 @@ -services: - - ApiGen\Parser\Elements\AutocompleteElements - - ApiGen\Parser\Elements\ElementExtractor - - ApiGen\Parser\Elements\ElementFilter - - ApiGen\Parser\Elements\Elements - - ApiGen\Parser\Elements\ElementSorter - - ApiGen\Parser\Elements\ElementStorage - - ApiGen\Parser\Elements\GroupSorter - - ApiGen\Parser\Parser - - ApiGen\Parser\ParserResult - - ApiGen\Reflection\TokenReflection\ReflectionFactory diff --git a/apigen/vendor/apigen/apigen/src/Events/InjectConfig.php b/apigen/vendor/apigen/apigen/src/Events/InjectConfig.php deleted file mode 100644 index f95bcc5a..00000000 --- a/apigen/vendor/apigen/apigen/src/Events/InjectConfig.php +++ /dev/null @@ -1,45 +0,0 @@ -charsetDetector = $charsetDetector; - } - - - /** - * @return string[] - */ - public function getSubscribedEvents() - { - return ['ApiGen\Configuration\Configuration::onOptionsResolve']; - } - - - public function onOptionsResolve(array $config) - { - $this->charsetDetector->setCharsets($config['charset']); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Events/ProgressBarIncrement.php b/apigen/vendor/apigen/apigen/src/Events/ProgressBarIncrement.php deleted file mode 100644 index 53a02c44..00000000 --- a/apigen/vendor/apigen/apigen/src/Events/ProgressBarIncrement.php +++ /dev/null @@ -1,55 +0,0 @@ -progressBar = $progressBar; - } - - - /** - * @return string[] - */ - public function getSubscribedEvents() - { - return [ - 'ApiGen\Generator\TemplateGenerators\NamespaceGenerator::onGenerateProgress', - 'ApiGen\Generator\TemplateGenerators\PackageGenerator::onGenerateProgress', - 'ApiGen\Generator\TemplateGenerators\ClassElementGenerator::onGenerateProgress', - 'ApiGen\Generator\TemplateGenerators\ConstantElementGenerator::onGenerateProgress', - 'ApiGen\Generator\TemplateGenerators\FunctionElementGenerator::onGenerateProgress', - 'ApiGen\Generator\TemplateGenerators\SourceCodeGenerator::onGenerateProgress' - ]; - } - - - /** - * @param int $size - */ - public function onGenerateProgress($size = 1) - { - $this->progressBar->increment($size); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Events/SetIoOnConsoleRun.php b/apigen/vendor/apigen/apigen/src/Events/SetIoOnConsoleRun.php deleted file mode 100644 index b10325e8..00000000 --- a/apigen/vendor/apigen/apigen/src/Events/SetIoOnConsoleRun.php +++ /dev/null @@ -1,48 +0,0 @@ -consoleIO = $consoleIO; - } - - - /** - * @return string[] - */ - public function getSubscribedEvents() - { - return ['ApiGen\Console\Application::onRun']; - } - - - public function onRun(InputInterface $input, OutputInterface $output) - { - $this->consoleIO->setInput($input); - $this->consoleIO->setOutput($output); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/FileSystem/FileSystem.php b/apigen/vendor/apigen/apigen/src/FileSystem/FileSystem.php deleted file mode 100644 index a3e1a2ef..00000000 --- a/apigen/vendor/apigen/apigen/src/FileSystem/FileSystem.php +++ /dev/null @@ -1,121 +0,0 @@ -from($path)->exclude('.git')->childFirst() as $item) { - /** @var \SplFileInfo $item */ - if ($item->isDir()) { - rmdir($item); - - } elseif ($item->isFile()) { - unlink($item); - } - } - } - - - /** - * @param string $path - * @param array $baseDirectories - * @return string - */ - public static function getAbsolutePath($path, array $baseDirectories = []) - { - if (self::isAbsolutePath($path)) { - return $path; - } - - foreach ($baseDirectories as $directory) { - $fileName = $directory . '/' . $path; - if (is_file($fileName)) { - return self::normalizePath(realpath($fileName)); - } - } - - if (file_exists($path)) { - return self::normalizePath(realpath($path)); - } - - return $path; - } - - - /** - * @param string $path - * @return bool - */ - public function isDirEmpty($path) - { - if (count(glob($path . "/*"))) { - return FALSE; - } - return TRUE; - } - - - /** - * @param string $path - * @return bool - */ - private static function isAbsolutePath($path) - { - if (preg_match('~/|[a-z]:~Ai', $path)) { - return TRUE; - } - return FALSE; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/FileSystem/ZipArchiveGenerator.php b/apigen/vendor/apigen/apigen/src/FileSystem/ZipArchiveGenerator.php deleted file mode 100644 index 7fc839f9..00000000 --- a/apigen/vendor/apigen/apigen/src/FileSystem/ZipArchiveGenerator.php +++ /dev/null @@ -1,46 +0,0 @@ -open($zipFile, ZipArchive::CREATE); - - $directory = basename($zipFile, '.zip'); - - /** @var SplFileInfo $file */ - foreach (Finder::findFiles('*')->from($source) as $file) { - $relativePath = Strings::substring($file->getRealPath(), strlen($source) + 1); - $archive->addFile($file, $directory . '/' . $relativePath); - } - - $archive->close(); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/ConditionalTemplateGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/ConditionalTemplateGenerator.php deleted file mode 100644 index d97b22e4..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/ConditionalTemplateGenerator.php +++ /dev/null @@ -1,21 +0,0 @@ -progressBar = $progressBar; - } - - - public function run() - { - $this->progressBar->init($this->getStepCount()); - foreach ($this->getAllowedQueue() as $templateGenerator) { - $templateGenerator->generate(); - } - } - - - public function addToQueue(TemplateGenerator $templateGenerator) - { - $this->queue[] = $templateGenerator; - } - - - /** - * @return TemplateGenerator[] - */ - public function getQueue() - { - return $this->queue; - } - - - /** - * @return TemplateGenerator[] - */ - private function getAllowedQueue() - { - return array_filter($this->queue, function (TemplateGenerator $generator) { - if ($generator instanceof ConditionalTemplateGenerator) { - return $generator->isAllowed(); - - } else { - return TRUE; - } - }); - } - - - /** - * @return int - */ - private function getStepCount() - { - $steps = 0; - foreach ($this->getAllowedQueue() as $templateGenerator) { - if ($templateGenerator instanceof StepCounter) { - $steps += $templateGenerator->getStepCount(); - } - } - return $steps; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/Markups/MarkdownMarkup.php b/apigen/vendor/apigen/apigen/src/Generator/Markups/MarkdownMarkup.php deleted file mode 100644 index 17e7f703..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/Markups/MarkdownMarkup.php +++ /dev/null @@ -1,71 +0,0 @@ -markdown = $markdown; - $this->highlighter = $highlighter; - } - - - /** - * @param string $text - * @return string - */ - public function line($text) - { - $text = $this->block($text); - $text = preg_replace('/^]*>(.*)<\/p[^>]*>$/i', '$1', $text); - return trim($text); - } - - - /** - * @param string $text - * @return string - */ - public function block($text) - { - $pattern = '~<(code|pre)>(.+?)|```php\s(.+?)\n```~s'; - $highlighted = preg_replace_callback($pattern, [$this, 'highlightCb'], $text); - $text = $this->markdown->transform($highlighted); - return trim($text); - } - - - /** - * @return string - */ - private function highlightCb(array $match) - { - $highlighted = $this->highlighter->highlight(trim(isset($match[3]) ? $match[3] : $match[2])); - return "
$highlighted
"; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/Markups/Markup.php b/apigen/vendor/apigen/apigen/src/Generator/Markups/Markup.php deleted file mode 100644 index d905b303..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/Markups/Markup.php +++ /dev/null @@ -1,29 +0,0 @@ - 1, - 'integer' => 1, - 'float' => 1, - 'string' => 1, - 'array' => 1, - 'object' => 1, - 'resource' => 1, - 'callback' => 1, - 'callable' => 1, - 'NULL' => 1, - 'false' => 1, - 'true' => 1, - 'mixed' => 1 - ]; - - /** - * @var ParserResult - */ - private $parserResult; - - - public function __construct(ParserResult $parserResult) - { - $this->parserResult = $parserResult; - } - - - /** - * @param string $name - * @param string $namespace - * @return ReflectionClass|NULL - */ - public function getClass($name, $namespace = '') - { - $parsedClasses = $this->parserResult->getClasses(); - $class = $this->findElementByNameAndNamespace($parsedClasses, $name, $namespace); - if ($class && $class->isDocumented()) { - return $class; - } - - return NULL; - } - - - /** - * @param string $name - * @param string $namespace - * @return ReflectionConstant|NULL - */ - public function getConstant($name, $namespace = '') - { - $parsedConstants = $this->parserResult->getConstants(); - $constant = $this->findElementByNameAndNamespace($parsedConstants, $name, $namespace); - if ($constant && $constant->isDocumented()) { - return $constant; - } - - return NULL; - } - - - /** - * @param string $name - * @param string $namespace - * @return ReflectionFunction|NULL - */ - public function getFunction($name, $namespace = '') - { - $parsedFunctions = $this->parserResult->getFunctions(); - $function = $this->findElementByNameAndNamespace($parsedFunctions, $name, $namespace); - if ($function && $function->isDocumented()) { - return $function; - } - - return NULL; - } - - - /** - * Tries to parse a definition of a class/method/property/constant/function - * - * @param string $definition - * @param ReflectionElement|ReflectionParameter $reflectionElement Link context - * @param string $expectedName - * @return ReflectionElement|NULL - */ - public function resolveElement($definition, $reflectionElement, &$expectedName = NULL) - { - if ($this->isSimpleType($definition)) { - return NULL; - } - - $originalContext = $reflectionElement; - $reflectionElement = $this->correctContextForParameterOrClassMember($reflectionElement); - if ($reflectionElement === NULL) { - return NULL; - } - - // self, $this references - if ($definition === 'self' || $definition === '$this') { - return $reflectionElement instanceof ReflectionClass ? $reflectionElement : NULL; - } - - $definitionBase = substr($definition, 0, strcspn($definition, '\\:')); - $namespaceAliases = $reflectionElement->getNamespaceAliases(); - $className = Resolver::resolveClassFqn($definition, $namespaceAliases, $reflectionElement->getNamespaceName()); - - if ($resolved = $this->resolveIfParsed($definition, $reflectionElement)) { - return $resolved; - } - - if ( ! empty($definitionBase) && isset($namespaceAliases[$definitionBase]) && $definition !== $className) { - // Aliased class - $expectedName = $className; - - if (strpos($className, ':') === FALSE) { - return $this->getClass($className, $reflectionElement->getNamespaceName()); - - } else { - $definition = $className; - } - } - - if (($reflectionElement instanceof ClassReflectionInterface) - && ($pos = strpos($definition, '::') || $pos = strpos($definition, '->')) - ) { - $reflectionElement = $this->resolveContextForClassProperty($definition, $reflectionElement, $pos); - $definition = substr($definition, $pos + 2); - - } elseif ($originalContext instanceof ReflectionParameter) { - return NULL; - } - - if ( ! $this->isContextUsable($reflectionElement)) { - return NULL; - } - - return $this->resolveIfInContext($definition, $reflectionElement); - } - - - /** - * @param ReflectionClass|ReflectionParameter|ReflectionFunction|ReflectionElement $reflectionElement - * @return ReflectionClass|ReflectionFunction - */ - private function correctContextForParameterOrClassMember($reflectionElement) - { - if ($reflectionElement instanceof ReflectionParameter && $reflectionElement->getDeclaringClassName() === NULL) { - // Parameter of function in namespace or global space - return $this->getFunction($reflectionElement->getDeclaringFunctionName()); - - } elseif ($reflectionElement instanceof ReflectionMethod || $reflectionElement instanceof ReflectionParameter - || ($reflectionElement instanceof ReflectionConstant && $reflectionElement->getDeclaringClassName() !== NULL) - || $reflectionElement instanceof ReflectionProperty - ) { - // Member of a class - return $this->getClass($reflectionElement->getDeclaringClassName()); - } - return $reflectionElement; - } - - - /** - * @param string $definition - * @param int $pos - * @param ReflectionElement $reflectionElement - * @return ReflectionClass - */ - private function resolveContextForSelfProperty($definition, $pos, ReflectionElement $reflectionElement) - { - $class = $this->getClass(substr($definition, 0, $pos), $reflectionElement->getNamespaceName()); - if ($class === NULL) { - $fqnName = Resolver::resolveClassFqn( - substr($definition, 0, $pos), $reflectionElement->getNamespaceAliases(), $reflectionElement->getNamespaceName() - ); - $class = $this->getClass($fqnName); - } - return $class; - } - - - /** - * @param string $definition - * @return bool - */ - private function isSimpleType($definition) - { - if (empty($definition) || isset($this->simpleTypes[$definition])) { - return TRUE; - } - - return FALSE; - } - - - /** - * @param string $definition - * @param ReflectionElement $reflectionElement - * @return ReflectionClass|ReflectionConstant|ReflectionFunction|NULL - */ - private function resolveIfParsed($definition, ReflectionElement $reflectionElement) - { - $definition = $this->removeEndBrackets($definition); - if ($class = $this->getClass($definition, $reflectionElement->getNamespaceName())) { - return $class; - - } elseif ($constant = $this->getConstant($definition, $reflectionElement->getNamespaceName())) { - return $constant; - - } elseif ($function = $this->getFunction($definition, $reflectionElement->getNamespaceName())) { - return $function; - } - return NULL; - } - - - /** - * @param $definition - * @param ReflectionClass $context - * @return ReflectionConstant|ReflectionMethod|ReflectionProperty|NULL - */ - private function resolveIfInContext($definition, ReflectionClass $context) - { - $definition = $this->removeEndBrackets($definition); - $definition = $this->removeStartDollar($definition); - - if ($context->hasProperty($definition)) { - return $context->getProperty($definition); - - } elseif ($context->hasMethod($definition)) { - return $context->getMethod($definition); - - } elseif ($context->hasConstant($definition)) { - return $context->getConstant($definition); - } - return NULL; - } - - - /** - * @param string $definition - * @return string - */ - private function removeEndBrackets($definition) - { - if (substr($definition, -2) === '()') { - return substr($definition, 0, -2); - } - return $definition; - } - - - /** - * @param string $definition - * @return string - */ - private function removeStartDollar($definition) - { - if ($definition[0] === '$') { - return substr($definition, 1); - } - return $definition; - } - - - /** - * @param string $definition - * @param ReflectionClass $reflectionClass - * @param int $pos - * @return ReflectionClass - */ - private function resolveContextForClassProperty($definition, ReflectionClass $reflectionClass, $pos) - { - // Class::something or Class->something - if (strpos($definition, 'parent::') === 0 && ($parentClassName = $reflectionClass->getParentClassName())) { - return $this->getClass($parentClassName); - - } elseif (strpos($definition, 'self::') !== 0) { - return $this->resolveContextForSelfProperty($definition, $pos, $reflectionClass); - } - return $reflectionClass; - } - - - /** - * @param NULL|ReflectionElement $reflectionElement - * @return bool - */ - private function isContextUsable($reflectionElement) - { - if ($reflectionElement === NULL || $reflectionElement instanceof ReflectionConstant - || $reflectionElement instanceof ReflectionFunction - ) { - return FALSE; - } - return TRUE; - } - - - /** - * @param array|ArrayObject $elements - * @param string $name - * @param string $namespace - * @return ReflectionClass|NULL - */ - private function findElementByNameAndNamespace($elements, $name, $namespace) - { - $namespacedName = $namespace . '\\' . $name; - if (isset($elements[$namespacedName])) { - return $elements[$namespacedName]; - } - - $shortName = ltrim($name, '\\'); - if (isset($elements[$shortName])) { - return $elements[$shortName]; - } - - return NULL; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/Resolvers/RelativePathResolver.php b/apigen/vendor/apigen/apigen/src/Generator/Resolvers/RelativePathResolver.php deleted file mode 100644 index b9b61df6..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/Resolvers/RelativePathResolver.php +++ /dev/null @@ -1,61 +0,0 @@ -configuration = $configuration; - } - - - /** - * @param string $fileName - * @return string - */ - public function getRelativePath($fileName) - { - foreach ($this->configuration->getOption(CO::SOURCE) as $directory) { - if (strpos($fileName, $directory) === 0) { - return $this->getFileNameWithoutSourcePath($fileName, $directory); - } - } - - throw new InvalidArgumentException(sprintf('Could not determine "%s" relative path', $fileName)); - } - - - /** - * @param string $fileName - * @param string $directory - * @return string - */ - private function getFileNameWithoutSourcePath($fileName, $directory) - { - $directory = rtrim($directory, '/'); - $fileName = substr($fileName, strlen($directory) + 1); - return FileSystem::normalizePath($fileName); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/SourceCodeHighlighter/FshlSourceCodeHighlighter.php b/apigen/vendor/apigen/apigen/src/Generator/SourceCodeHighlighter/FshlSourceCodeHighlighter.php deleted file mode 100644 index 27f4b2e3..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/SourceCodeHighlighter/FshlSourceCodeHighlighter.php +++ /dev/null @@ -1,51 +0,0 @@ -highlighter = $highlighter; - } - - - /** - * @param string $sourceCode - * @return string - */ - public function highlight($sourceCode) - { - $this->highlighter->setOptions(Highlighter::OPTION_TAB_INDENT); - return $this->highlighter->highlight($sourceCode); - } - - - /** - * @param string $sourceCode - * @return string - */ - public function highlightAndAddLineNumbers($sourceCode) - { - $this->highlighter->setOptions(Highlighter::OPTION_TAB_INDENT | Highlighter::OPTION_LINE_COUNTER); - return $this->highlighter->highlight($sourceCode); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/SourceCodeHighlighter/SourceCodeHighlighter.php b/apigen/vendor/apigen/apigen/src/Generator/SourceCodeHighlighter/SourceCodeHighlighter.php deleted file mode 100644 index 51c54ff0..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/SourceCodeHighlighter/SourceCodeHighlighter.php +++ /dev/null @@ -1,33 +0,0 @@ -configuration = $configuration; - $this->templateFactory = $templateFactory; - $this->elementExtractor = $elementExtractor; - } - - - public function generate() - { - $annotations = $this->configuration->getOption(CO::ANNOTATION_GROUPS); - foreach ($annotations as $annotation) { - $template = $this->templateFactory->createNamedForElement(TemplateFactory::ELEMENT_ANNOTATION_GROUP, $annotation); - $template = $this->setElementsWithAnnotationToTemplate($template, $annotation); - $template->save(); - } - } - - - /** - * @param Template $template - * @param string $annotation - * @return Template - */ - private function setElementsWithAnnotationToTemplate(Template $template, $annotation) - { - $elements = $this->elementExtractor->extractElementsByAnnotation($annotation); - - $template->setParameters([ - 'annotation' => $annotation, - 'hasElements' => (bool) count(array_filter($elements, 'count')), - 'annotationClasses' => $elements[Elements::CLASSES], - 'annotationInterfaces' => $elements[Elements::INTERFACES], - 'annotationTraits' => $elements[Elements::TRAITS], - 'annotationExceptions' => $elements[Elements::EXCEPTIONS], - 'annotationConstants' => $elements[Elements::CONSTANTS], - 'annotationMethods' => $elements[Elements::METHODS], - 'annotationFunctions' => $elements[Elements::FUNCTIONS], - 'annotationProperties' => $elements[Elements::PROPERTIES] - ]); - - return $template; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ClassElementGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ClassElementGenerator.php deleted file mode 100644 index 2a4755fc..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ClassElementGenerator.php +++ /dev/null @@ -1,99 +0,0 @@ -templateFactory = $templateFactory; - $this->elementStorage = $elementStorage; - $this->namespaceAndPackageLoader = $namespaceAndPackageLoader; - } - - - public function generate() - { - foreach ($this->elementStorage->getClassElements() as $name => $reflectionClass) { - $template = $this->templateFactory->createForReflection($reflectionClass); - $template = $this->loadTemplateWithParameters($template, $reflectionClass); - $template->save(); - $this->onGenerateProgress(); - } - } - - - /** - * @return int - */ - public function getStepCount() - { - return count($this->elementStorage->getClassElements()); - } - - - /** - * @return Template - */ - private function loadTemplateWithParameters(Template $template, ReflectionClass $class) - { - $template = $this->namespaceAndPackageLoader->loadTemplateWithElementNamespaceOrPackage($template, $class); - $template->setParameters([ - 'class' => $class, - 'tree' => array_merge(array_reverse($class->getParentClasses()), [$class]), - 'directSubClasses' => $class->getDirectSubClasses(), - 'indirectSubClasses' => $class->getIndirectSubClasses(), - 'directImplementers' => $class->getDirectImplementers(), - 'indirectImplementers' => $class->getIndirectImplementers(), - 'directUsers' => $class->getDirectUsers(), - 'indirectUsers' => $class->getIndirectUsers(), - ]); - return $template; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/CombinedGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/CombinedGenerator.php deleted file mode 100644 index e643331b..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/CombinedGenerator.php +++ /dev/null @@ -1,38 +0,0 @@ -templateFactory = $templateFactory; - } - - - public function generate() - { - $this->templateFactory->createForType(TCO::COMBINED) - ->save(); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ConstantElementGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ConstantElementGenerator.php deleted file mode 100644 index 16562cb8..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ConstantElementGenerator.php +++ /dev/null @@ -1,92 +0,0 @@ -templateFactory = $templateFactory; - $this->elementStorage = $elementStorage; - $this->namespaceAndPackageLoader = $namespaceAndPackageLoader; - } - - - public function generate() - { - foreach ($this->elementStorage->getConstants() as $name => $reflectionConstant) { - $template = $this->templateFactory->createForReflection($reflectionConstant); - $template = $this->loadTemplateWithParameters($template, $reflectionConstant); - $template->save(); - $this->onGenerateProgress(); - } - } - - - /** - * @return int - */ - public function getStepCount() - { - return count($this->elementStorage->getConstants()); - } - - - /** - * @return Template - */ - private function loadTemplateWithParameters(Template $template, ReflectionConstant $constant) - { - $template = $this->namespaceAndPackageLoader->loadTemplateWithElementNamespaceOrPackage($template, $constant); - $template->setParameters([ - 'constant' => $constant - ]); - return $template; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/E404Generator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/E404Generator.php deleted file mode 100644 index d6aad3a6..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/E404Generator.php +++ /dev/null @@ -1,38 +0,0 @@ -templateFactory = $templateFactory; - } - - - public function generate() - { - $this->templateFactory->createForType(TCO::E404) - ->save(); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ElementListGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ElementListGenerator.php deleted file mode 100644 index 9e536b68..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ElementListGenerator.php +++ /dev/null @@ -1,38 +0,0 @@ -templateFactory = $templateFactory; - } - - - public function generate() - { - $this->templateFactory->createForType(TCO::ELEMENT_LIST) - ->save(); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/FunctionElementGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/FunctionElementGenerator.php deleted file mode 100644 index 2e9735bb..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/FunctionElementGenerator.php +++ /dev/null @@ -1,92 +0,0 @@ -templateFactory = $templateFactory; - $this->elementStorage = $elementStorage; - $this->namespaceAndPackageLoader = $namespaceAndPackageLoader; - } - - - public function generate() - { - foreach ($this->elementStorage->getFunctions() as $name => $reflectionFunction) { - $template = $this->templateFactory->createForReflection($reflectionFunction); - $template = $this->loadTemplateWithParameters($template, $reflectionFunction); - $template->save(); - $this->onGenerateProgress(); - } - } - - - /** - * @return int - */ - public function getStepCount() - { - return count($this->elementStorage->getFunctions()); - } - - - /** - * @return Template - */ - private function loadTemplateWithParameters(Template $template, ReflectionFunction $function) - { - $template = $this->namespaceAndPackageLoader->loadTemplateWithElementNamespaceOrPackage($template, $function); - $template->setParameters([ - 'function' => $function - ]); - return $template; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/Loaders/NamespaceAndPackageLoader.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/Loaders/NamespaceAndPackageLoader.php deleted file mode 100644 index 50d73f04..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/Loaders/NamespaceAndPackageLoader.php +++ /dev/null @@ -1,117 +0,0 @@ -elementStorage = $elementStorage; - } - - - /** - * @return Template - */ - public function loadTemplateWithElementNamespaceOrPackage(Template $template, ReflectionElement $element) - { - if ($namespaces = $this->elementStorage->getNamespaces()) { - $name = $element->getPseudoNamespaceName(); - $template = $this->loadTemplateWithNamespace($template, $name, $namespaces[$name]); - - } elseif ($packages = $this->elementStorage->getPackages()) { - $name = $element->getPseudoPackageName(); - $template = $this->loadTemplateWithNamespace($template, $name, $packages[$name]); - } - - return $template; - } - - - /** - * @param Template $template - * @param string $name - * @param array $namespace - * @return Template - */ - public function loadTemplateWithNamespace(Template $template, $name, $namespace) - { - $template->setParameters([ - 'package' => NULL, - 'namespace' => $name, - 'subnamespaces' => $this->getSubnamesForName($name, $template->getParameters()['namespaces']) - ]); - $template = $this->loadTemplateWithElements($template, $namespace); - return $template; - } - - - /** - * @param Template $template - * @param string $name - * @param array $package - * @return Template - */ - public function loadTemplateWithPackage(Template $template, $name, $package) - { - $template->setParameters([ - 'namespace' => NULL, - 'package' => $name, - 'subpackages' => $this->getSubnamesForName($name, $template->getParameters()['packages']) - ]); - $template = $this->loadTemplateWithElements($template, $package); - return $template; - } - - - /** - * @param Template $template - * @param array $elements - * @return Template - */ - private function loadTemplateWithElements(Template $template, $elements) - { - return $template->setParameters([ - Elements::CLASSES => $elements[Elements::CLASSES], - Elements::INTERFACES => $elements[Elements::INTERFACES], - Elements::TRAITS => $elements[Elements::TRAITS], - Elements::EXCEPTIONS => $elements[Elements::EXCEPTIONS], - Elements::CONSTANTS => $elements[Elements::CONSTANTS], - Elements::FUNCTIONS => $elements[Elements::FUNCTIONS] - ]); - } - - - /** - * @param string $name - * @return array - */ - private function getSubnamesForName($name, $elements) - { - return array_filter($elements, function ($subname) use ($name) { - $pattern = '~^' . preg_quote($name) . '\\\\[^\\\\]+$~'; - return (bool) preg_match($pattern, $subname); - }); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/NamespaceGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/NamespaceGenerator.php deleted file mode 100644 index 7ed04023..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/NamespaceGenerator.php +++ /dev/null @@ -1,86 +0,0 @@ -templateFactory = $templateFactory; - $this->elementStorage = $elementStorage; - $this->namespaceAndPackageLoader = $namespaceAndPackageLoader; - } - - - public function generate() - { - foreach ($this->elementStorage->getNamespaces() as $name => $namespace) { - $template = $this->templateFactory->createNamedForElement(TemplateFactory::ELEMENT_NAMESPACE, $name); - $template = $this->namespaceAndPackageLoader->loadTemplateWithNamespace($template, $name, $namespace); - $template->save(); - $this->onGenerateProgress(); - } - } - - - /** - * @return int - */ - public function getStepCount() - { - return count($this->elementStorage->getNamespaces()); - } - - - /** - * @return bool - */ - public function isAllowed() - { - return (bool) $this->elementStorage->getNamespaces(); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/OpensearchGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/OpensearchGenerator.php deleted file mode 100644 index eccacc33..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/OpensearchGenerator.php +++ /dev/null @@ -1,56 +0,0 @@ -configuration = $configuration; - $this->templateFactory = $templateFactory; - } - - - public function generate() - { - $this->templateFactory->createForType(TCO::OPENSEARCH) - ->save(); - } - - - /** - * @return bool - */ - public function isAllowed() - { - $options = $this->configuration->getOptions(); - return $options[CO::GOOGLE_CSE_ID] && $options[CO::BASE_URL]; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/OverviewGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/OverviewGenerator.php deleted file mode 100644 index 72f20073..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/OverviewGenerator.php +++ /dev/null @@ -1,38 +0,0 @@ -templateFactory = $templateFactory; - } - - - public function generate() - { - $this->templateFactory->createForType(TCO::OVERVIEW) - ->save(); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/PackageGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/PackageGenerator.php deleted file mode 100644 index b83c942e..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/PackageGenerator.php +++ /dev/null @@ -1,86 +0,0 @@ -templateFactory = $templateFactory; - $this->elementStorage = $elementStorage; - $this->namespaceAndPackageLoader = $namespaceAndPackageLoader; - } - - - public function generate() - { - foreach ($this->elementStorage->getPackages() as $name => $package) { - $template = $this->templateFactory->createNamedForElement(TemplateFactory::ELEMENT_PACKAGE, $name); - $template = $this->namespaceAndPackageLoader->loadTemplateWithPackage($template, $name, $package); - $template->save(); - $this->onGenerateProgress(); - } - } - - - /** - * @return int - */ - public function getStepCount() - { - return count($this->elementStorage->getPackages()); - } - - - /** - * @return bool - */ - public function isAllowed() - { - return (bool) $this->elementStorage->getPackages(); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/RobotsGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/RobotsGenerator.php deleted file mode 100644 index b0e4e915..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/RobotsGenerator.php +++ /dev/null @@ -1,55 +0,0 @@ -configuration = $configuration; - $this->templateFactory = $templateFactory; - } - - - public function generate() - { - $this->templateFactory->createForType(TCO::ROBOTS) - ->save(); - } - - - /** - * @return bool - */ - public function isAllowed() - { - return (bool) $this->configuration->getOption(CO::BASE_URL); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/SitemapGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/SitemapGenerator.php deleted file mode 100644 index b3bddb20..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/SitemapGenerator.php +++ /dev/null @@ -1,55 +0,0 @@ -configuration = $configuration; - $this->templateFactory = $templateFactory; - } - - - public function generate() - { - $this->templateFactory->createForType(TCO::SITEMAP) - ->save(); - } - - - /** - * @return bool - */ - public function isAllowed() - { - return (bool) $this->configuration->getOption(CO::BASE_URL); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/SourceCodeGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/SourceCodeGenerator.php deleted file mode 100644 index 1c41f967..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/SourceCodeGenerator.php +++ /dev/null @@ -1,149 +0,0 @@ -configuration = $configuration; - $this->elementStorage = $elementStorage; - $this->templateFactory = $templateFactory; - $this->relativePathResolver = $relativePathResolver; - $this->charsetConvertor = $charsetConvertor; - $this->sourceCodeHighlighter = $sourceCodeHighlighter; - } - - - public function generate() - { - foreach ($this->elementStorage->getElements() as $type => $elementList) { - foreach ($elementList as $element) { - /** @var ReflectionElement $element */ - if ($element->isTokenized()) { - $this->generateForElement($element); - $this->onGenerateProgress(); - } - } - } - } - - - /** - * @return bool - */ - public function isAllowed() - { - return $this->configuration->getOption(CO::SOURCE_CODE); - } - - - /** - * @return int - */ - public function getStepCount() - { - $tokenizedFilter = function (ReflectionClass $class) { - return $class->isTokenized(); - }; - - $count = count(array_filter($this->elementStorage->getClasses(), $tokenizedFilter)) - + count(array_filter($this->elementStorage->getInterfaces(), $tokenizedFilter)) - + count(array_filter($this->elementStorage->getTraits(), $tokenizedFilter)) - + count(array_filter($this->elementStorage->getExceptions(), $tokenizedFilter)) - + count($this->elementStorage->getConstants()) - + count($this->elementStorage->getFunctions()); - - return $count; - } - - - private function generateForElement(ReflectionElement $element) - { - $template = $this->templateFactory->createNamedForElement(TCO::SOURCE, $element); - $template->setParameters([ - 'fileName' => $this->relativePathResolver->getRelativePath($element->getFileName()), - 'source' => $this->getHighlightedCodeFromElement($element) - ]); - $template->save(); - } - - - /** - * @return string - */ - private function getHighlightedCodeFromElement(ReflectionElement $element) - { - $content = $this->charsetConvertor->convertFileToUtf($element->getFileName()); - return $this->sourceCodeHighlighter->highlightAndAddLineNumbers($content); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/TreeGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/TreeGenerator.php deleted file mode 100644 index 34cc0724..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/TreeGenerator.php +++ /dev/null @@ -1,182 +0,0 @@ - [], - Elements::INTERFACES => [], - Elements::TRAITS => [], - Elements::EXCEPTIONS => [] - ]; - - /** - * @var ParserResult - */ - private $parserResult; - - - public function __construct( - Configuration $configuration, - TemplateFactory $templateFactory, - ParserResult $parserResult - ) { - $this->configuration = $configuration; - $this->templateFactory = $templateFactory; - $this->parserResult = $parserResult; - } - - - public function generate() - { - $template = $this->templateFactory->createForType(TCO::TREE); - - $classes = $this->parserResult->getClasses(); - foreach ($classes as $className => $reflection) { - if ($this->canBeProcessed($reflection)) { - $this->addToTreeByReflection($reflection); - } - } - - $this->sortTreeStorageElements(); - - $template->setParameters([ - 'classTree' => new Tree($this->treeStorage[Elements::CLASSES], $classes), - 'interfaceTree' => new Tree($this->treeStorage[Elements::INTERFACES], $classes), - 'traitTree' => new Tree($this->treeStorage[Elements::TRAITS], $classes), - 'exceptionTree' => new Tree($this->treeStorage[Elements::EXCEPTIONS], $classes) - ]); - - $template->save(); - } - - - /** - * @return bool - */ - public function isAllowed() - { - return $this->configuration->getOption(CO::TREE); - } - - - /** - * @return bool - */ - private function canBeProcessed(ReflectionClass $reflection) - { - if ( ! $reflection->isMain()) { - return FALSE; - } - if ( ! $reflection->isDocumented()) { - return FALSE; - } - if (isset($this->processed[$reflection->getName()])) { - return FALSE; - } - return TRUE; - } - - - private function addToTreeByReflection(ReflectionClass $reflection) - { - if ($reflection->getParentClassName() === NULL) { - $type = $this->getTypeByReflection($reflection); - $this->addToTreeByTypeAndName($type, $reflection->getName()); - - } else { - foreach (array_values(array_reverse($reflection->getParentClasses())) as $level => $parent) { - $type = NULL; - if ($level === 0) { - // The topmost parent decides about the reflection type - $type = $this->getTypeByReflection($reflection); - } - - /** @var ReflectionClass $parent */ - $parentName = $parent->getName(); - if ( ! isset($this->treeStorage[$type][$parentName])) { - $this->addToTreeByTypeAndName($type, $parentName); - } - } - } - } - - - /** - * @return string - */ - private function getTypeByReflection(ReflectionClass $reflection) - { - if ($reflection->isInterface()) { - return Elements::INTERFACES; - - } elseif ($reflection->isTrait()) { - return Elements::TRAITS; - - } elseif ($reflection->isException()) { - return Elements::EXCEPTIONS; - - } else { - return Elements::CLASSES; - } - } - - - /** - * @param string $type - * @param string $name - */ - private function addToTreeByTypeAndName($type, $name) - { - $this->treeStorage[$type][$name] = []; - $this->processed[$name] = TRUE; - } - - - private function sortTreeStorageElements() - { - foreach ($this->treeStorage as $key => $elements) { - ksort($elements, SORT_STRING); - $this->treeStorage[$key] = $elements; - } - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ZipGenerator.php b/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ZipGenerator.php deleted file mode 100644 index ffcfd64b..00000000 --- a/apigen/vendor/apigen/apigen/src/Generator/TemplateGenerators/ZipGenerator.php +++ /dev/null @@ -1,55 +0,0 @@ -configuration = $configuration; - $this->zipArchiveGenerator = $zipArchiveGenerator; - } - - - public function generate() - { - $destination = $this->configuration->getOption(CO::DESTINATION); - $zipFile = $destination . '/' . $this->configuration->getZipFileName(); - $this->zipArchiveGenerator->zipDirToFile($destination, $zipFile); - } - - - /** - * @return bool - */ - public function isAllowed() - { - return (bool) $this->configuration->getOption(CO::DOWNLOAD); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Helpers.php b/apigen/vendor/apigen/apigen/src/Helpers.php new file mode 100644 index 00000000..71d82390 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Helpers.php @@ -0,0 +1,77 @@ + 0); + + $paths = array_map(self::realPath(...), $paths); + $first = array_shift($paths); + $j = 0; + + for ($i = 0; $i < strlen($first); $i++) { + foreach ($paths as $path) { + if (!isset($path[$i]) || $path[$i] !== $first[$i]) { + return substr($first, 0, $j); + + } elseif ($first[$i] === DIRECTORY_SEPARATOR) { + $j = $i; + } + } + } + + return $first; + } + + + public static function realPath(string $path): string + { + if (str_starts_with($path, 'phar://')) { + return $path; + } + + $realPath = realpath($path); + + if ($realPath === false) { + throw new \RuntimeException("File $path does not exist."); + } + + return $realPath; + } + + + /** + * @param class-string $name + */ + public static function classLikePath(string $name): string + { + $reflection = new ReflectionClass($name); + $path = $reflection->getFileName(); + + if ($path === false) { + throw new \RuntimeException("Class-like $name has no path."); + } + + return $path; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Herrera/Box/Compactor/PhpNette.php b/apigen/vendor/apigen/apigen/src/Herrera/Box/Compactor/PhpNette.php deleted file mode 100644 index f51ebcd8..00000000 --- a/apigen/vendor/apigen/apigen/src/Herrera/Box/Compactor/PhpNette.php +++ /dev/null @@ -1,88 +0,0 @@ -preserveLineNumbers($token); - - } elseif ($this->isCommentWithoutAnnotations($token, ['@return', '@method'])) { - $output .= $this->preserveLineNumbers($token); - - } elseif ($token[0] === T_WHITESPACE) { - if (strpos($token[1], "\n") === FALSE) { - $output .= ' '; - - } else { - $output .= $this->preserveLineNumbers($token); - } - - } else { - $output .= $token[1]; - } - } - - return $output; - } - - - /** - * {@inheritdoc} - */ - public function supports($file) - { - return (pathinfo($file, PATHINFO_EXTENSION) === 'php'); - } - - - /** - * @return string - */ - private function preserveLineNumbers(array $token) - { - return str_repeat("\n", substr_count($token[1], "\n")); - } - - - /** - * @return bool - */ - private function isCommentWithoutAnnotations(array $token, array $annotationList) - { - if ($token[0] !== T_DOC_COMMENT) { - return FALSE; - } - foreach ($annotationList as $annotation) { - if (strpos($token[1], $annotation) !== FALSE) { - return FALSE; - } - } - return TRUE; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Index/FileIndex.php b/apigen/vendor/apigen/apigen/src/Index/FileIndex.php new file mode 100644 index 00000000..470a79ca --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Index/FileIndex.php @@ -0,0 +1,23 @@ +deprecated; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Indexer.php b/apigen/vendor/apigen/apigen/src/Indexer.php new file mode 100644 index 00000000..2c2558d9 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Indexer.php @@ -0,0 +1,390 @@ +files[$file])) { + $index->files[$file]->primary = $index->files[$file]->primary || $primary; + return; + } + + $index->files[$file] = new FileIndex($file, $primary); + } + + + public function indexNamespace(Index $index, string $namespace, string $namespaceLower, bool $primary, bool $deprecated): void + { + if (isset($index->namespace[$namespaceLower])) { + if ($primary) { + for ( + $info = $index->namespace[$namespaceLower]; + $info !== null && !$info->primary; + $info = $info->name->fullLower === '' ? null : $index->namespace[$info->name->namespaceLower] + ) { + $info->primary = true; + } + } + + if (!$deprecated) { + for ( + $info = $index->namespace[$namespaceLower]; + $info !== null && $info->deprecated; + $info = $info->name->fullLower === '' ? null : $index->namespace[$info->name->namespaceLower] + ) { + $info->deprecated = false; + } + } + + return; + } + + $info = new NamespaceIndex(new NameInfo($namespace, $namespaceLower), $primary, $deprecated); + + if ($namespaceLower !== '') { + $primary = $primary && $info->name->namespaceLower !== ''; + $deprecated = $deprecated && $info->name->namespaceLower !== ''; + $this->indexNamespace($index, $info->name->namespace, $info->name->namespaceLower, $primary, $deprecated); + } + + $index->namespace[$namespaceLower] = $info; + $index->namespace[$info->name->namespaceLower]->children[$info->name->shortLower] = $info; + } + + + public function indexClassLike(Index $index, ClassLikeInfo $info): void + { + $index->classLike[$info->name->fullLower] = $info; + + foreach ($info->constants as $constantName => $_) { + $index->constants[$constantName][] = $info; + } + + foreach ($info->properties as $propertyName => $_) { + $index->properties[$propertyName][] = $info; + } + + foreach ($info->methods as $methodLowerName => $_) { + $index->methods[$methodLowerName][] = $info; + } + + if ($info instanceof ClassInfo) { + $this->indexClass($info, $index); + + } elseif ($info instanceof InterfaceInfo) { + $this->indexInterface($info, $index); + + } elseif ($info instanceof TraitInfo) { + $this->indexTrait($info, $index); + + } elseif ($info instanceof EnumInfo) { + $this->indexEnum($info, $index); + + } elseif ($info instanceof MissingInfo) { + $this->indexMissing($info, $index); + + } else { + throw new \LogicException(); + } + } + + + public function indexFunction(Index $index, FunctionInfo $info): void + { + $index->function[$info->name->fullLower] = $info; + $index->files[$info->file ?? '']->function[$info->name->fullLower] = $info; + $index->namespace[$info->name->namespaceLower]->function[$info->name->shortLower] = $info; + } + + + public function postProcess(Index $index): void + { + // DAG + $this->indexDirectedAcyclicGraph($index); + + // instance of + foreach ([$index->class, $index->interface, $index->enum] as $infos) { + foreach ($infos as $info) { + $this->indexInstanceOf($index, $info); + } + } + + // exceptions + foreach ($index->namespace as $namespaceIndex) { + foreach ($namespaceIndex->class as $info) { + if ($info->isThrowable($index)) { + unset($namespaceIndex->class[$info->name->shortLower]); + $namespaceIndex->exception[$info->name->shortLower] = $info; + } + } + } + + // method overrides & implements + foreach ($index->classExtends[''] ?? [] as $info) { + $this->indexClassMethodOverrides($index, $info, [], []); + } + + foreach ($index->enum as $info) { + $this->indexClassMethodOverrides($index, $info, [], []); + } + + // sort + $this->sort($index); + } + + + protected function indexClass(ClassInfo $info, Index $index): void + { + $index->class[$info->name->fullLower] = $info; + $index->files[$info->file ?? '']->classLike[$info->name->fullLower] = $info; + $index->namespace[$info->name->namespaceLower]->class[$info->name->shortLower] = $info; + $index->classExtends[$info->extends ? $info->extends->fullLower : ''][$info->name->fullLower] = $info; + + foreach ($info->implements as $interfaceNameLower => $interfaceName) { + $index->classImplements[$interfaceNameLower][$info->name->fullLower] = $info; + } + + foreach ($info->uses as $traitNameLower => $traitName) { + $index->classUses[$traitNameLower][$info->name->fullLower] = $info; + } + } + + + protected function indexInterface(InterfaceInfo $info, Index $index): void + { + $index->interface[$info->name->fullLower] = $info; + $index->files[$info->file ?? '']->classLike[$info->name->fullLower] = $info; + $index->namespace[$info->name->namespaceLower]->interface[$info->name->shortLower] = $info; + + if ($info->extends) { + foreach ($info->extends as $interfaceNameLower => $interfaceName) { + $index->interfaceExtends[$interfaceNameLower][$info->name->fullLower] = $info; + } + + } else { + $index->interfaceExtends[''][$info->name->fullLower] = $info; + } + } + + + protected function indexTrait(TraitInfo $info, Index $index): void + { + $index->trait[$info->name->fullLower] = $info; + $index->files[$info->file ?? '']->classLike[$info->name->fullLower] = $info; + $index->namespace[$info->name->namespaceLower]->trait[$info->name->shortLower] = $info; + } + + + protected function indexEnum(EnumInfo $info, Index $index): void + { + $index->enum[$info->name->fullLower] = $info; + $index->files[$info->file ?? '']->classLike[$info->name->fullLower] = $info; + $index->namespace[$info->name->namespaceLower]->enum[$info->name->shortLower] = $info; + + foreach ($info->implements as $interfaceNameLower => $interfaceName) { + $index->enumImplements[$interfaceNameLower][$info->name->fullLower] = $info; + } + } + + + protected function indexMissing(MissingInfo $info, Index $index): void + { + // nothing to index + } + + + protected function indexDirectedAcyclicGraph(Index $index): void + { + $edgeGroups = [ + 'class extends' => $index->classExtends, + 'class implements' => $index->classImplements, + 'class uses' => $index->classUses, + 'interface extends' => $index->interfaceExtends, + 'enum implements' => $index->enumImplements, + ]; + + $dag = []; + foreach ($edgeGroups as $edgeGroup) { + foreach ($edgeGroup as $classLikeNameA => $classLikeGroup) { + foreach ($classLikeGroup as $classLikeNameB => $classLike) { + if (isset($dag[$classLikeNameA][$classLikeNameB])) { + $classLikeA = $index->classLike[$classLikeNameA]; + $classLikeB = $index->classLike[$classLikeNameB]; + $duplicateEdgeGroups = array_filter($edgeGroups, fn(array $edgeGroup) => isset($edgeGroup[$classLikeNameA][$classLikeNameB])); + $note = '(used both as \'' . implode('\' and \'', array_keys($duplicateEdgeGroups)) . '\')'; + $path = "{$classLikeB->name->full} -> {$classLikeA->name->full}"; + throw new \RuntimeException("Invalid directed acyclic graph because it contains duplicate edge {$note}:\n{$path}"); + } + + $dag[$classLikeNameA][$classLikeNameB] = $classLike; + } + } + } + + $findCycle = static function (array $node, array $visited) use ($index, $dag, &$findCycle): void { + foreach ($node as $childKey => $_) { + if (isset($visited[$childKey])) { + $path = [...array_keys($visited), $childKey]; + $path = array_map(fn(string $item) => $index->classLike[$item]->name->full, $path); + throw new \RuntimeException("Invalid directed acyclic graph because it contains cycle:\n" . implode(' -> ', $path)); + + } else { + $findCycle($dag[$childKey] ?? [], $visited + [$childKey => true]); + } + } + }; + + foreach ($dag as $nodeKey => $node) { + $findCycle($node, [$nodeKey => true]); + } + + $index->dag = $dag; + } + + + protected function indexInstanceOf(Index $index, ClassLikeInfo $info): void + { + if (isset($index->instanceOf[$info->name->fullLower])) { + return; // already computed + } + + $index->instanceOf[$info->name->fullLower] = [$info->name->fullLower => $info]; + foreach ([$index->classExtends, $index->classImplements, $index->interfaceExtends, $index->enumImplements] as $edges) { + foreach ($edges[$info->name->fullLower] ?? [] as $childInfo) { + $this->indexInstanceOf($index, $childInfo); + $index->instanceOf[$info->name->fullLower] += $index->instanceOf[$childInfo->name->fullLower]; + } + } + } + + + /** + * @param ClassLikeInfo[] $normal indexed by [methodName] + * @param ClassLikeInfo[] $abstract indexed by [methodName] + */ + protected function indexClassMethodOverrides(Index $index, ClassInfo|EnumInfo $info, array $normal, array $abstract): void + { + $stack = array_keys($info->implements); + $stackIndex = count($stack); + + while ($stackIndex > 0) { + $interfaceNameLower = $stack[--$stackIndex]; + $interface = $index->interface[$interfaceNameLower] ?? null; + + if ($interface !== null) { + foreach ($interface->methods as $method) { + $abstract[$method->nameLower] = $interface; + } + + foreach ($interface->extends as $extendLower => $extend) { + $stack[$stackIndex++] = $extendLower; + } + } + } + + foreach ($info->methods as $method) { + if ($method->private) { + continue; + } + + if (isset($normal[$method->nameLower])) { + $ancestor = $normal[$method->nameLower]; + $index->methodOverrides[$info->name->fullLower][$method->nameLower][] = $ancestor; + $index->methodOverriddenBy[$ancestor->name->fullLower][$method->nameLower][] = $info; + } + + if (isset($abstract[$method->nameLower])) { + $ancestor = $abstract[$method->nameLower]; + $index->methodImplements[$info->name->fullLower][$method->nameLower][] = $ancestor; + $index->methodImplementedBy[$ancestor->name->fullLower][$method->nameLower][] = $info; + } + + if ($method->abstract) { + $abstract[$method->nameLower] = $info; + + } else { + unset($abstract[$method->nameLower]); + $normal[$method->nameLower] = $info; + } + } + + foreach ($index->classExtends[$info->name->fullLower] ?? [] as $child) { + $this->indexClassMethodOverrides($index, $child, $normal, $abstract); + } + } + + + protected function sort(Index $index): void + { + ksort($index->files); + ksort($index->namespace); + ksort($index->classLike); + ksort($index->class); + ksort($index->interface); + ksort($index->trait); + ksort($index->enum); + + foreach ($index->classExtends as &$arr) { + ksort($arr); + } + + foreach ($index->classImplements as &$arr) { + ksort($arr); + } + + foreach ($index->classUses as &$arr) { + ksort($arr); + } + + foreach ($index->interfaceExtends as &$arr) { + ksort($arr); + } + + foreach ($index->enumImplements as &$arr) { + ksort($arr); + } + + foreach ($index->namespace as $namespaceIndex) { + ksort($namespaceIndex->class); + ksort($namespaceIndex->interface); + ksort($namespaceIndex->trait); + ksort($namespaceIndex->enum); + ksort($namespaceIndex->exception); + ksort($namespaceIndex->children); + } + + // move root namespace to end + if (isset($index->namespace[''])) { + $rootNamespace = $index->namespace['']; + unset($index->namespace[''], $rootNamespace->children['']); + $index->namespace[''] = $rootNamespace; + $rootNamespace->children[''] = $rootNamespace; + } + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/AliasInfo.php b/apigen/vendor/apigen/apigen/src/Info/AliasInfo.php new file mode 100644 index 00000000..003756a1 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/AliasInfo.php @@ -0,0 +1,19 @@ +classLike = $classLike; + $this->alias = $alias; + $this->aliasLower = $aliasLower ?? strtolower($alias); + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/ClassInfo.php b/apigen/vendor/apigen/apigen/src/Info/ClassInfo.php new file mode 100644 index 00000000..94670dab --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/ClassInfo.php @@ -0,0 +1,25 @@ +instanceOf[$type][$this->name->fullLower]); + } + + + public function isThrowable(Index $index): bool + { + return $this->isInstanceOf($index, 'throwable'); + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/ClassLikeReferenceInfo.php b/apigen/vendor/apigen/apigen/src/Info/ClassLikeReferenceInfo.php new file mode 100644 index 00000000..06f050b5 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/ClassLikeReferenceInfo.php @@ -0,0 +1,42 @@ +full = $full; + $this->fullLower = $fullLower ?? strtolower($full); + } + + + public function resolve(Index $index, ?ClassLikeInfo $scope = null): ?ClassLikeInfo + { + if ($this->fullLower === 'self' || $this->fullLower === 'static') { + return $scope; + } + + if ($this->fullLower === 'parent' && $scope instanceof ClassInfo && $scope->extends !== null) { + return $index->classLike[$scope->extends->fullLower] ?? null; + } + + return $index->classLike[$this->fullLower] ?? null; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/ConstantInfo.php b/apigen/vendor/apigen/apigen/src/Info/ConstantInfo.php new file mode 100644 index 00000000..aba7f556 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/ConstantInfo.php @@ -0,0 +1,20 @@ +value = $value; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/ConstantReferenceInfo.php b/apigen/vendor/apigen/apigen/src/Info/ConstantReferenceInfo.php new file mode 100644 index 00000000..480cdabf --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/ConstantReferenceInfo.php @@ -0,0 +1,8 @@ +value ? 'true' : 'false'; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/Expr/ClassConstantFetchExprInfo.php b/apigen/vendor/apigen/apigen/src/Info/Expr/ClassConstantFetchExprInfo.php new file mode 100644 index 00000000..a292eaac --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/Expr/ClassConstantFetchExprInfo.php @@ -0,0 +1,16 @@ +value)) { + return (string) $this->value; + } + + $json = json_encode($this->value, JSON_THROW_ON_ERROR); + return str_contains($json, '.') ? $json : "$json.0"; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/Expr/IntegerExprInfo.php b/apigen/vendor/apigen/apigen/src/Info/Expr/IntegerExprInfo.php new file mode 100644 index 00000000..3a040897 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/Expr/IntegerExprInfo.php @@ -0,0 +1,31 @@ +base === 10) { + return (string) $this->value; + } + + $sign = $this->value < 0 ? '-' : ''; + $base = [2 => '0b', 8 => '0', 16 => '0x'][$this->base]; + return $sign . $base . base_convert((string) abs($this->value), 10, $this->base); + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/Expr/NewExprInfo.php b/apigen/vendor/apigen/apigen/src/Info/Expr/NewExprInfo.php new file mode 100644 index 00000000..365f8172 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/Expr/NewExprInfo.php @@ -0,0 +1,19 @@ +value); + $pattern = $utf8 ? '#[\p{C}"\'\\\\]#u' : '#[\x00-\x1F\x7F-\xFF"\'\\\\]#'; + $special = ["\r" => '\r', "\n" => '\n', "\t" => '\t', '\\' => '\\\\', '"' => '\\"', '\'' => '\'']; + + $s = preg_replace_callback( + $pattern, + function ($m) use ($special) { + if (isset($special[$m[0]])) { + return $special[$m[0]]; + + } elseif (strlen($m[0]) === 1) { + return sprintf('\x%02X', ord($m[0])); + + } else { + return sprintf('\u{%X}', mb_ord($m[0])); + } + }, + $this->value, + -1, + $count, + ); + + $quote = $count === 0 ? "'" : '"'; + return $quote . $s . $quote; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/Expr/TernaryExprInfo.php b/apigen/vendor/apigen/apigen/src/Info/Expr/TernaryExprInfo.php new file mode 100644 index 00000000..b2f4b14f --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/Expr/TernaryExprInfo.php @@ -0,0 +1,16 @@ +full = $full; + $this->fullLower = $fullLower ?? strtolower($full); + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/GenericParameterInfo.php b/apigen/vendor/apigen/apigen/src/Info/GenericParameterInfo.php new file mode 100644 index 00000000..fc8acc8d --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/GenericParameterInfo.php @@ -0,0 +1,18 @@ +name = $name; + } + + + /** + * @return PhpDocTextNode[] indexed by [] + */ + public function getEffectiveDescription(Index $index, ClassLikeInfo $classLike): array + { + return $this->description; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/MemberReferenceInfo.php b/apigen/vendor/apigen/apigen/src/Info/MemberReferenceInfo.php new file mode 100644 index 00000000..da0a69a9 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/MemberReferenceInfo.php @@ -0,0 +1,13 @@ +nameLower = strtolower($name); + } + + + /** + * @return PhpDocTextNode[] indexed by [] + */ + public function getEffectiveDescription(Index $index, ClassLikeInfo $classLike): array + { + if (count($this->description) > 0) { + return $this->description; + } + + foreach ($this->ancestors($index, $classLike) as $ancestor) { + $description = $ancestor->methods[$this->nameLower]->getEffectiveDescription($index, $ancestor); + + if (count($description) > 0) { + return $description; + } + } + + return []; + } + + + /** + * @return PhpDocTextNode[] indexed by [] + */ + public function getEffectiveReturnDescription(Index $index, ClassLikeInfo $classLike): array + { + if (count($this->returnDescription) > 0) { + return $this->returnDescription; + } + + foreach ($this->ancestors($index, $classLike) as $ancestor) { + $description = $ancestor->methods[$this->nameLower]->getEffectiveReturnDescription($index, $ancestor); + + if (count($description) > 0) { + return $description; + } + } + + return []; + } + + + /** + * @return iterable + */ + public function ancestors(Index $index, ClassLikeInfo $classLike): iterable + { + yield from $index->methodOverrides[$classLike->name->fullLower][$this->nameLower] ?? []; + yield from $index->methodImplements[$classLike->name->fullLower][$this->nameLower] ?? []; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/MethodReferenceInfo.php b/apigen/vendor/apigen/apigen/src/Info/MethodReferenceInfo.php new file mode 100644 index 00000000..f28e2fb8 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/MethodReferenceInfo.php @@ -0,0 +1,19 @@ +nameLower = strtolower($name); + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/MissingInfo.php b/apigen/vendor/apigen/apigen/src/Info/MissingInfo.php new file mode 100644 index 00000000..57e8c0ef --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/MissingInfo.php @@ -0,0 +1,17 @@ +full = $full; + $this->fullLower = $fullLower ?? strtolower($full); + + $this->short = $pos === false ? $full : substr($full, $pos + 1); + $this->shortLower = strtolower($this->short); + + $this->namespace = $pos === false ? '' : substr($full, 0, $pos); + $this->namespaceLower = strtolower($this->namespace); + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/ParameterInfo.php b/apigen/vendor/apigen/apigen/src/Info/ParameterInfo.php new file mode 100644 index 00000000..68a44c84 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/ParameterInfo.php @@ -0,0 +1,65 @@ +name = $name; + $this->position = $position; + } + + + /** + * @return PhpDocTextNode[] indexed by [] + */ + public function getEffectiveDescription(Index $index, ClassLikeInfo $classLike, MethodInfo $method): array + { + if (count($this->description) > 0) { + return $this->description; + } + + foreach ($method->ancestors($index, $classLike) as $ancestor) { + $ancestorMethod = $ancestor->methods[$method->nameLower]; + $ancestorParameter = array_values($ancestorMethod->parameters)[$this->position] ?? null; + $description = $ancestorParameter?->getEffectiveDescription($index, $ancestor, $ancestorMethod) ?? []; + + if (count($description) > 0) { + return $description; + } + } + + return []; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/PropertyInfo.php b/apigen/vendor/apigen/apigen/src/Info/PropertyInfo.php new file mode 100644 index 00000000..07326715 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/PropertyInfo.php @@ -0,0 +1,24 @@ +tags['deprecated']); + } + + + public function isInternal(): bool + { + return isset($this->tags['internal']); + } +} diff --git a/apigen/vendor/apigen/apigen/src/Info/Traits/HasVisibility.php b/apigen/vendor/apigen/apigen/src/Info/Traits/HasVisibility.php new file mode 100644 index 00000000..87d4370b --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Info/Traits/HasVisibility.php @@ -0,0 +1,16 @@ + $path) { + $stubsMap[strtolower($class)] = "$phpStormStubsDir/$path"; + } + + $phpStanStubsDir = dirname(Helpers::classLikePath(Php8StubsMap::class)); + foreach ((new Php8StubsMap(PHP_VERSION_ID))->classes as $class => $path) { + $stubsMap[$class] = "$phpStanStubsDir/$path"; + } + + return $stubsMap; + } + + + protected static function createComposerClassLoader(OutputStyle $output, string $projectDir): ClassLoader + { + $vendorDir = "$projectDir/vendor"; + $loader = new ClassLoader(); + + if (!is_dir($vendorDir)) { + $output->warning(implode("\n", [ + "Unable to use Composer autoloader for finding dependencies because directory", + "$vendorDir does not exist. Use --worker-dir to specify directory where vendor directory is located", + ])); + + } else { + $output->text("Using Composer autoloader for finding dependencies in $vendorDir.\n"); + $loader->addClassMap(require "$vendorDir/composer/autoload_classmap.php"); + + foreach (require "$vendorDir/composer/autoload_namespaces.php" as $prefix => $paths) { + $loader->set($prefix, $paths); + } + + foreach (require "$vendorDir/composer/autoload_psr4.php" as $prefix => $paths) { + $loader->setPsr4($prefix, $paths); + } + } + + return $loader; + } + + + public function locate(ClassLikeReferenceInfo $name): ?string + { + return $this->classLoader->findFile($name->full) ?: $this->stubsMap[$name->fullLower] ?? null; + } +} diff --git a/apigen/vendor/apigen/apigen/src/MemoryLimit.php b/apigen/vendor/apigen/apigen/src/MemoryLimit.php deleted file mode 100644 index c8c3a911..00000000 --- a/apigen/vendor/apigen/apigen/src/MemoryLimit.php +++ /dev/null @@ -1,50 +0,0 @@ -getMemoryInBytes($memoryLimit) < 512 * 1024 * 1024) { - @ini_set('memory_limit', $newMemoryLimit); - } - unset($memoryInBytes, $memoryLimit); - } - } - - - /** - * @param string $value - * @return int - */ - private function getMemoryInBytes($value) - { - $unit = strtolower(substr($value, -1, 1)); - $value = (int) $value; - if ($unit === 'g') { - return $value * 1024 * 1024 * 1024; - } - if ($unit === 'm') { - return $value * 1024 * 1024; - } - if ($unit === 'k') { - return $value * 1024; - } - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Parser/Broker/Backend.php b/apigen/vendor/apigen/apigen/src/Parser/Broker/Backend.php deleted file mode 100644 index 462d70c5..00000000 --- a/apigen/vendor/apigen/apigen/src/Parser/Broker/Backend.php +++ /dev/null @@ -1,247 +0,0 @@ - [], - self::INTERNAL_CLASSES => [], - self::NONEXISTENT_CLASSES => [] - ]; - - /** - * @var array - */ - private $declared = []; - - /** - * @var ReflectionFactory - */ - private $reflectionFactory; - - - public function __construct(ReflectionFactory $reflectionFactory) - { - $this->reflectionFactory = $reflectionFactory; - } - - - /** - * @return ReflectionConstant[] - */ - public function getConstants() - { - return array_map(function (IReflectionConstant $constant) { - return $this->reflectionFactory->createFromReflection($constant); - }, parent::getConstants()); - } - - - /** - * @return ReflectionFunction[] - */ - public function getFunctions() - { - return array_map(function (IReflectionFunction $function) { - return $this->reflectionFactory->createFromReflection($function); - }, parent::getFunctions()); - } - - - /** - * Prepares and returns used class lists. - * - * @return ReflectionClass[] - */ - protected function parseClassLists() - { - $this->declared = array_flip(array_merge(get_declared_classes(), get_declared_interfaces())); - - foreach ($this->getNamespaces() as $namespace) { - foreach ($namespace->getClasses() as $name => $ref) { - $class = $this->reflectionFactory->createFromReflection($ref); - - $this->allClasses[self::TOKENIZED_CLASSES][$name] = $class; - if ( ! $class->isDocumented()) { - continue; - } - - $this->loadParentClassesAndInterfacesFromClassReflection($ref); - } - } - - /** @var ReflectionClass $class */ - foreach ($this->allClasses[self::TOKENIZED_CLASSES] as $class) { - if ( ! $class->isDocumented()) { - continue; - } - - foreach ($class->getOwnMethods() as $method) { - $this->processFunction($method); - } - - foreach ($class->getOwnProperties() as $property) { - $this->loadAnnotationFromReflection($class, $property->getAnnotations(), 'var'); - } - } - - foreach ($this->getFunctions() as $function) { - $this->processFunction($function); - } - - array_walk_recursive($this->allClasses, function (&$reflection) { - if ( ! $reflection instanceof ReflectionClass) { - $reflection = $this->reflectionFactory->createFromReflection($reflection); - } - }); - - return $this->allClasses; - } - - - /** - * Processes a function/method and adds classes from annotations to the overall class array. - * - * @param ReflectionMethod|ReflectionFunction $reflection - */ - private function processFunction($reflection) - { - $annotations = $reflection->getAnnotations(); - foreach (['param', 'return', 'throws'] as $annotation) { - $this->loadAnnotationFromReflection($reflection, $annotations, $annotation); - } - - foreach ($reflection->getParameters() as $parameter) { - if ($hint = $parameter->getClassName()) { - $this->addClass($hint); - } - } - } - - - /** - * @param string $name - */ - private function addClass($name) - { - $name = ltrim($name, '\\'); - - if ( ! isset($this->declared[$name]) || $this->isClassLoaded($name)) { - return FALSE; - } - - $parameterClass = $this->getBroker()->getClass($name); - - if ($parameterClass->isInternal()) { - $this->allClasses[self::INTERNAL_CLASSES][$name] = $parameterClass; - foreach (array_merge($parameterClass->getInterfaces(), $parameterClass->getParentClasses()) as $parentClass) { - if ( ! isset($this->allClasses[self::INTERNAL_CLASSES][$parentName = $parentClass->getName()])) { - $this->allClasses[self::INTERNAL_CLASSES][$parentName] = $parentClass; - } - } - - } elseif ( ! $parameterClass->isTokenized()) { - if ( ! isset($this->allClasses[self::NONEXISTENT_CLASSES][$name])) { - $this->allClasses[self::NONEXISTENT_CLASSES][$name] = $parameterClass; - } - } - } - - - /** - * @param TokenReflection\ReflectionClass|TokenReflection\Invalid\ReflectionClass $ref - */ - private function loadParentClassesAndInterfacesFromClassReflection($ref) - { - foreach (array_merge($ref->getParentClasses(), $ref->getInterfaces()) as $parentName => $parentReflection) { - /** @var TokenReflection\ReflectionClass $parentReflection */ - if ($parentReflection->isInternal()) { - if ( ! isset($this->allClasses[self::INTERNAL_CLASSES][$parentName])) { - $this->allClasses[self::INTERNAL_CLASSES][$parentName] = $parentReflection; - } - - } elseif ( ! $parentReflection->isTokenized()) { - if ( ! isset($this->allClasses[self::NONEXISTENT_CLASSES][$parentName])) { - $this->allClasses[self::NONEXISTENT_CLASSES][$parentName] = $parentReflection; - } - } - } - } - - - /** - * @param string $name - * @return bool - */ - private function isClassLoaded($name) - { - return isset($this->allClasses[self::TOKENIZED_CLASSES][$name]) - || isset($this->allClasses[self::INTERNAL_CLASSES][$name]) - || isset($this->allClasses[self::NONEXISTENT_CLASSES][$name]); - } - - - /** - * @param ReflectionClass|ReflectionMethod $reflection - * @param array $annotations - * @param string $name - */ - private function loadAnnotationFromReflection($reflection, array $annotations, $name) - { - if ( ! isset($annotations[$name])) { - return; - } - - foreach ($annotations[$name] as $doc) { - foreach (explode('|', preg_replace('~\\s.*~', '', $doc)) as $name) { - if ($name = rtrim($name, '[]')) { - $name = $this->getClassFqn($name, $reflection); - $this->addClass($name); - } - } - } - } - - - /** - * @param string $name - * @param ReflectionClass|ReflectionMethod $reflection - * @return string - */ - private function getClassFqn($name, $reflection) - { - return Resolver::resolveClassFqn($name, $reflection->getNamespaceAliases(), $reflection->getNamespaceName()); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Parser/Elements/AutocompleteElements.php b/apigen/vendor/apigen/apigen/src/Parser/Elements/AutocompleteElements.php deleted file mode 100644 index 4ebd4cd1..00000000 --- a/apigen/vendor/apigen/apigen/src/Parser/Elements/AutocompleteElements.php +++ /dev/null @@ -1,76 +0,0 @@ -elementStorage = $elementStorage; - } - - - /** - * @return array - */ - public function getElements() - { - foreach ($this->elementStorage->getElements() as $type => $elementList) { - foreach ($elementList as $element) { - $this->processElement($element); - } - } - - $this->sortElements(); - - return $this->elements; - } - - - private function processElement(ReflectionBase $element) - { - if ($element instanceof ReflectionConstant) { - $this->elements[] = ['co', $element->getPrettyName()]; - - } elseif ($element instanceof ReflectionFunction) { - $this->elements[] = ['f', $element->getPrettyName()]; - - } elseif ($element instanceof ReflectionClass) { - $this->elements[] = ['c', $element->getPrettyName()]; - } - } - - - private function sortElements() - { - usort($this->elements, function ($one, $two) { - return strcasecmp($one[1], $two[1]); - }); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Parser/Elements/ElementExtractor.php b/apigen/vendor/apigen/apigen/src/Parser/Elements/ElementExtractor.php deleted file mode 100644 index 6b3b2665..00000000 --- a/apigen/vendor/apigen/apigen/src/Parser/Elements/ElementExtractor.php +++ /dev/null @@ -1,123 +0,0 @@ -elements = $elements; - $this->elementFilter = $elementFilter; - $this->elementStorage = $elementStorage; - $this->elementSorter = $elementSorter; - } - - - /** - * @param string $annotation - * @param callable $skipClassCallback - * @return array[] - */ - public function extractElementsByAnnotation($annotation, callable $skipClassCallback = NULL) - { - $elements = $this->elements->getEmptyList(); - $elements[Elements::METHODS] = []; - $elements[Elements::PROPERTIES] = []; - - foreach ($this->elementStorage->getElements() as $type => $elementList) { - $elementsForMain = $this->elementFilter->filterForMain($elementList); - $elements[$type] += $this->elementFilter->filterByAnnotation($elementsForMain, $annotation); - - if ($type === Elements::CONSTANTS || $type === Elements::FUNCTIONS) { - continue; - } - - foreach ($elementList as $class) { - /** @var ReflectionClass $class */ - if ( ! $class->isMain()) { - continue; - } - - if ($skipClassCallback && $skipClassCallback($class)) { // in case when class is prior to it's elements - continue; - } - - $elements[Elements::METHODS] = $this->extractByAnnotationAndMerge( - $class->getOwnMethods(), $annotation, $elements[Elements::METHODS] - ); - $elements[Elements::CONSTANTS] = $this->extractByAnnotationAndMerge( - $class->getOwnConstants(), $annotation, $elements[Elements::CONSTANTS] - ); - $elements[Elements::PROPERTIES] = $this->extractByAnnotationAndMerge( - $class->getOwnProperties(), $annotation, $elements[Elements::PROPERTIES] - ); - } - } - - return $this->sortElements($elements); - } - - - /** - * @param array $elements - * @param string $annotation - * @param array[] $storage - * @return array[] - */ - private function extractByAnnotationAndMerge($elements, $annotation, $storage) - { - $foundElements = $this->elementFilter->filterByAnnotation($elements, $annotation); - return array_merge($storage, array_values($foundElements)); - } - - - /** - * @param array { key => elementList[] } $elements - * @return array - */ - private function sortElements($elements) - { - foreach ($elements as $key => $elementList) { - $this->elementSorter->sortElementsByFqn($elementList); - } - return $elements; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Parser/Elements/ElementFilter.php b/apigen/vendor/apigen/apigen/src/Parser/Elements/ElementFilter.php deleted file mode 100644 index a7d3a3cd..00000000 --- a/apigen/vendor/apigen/apigen/src/Parser/Elements/ElementFilter.php +++ /dev/null @@ -1,42 +0,0 @@ -isMain(); - }); - } - - - /** - * @param ReflectionElement[] $elements - * @param string $annotation - * @return ReflectionElement[] - */ - public function filterByAnnotation(array $elements, $annotation) - { - return array_filter($elements, function (ReflectionElement $element) use ($annotation) { - return $element->hasAnnotation($annotation); - }); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Parser/Elements/ElementSorter.php b/apigen/vendor/apigen/apigen/src/Parser/Elements/ElementSorter.php deleted file mode 100644 index ca006df0..00000000 --- a/apigen/vendor/apigen/apigen/src/Parser/Elements/ElementSorter.php +++ /dev/null @@ -1,143 +0,0 @@ -sortConstantsByFqn($elements); - - } elseif ($firstElement instanceof ReflectionFunction) { - return $this->sortFunctionsByFqn($elements); - - } elseif ($firstElement instanceof ReflectionMethod || $firstElement instanceof ReflectionProperty) { - return $this->sortPropertiesOrMethodsByFqn($elements); - } - } - return $elements; - } - - - /** - * @param ReflectionConstant[] $reflectionConstants - * @return ReflectionConstant[] - */ - private function sortConstantsByFqn($reflectionConstants) - { - usort($reflectionConstants, function ($a, $b) { - return $this->compareConstantsByFqn($a, $b); - }); - return $reflectionConstants; - } - - - /** - * @param ReflectionFunction[] $reflectionFunctions - * @return ReflectionFunction[] - */ - private function sortFunctionsByFqn($reflectionFunctions) - { - usort($reflectionFunctions, function ($a, $b) { - return $this->compareFunctionsByFqn($a, $b); - }); - return $reflectionFunctions; - } - - - /** - * @param ReflectionMethod[]|ReflectionProperty[] $reflectionElements - * @return ReflectionMethod[] - */ - private function sortPropertiesOrMethodsByFqn($reflectionElements) - { - usort($reflectionElements, function ($a, $b) { - return $this->compareMethodsOrPropertiesByFqn($a, $b); - }); - return $reflectionElements; - } - - - /** - * @return int - */ - private function compareConstantsByFqn(ReflectionConstant $reflection1, ReflectionConstant $reflection2) - { - return strcasecmp($this->getConstantFqnName($reflection1), $this->getConstantFqnName($reflection2)); - } - - - /** - * @return int - */ - private function compareFunctionsByFqn(ReflectionFunction $reflection1, ReflectionFunction $reflection2) - { - return strcasecmp($this->getFunctionFqnName($reflection1), $this->getFunctionFqnName($reflection2)); - } - - - /** - * @param ReflectionMethod|ReflectionProperty $reflection1 - * @param ReflectionMethod|ReflectionProperty $reflection2 - * @return int - */ - private function compareMethodsOrPropertiesByFqn($reflection1, $reflection2) - { - return strcasecmp( - $this->getPropertyOrMethodFqnName($reflection1), - $this->getPropertyOrMethodFqnName($reflection2) - ); - } - - - /** - * @return string - */ - private function getConstantFqnName(ReflectionConstant $reflection) - { - $class = $reflection->getDeclaringClassName() ?: $reflection->getNamespaceName(); - return $class . '\\' . $reflection->getName(); - } - - - /** - * @return string - */ - private function getFunctionFqnName(ReflectionFunction $reflection) - { - return $reflection->getNamespaceName() . '\\' . $reflection->getName(); - } - - - /** - * @param ReflectionMethod|ReflectionProperty $reflection - * @return string - */ - private function getPropertyOrMethodFqnName(ReflectionElement $reflection) - { - return $reflection->getDeclaringClassName() . '::' . $reflection->getName(); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Parser/Elements/ElementStorage.php b/apigen/vendor/apigen/apigen/src/Parser/Elements/ElementStorage.php deleted file mode 100644 index ffdd0e12..00000000 --- a/apigen/vendor/apigen/apigen/src/Parser/Elements/ElementStorage.php +++ /dev/null @@ -1,368 +0,0 @@ -parserResult = $parserResult; - $this->configuration = $configuration; - $this->groupSorter = $groupSorter; - $this->elementResolver = $elementResolver; - } - - - /** - * @return ReflectionClass[] - */ - public function getClasses() - { - $this->ensureCategorization(); - return $this->classes; - } - - - /** - * @return array - */ - public function getNamespaces() - { - $this->ensureCategorization(); - return $this->namespaces; - } - - - /** - * @return array - */ - public function getPackages() - { - $this->ensureCategorization(); - return $this->packages; - } - - - /** - * @return array - */ - public function getInterfaces() - { - $this->ensureCategorization(); - return $this->interfaces; - } - - - /** - * @return array - */ - public function getTraits() - { - $this->ensureCategorization(); - return $this->traits; - } - - - /** - * @return array - */ - public function getExceptions() - { - $this->ensureCategorization(); - return $this->exceptions; - } - - - /** - * @return array - */ - public function getConstants() - { - $this->ensureCategorization(); - return $this->constants; - } - - - /** - * @return array - */ - public function getFunctions() - { - $this->ensureCategorization(); - return $this->functions; - } - - - /** - * @return ReflectionClass[] - */ - public function getClassElements() - { - return array_merge($this->getClasses(), $this->getTraits(), $this->getInterfaces(), $this->getExceptions()); - } - - - /** - * @return array[] - */ - public function getElements() - { - $this->ensureCategorization(); - - $elements = [ - Elements::CLASSES => $this->classes, - Elements::CONSTANTS => $this->constants, - Elements::FUNCTIONS => $this->functions, - Elements::INTERFACES => $this->interfaces, - Elements::TRAITS => $this->traits, - Elements::EXCEPTIONS => $this->exceptions - ]; - return $elements; - } - - - private function categorizeParsedElements() - { - foreach ($this->parserResult->getTypes() as $type) { - $elements = $this->parserResult->getElementsByType($type); - foreach ($elements as $elementName => $element) { - if ( ! $element->isDocumented()) { - continue; - } - if ($element instanceof ReflectionConstant) { - $elementType = Elements::CONSTANTS; - $this->constants[$elementName] = $element; - - } elseif ($element instanceof ReflectionFunction) { - $elementType = Elements::FUNCTIONS; - $this->functions[$elementName] = $element; - - } elseif ($element->isInterface()) { - $elementType = Elements::INTERFACES; - $this->interfaces[$elementName] = $element; - - } elseif ($element->isTrait()) { - $elementType = Elements::TRAITS; - $this->traits[$elementName] = $element; - - } elseif ($element->isException()) { - $elementType = Elements::EXCEPTIONS; - $this->exceptions[$elementName] = $element; - - } else { - $elementType = Elements::CLASSES; - $this->classes[$elementName] = $element; - } - $this->categorizeElementToNamespaceAndPackage($elementName, $elementType, $element); - } - } - $this->sortNamespacesAndPackages(); - $this->areElementsCategorized = TRUE; - $this->addUsedByAnnotation(); - } - - - /** - * @param string $elementName - * @param string $elementType - * @param ReflectionElement|ReflectionClass $element - */ - private function categorizeElementToNamespaceAndPackage($elementName, $elementType, ReflectionElement $element) - { - $packageName = $element->getPseudoPackageName(); - $this->packages[$packageName][$elementType][$elementName] = $element; - - $namespaceName = $element->getPseudoNamespaceName(); - $this->namespaces[$namespaceName][$elementType][$element->getShortName()] = $element; - } - - - private function sortNamespacesAndPackages() - { - $areNamespacesEnabled = $this->configuration->areNamespacesEnabled( - $this->getNamespaceCount(), - $this->getPackageCount() - ); - - $arePackagesEnabled = $this->configuration->arePackagesEnabled($areNamespacesEnabled); - - if ($areNamespacesEnabled) { - $this->namespaces = $this->groupSorter->sort($this->namespaces); - $this->packages = []; - - } elseif ($arePackagesEnabled) { - $this->namespaces = []; - $this->packages = $this->groupSorter->sort($this->packages); - - } else { - $this->namespaces = []; - $this->packages = []; - } - } - - - /** - * @return int - */ - private function getNamespaceCount() - { - $nonDefaultNamespaces = array_diff(array_keys($this->namespaces), ['PHP', 'None']); - return count($nonDefaultNamespaces); - } - - - /** - * @return int - */ - private function getPackageCount() - { - $nonDefaultPackages = array_diff(array_keys($this->packages), ['PHP', 'None']); - return count($nonDefaultPackages); - } - - - private function addUsedByAnnotation() - { - foreach ($this->getElements() as $elementList) { - foreach ($elementList as $parentElement) { - $elements = $this->getSubElements($parentElement); - - /** @var ReflectionElement $element */ - foreach ($elements as $element) { - $this->loadUsesToReferencedElementUsedby($element); - } - } - } - } - - - private function ensureCategorization() - { - if ($this->areElementsCategorized === FALSE) { - $this->categorizeParsedElements(); - } - } - - - /** - * @return array - */ - private function getSubElements(ReflectionElement $parentElement) - { - $elements = [$parentElement]; - if ($parentElement instanceof ReflectionClass) { - $elements = array_merge( - $elements, - array_values($parentElement->getOwnMethods()), - array_values($parentElement->getOwnConstants()), - array_values($parentElement->getOwnProperties()) - ); - } - return $elements; - } - - - private function loadUsesToReferencedElementUsedby(ReflectionElement $element) - { - $uses = $element->getAnnotation('uses'); - if ($uses === NULL) { - return; - } - - foreach ($uses as $value) { - list($link, $description) = preg_split('~\s+|$~', $value, 2); - $resolved = $this->elementResolver->resolveElement($link, $element); - if ($resolved) { - $resolved->addAnnotation('usedby', $element->getPrettyName() . ' ' . $description); - } - } - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Parser/Elements/Elements.php b/apigen/vendor/apigen/apigen/src/Parser/Elements/Elements.php deleted file mode 100644 index c955e1d7..00000000 --- a/apigen/vendor/apigen/apigen/src/Parser/Elements/Elements.php +++ /dev/null @@ -1,57 +0,0 @@ -getAll() as $type) { - $emptyList[$type] = []; - } - return $emptyList; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Parser/Elements/GroupSorter.php b/apigen/vendor/apigen/apigen/src/Parser/Elements/GroupSorter.php deleted file mode 100644 index 11806d2d..00000000 --- a/apigen/vendor/apigen/apigen/src/Parser/Elements/GroupSorter.php +++ /dev/null @@ -1,152 +0,0 @@ -elements = $elements; - $this->configuration = $configuration; - } - - - /** - * @return array - */ - public function sort(array $groups) - { - if ($this->isNoneGroupOnly($groups)) { - return []; - } - $this->groups = $groups; - - $groupNames = array_keys($groups); - $this->lowercasedGroupNames = $this->convertGroupNamesToLower($groupNames); - - foreach ($groupNames as $groupName) { - $this->addMissingParentGroups($groupName); - $this->addMissingElementTypes($groupName); - } - - uksort($this->groups, function ($one, $two) { - return $this->compareGroups($one, $two, $this->configuration->getOption(CO::MAIN)); - }); - - return $this->groups; - } - - - /** - * @return bool - */ - private function isNoneGroupOnly(array $groups) - { - if (count($groups) === 1 && isset($groups['None'])) { - return TRUE; - } - return FALSE; - } - - - /** - * @param array $groupNames - * @return array - */ - private function convertGroupNamesToLower($groupNames) - { - $names = array_map(function ($name) { - return strtolower($name); - }, $groupNames); - - return array_flip($names); - } - - - /** - * @param string $groupName - */ - private function addMissingParentGroups($groupName) - { - $parent = ''; - foreach (explode('\\', $groupName) as $part) { - $parent = ltrim($parent . '\\' . $part, '\\'); - - if ( ! isset($this->lowercasedGroupNames[strtolower($parent)])) { - $this->groups[$parent] = $this->elements->getEmptyList(); - } - } - } - - - /** - * @param string $groupName - */ - private function addMissingElementTypes($groupName) - { - foreach ($this->elements->getAll() as $type) { - if ( ! isset($this->groups[$groupName][$type])) { - $this->groups[$groupName][$type] = []; - } - } - } - - - /** - * @param string $one - * @param string $two - * @param string $main - * @return int - */ - private function compareGroups($one, $two, $main) - { - // \ as separator has to be first - $one = str_replace('\\', ' ', $one); - $two = str_replace('\\', ' ', $two); - - if ($main) { - if (strpos($one, $main) === 0 && strpos($two, $main) !== 0) { - return -1; - - } elseif (strpos($one, $main) !== 0 && strpos($two, $main) === 0) { - return 1; - } - } - - return strcasecmp($one, $two); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Parser/Parser.php b/apigen/vendor/apigen/apigen/src/Parser/Parser.php deleted file mode 100644 index 1a539e69..00000000 --- a/apigen/vendor/apigen/apigen/src/Parser/Parser.php +++ /dev/null @@ -1,114 +0,0 @@ -broker = $broker; - $this->charsetConvertor = $charsetConvertor; - $this->parserResult = $parserResult; - } - - - /** - * @param SplFileInfo[] $files - */ - public function parse($files) - { - foreach ($files as $file) { - $content = $this->charsetConvertor->convertFileToUtf($file->getPathname()); - try { - $this->broker->processString($content, $file->getPathname()); - - } catch (FileProcessingException $exception) { - $this->errors[] = $exception; - } - } - - $this->extractBrokerDataForParserResult($this->broker); - } - - - /** - * @return array - */ - public function getErrors() - { - return $this->errors; - } - - - private function extractBrokerDataForParserResult(Broker $broker) - { - $allFoundClasses = $broker->getClasses( - Backend::TOKENIZED_CLASSES | Backend::INTERNAL_CLASSES | Backend::NONEXISTENT_CLASSES - ); - - $classes = new ArrayObject($allFoundClasses); - $constants = new ArrayObject($broker->getConstants()); - $functions = new ArrayObject($broker->getFunctions()); - $internalClasses = new ArrayObject($broker->getClasses(Backend::INTERNAL_CLASSES)); - $tokenizedClasses = new ArrayObject($broker->getClasses(Backend::TOKENIZED_CLASSES)); - - $classes->uksort('strcasecmp'); - $constants->uksort('strcasecmp'); - $functions->uksort('strcasecmp'); - - $this->loadToParserResult($classes, $constants, $functions, $internalClasses, $tokenizedClasses); - } - - - private function loadToParserResult( - ArrayObject $classes, - ArrayObject $constants, - ArrayObject $functions, - ArrayObject $internalClasses, - ArrayObject $tokenizedClasses - ) { - $this->parserResult->setClasses($classes); - $this->parserResult->setConstants($constants); - $this->parserResult->setFunctions($functions); - $this->parserResult->setInternalClasses($internalClasses); - $this->parserResult->setTokenizedClasses($tokenizedClasses); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Parser/ParserResult.php b/apigen/vendor/apigen/apigen/src/Parser/ParserResult.php deleted file mode 100644 index 5c86d5b6..00000000 --- a/apigen/vendor/apigen/apigen/src/Parser/ParserResult.php +++ /dev/null @@ -1,237 +0,0 @@ -classes = new ArrayObject; - $this->constants = new ArrayObject; - $this->functions = new ArrayObject; - $this->internalClasses = new ArrayObject; - $this->tokenizedClasses = new ArrayObject; - } - - - /** - * @param string $type - * @return ArrayObject - */ - public function getElementsByType($type) - { - if ($type === Elements::CLASSES) { - return $this->classes; - - } elseif ($type === Elements::CONSTANTS) { - return $this->constants; - - } elseif ($type === Elements::FUNCTIONS) { - return $this->functions; - } - - throw new \Exception("'$type' is not supported element type"); - } - - - /** - * @return array - */ - public function getDocumentedStats() - { - return [ - 'classes' => $this->getDocumentedElementsCount($this->tokenizedClasses), - 'constants' => $this->getDocumentedElementsCount($this->constants), - 'functions' => $this->getDocumentedElementsCount($this->functions), - 'internalClasses' => $this->getDocumentedElementsCount($this->internalClasses) - ]; - } - - - /** - * @return ArrayObject - */ - public function getClasses() - { - return $this->classes; - } - - - /** - * @return ArrayObject - */ - public function getConstants() - { - return $this->constants; - } - - - /** - * @return ArrayObject - */ - public function getFunctions() - { - return $this->functions; - } - - - /** - * @return array - */ - public function getTypes() - { - return $this->types; - } - - - public function setClasses(ArrayObject $classes) - { - $this->classes = $classes; - } - - - public function setConstants(ArrayObject $constants) - { - $this->constants = $constants; - } - - - public function setFunctions(ArrayObject $functions) - { - $this->functions = $functions; - } - - - public function setInternalClasses(ArrayObject $internalClasses) - { - $this->internalClasses = $internalClasses; - } - - - public function setTokenizedClasses(ArrayObject $tokenizedClasses) - { - $this->tokenizedClasses = $tokenizedClasses; - } - - - /** - * @return ReflectionClass[]|array - */ - public function getDirectImplementersOfInterface(ReflectionClass $reflectionClass) - { - $implementers = []; - foreach ($this->classes as $class) { - if ($this->isAllowedDirectImplementer($class, $reflectionClass->getName())) { - $implementers[] = $class; - } - } - uksort($implementers, 'strcasecmp'); - return $implementers; - } - - - /** - * @return ReflectionClass[]|array - */ - public function getIndirectImplementersOfInterface(ReflectionClass $reflectionClass) - { - $implementers = []; - foreach ($this->classes as $class) { - if ($this->isAllowedIndirectImplementer($class, $reflectionClass->getName())) { - $implementers[] = $class; - } - } - uksort($implementers, 'strcasecmp'); - return $implementers; - } - - - /** - * @param ReflectionClass $class - * @param string $name - * @return bool - */ - private function isAllowedDirectImplementer(ReflectionClass $class, $name) - { - if ($class->isDocumented() && in_array($name, $class->getOwnInterfaceNames())) { - return TRUE; - } - return FALSE; - } - - - /** - * @param ReflectionClass $class - * @param string $name - * @return bool - */ - private function isAllowedIndirectImplementer(ReflectionClass $class, $name) - { - if ($class->isDocumented() && $class->implementsInterface($name) - && ! in_array($name, $class->getOwnInterfaceNames()) - ) { - return TRUE; - } - return FALSE; - } - - - /** - * @param ReflectionElement[]|ArrayObject $result - * @return int - */ - private function getDocumentedElementsCount(ArrayObject $result) - { - $count = 0; - foreach ($result as $element) { - $count += (int) $element->isDocumented(); - } - return $count; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/AnnotationMethodExtractor.php b/apigen/vendor/apigen/apigen/src/Reflection/Extractors/AnnotationMethodExtractor.php deleted file mode 100644 index 0be1abac..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/AnnotationMethodExtractor.php +++ /dev/null @@ -1,133 +0,0 @@ -reflectionFactory = $reflectionFactory; - } - - - /** - * @param ReflectionClass $reflectionClass - * @return ReflectionMethodMagic[]|array - */ - public function extractFromReflection(ReflectionClass $reflectionClass) - { - $this->reflectionClass = $reflectionClass; - - $methods = []; - if ($reflectionClass->hasAnnotation('method')) { - foreach ($reflectionClass->getAnnotation('method') as $annotation) { - $methods += $this->processMagicMethodAnnotation($annotation); - }; - } - - return $methods; - } - - - /** - * @param string $annotation - * @return ReflectionMethodMagic[]|array - */ - private function processMagicMethodAnnotation($annotation) - { - if ( ! preg_match(self::PATTERN_METHOD, $annotation, $matches)) { - return []; - } - - list(, $returnTypeHint, $returnsReference, $name, $args, $shortDescription) = $matches; - - $startLine = $this->getStartLine($annotation); - $endLine = $startLine + substr_count($annotation, "\n"); - - $methods = []; - $methods[$name] = $method = $this->reflectionFactory->createMethodMagic([ - 'name' => $name, - 'shortDescription' => str_replace("\n", ' ', $shortDescription), - 'startLine' => $startLine, - 'endLine' => $endLine, - 'returnsReference' => ($returnsReference === '&'), - 'declaringClass' => $this->reflectionClass, - 'annotations' => ['return' => [0 => $returnTypeHint]] - ]); - $this->attachMethodParameters($method, $args); - return $methods; - } - - - /** - * @param string $annotation - * @return int - */ - private function getStartLine($annotation) - { - $doc = $this->reflectionClass->getDocComment(); - $tmp = $annotation; - if ($delimiter = strpos($annotation, "\n")) { - $tmp = substr($annotation, 0, $delimiter); - } - return $this->reflectionClass->getStartLine() + substr_count(substr($doc, 0, strpos($doc, $tmp)), "\n"); - } - - - /** - * @param ReflectionMethodMagic $method - * @param string $args - */ - private function attachMethodParameters(ReflectionMethodMagic $method, $args) - { - $parameters = []; - foreach (array_filter(preg_split('~\\s*,\\s*~', $args)) as $position => $arg) { - if ( ! preg_match(self::PATTERN_PARAMETER, $arg, $matches)) { - // Wrong annotation format - continue; - } - - list(, $typeHint, $passedByReference, $name, $defaultValueDefinition) = $matches; - - $parameters[$name] = $this->reflectionFactory->createParameterMagic([ - 'name' => $name, - 'position' => $position, - 'typeHint' => $typeHint, - 'defaultValueDefinition' => $defaultValueDefinition, - 'unlimited' => FALSE, - 'passedByReference' => ($passedByReference === '&'), - 'declaringFunction' => $method - ]); - $method->addAnnotation('param', ltrim(sprintf('%s $%s', $typeHint, $name))); - } - $method->setParameters($parameters); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/AnnotationPropertyExtractor.php b/apigen/vendor/apigen/apigen/src/Reflection/Extractors/AnnotationPropertyExtractor.php deleted file mode 100644 index 1c9aea45..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/AnnotationPropertyExtractor.php +++ /dev/null @@ -1,99 +0,0 @@ -reflectionFactory = $reflectionFactory; - } - - - public function extractFromReflection(ReflectionClass $reflectionClass) - { - $this->reflectionClass = $reflectionClass; - - $properties = []; - foreach (['property', 'property-read', 'property-write'] as $annotationName) { - if ($reflectionClass->hasAnnotation($annotationName)) { - foreach ($reflectionClass->getAnnotation($annotationName) as $annotation) { - $properties += $this->processMagicPropertyAnnotation($annotation, $annotationName); - }; - } - } - - return $properties; - } - - - /** - * @param string $annotation - * @param string $annotationName - * @return ReflectionPropertyMagic[]|array - */ - private function processMagicPropertyAnnotation($annotation, $annotationName) - { - if ( ! preg_match(self::PATTERN_PROPERTY, $annotation, $matches)) { - return []; - } - - list(, $typeHint, $name, $shortDescription) = $matches; - - $startLine = $this->getStartLine($annotation); - $properties = []; - $properties[$name] = $this->reflectionFactory->createPropertyMagic([ - 'name' => $name, - 'typeHint' => $typeHint, - 'shortDescription' => str_replace("\n", ' ', $shortDescription), - 'startLine' => $startLine, - 'endLine' => $startLine + substr_count($annotation, "\n"), - 'readOnly' => ($annotationName === 'property-read'), - 'writeOnly' => ($annotationName === 'property-write'), - 'declaringClass' => $this->reflectionClass - ]); - return $properties; - } - - - /** - * @param string $annotation - * @return int - */ - private function getStartLine($annotation) - { - $doc = $this->reflectionClass->getDocComment(); - $tmp = $annotation; - if ($delimiter = strpos($annotation, "\n")) { - $tmp = substr($annotation, 0, $delimiter); - } - return $this->reflectionClass->getStartLine() + substr_count(substr($doc, 0, strpos($doc, $tmp)), "\n"); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/ClassMagicElementsExtractor.php b/apigen/vendor/apigen/apigen/src/Reflection/Extractors/ClassMagicElementsExtractor.php deleted file mode 100644 index f0b38f29..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/ClassMagicElementsExtractor.php +++ /dev/null @@ -1,209 +0,0 @@ -reflectionClass = $reflectionClass; - } - - - /** - * @return ReflectionPropertyMagic[] - */ - public function getMagicProperties() - { - return $this->getOwnMagicProperties() + (new MagicPropertyExtractor)->extractFromClass($this->reflectionClass); - } - - - /** - * @return ReflectionMethodMagic[] - */ - public function getMagicMethods() - { - return $this->getOwnMagicMethods() + (new MagicMethodExtractor)->extractFromClass($this->reflectionClass); - } - - - /** - * @return ReflectionPropertyMagic[]|array - */ - public function getOwnMagicProperties() - { - if ($this->ownMagicProperties === NULL) { - $this->ownMagicProperties = []; - - if ($this->reflectionClass->isVisibilityLevelPublic() && $this->reflectionClass->getDocComment()) { - $extractor = new AnnotationPropertyExtractor($this->reflectionClass->getReflectionFactory()); - $this->ownMagicProperties += $extractor->extractFromReflection($this->reflectionClass); - } - } - - return $this->ownMagicProperties; - } - - - /** - * @return ReflectionMethodMagic[] - */ - public function getOwnMagicMethods() - { - if ($this->ownMagicMethods === NULL) { - $this->ownMagicMethods = []; - - if ($this->reflectionClass->isVisibilityLevelPublic() && $this->reflectionClass->getDocComment()) { - $extractor = new AnnotationMethodExtractor($this->reflectionClass->getReflectionFactory()); - $this->ownMagicMethods += $extractor->extractFromReflection($this->reflectionClass); - } - } - return $this->ownMagicMethods; - } - - - /** - * @return array {[ declaringClassName => ReflectionPropertyMagic[] ]} - */ - public function getInheritedMagicProperties() - { - $properties = []; - $allProperties = array_flip(array_map(function (ReflectionProperty $property) { - return $property->getName(); - }, $this->getOwnMagicProperties())); - - foreach ($this->reflectionClass->getParentClasses() as $class) { - $inheritedProperties = $this->getUsedElements($class->getOwnMagicProperties(), $allProperties); - $properties = $this->sortElements($inheritedProperties, $properties, $class); - } - - return $properties; - } - - - /** - * @return array {[ declaringClassName => ReflectionMethodMagic[] ]} - */ - public function getInheritedMagicMethods() - { - $methods = []; - $allMethods = array_flip(array_map(function (ReflectionMethod $method) { - return $method->getName(); - }, $this->getOwnMagicMethods())); - - /** @var ReflectionClass[] $parentClassesAndInterfaces */ - $parentClassesAndInterfaces = array_merge( - $this->reflectionClass->getParentClasses(), $this->reflectionClass->getInterfaces() - ); - foreach ($parentClassesAndInterfaces as $class) { - $inheritedMethods = $this->getUsedElements($class->getOwnMagicMethods(), $allMethods); - $methods = $this->sortElements($inheritedMethods, $methods, $class); - } - - return $methods; - } - - - /** - * @return array {[ declaringTraitName => ReflectionPropertyMagic[] ]} - */ - public function getUsedMagicProperties() - { - $properties = []; - $allProperties = array_flip(array_map(function (ReflectionProperty $property) { - return $property->getName(); - }, $this->getOwnMagicProperties())); - - foreach ($this->reflectionClass->getTraits() as $trait) { - if ( ! $trait instanceof ReflectionClass) { - continue; - } - $usedProperties = $this->getUsedElements($trait->getOwnMagicProperties(), $allProperties); - $properties = $this->sortElements($usedProperties, $properties, $trait); - } - - return $properties; - } - - - /** - * @return ReflectionMethodMagic[]|array - */ - public function getUsedMagicMethods() - { - $usedMethods = []; - foreach ($this->getMagicMethods() as $method) { - $declaringTraitName = $method->getDeclaringTraitName(); - if ($declaringTraitName === NULL || $declaringTraitName === $this->reflectionClass->getName()) { - continue; - } - $usedMethods[$declaringTraitName][$method->getName()]['method'] = $method; - } - return $usedMethods; - } - - - /** - * @param ReflectionElement[] $elementsToCheck - * @param array $allElements - * @return array - */ - private function getUsedElements(array $elementsToCheck, array &$allElements) - { - $elements = []; - foreach ($elementsToCheck as $property) { - if ( ! array_key_exists($property->getName(), $allElements)) { - $elements[$property->getName()] = $property; - $allElements[$property->getName()] = NULL; - } - } - return $elements; - } - - - /** - * @return array - */ - private function sortElements(array $elements, array $allElements, ReflectionClass $reflectionClass) - { - if ( ! empty($elements)) { - ksort($elements); - $allElements[$reflectionClass->getName()] = array_values($elements); - } - return $allElements; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/ClassTraitElementsExtractor.php b/apigen/vendor/apigen/apigen/src/Reflection/Extractors/ClassTraitElementsExtractor.php deleted file mode 100644 index ba0a7624..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/ClassTraitElementsExtractor.php +++ /dev/null @@ -1,167 +0,0 @@ -reflectionClass = $reflectionClass; - $this->originalReflection = $originalReflection; - } - - - /** - * @return ReflectionClass[]|array - */ - public function getDirectUsers() - { - $users = []; - $name = $this->reflectionClass->getName(); - foreach ($this->reflectionClass->getParsedClasses() as $class) { - if ( ! $class->isDocumented()) { - continue; - } - if (in_array($name, $class->getOwnTraitNames())) { - $users[] = $class; - } - } - uksort($users, 'strcasecmp'); - return $users; - } - - - /** - * @return ReflectionClass[]|array - */ - public function getIndirectUsers() - { - $users = []; - $name = $this->reflectionClass->getName(); - foreach ($this->reflectionClass->getParsedClasses() as $class) { - if ( ! $class->isDocumented()) { - continue; - } - if ($class->usesTrait($name) && ! in_array($name, $class->getOwnTraitNames())) { - $users[] = $class; - } - } - uksort($users, 'strcasecmp'); - return $users; - } - - - /** - * @return ReflectionProperty[]|array - */ - public function getTraitProperties() - { - $properties = []; - $traitProperties = $this->originalReflection->getTraitProperties($this->reflectionClass->getVisibilityLevel()); - foreach ($traitProperties as $property) { - $apiProperty = $this->reflectionClass->getReflectionFactory()->createFromReflection($property); - if ( ! $this->reflectionClass->isDocumented() || $apiProperty->isDocumented()) { - /** @var ReflectionProperty $property */ - $properties[$property->getName()] = $apiProperty; - } - } - return $properties; - } - - - /** - * @return ReflectionMethod[]|array - */ - public function getTraitMethods() - { - $methods = []; - foreach ($this->originalReflection->getTraitMethods($this->reflectionClass->getVisibilityLevel()) as $method) { - $apiMethod = $this->reflectionClass->getReflectionFactory()->createFromReflection($method); - if ( ! $this->reflectionClass->isDocumented() || $apiMethod->isDocumented()) { - /** @var ReflectionMethod $method */ - $methods[$method->getName()] = $apiMethod; - } - } - return $methods; - } - - - /** - * @return array {[ traitName => ReflectionProperty[] ]} - */ - public function getUsedProperties() - { - $allProperties = array_flip(array_map(function (ReflectionProperty $property) { - return $property->getName(); - }, $this->reflectionClass->getOwnProperties())); - - $properties = []; - foreach ($this->reflectionClass->getTraits() as $trait) { - if ( ! $trait instanceof ReflectionClass) { - continue; - } - - $usedProperties = []; - foreach ($trait->getOwnProperties() as $property) { - if ( ! array_key_exists($property->getName(), $allProperties)) { - $usedProperties[$property->getName()] = $property; - $allProperties[$property->getName()] = NULL; - } - } - - if ( ! empty($usedProperties)) { - ksort($usedProperties); - $properties[$trait->getName()] = array_values($usedProperties); - } - } - return $properties; - } - - - /** - * @return array {[ traitName => ReflectionMethod[] ]} - */ - public function getUsedMethods() - { - $usedMethods = []; - foreach ($this->reflectionClass->getMethods() as $method) { - if ($method->getDeclaringTraitName() === NULL - || $method->getDeclaringTraitName() === $this->reflectionClass->getName() - ) { - continue; - } - - $usedMethods[$method->getDeclaringTraitName()][$method->getName()]['method'] = $method; - if ($method->getOriginalName() !== NULL && $method->getOriginalName() !== $method->getName()) { - $usedMethods[$method->getDeclaringTraitName()][$method->getName()]['aliases'][$method->getName()] = $method; - } - } - return $usedMethods; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/MagicMethodExtractor.php b/apigen/vendor/apigen/apigen/src/Reflection/Extractors/MagicMethodExtractor.php deleted file mode 100644 index 934cf3ec..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/MagicMethodExtractor.php +++ /dev/null @@ -1,105 +0,0 @@ -getParentClass()) { - $methods += $this->extractFromParentClass($parentClass, $reflectionClass->isDocumented()); - } - - if ($traits = $reflectionClass->getTraits()) { - $methods += $this->extractFromTraits($traits, $reflectionClass->isDocumented()); - } - return $methods; - } - - - /** - * @param ReflectionClass $parent - * @param bool $isDocumented - * @return ReflectionMethodMagic[] - */ - private function extractFromParentClass(ReflectionClass $parent, $isDocumented) - { - $methods = []; - while ($parent) { - $methods = $this->extractOwnFromClass($parent, $isDocumented, $methods); - $parent = $parent->getParentClass(); - } - return $methods; - } - - - /** - * @param array $traits - * @param bool $isDocumented - * @return ReflectionMethodMagic[] - */ - private function extractFromTraits($traits, $isDocumented) - { - $methods = []; - foreach ($traits as $trait) { - if ( ! $trait instanceof ReflectionClass) { - continue; - } - $methods = $this->extractOwnFromClass($trait, $isDocumented, $methods); - } - return $methods; - } - - - /** - * @param ReflectionClass $reflectionClass - * @param bool $isDocumented - * @param array $methods - * @return ReflectionMethodMagic[] - */ - private function extractOwnFromClass(ReflectionClass $reflectionClass, $isDocumented, array $methods) - { - foreach ($reflectionClass->getOwnMagicMethods() as $method) { - if ($this->canBeExtracted($isDocumented, $methods, $method)) { - $methods[$method->getName()] = $method; - } - } - return $methods; - } - - - /** - * @param bool $isDocumented - * @param array $methods - * @param ReflectionMethodMagic $method - * @return bool - */ - private function canBeExtracted($isDocumented, array $methods, ReflectionMethodMagic $method) - { - if (isset($methods[$method->getName()])) { - return FALSE; - } - if ($isDocumented && ! $method->isDocumented()) { - return FALSE; - } - return TRUE; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/MagicPropertyExtractor.php b/apigen/vendor/apigen/apigen/src/Reflection/Extractors/MagicPropertyExtractor.php deleted file mode 100644 index 4f45b611..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/MagicPropertyExtractor.php +++ /dev/null @@ -1,104 +0,0 @@ -getParentClass()) { - $properties += $this->extractFromParentClass($parentClass, $reflectionClass->isDocumented()); - } - - if ($traits = $reflectionClass->getTraits()) { - $properties += $this->extractFromTraits($traits, $reflectionClass->isDocumented()); - } - return $properties; - } - - - /** - * @param ReflectionClass $parent - * @param bool $isDocumented - * @return ReflectionPropertyMagic[] - */ - private function extractFromParentClass(ReflectionClass $parent, $isDocumented) - { - $properties = []; - while ($parent) { - $properties = $this->extractOwnFromClass($parent, $isDocumented, $properties); - $parent = $parent->getParentClass(); - } - return $properties; - } - - - /** - * @param array $traits - * @param bool $isDocumented - * @return ReflectionPropertyMagic[] - */ - private function extractFromTraits($traits, $isDocumented) - { - $properties = []; - foreach ($traits as $trait) { - if ( ! $trait instanceof ReflectionClass) { - continue; - } - $properties = $this->extractOwnFromClass($trait, $isDocumented, $properties); - } - return $properties; - } - - - /** - * @param ReflectionClass $reflectionClass - * @param bool $isDocumented - * @param array $properties - * @return ReflectionPropertyMagic[] - */ - private function extractOwnFromClass(ReflectionClass $reflectionClass, $isDocumented, array $properties) - { - foreach ($reflectionClass->getOwnMagicProperties() as $property) { - if ($this->canBeExtracted($isDocumented, $properties, $property)) { - $properties[$property->getName()] = $property; - } - } - return $properties; - } - - - /** - * @param bool $isDocumented - * @param array $properties - * @param ReflectionPropertyMagic $property - * @return bool - */ - private function canBeExtracted($isDocumented, array $properties, ReflectionPropertyMagic $property) - { - if (isset($properties[$property->getName()])) { - return FALSE; - } - if ($isDocumented && ! $property->isDocumented()) { - return FALSE; - } - return TRUE; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/ParentClassElementsExtractor.php b/apigen/vendor/apigen/apigen/src/Reflection/Extractors/ParentClassElementsExtractor.php deleted file mode 100644 index 1084c7e5..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/Extractors/ParentClassElementsExtractor.php +++ /dev/null @@ -1,122 +0,0 @@ -reflectionClass = $reflectionClass; - } - - - /** - * @return array - */ - public function getInheritedConstants() - { - return array_filter( - array_map( - function (ReflectionClass $class) { - $reflections = $class->getOwnConstants(); - ksort($reflections); - return $reflections; - }, - $this->getParentClassesAndInterfaces() - ) - ); - } - - - /** - * @return array {[ className => ReflectionProperties[] ]} - */ - public function getInheritedProperties() - { - $properties = []; - $allProperties = array_flip(array_map(function (ReflectionProperty $property) { - return $property->getName(); - }, $this->reflectionClass->getOwnProperties())); - - foreach ($this->reflectionClass->getParentClasses() as $class) { - $inheritedProperties = []; - foreach ($class->getOwnProperties() as $property) { - if ( ! array_key_exists($property->getName(), $allProperties) && ! $property->isPrivate()) { - $inheritedProperties[$property->getName()] = $property; - $allProperties[$property->getName()] = NULL; - } - } - $properties = $this->sortElements($inheritedProperties, $properties, $class); - } - - return $properties; - - } - - - /** - * @return array {[ className => ReflectionMethod[] ]} - */ - public function getInheritedMethods() - { - $methods = []; - $allMethods = array_flip(array_map(function (ReflectionMethod $method) { - return $method->getName(); - }, $this->reflectionClass->getOwnMethods())); - - foreach ($this->getParentClassesAndInterfaces() as $class) { - $inheritedMethods = []; - foreach ($class->getOwnMethods() as $method) { - if ( ! array_key_exists($method->getName(), $allMethods) && ! $method->isPrivate()) { - $inheritedMethods[$method->getName()] = $method; - $allMethods[$method->getName()] = NULL; - } - } - $methods = $this->sortElements($inheritedMethods, $methods, $class); - } - - return $methods; - } - - - /** - * @return ReflectionClass[]|array - */ - private function getParentClassesAndInterfaces() - { - return array_merge($this->reflectionClass->getParentClasses(), $this->reflectionClass->getInterfaces()); - } - - - /** - * @return array - */ - private function sortElements(array $elements, array $allElements, ReflectionClass $reflectionClass) - { - if ( ! empty($elements)) { - ksort($elements); - $allElements[$reflectionClass->getName()] = array_values($elements); - } - return $allElements; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/Parts/IsDocumentedMagic.php b/apigen/vendor/apigen/apigen/src/Reflection/Parts/IsDocumentedMagic.php deleted file mode 100644 index aa05d648..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/Parts/IsDocumentedMagic.php +++ /dev/null @@ -1,37 +0,0 @@ -isDocumented === NULL) { - $deprecated = $this->configuration->getOption(CO::DEPRECATED); - $this->isDocumented = $deprecated || ! $this->isDeprecated(); - } - - return $this->isDocumented; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/Parts/StartLineEndLine.php b/apigen/vendor/apigen/apigen/src/Reflection/Parts/StartLineEndLine.php deleted file mode 100644 index 3321f86b..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/Parts/StartLineEndLine.php +++ /dev/null @@ -1,66 +0,0 @@ -startLine = $startLine; - return $this; - } - - - /** - * @return int - */ - public function getStartLine() - { - return $this->startLine; - } - - - /** - * @param int $endLine - * @return $this - */ - public function setEndLine($endLine) - { - $this->endLine = $endLine; - return $this; - } - - - /** - * @return int - */ - public function getEndLine() - { - return $this->endLine; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/Parts/StartPositionEndPositionMagic.php b/apigen/vendor/apigen/apigen/src/Reflection/Parts/StartPositionEndPositionMagic.php deleted file mode 100644 index 545e9ba7..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/Parts/StartPositionEndPositionMagic.php +++ /dev/null @@ -1,38 +0,0 @@ -declaringClass->getStartPosition(); - } - - - /** - * @return int - */ - public function getEndPosition() - { - return $this->declaringClass->getEndPosition(); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/Parts/Visibility.php b/apigen/vendor/apigen/apigen/src/Reflection/Parts/Visibility.php deleted file mode 100644 index 7bd38695..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/Parts/Visibility.php +++ /dev/null @@ -1,48 +0,0 @@ -reflection->isPrivate(); - } - - - /** - * @return bool - */ - public function isProtected() - { - return $this->reflection->isProtected(); - } - - - /** - * @return bool - */ - public function isPublic() - { - return $this->reflection->isPublic(); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionBase.php b/apigen/vendor/apigen/apigen/src/Reflection/ReflectionBase.php deleted file mode 100644 index 1711915a..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionBase.php +++ /dev/null @@ -1,159 +0,0 @@ -reflectionType = get_class($this); - $this->reflection = $reflection; - } - - - /** - * @return string - */ - public function getName() - { - return $this->reflection->getName(); - } - - - /** - * @return string - */ - public function getPrettyName() - { - return $this->reflection->getPrettyName(); - } - - - /** - * @return bool - */ - public function isInternal() - { - return $this->reflection->isInternal(); - } - - - /** - * @return bool - */ - public function isTokenized() - { - return $this->reflection->isTokenized(); - } - - - /** - * @return string - */ - public function getFileName() - { - return $this->reflection->getFileName(); - } - - - /** - * @return int - */ - public function getStartLine() - { - $startLine = $this->reflection->getStartLine(); - if ($doc = $this->getDocComment()) { - $startLine -= substr_count($doc, "\n") + 1; - } - return $startLine; - } - - - /** - * @return int - */ - public function getEndLine() - { - return $this->reflection->getEndLine(); - } - - - public function setConfiguration(Configuration $configuration) - { - $this->configuration = $configuration; - } - - - public function setParserResult(ParserResult $parserResult) - { - $this->parserResult = $parserResult; - } - - - public function setReflectionFactory(ReflectionFactory $reflectionFactory) - { - $this->reflectionFactory = $reflectionFactory; - } - - - /** - * @return ArrayObject|ReflectionClass[] - */ - public function getParsedClasses() - { - return $this->parserResult->getElementsByType(Elements::CLASSES); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionClass.php b/apigen/vendor/apigen/apigen/src/Reflection/ReflectionClass.php deleted file mode 100644 index 758adb2e..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionClass.php +++ /dev/null @@ -1,865 +0,0 @@ -classMagicElementExtractor = new ClassMagicElementsExtractor($this); - $this->classTraitElementExtractor = new ClassTraitElementsExtractor($this, $reflectionClass); - $this->parentClassElementExtractor = new ParentClassElementsExtractor($this); - } - - - /** - * @return string - */ - public function getShortName() - { - return $this->reflection->getShortName(); - } - - - /** - * @return bool - */ - public function isAbstract() - { - return $this->reflection->isAbstract(); - } - - - /** - * @return bool - */ - public function isFinal() - { - return $this->reflection->isFinal(); - } - - - /** - * @return bool - */ - public function isInterface() - { - return $this->reflection->isInterface(); - } - - - /** - * @return bool - */ - public function isException() - { - return $this->reflection->isException(); - } - - - /** - * @param string $class - * @return bool - */ - public function isSubclassOf($class) - { - return $this->reflection->isSubclassOf($class); - } - - - /** - * @return ReflectionMethod[] - */ - public function getMethods() - { - if ($this->methods === NULL) { - $this->methods = $this->getOwnMethods(); - - foreach ($this->getOwnTraits() as $trait) { - if (!$trait instanceof ReflectionClass) { - continue; - } - foreach ($trait->getOwnMethods() as $method) { - if (isset($this->methods[$method->getName()])) { - continue; - } - if (! $this->isDocumented() || $method->isDocumented()) { - $this->methods[$method->getName()] = $method; - } - } - } - - if (null !== $this->getParentClassName()) { - foreach ($this->getParentClass()->getMethods() as $parentMethod) { - if (!isset($this->methods[$parentMethod->getName()])) { - $this->methods[$parentMethod->getName()] = $parentMethod; - } - } - } - - foreach ($this->getOwnInterfaces() as $interface) { - foreach ($interface->getMethods(null) as $parentMethod) { - if (!isset($this->methods[$parentMethod->getName()])) { - $this->methods[$parentMethod->getName()] = $parentMethod; - } - } - } - - $this->methods = array_filter($this->methods, function(ReflectionMethod $method) { - $classVisibilityLevel = $this->getVisibilityLevel(); - $methodVisibilityLevel = $method->configuration->getOption(CO::VISIBILITY_LEVELS); - return $classVisibilityLevel === $methodVisibilityLevel; - }); - } - - return $this->methods; - } - - - /** - * @return ReflectionMethod[] - */ - public function getOwnMethods() - { - if ($this->ownMethods === NULL) { - $this->ownMethods = []; - - foreach ($this->reflection->getOwnMethods($this->getVisibilityLevel()) as $method) { - $apiMethod = $this->reflectionFactory->createFromReflection($method); - if ( ! $this->isDocumented() || $apiMethod->isDocumented()) { - $this->ownMethods[$method->getName()] = $apiMethod; - } - } - } - return $this->ownMethods; - } - - - /** - * @return ReflectionMethodMagic[] - */ - public function getMagicMethods() - { - return $this->classMagicElementExtractor->getMagicMethods(); - } - - - /** - * @return ReflectionMethodMagic[] - */ - public function getOwnMagicMethods() - { - return $this->classMagicElementExtractor->getOwnMagicMethods(); - } - - - /** - * @return ReflectionMethod[] - */ - public function getTraitMethods() - { - return $this->classTraitElementExtractor->getTraitMethods(); - } - - - /** - * @param string $name - * @return ReflectionMethod - */ - public function getMethod($name) - { - if ($this->hasMethod($name)) { - return $this->methods[$name]; - } - - throw new InvalidArgumentException(sprintf( - 'Method %s does not exist in class %s', $name, $this->reflection->getName() - )); - } - - - /** - * @return ReflectionProperty[] - */ - public function getProperties() - { - if ($this->properties === NULL) { - $this->properties = $this->getOwnProperties(); - foreach ($this->reflection->getProperties($this->getVisibilityLevel()) as $property) { - /** @var ReflectionElement $property */ - if (isset($this->properties[$property->getName()])) { - continue; - } - $apiProperty = $this->reflectionFactory->createFromReflection($property); - if ( ! $this->isDocumented() || $apiProperty->isDocumented()) { - $this->properties[$property->getName()] = $apiProperty; - } - } - } - return $this->properties; - } - - - /** - * @return ReflectionPropertyMagic[] - */ - public function getMagicProperties() - { - return $this->classMagicElementExtractor->getMagicProperties(); - } - - - /** - * @return ReflectionPropertyMagic[] - */ - public function getOwnMagicProperties() - { - return $this->classMagicElementExtractor->getOwnMagicProperties(); - } - - - /** - * @return ReflectionProperty[] - */ - public function getOwnProperties() - { - if ($this->ownProperties === NULL) { - $this->ownProperties = []; - foreach ($this->reflection->getOwnProperties($this->getVisibilityLevel()) as $property) { - $apiProperty = $this->reflectionFactory->createFromReflection($property); - if ( ! $this->isDocumented() || $apiProperty->isDocumented()) { - /** @var ReflectionElement $property */ - $this->ownProperties[$property->getName()] = $apiProperty; - } - } - } - return $this->ownProperties; - } - - - /** - * @return ReflectionProperty[] - */ - public function getTraitProperties() - { - return $this->classTraitElementExtractor->getTraitProperties(); - } - - - /** - * @param string $name - * @return ReflectionProperty - */ - public function getProperty($name) - { - if ($this->hasProperty($name)) { - return $this->properties[$name]; - } - - throw new InvalidArgumentException(sprintf( - 'Property %s does not exist in class %s', $name, $this->reflection->getName() - )); - } - - - /** - * @return ReflectionConstant[] - */ - public function getConstants() - { - if ($this->constants === NULL) { - $this->constants = []; - foreach ($this->reflection->getConstantReflections() as $constant) { - $apiConstant = $this->reflectionFactory->createFromReflection($constant); - if ( ! $this->isDocumented() || $apiConstant->isDocumented()) { - /** @var ReflectionElement $constant */ - $this->constants[$constant->getName()] = $apiConstant; - } - } - } - - return $this->constants; - } - - - /** - * @return ReflectionConstant[]|array - */ - public function getOwnConstants() - { - if ($this->ownConstants === NULL) { - $this->ownConstants = []; - $className = $this->reflection->getName(); - foreach ($this->getConstants() as $constantName => $constant) { - if ($className === $constant->getDeclaringClassName()) { - $this->ownConstants[$constantName] = $constant; - } - } - } - return $this->ownConstants; - } - - - /** - * @param string $name - * @return ReflectionConstant - */ - public function getConstantReflection($name) - { - if (isset($this->getConstants()[$name])) { - return $this->getConstants()[$name]; - } - - throw new InvalidArgumentException(sprintf( - 'Constant %s does not exist in class %s', $name, $this->reflection->getName() - )); - } - - - /** - * @param string $name - * @return ReflectionConstant - */ - public function getConstant($name) - { - return $this->getConstantReflection($name); - } - - - /** - * @param string $name - * @return bool - */ - public function hasConstant($name) - { - return isset($this->getConstants()[$name]); - } - - - /** - * @param string $name - * @return bool - */ - public function hasOwnConstant($name) - { - return isset($this->getOwnConstants()[$name]); - } - - - /** - * @param string $name - * @return ReflectionConstant - */ - public function getOwnConstant($name) - { - if (isset($this->getOwnConstants()[$name])) { - return $this->getOwnConstants()[$name]; - } - - throw new InvalidArgumentException(sprintf( - 'Constant %s does not exist in class %s', $name, $this->reflection->getName() - )); - } - - - /** - * @return ReflectionClass - */ - public function getParentClass() - { - if ($className = $this->reflection->getParentClassName()) { - return $this->getParsedClasses()[$className]; - } - return $className; - } - - - /** - * @return string|NULL - */ - public function getParentClassName() - { - return $this->reflection->getParentClassName(); - } - - - /** - * @return ReflectionClass[] - */ - public function getParentClasses() - { - if ($this->parentClasses === NULL) { - $this->parentClasses = array_map(function (IReflectionClass $class) { - return $this->getParsedClasses()[$class->getName()]; - }, $this->reflection->getParentClasses()); - } - return $this->parentClasses; - } - - - /** - * @return array - */ - public function getParentClassNameList() - { - return $this->reflection->getParentClassNameList(); - } - - - /** - * @param string|object $interface - * @return bool - */ - public function implementsInterface($interface) - { - return $this->reflection->implementsInterface($interface); - } - - - /** - * @return ReflectionClass[]|array - */ - public function getInterfaces() - { - return array_map(function (IReflectionClass $class) { - return $this->getParsedClasses()[$class->getName()]; - }, $this->reflection->getInterfaces()); - } - - - /** - * @return ReflectionClass[]|array - */ - public function getOwnInterfaces() - { - return array_map(function (IReflectionClass $class) { - return $this->getParsedClasses()[$class->getName()]; - }, $this->reflection->getOwnInterfaces()); - } - - - /** - * @return string[] - */ - public function getOwnInterfaceNames() - { - return $this->reflection->getOwnInterfaceNames(); - } - - - /** - * @return ReflectionClass[]|string[] - */ - public function getTraits() - { - return array_map(function (IReflectionClass $class) { - if ( ! isset($this->getParsedClasses()[$class->getName()])) { - return $class->getName(); - - } else { - return $this->getParsedClasses()[$class->getName()]; - } - }, $this->reflection->getTraits()); - } - - - /** - * @return array - */ - public function getTraitNames() - { - return $this->reflection->getTraitNames(); - } - - - /** - * @return array - */ - public function getOwnTraitNames() - { - return $this->reflection->getOwnTraitNames(); - } - - - /** - * @return array - */ - public function getTraitAliases() - { - return $this->reflection->getTraitAliases(); - } - - - /** - * @return ReflectionClass[]|string[] - */ - public function getOwnTraits() - { - return array_map(function (IReflectionClass $class) { - if ( ! isset($this->getParsedClasses()[$class->getName()])) { - return $class->getName(); - - } else { - return $this->getParsedClasses()[$class->getName()]; - } - }, $this->reflection->getOwnTraits()); - } - - - /** - * @return bool - */ - public function isTrait() - { - return $this->reflection->isTrait(); - } - - - /** - * @param string $trait - * @return bool - */ - public function usesTrait($trait) - { - return $this->reflection->usesTrait($trait); - } - - - /** - * @return ReflectionClass[]|array - */ - public function getDirectSubClasses() - { - $subClasses = []; - foreach ($this->getParsedClasses() as $class) { - if ($class->isDocumented() && $this->getName() === $class->getParentClassName()) { - $subClasses[] = $class; - } - } - uksort($subClasses, 'strcasecmp'); - return $subClasses; - } - - - /** - * @return ReflectionClass[]|array - */ - public function getIndirectSubClasses() - { - $subClasses = []; - foreach ($this->getParsedClasses() as $class) { - if ($class->isDocumented() && $this->getName() !== $class->getParentClassName() - && $class->isSubclassOf($this->getName()) - ) { - $subClasses[] = $class; - } - } - uksort($subClasses, 'strcasecmp'); - return $subClasses; - } - - - /** - * @return array - */ - public function getDirectImplementers() - { - if ( ! $this->isInterface()) { - return []; - } - return $this->parserResult->getDirectImplementersOfInterface($this); - } - - - /** - * @return array - */ - public function getIndirectImplementers() - { - if ( ! $this->isInterface()) { - return []; - } - return $this->parserResult->getIndirectImplementersOfInterface($this); - } - - - /** - * @return ReflectionClass[]|array - */ - public function getDirectUsers() - { - if ( ! $this->isTrait()) { - return []; - } - return $this->classTraitElementExtractor->getDirectUsers(); - } - - - /** - * @return ReflectionClass[]|array - */ - public function getIndirectUsers() - { - if ( ! $this->isTrait()) { - return []; - } - return $this->classTraitElementExtractor->getIndirectUsers(); - } - - - /** - * @return array {[ className => ReflectionMethod[] ]} - */ - public function getInheritedMethods() - { - return $this->parentClassElementExtractor->getInheritedMethods(); - } - - - /** - * @return array - */ - public function getInheritedMagicMethods() - { - return $this->classMagicElementExtractor->getInheritedMagicMethods(); - } - - - /** - * @return array - */ - public function getUsedMethods() - { - $usedMethods = $this->classTraitElementExtractor->getUsedMethods(); - return $this->sortUsedMethods($usedMethods); - } - - - /** - * @return array - */ - public function getUsedMagicMethods() - { - $usedMethods = $this->classMagicElementExtractor->getUsedMagicMethods(); - return $this->sortUsedMethods($usedMethods); - } - - - /** - * @return array - */ - public function getInheritedConstants() - { - return $this->parentClassElementExtractor->getInheritedConstants(); - } - - - /** - * @return array {[ className => ReflectionProperty[] ]} - */ - public function getInheritedProperties() - { - return $this->parentClassElementExtractor->getInheritedProperties(); - } - - - /** - * @return ReflectionPropertyMagic[]|array - */ - public function getInheritedMagicProperties() - { - return $this->classMagicElementExtractor->getInheritedMagicProperties(); - } - - - /** - * @return array {[ traitName => ReflectionProperty[] ]} - */ - public function getUsedProperties() - { - return $this->classTraitElementExtractor->getUsedProperties(); - } - - - /** - * @return array - */ - public function getUsedMagicProperties() - { - return $this->classMagicElementExtractor->getUsedMagicProperties(); - } - - - /** - * @param string $name - * @return bool - */ - public function hasProperty($name) - { - if ($this->properties === NULL) { - $this->getProperties(); - } - return isset($this->properties[$name]); - } - - - /** - * @param string $name - * @return bool - */ - public function hasMethod($name) - { - return isset($this->getMethods()[$name]); - } - - - /** - * @return bool - */ - public function isValid() - { - if ($this->reflection instanceof TokenReflection\Invalid\ReflectionClass) { - return FALSE; - } - - return TRUE; - } - - - /** - * @return bool - */ - public function isDocumented() - { - if ($this->isDocumented === NULL && parent::isDocumented()) { - $fileName = $this->reflection->getFilename(); - $skipDocPath = $this->configuration->getOption(CO::SKIP_DOC_PATH); - foreach ($skipDocPath as $mask) { - if (fnmatch($mask, $fileName, FNM_NOESCAPE)) { - $this->isDocumented = FALSE; - break; - } - } - } - - return $this->isDocumented; - } - - - /** - * @return bool - */ - public function isVisibilityLevelPublic() - { - return $this->getVisibilityLevel() & Visibility::IS_PUBLIC; - } - - - /** - * @return ReflectionFactory - */ - public function getReflectionFactory() - { - return $this->reflectionFactory; - } - - - /** - * @return int - */ - public function getVisibilityLevel() - { - return $this->configuration->getOption(CO::VISIBILITY_LEVELS); - } - - - /** - * @return array - */ - private function sortUsedMethods(array $usedMethods) - { - array_walk($usedMethods, function (&$methods) { - ksort($methods); - array_walk($methods, function (&$aliasedMethods) { - if ( ! isset($aliasedMethods['aliases'])) { - $aliasedMethods['aliases'] = []; - } - ksort($aliasedMethods['aliases']); - }); - }); - - return $usedMethods; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionConstant.php b/apigen/vendor/apigen/apigen/src/Reflection/ReflectionConstant.php deleted file mode 100644 index c465520e..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionConstant.php +++ /dev/null @@ -1,137 +0,0 @@ -reflection->getName(); - } - - - /** - * Returns the unqualified name (UQN). - * - * @return string - */ - public function getShortName() - { - return $this->reflection->getShortName(); - } - - - /** - * @return string - */ - public function getTypeHint() - { - if ($annotations = $this->getAnnotation('var')) { - list($types) = preg_split('~\s+|$~', $annotations[0], 2); - if ( ! empty($types)) { - return $types; - } - } - - try { - $type = gettype($this->getValue()); - if (strtolower($type) !== 'null') { - return $type; - } - - } catch (\Exception $e) { - return NULL; - } - } - - - /** - * @return ReflectionClass|NULL - */ - public function getDeclaringClass() - { - $className = $this->reflection->getDeclaringClassName(); - return $className === NULL ? NULL : $this->getParsedClasses()[$className]; - } - - - /** - * @return string|NULL - */ - public function getDeclaringClassName() - { - return $this->reflection->getDeclaringClassName(); - } - - - /** - * @return mixed - */ - public function getValue() - { - return $this->reflection->getValue(); - } - - - /** - * @return string - */ - public function getValueDefinition() - { - return $this->reflection->getValueDefinition(); - } - - - /** - * @return bool - */ - public function isValid() - { - if ($this->reflection instanceof TokenReflection\Invalid\ReflectionConstant) { - return FALSE; - } - - if ($class = $this->getDeclaringClass()) { - return $class->isValid(); - } - - return TRUE; - } - - - /** - * @return bool - */ - public function isDocumented() - { - if ($this->isDocumented === NULL && parent::isDocumented() && $this->reflection->getDeclaringClassName() === NULL) { - $fileName = $this->reflection->getFilename(); - $skipDocPath = $this->configuration->getOption(CO::SKIP_DOC_PATH); - foreach ($skipDocPath as $mask) { - if (fnmatch($mask, $fileName, FNM_NOESCAPE)) { - $this->isDocumented = FALSE; - break; - } - } - } - return $this->isDocumented; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionElement.php b/apigen/vendor/apigen/apigen/src/Reflection/ReflectionElement.php deleted file mode 100644 index 22f0448e..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionElement.php +++ /dev/null @@ -1,413 +0,0 @@ -reflection->getExtension(); - return $extension === NULL ? NULL : $this->reflectionFactory->createFromReflection($extension); - } - - - /** - * @return bool - */ - public function getExtensionName() - { - return $this->reflection->getExtensionName(); - } - - - /** - * @return int - */ - public function getStartPosition() - { - return $this->reflection->getStartPosition(); - } - - - /** - * @return int - */ - public function getEndPosition() - { - return $this->reflection->getEndPosition(); - } - - - /** - * @return bool - */ - public function isMain() - { - $main = $this->configuration->getOption(CO::MAIN); - return empty($main) || strpos($this->getName(), $main) === 0; - } - - - /** - * @return bool - */ - public function isDocumented() - { - if ($this->isDocumented === NULL) { - $this->isDocumented = $this->reflection->isTokenized() || $this->reflection->isInternal(); - - if ($this->isDocumented) { - $php = $this->configuration->getOption(CO::PHP); - $internal = $this->configuration->getOption(CO::INTERNAL); - - if ( ! $php && $this->reflection->isInternal()) { - $this->isDocumented = FALSE; - - } elseif ( ! $internal && ($internal = $this->reflection->getAnnotation('internal')) - && empty($internal[0]) - ) { - $this->isDocumented = FALSE; - - } elseif ($this->reflection->hasAnnotation('ignore')) { - $this->isDocumented = FALSE; - } - } - } - - return $this->isDocumented; - } - - - /** - * @return bool - */ - public function isDeprecated() - { - if ($this->reflection->isDeprecated()) { - return TRUE; - } - - if (($this instanceof ReflectionMethod || $this instanceof ReflectionProperty || $this instanceof ReflectionConstant) - && $class = $this->getDeclaringClass() - ) { - return $class->isDeprecated(); - } - - return FALSE; - } - - - /** - * @return bool - */ - public function inPackage() - { - return ($this->getPackageName() !== ''); - } - - - /** - * @return string - */ - public function getPackageName() - { - static $packages = []; - - if ($package = $this->getAnnotation('package')) { - $packageName = preg_replace('~\s+.*~s', '', $package[0]); - if (empty($packageName)) { - return ''; - } - - if ($subpackage = $this->getAnnotation('subpackage')) { - $subpackageName = preg_replace('~\s+.*~s', '', $subpackage[0]); - if ( ! empty($subpackageName) && strpos($subpackageName, $packageName) === 0) { - $packageName = $subpackageName; - - } else { - $packageName .= '\\' . $subpackageName; - } - } - $packageName = strtr($packageName, '._/', '\\\\\\'); - - $lowerPackageName = strtolower($packageName); - if ( ! isset($packages[$lowerPackageName])) { - $packages[$lowerPackageName] = $packageName; - } - - return $packages[$lowerPackageName]; - } - - return ''; - } - - - /** - * Returns element package name (including subpackage name). - * For internal elements returns "PHP", for elements in global space returns "None". - * - * @return string - */ - public function getPseudoPackageName() - { - if ($this->isInternal()) { - return 'PHP'; - } - - return $this->getPackageName() ?: 'None'; - } - - - /** - * @return bool - */ - public function inNamespace() - { - return $this->getNamespaceName() !== ''; - } - - - /** - * @return string - */ - public function getNamespaceName() - { - static $namespaces = []; - - $namespaceName = $this->reflection->getNamespaceName(); - - if ( ! $namespaceName) { - return $namespaceName; - } - - $lowerNamespaceName = strtolower($namespaceName); - if ( ! isset($namespaces[$lowerNamespaceName])) { - $namespaces[$lowerNamespaceName] = $namespaceName; - } - - return $namespaces[$lowerNamespaceName]; - } - - - /** - * Returns element namespace name. - * For internal elements returns "PHP", for elements in global space returns "None". - * - * @return string - */ - public function getPseudoNamespaceName() - { - return $this->isInternal() ? 'PHP' : $this->getNamespaceName() ?: 'None'; - } - - - /** - * @return string[] - */ - public function getNamespaceAliases() - { - return $this->reflection->getNamespaceAliases(); - } - - - /** - * @return string - */ - public function getShortDescription() - { - $short = $this->reflection->getAnnotation(ReflectionAnnotation::SHORT_DESCRIPTION); - if ( ! empty($short)) { - return $short; - } - - if ($this instanceof ReflectionProperty || $this instanceof ReflectionConstant) { - $var = $this->getAnnotation('var'); - list(, $short) = preg_split('~\s+|$~', $var[0], 2); - } - - return $short; - } - - - /** - * @return string - */ - public function getLongDescription() - { - $short = $this->getShortDescription(); - $long = $this->reflection->getAnnotation(ReflectionAnnotation::LONG_DESCRIPTION); - - if ( ! empty($long)) { - $short .= "\n\n" . $long; - } - - return $short; - } - - - /** - * @return string|bool - */ - public function getDocComment() - { - return $this->reflection->getDocComment(); - } - - - /** - * Returns reflection element annotations. - * Removes the short and long description. - * In case of classes, functions and constants, @package, @subpackage, @author and @license annotations - * are added from declaring files if not already present. - * - * @return array - */ - public function getAnnotations() - { - if ($this->annotations === NULL) { - $annotations = $this->reflection->getAnnotations(); - $annotations = array_change_key_case($annotations, CASE_LOWER); - - unset($annotations[ReflectionAnnotation::SHORT_DESCRIPTION]); - unset($annotations[ReflectionAnnotation::LONG_DESCRIPTION]); - - $annotations += $this->getAnnotationsFromReflection($this->reflection); - $this->annotations = $annotations; - } - - return $this->annotations; - } - - - /** - * @param string $annotation - * @return array - */ - public function getAnnotation($annotation) - { - $annotations = $this->getAnnotations(); - return isset($annotations[$annotation]) ? $annotations[$annotation] : NULL; - } - - - /** - * @param string $annotation - * @return bool - */ - public function hasAnnotation($annotation) - { - $annotations = $this->getAnnotations(); - return isset($annotations[$annotation]); - } - - - /** - * @param string $annotation - * @param string $value - * @return ReflectionElement - */ - public function addAnnotation($annotation, $value) - { - if ($this->annotations === NULL) { - $this->getAnnotations(); - } - $this->annotations[$annotation][] = $value; - - return $this; - } - - - /** - * @return TokenReflection\Invalid\ReflectionElement - */ - public function addReason(BaseException $reason) - { - $this->reasons[] = $reason; - return $this; - } - - - /** - * @return TokenReflection\Invalid\ReflectionElement - */ - public function getReasons() - { - return $this->reasons; - } - - - /** - * @return bool - */ - public function hasReasons() - { - return ! empty($this->reasons); - } - - - /** - * @param mixed $reflection - * @return array - */ - private function getAnnotationsFromReflection($reflection) - { - $fileLevel = [ - 'package' => TRUE, - 'subpackage' => TRUE, - 'author' => TRUE, - 'license' => TRUE, - 'copyright' => TRUE - ]; - - $annotations = []; - if ($reflection instanceof ReflectionClass || $reflection instanceof ReflectionFunction - || ($reflection instanceof ReflectionConstant && $reflection->getDeclaringClassName() === NULL) - ) { - foreach ($reflection->getFileReflection()->getAnnotations() as $name => $value) { - if (isset($fileLevel[$name]) && empty($annotations[$name])) { - $annotations[$name] = $value; - } - } - } - return $annotations; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionExtension.php b/apigen/vendor/apigen/apigen/src/Reflection/ReflectionExtension.php deleted file mode 100644 index 59847e59..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionExtension.php +++ /dev/null @@ -1,16 +0,0 @@ -reflection instanceof TokenReflection\Invalid\ReflectionFunction) { - return FALSE; - } - - return TRUE; - } - - - /** - * @return bool - */ - public function isDocumented() - { - if ($this->isDocumented === NULL && parent::isDocumented()) { - $fileName = $this->reflection->getFilename(); - $skipDocPath = $this->configuration->getOption(CO::SKIP_DOC_PATH); - foreach ($skipDocPath as $mask) { - if (fnmatch($mask, $fileName, FNM_NOESCAPE)) { - $this->isDocumented = FALSE; - break; - } - } - } - return $this->isDocumented; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionFunctionBase.php b/apigen/vendor/apigen/apigen/src/Reflection/ReflectionFunctionBase.php deleted file mode 100644 index 212968ea..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionFunctionBase.php +++ /dev/null @@ -1,138 +0,0 @@ -reflection->getShortName(); - } - - - /** - * @return bool - */ - public function returnsReference() - { - return $this->reflection->returnsReference(); - } - - - /** - * @return ReflectionParameter[] - */ - public function getParameters() - { - if ($this->parameters === NULL) { - $this->parameters = array_map(function (IReflectionParameter $parameter) { - return $this->reflectionFactory->createFromReflection($parameter); - }, $this->reflection->getParameters()); - - $annotations = (array) $this->getAnnotation('param'); - foreach ($annotations as $position => $annotation) { - if (isset($this->parameters[$position])) { - // Standard parameter - continue; - } - - $this->processAnnotation($annotation, $position); - } - } - - return $this->parameters; - } - - - /** - * @param int|string $key - * @return ReflectionParameter - */ - public function getParameter($key) - { - $parameters = $this->getParameters(); - - if (isset($parameters[$key])) { - return $parameters[$key]; - } - - foreach ($parameters as $parameter) { - if ($parameter->getName() === $key) { - return $parameter; - } - } - - throw new InvalidArgumentException(sprintf( - 'There is no parameter with name/position "%s" in function/method "%s"', $key, $this->getName() - )); - } - - - /** - * @return int - */ - public function getNumberOfParameters() - { - return count($this->getParameters()); - } - - - /** - * @return int - */ - public function getNumberOfRequiredParameters() - { - return $this->reflection->getNumberOfRequiredParameters(); - } - - - /** - * @param string $annotation - * @param int $position - */ - private function processAnnotation($annotation, $position) - { - if ( ! preg_match(self::PARAM_ANNOTATION, $annotation, $matches)) { - return; - } - - list(, $typeHint, $name) = $matches; - - $this->parameters[$position] = $this->reflectionFactory->createParameterMagic([ - 'name' => $name, - 'position' => $position, - 'typeHint' => $typeHint, - 'defaultValueDefinition' => NULL, - 'unlimited' => TRUE, - 'passedByReference' => FALSE, - 'declaringFunction' => $this - ]); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionMethod.php b/apigen/vendor/apigen/apigen/src/Reflection/ReflectionMethod.php deleted file mode 100644 index caa535d1..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionMethod.php +++ /dev/null @@ -1,186 +0,0 @@ -reflection->getDeclaringClassName(); - return $className === NULL ? NULL : $this->getParsedClasses()[$className]; - } - - - /** - * @return string|NULL - */ - public function getDeclaringClassName() - { - return $this->reflection->getDeclaringClassName(); - } - - - /** - * @return bool - */ - public function isAbstract() - { - return $this->reflection->isAbstract(); - } - - - /** - * @return bool - */ - public function isFinal() - { - return $this->reflection->isFinal(); - } - - - /** - * @return bool - */ - public function isStatic() - { - return $this->reflection->isStatic(); - } - - - /** - * @return bool - */ - public function isConstructor() - { - return $this->reflection->isConstructor(); - } - - - /** - * @return bool - */ - public function isDestructor() - { - return $this->reflection->isDestructor(); - } - - - /** - * @return ReflectionClass|NULL - */ - public function getDeclaringTrait() - { - $traitName = $this->reflection->getDeclaringTraitName(); - return $traitName === NULL ? NULL : $this->getParsedClasses()[$traitName]; - } - - - /** - * @return string|NULL - */ - public function getDeclaringTraitName() - { - return $this->reflection->getDeclaringTraitName(); - } - - - /** - * @return ReflectionMethod|NULL - */ - public function getImplementedMethod() - { - foreach ($this->getDeclaringClass()->getOwnInterfaces() as $interface) { - if ($interface->hasMethod($this->getName())) { - return $interface->getMethod($this->getName()); - } - } - return NULL; - } - - - /** - * @return ReflectionMethod|NULL - */ - public function getOverriddenMethod() - { - $parent = $this->getDeclaringClass()->getParentClass(); - if ($parent === NULL) { - return NULL; - } - - foreach ($parent->getMethods() as $method) { - if ($method->getName() === $this->getName()) { - if ( ! $method->isPrivate() && ! $method->isAbstract()) { - return $method; - - } else { - return NULL; - } - } - } - - return NULL; - } - - - /** - * @return ReflectionMethod|NULL - */ - public function getOriginal() - { - $originalName = $this->reflection->getOriginalName(); - if ($originalName === NULL) { - return NULL; - } - $originalDeclaringClassName = $this->reflection->getOriginal()->getDeclaringClassName(); - return $this->getParsedClasses()[$originalDeclaringClassName]->getMethod($originalName); - } - - - /** - * @return string|NULL - */ - public function getOriginalName() - { - return $this->reflection->getOriginalName(); - } - - - /** - * @return bool - */ - public function isValid() - { - if ($class = $this->getDeclaringClass()) { - return $class->isValid(); - } - - return TRUE; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionMethodMagic.php b/apigen/vendor/apigen/apigen/src/Reflection/ReflectionMethodMagic.php deleted file mode 100644 index ee8f78a8..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionMethodMagic.php +++ /dev/null @@ -1,445 +0,0 @@ -name = $settings['name']; - $this->shortDescription = $settings['shortDescription']; - $this->startLine = $settings['startLine']; - $this->endLine = $settings['endLine']; - $this->returnsReference = $settings['returnsReference']; - $this->declaringClass = $settings['declaringClass']; - $this->annotations = $settings['annotations']; - - $this->reflectionType = get_class($this); - } - - - /** - * @return string - */ - public function getName() - { - return $this->name; - } - - - /** - * @return string - */ - public function getShortDescription() - { - return $this->shortDescription; - } - - - /** - * @return string - */ - public function getLongDescription() - { - return $this->shortDescription; - } - - - /** - * @return bool - */ - public function returnsReference() - { - return $this->returnsReference; - } - - - /** - * @return bool - */ - public function isMagic() - { - return TRUE; - } - - - /** - * Returns the unqualified name (UQN). - * - * @return string - */ - public function getShortName() - { - return $this->name; - } - - - /** - * @return bool - */ - public function isDeprecated() - { - return $this->declaringClass->isDeprecated(); - } - - - /** - * @return string - */ - public function getPackageName() - { - return $this->declaringClass->getPackageName(); - } - - - /** - * @return string - */ - public function getNamespaceName() - { - return $this->declaringClass->getNamespaceName(); - } - - - /** - * @return array - */ - public function getAnnotations() - { - if ($this->annotations === NULL) { - $this->annotations = []; - } - return $this->annotations; - } - - - /** - * @return ReflectionClass - */ - public function getDeclaringClass() - { - return $this->declaringClass; - } - - - /** - * @return string - */ - public function getDeclaringClassName() - { - return $this->declaringClass->getName(); - } - - - /** - * @return bool - */ - public function isAbstract() - { - return FALSE; - } - - - /** - * @return bool - */ - public function isFinal() - { - return FALSE; - } - - - /** - * @return bool - */ - public function isPrivate() - { - return FALSE; - } - - - /** - * @return bool - */ - public function isProtected() - { - return FALSE; - } - - - /** - * @return bool - */ - public function isPublic() - { - return TRUE; - } - - - /** - * @return bool - */ - public function isStatic() - { - return FALSE; - } - - - /** - * @return bool - */ - public function isConstructor() - { - return FALSE; - } - - - /** - * @return bool - */ - public function isDestructor() - { - return FALSE; - } - - - /** - * @return ReflectionClass|NULL - */ - public function getDeclaringTrait() - { - return $this->declaringClass->isTrait() ? $this->declaringClass : NULL; - } - - - /** - * @return string|NULL - */ - public function getDeclaringTraitName() - { - if ($declaringTrait = $this->getDeclaringTrait()) { - return $declaringTrait->getName(); - } - return NULL; - } - - - /** - * @return ReflectionMethod|NULL - */ - public function getImplementedMethod() - { - return NULL; - } - - - /** - * @return ReflectionMethod|NULL - */ - public function getOverriddenMethod() - { - $parent = $this->declaringClass->getParentClass(); - if ($parent === NULL) { - return NULL; - } - - foreach ($parent->getMagicMethods() as $method) { - if ($method->getName() === $this->name) { - return $method; - } - } - - return NULL; - } - - - /** - * @return string - */ - public function getOriginalName() - { - return $this->getName(); - } - - - /** - * @return ReflectionMethod|NULL - */ - public function getOriginal() - { - return NULL; - } - - - /** - * @return array - */ - public function getParameters() - { - return $this->parameters; - } - - - public function setParameters(array $parameters) - { - $this->parameters = $parameters; - } - - - /** - * @return int - */ - public function getNumberOfParameters() - { - return count($this->parameters); - } - - - /** - * @return int - */ - public function getNumberOfRequiredParameters() - { - $count = 0; - array_walk($this->parameters, function (ReflectionParameter $parameter) use (&$count) { - if ( ! $parameter->isOptional()) { - $count++; - } - }); - return $count; - } - - - /** - * Returns imported namespaces and aliases from the declaring namespace. - * - * @return array - */ - public function getNamespaceAliases() - { - return $this->declaringClass->getNamespaceAliases(); - } - - - /** - * Returns an property pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return sprintf('%s::%s()', $this->declaringClass->getName(), $this->name); - } - - - /** - * @return string - */ - public function getFileName() - { - return $this->declaringClass->getFileName(); - } - - - /** - * @return bool - */ - public function isTokenized() - { - return TRUE; - } - - - /** - * @return string - */ - public function getDocComment() - { - $docComment = "/**\n"; - - if ( ! empty($this->shortDescription)) { - $docComment .= $this->shortDescription . "\n\n"; - } - - if ($annotations = $this->getAnnotation('param')) { - foreach ($annotations as $annotation) { - $docComment .= sprintf("@param %s\n", $annotation); - } - } - - if ($annotations = $this->getAnnotation('return')) { - foreach ($annotations as $annotation) { - $docComment .= sprintf("@return %s\n", $annotation); - } - } - - $docComment .= "*/\n"; - - return $docComment; - } - - - /** - * @param string $name - * @return bool - */ - public function hasAnnotation($name) - { - $annotations = $this->getAnnotations(); - return array_key_exists($name, $annotations); - } - - - /** - * @param string $name - * @return string|array|NULL - */ - public function getAnnotation($name) - { - $annotations = $this->getAnnotations(); - if (array_key_exists($name, $annotations)) { - return $annotations[$name]; - } - return NULL; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionParameter.php b/apigen/vendor/apigen/apigen/src/Reflection/ReflectionParameter.php deleted file mode 100644 index 9bbae88f..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionParameter.php +++ /dev/null @@ -1,208 +0,0 @@ -isArray()) { - return 'array'; - - } elseif ($this->isCallable()) { - return 'callable'; - - } elseif ($className = $this->getClassName()) { - return $className; - - } elseif ($annotations = $this->getDeclaringFunction()->getAnnotation('param')) { - if ( ! empty($annotations[$this->getPosition()])) { - list($types) = preg_split('~\s+|$~', $annotations[$this->getPosition()], 2); - if ( ! empty($types) && $types[0] !== '$') { - return $types; - } - } - } - } - - - /** - * @return string - */ - public function getDescription() - { - $annotations = $this->getDeclaringFunction()->getAnnotation('param'); - if (empty($annotations[$this->getPosition()])) { - return ''; - } - - $description = trim(strpbrk($annotations[$this->getPosition()], "\n\r\t ")); - return preg_replace('~^(\\$' . $this->getName() . '(?:,\\.{3})?)(\\s+|$)~i', '\\2', $description, 1); - } - - - /** - * @return string - */ - public function getDefaultValueDefinition() - { - return $this->reflection->getDefaultValueDefinition(); - } - - - /** - * @return bool - */ - public function isDefaultValueAvailable() - { - return $this->reflection->isDefaultValueAvailable(); - } - - - /** - * @return int - */ - public function getPosition() - { - return $this->reflection->getPosition(); - } - - - /** - * @return bool - */ - public function isArray() - { - return $this->reflection->isArray(); - } - - - /** - * @return bool - */ - public function isCallable() - { - return $this->reflection->isCallable(); - } - - - /** - * @return ReflectionClass|NULL - */ - public function getClass() - { - $className = $this->reflection->getClassName(); - return $className === NULL ? NULL : $this->getParsedClasses()[$className]; - } - - - /** - * @return string|NULL - */ - public function getClassName() - { - return $this->reflection->getClassName(); - } - - - /** - * @return bool - */ - public function allowsNull() - { - return $this->reflection->allowsNull(); - } - - - /** - * @return bool - */ - public function isOptional() - { - return $this->reflection->isOptional(); - } - - - /** - * @return bool - */ - public function isPassedByReference() - { - return $this->reflection->isPassedByReference(); - } - - - /** - * @return bool - */ - public function canBePassedByValue() - { - return $this->reflection->canBePassedByValue(); - } - - - /** - * @return ReflectionFunctionBase - */ - public function getDeclaringFunction() - { - $functionName = $this->reflection->getDeclaringFunctionName(); - - if ($className = $this->reflection->getDeclaringClassName()) { - return $this->getParsedClasses()[$className]->getMethod($functionName); - - } else { - return $this->parserResult->getFunctions()[$functionName]; - } - } - - - /** - * @return string - */ - public function getDeclaringFunctionName() - { - return $this->reflection->getDeclaringFunctionName(); - } - - - /** - * @return ReflectionClass|NULL - */ - public function getDeclaringClass() - { - $className = $this->reflection->getDeclaringClassName(); - return $className === NULL ? NULL : $this->getParsedClasses()[$className]; - } - - - /** - * @return string|NULL - */ - public function getDeclaringClassName() - { - return $this->reflection->getDeclaringClassName(); - } - - - /** - * @return bool - */ - public function isUnlimited() - { - return FALSE; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionParameterMagic.php b/apigen/vendor/apigen/apigen/src/Reflection/ReflectionParameterMagic.php deleted file mode 100644 index e520b9e2..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionParameterMagic.php +++ /dev/null @@ -1,295 +0,0 @@ -name = $settings['name']; - $this->position = $settings['position']; - $this->typeHint = $settings['typeHint']; - $this->defaultValueDefinition = $settings['defaultValueDefinition']; - $this->unlimited = $settings['unlimited']; - $this->passedByReference = $settings['passedByReference']; - $this->declaringFunction = $settings['declaringFunction']; - - $this->reflectionType = get_class($this); - } - - - /** - * @return string - */ - public function getName() - { - return $this->name; - } - - - /** - * @return string - */ - public function getTypeHint() - { - return $this->typeHint; - } - - - /** - * @return string - */ - public function getFileName() - { - return $this->declaringFunction->getFileName(); - } - - - /** - * @return bool - */ - public function isTokenized() - { - return TRUE; - } - - - /** - * @return string - */ - public function getPrettyName() - { - return str_replace('()', '($' . $this->name . ')', $this->declaringFunction->getPrettyName()); - } - - - /** - * @return ReflectionClass - */ - public function getDeclaringClass() - { - return $this->declaringFunction->getDeclaringClass(); - } - - - /** - * @return string - */ - public function getDeclaringClassName() - { - return $this->declaringFunction->getDeclaringClassName(); - } - - - /** - * @return ReflectionMethod - */ - public function getDeclaringFunction() - { - return $this->declaringFunction; - } - - - /** - * @return string - */ - public function getDeclaringFunctionName() - { - return $this->declaringFunction->getName(); - } - - - /** - * @return int - */ - public function getStartLine() - { - return $this->declaringFunction->getStartLine(); - } - - - /** - * @return int - */ - public function getEndLine() - { - return $this->declaringFunction->getEndLine(); - } - - - /** - * {@inheritdoc} - */ - public function getDocComment() - { - return ''; - } - - - /** - * @return string - */ - public function getDefaultValueDefinition() - { - return $this->defaultValueDefinition; - } - - - /** - * @return bool - */ - public function isDefaultValueAvailable() - { - return (bool) $this->defaultValueDefinition; - } - - - /** - * @return int - */ - public function getPosition() - { - return $this->position; - } - - - /** - * @return bool - */ - public function isArray() - { - return TokenReflection\ReflectionParameter::ARRAY_TYPE_HINT === $this->typeHint; - } - - - /** - * @return bool - */ - public function isCallable() - { - return TokenReflection\ReflectionParameter::CALLABLE_TYPE_HINT === $this->typeHint; - } - - - /** - * @return ReflectionClass|NULL - */ - public function getClass() - { - $className = $this->getClassName(); - return $className === NULL ? NULL : $this->getParsedClasses()[$className]; - } - - - /** - * @return string|NULL - */ - public function getClassName() - { - if ($this->isArray() || $this->isCallable()) { - return NULL; - } - if (isset($this->getParsedClasses()[$this->typeHint])) { - return $this->typeHint; - } - - return NULL; - } - - - /** - * @return bool - */ - public function allowsNull() - { - if ($this->isArray() || $this->isCallable()) { - return strtolower($this->defaultValueDefinition) === 'null'; - } - - return ! empty($this->defaultValueDefinition); - } - - - /** - * @return bool - */ - public function isOptional() - { - return $this->isDefaultValueAvailable(); - } - - - /** - * @return bool - */ - public function isPassedByReference() - { - return $this->passedByReference; - } - - - /** - * @return bool - */ - public function canBePassedByValue() - { - return FALSE; - } - - - /** - * @return bool - */ - public function isUnlimited() - { - return $this->unlimited; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionProperty.php b/apigen/vendor/apigen/apigen/src/Reflection/ReflectionProperty.php deleted file mode 100644 index a4df4c14..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionProperty.php +++ /dev/null @@ -1,157 +0,0 @@ -getAnnotation('var')) { - list($types) = preg_split('~\s+|$~', $annotations[0], 2); - if ( ! empty($types) && $types[0] !== '$') { - return $types; - } - } - - try { - $type = gettype($this->getDefaultValue()); - if (strtolower($type) !== 'null') { - return $type; - } - - } catch (\Exception $e) { - return; - } - } - - - /** - * @return ReflectionClass|null - */ - public function getDeclaringClass() - { - $className = $this->reflection->getDeclaringClassName(); - return $className === NULL ? NULL : $this->getParsedClasses()[$className]; - } - - - /** - * @return string - */ - public function getDeclaringClassName() - { - return $this->reflection->getDeclaringClassName(); - } - - - /** - * @return mixed - */ - public function getDefaultValue() - { - return $this->reflection->getDefaultValue(); - } - - - /** - * @return string - */ - public function getDefaultValueDefinition() - { - return $this->reflection->getDefaultValueDefinition(); - } - - - /** - * @return bool - */ - public function isDefault() - { - return $this->reflection->isDefault(); - } - - - /** - * @return bool - */ - public function isStatic() - { - return $this->reflection->isStatic(); - } - - - /** - * @return ReflectionClass|null - */ - public function getDeclaringTrait() - { - $traitName = $this->reflection->getDeclaringTraitName(); - return $traitName === NULL ? NULL : $this->getParsedClasses()[$traitName]; - } - - - /** - * @return string|null - */ - public function getDeclaringTraitName() - { - return $this->reflection->getDeclaringTraitName(); - } - - - /** - * @return bool - */ - public function isValid() - { - if ($class = $this->getDeclaringClass()) { - return $class->isValid(); - } - - return TRUE; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionPropertyMagic.php b/apigen/vendor/apigen/apigen/src/Reflection/ReflectionPropertyMagic.php deleted file mode 100644 index 1d9b5fad..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/ReflectionPropertyMagic.php +++ /dev/null @@ -1,377 +0,0 @@ -name = $options['name']; - $this->typeHint = $options['typeHint']; - $this->shortDescription = $options['shortDescription']; - $this->startLine = $options['startLine']; - $this->endLine = $options['endLine']; - $this->readOnly = $options['readOnly']; - $this->writeOnly = $options['writeOnly']; - $this->declaringClass = $options['declaringClass']; - $this->addAnnotation('var', $options['typeHint']); - $this->reflectionType = get_class($this); - } - - - /** - * @return string - */ - public function getName() - { - return $this->name; - } - - - /** - * @return string - */ - public function getTypeHint() - { - return $this->typeHint; - } - - - /** - * @return bool - */ - public function getWriteOnly() - { - return $this->writeOnly; - } - - - /** - * @return string - */ - public function getShortDescription() - { - return $this->shortDescription; - } - - - /** - * @return string - */ - public function getLongDescription() - { - return $this->longDescription; - } - - - /** - * @return bool - */ - public function isReadOnly() - { - return $this->readOnly; - } - - - /** - * @return bool - */ - public function isMagic() - { - return TRUE; - } - - - /** - * @return bool - */ - public function isDeprecated() - { - return $this->declaringClass->isDeprecated(); - } - - - /** - * @return string - */ - public function getPackageName() - { - return $this->declaringClass->getPackageName(); - } - - - /** - * @return string - */ - public function getNamespaceName() - { - return $this->declaringClass->getNamespaceName(); - } - - - /** - * @return array - */ - public function getAnnotations() - { - if ($this->annotations === NULL) { - $this->annotations = []; - } - return $this->annotations; - } - - - /** - * @return string - */ - public function getDeclaringClassName() - { - return $this->declaringClass->getName(); - } - - - /** - * @return ReflectionClass - */ - public function getDeclaringClass() - { - return $this->declaringClass; - } - - - /** - * @return $this - */ - public function setDeclaringClass(ReflectionClass $declaringClass) - { - $this->declaringClass = $declaringClass; - return $this; - } - - - /** - * @return mixed - */ - public function getDefaultValue() - { - return NULL; - } - - - /** - * @return string - */ - public function getDefaultValueDefinition() - { - return ''; - } - - - /** - * @return bool - */ - public function isDefault() - { - return FALSE; - } - - - /** - * @return bool - */ - public function isPrivate() - { - return FALSE; - } - - - /** - * @return bool - */ - public function isProtected() - { - return FALSE; - } - - - /** - * @return bool - */ - public function isPublic() - { - return TRUE; - } - - - /** - * @return bool - */ - public function isStatic() - { - return FALSE; - } - - - /** - * @return ReflectionClass|NULL - */ - public function getDeclaringTrait() - { - return $this->declaringClass->isTrait() ? $this->declaringClass : NULL; - } - - - /** - * @return string|NULL - */ - public function getDeclaringTraitName() - { - if ($declaringTrait = $this->getDeclaringTrait()) { - return $declaringTrait->getName(); - } - return NULL; - } - - - /** - * @return array - */ - public function getNamespaceAliases() - { - return $this->declaringClass->getNamespaceAliases(); - } - - - /** - * Returns an property pretty (docblock compatible) name. - * - * @return string - */ - public function getPrettyName() - { - return sprintf('%s::$%s', $this->declaringClass->getName(), $this->name); - } - - - /** - * @return string - */ - public function getFileName() - { - return $this->declaringClass->getFileName(); - } - - - /** - * @return bool - */ - public function isTokenized() - { - return TRUE; - } - - - /** - * @return string - */ - public function getDocComment() - { - $docComment = "/**\n"; - - if ( ! empty($this->shortDescription)) { - $docComment .= $this->shortDescription . "\n\n"; - } - - if ($annotations = $this->getAnnotation('var')) { - $docComment .= sprintf("@var %s\n", $annotations[0]); - } - - $docComment .= "*/\n"; - - return $docComment; - } - - - /** - * @param string $name - * @return bool - */ - public function hasAnnotation($name) - { - $annotations = $this->getAnnotations(); - return array_key_exists($name, $annotations); - } - - - /** - * @param string $name - * @return string|array|NULL - */ - public function getAnnotation($name) - { - $annotations = $this->getAnnotations(); - if (array_key_exists($name, $annotations)) { - return $annotations[$name]; - } - return NULL; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Reflection/TokenReflection/Reflection.php b/apigen/vendor/apigen/apigen/src/Reflection/TokenReflection/Reflection.php deleted file mode 100644 index 4d9a5572..00000000 --- a/apigen/vendor/apigen/apigen/src/Reflection/TokenReflection/Reflection.php +++ /dev/null @@ -1,65 +0,0 @@ -configuration = $configuration; - $this->parserResult = $parserResult; - } - - - /** - * @param IReflectionClass|IReflectionConstant|IReflectionFunction $tokenReflection - * @return ReflectionClass|ReflectionConstant|ReflectionMethod - */ - public function createFromReflection($tokenReflection) - { - $reflection = $this->createByReflectionType($tokenReflection); - return $this->setDependencies($reflection); - } - - - /** - * @return ReflectionMethodMagic - */ - public function createMethodMagic(array $settings) - { - $reflection = new ReflectionMethodMagic($settings); - return $this->setDependencies($reflection); - } - - - /** - * @return ReflectionParameterMagic - */ - public function createParameterMagic(array $settings) - { - $reflection = new ReflectionParameterMagic($settings); - return $this->setDependencies($reflection); - } - - - /** - * @return ReflectionPropertyMagic - */ - public function createPropertyMagic(array $settings) - { - $reflection = new ReflectionPropertyMagic($settings); - return $this->setDependencies($reflection); - - } - - - /** - * @param IReflectionClass|IReflectionConstant|IReflectionMethod $reflection - * @return ReflectionClass|ReflectionConstant|ReflectionMethod - */ - private function createByReflectionType($reflection) - { - if ($reflection instanceof IReflectionClass) { - return new ReflectionClass($reflection); - - } elseif ($reflection instanceof IReflectionConstant) { - return new ReflectionConstant($reflection); - - } elseif ($reflection instanceof IReflectionMethod) { - return new ReflectionMethod($reflection); - - } elseif ($reflection instanceof IReflectionProperty) { - return new ReflectionProperty($reflection); - - } elseif ($reflection instanceof IReflectionParameter) { - return new ReflectionParameter($reflection); - - } elseif ($reflection instanceof IReflectionFunction) { - return new ReflectionFunction($reflection); - - } elseif ($reflection instanceof IReflectionExtension) { - return new ReflectionExtension($reflection); - } - - throw new RuntimeException('Invalid reflection class type ' . get_class($reflection)); - } - - - /** - * @return ReflectionBase - */ - private function setDependencies(ReflectionBase $reflection) - { - $reflection->setConfiguration($this->configuration); - $reflection->setParserResult($this->parserResult); - $reflection->setReflectionFactory($this); - return $reflection; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Renderer.php b/apigen/vendor/apigen/apigen/src/Renderer.php new file mode 100644 index 00000000..121a7a78 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer.php @@ -0,0 +1,12 @@ +primary; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteCascadingLoader.php b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteCascadingLoader.php new file mode 100644 index 00000000..60dbf2af --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteCascadingLoader.php @@ -0,0 +1,68 @@ +baseDirs as $baseDir) { + $path = $baseDir . '/' . $name; + + if (is_file($path)) { + return $this->inner->getContent($path); + } + } + + throw new Latte\RuntimeException("Missing template file '$name'."); + } + + + public function isExpired(string $name, int $time): bool + { + foreach ($this->baseDirs as $baseDir) { + $path = $baseDir . '/' . $name; + + if (is_file($path)) { + return $this->inner->isExpired($path, $time); + } + } + + throw new Latte\RuntimeException("Missing template file '$name'."); + } + + + public function getReferredName(string $name, string $referringName): string + { + return $this->inner->getReferredName($name, $referringName); + } + + + public function getUniqueId(string $name): string + { + foreach ($this->baseDirs as $baseDir) { + $path = $baseDir . '/' . $name; + + if (is_file($path)) { + return $this->inner->getUniqueId($path); + } + } + + throw new Latte\RuntimeException("Missing template file '$name'."); + } +} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteEngineFactory.php b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteEngineFactory.php new file mode 100644 index 00000000..10c64b21 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteEngineFactory.php @@ -0,0 +1,32 @@ +setStrictTypes(); + $latte->setExceptionHandler(fn(Throwable $e) => throw $e); + $latte->setTempDirectory($this->tempDir); + $latte->setLoader(new LatteCascadingLoader(array_filter([$this->themeDir, __DIR__ . '/Template']))); + $latte->addExtension($this->extension); + + return $latte; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteExtension.php b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteExtension.php new file mode 100644 index 00000000..b967490b --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteExtension.php @@ -0,0 +1,72 @@ + $this->functions->isClass(...), + 'isInterface' => $this->functions->isInterface(...), + 'isTrait' => $this->functions->isTrait(...), + 'isEnum' => $this->functions->isEnum(...), + + 'textWidth' => $this->functions->textWidth(...), + 'htmlWidth' => $this->functions->htmlWidth(...), + 'highlight' => $this->functions->highlight(...), + 'shortDescription' => $this->functions->shortDescription(...), + 'longDescription' => $this->functions->longDescription(...), + + 'treePageExists' => $this->filter->filterTreePage(...), + 'namespacePageExists' => $this->filter->filterNamespacePage(...), + 'classLikePageExists' => $this->filter->filterClassLikePage(...), + 'functionPageExists' => $this->filter->filterFunctionPage(...), + 'sourcePageExists' => $this->filter->filterSourcePage(...), + + 'elementName' => $this->functions->elementName(...), + 'elementShortDescription' => $this->functions->elementShortDescription(...), + 'elementPageExists' => $this->functions->elementPageExists(...), + 'elementUrl' => $this->functions->elementUrl(...), + + 'relativePath' => $this->url->getRelativePath(...), + 'assetUrl' => $this->url->getAssetUrl(...), + 'indexUrl' => $this->url->getIndexUrl(...), + 'treeUrl' => $this->url->getTreeUrl(...), + 'namespaceUrl' => $this->url->getNamespaceUrl(...), + 'classLikeUrl' => $this->url->getClassLikeUrl(...), + 'classLikeSourceUrl' => $this->url->getClassLikeSourceUrl(...), + 'memberUrl' => $this->url->getMemberUrl(...), + 'memberAnchor' => $this->url->getMemberAnchor(...), + 'memberSourceUrl' => $this->url->getMemberSourceUrl(...), + 'aliasUrl' => $this->url->getAliasUrl(...), + 'aliasAnchor' => $this->url->getAliasAnchor(...), + 'aliasSourceUrl' => $this->url->getAliasSourceUrl(...), + 'functionUrl' => $this->url->getFunctionUrl(...), + 'functionSourceUrl' => $this->url->getFunctionSourceUrl(...), + 'parameterAnchor' => $this->url->getParameterAnchor(...), + 'sourceUrl' => $this->url->getSourceUrl(...), + ]; + } + + + public function getTags(): array + { + return [ + 'pre' => LattePreNode::create(...), + ]; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteFunctions.php b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteFunctions.php new file mode 100644 index 00000000..043fd42a --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteFunctions.php @@ -0,0 +1,266 @@ +textWidth($text); + } + + + public function highlight(string $path): Html + { + return new Html($this->sourceHighlighter->highlight($path)); + } + + + /** + * @param PhpDocTextNode[]|string $nodes indexed by [] + */ + public function shortDescription(Index $index, ?ClassLikeInfo $classLike, array|string $nodes): Html + { + $description = is_array($nodes) ? $this->descriptionText($index, $classLike, $nodes) : $nodes; + $base = Strings::before($description, "\n\n") ?? $description; + $html = $this->markdown->convert($base)->getContent(); + return new Html(Strings::before($html, '

', 2) ?? $html); + } + + + /** + * @param PhpDocTextNode[]|string $nodes indexed by [] + */ + public function longDescription(Index $index, ?ClassLikeInfo $classLike, array|string $nodes): Html + { + $description = is_array($nodes) ? $this->descriptionText($index, $classLike, $nodes) : $nodes; + return new Html($this->markdown->convert($description)->getContent()); + } + + + public function elementName(ElementInfo $info): string + { + if ($info instanceof ClassLikeInfo || $info instanceof FunctionInfo) { + return $info->name->short; + + } elseif ($info instanceof NamespaceIndex) { + return $info->name->full === '' ? 'none' : $info->name->full; + + } else { + throw new \LogicException(sprintf('Unexpected element type %s', get_debug_type($info))); + } + } + + + public function elementShortDescription(Index $index, ?ClassLikeInfo $classLike, ElementInfo $info): Html + { + if ($info instanceof ClassLikeInfo || $info instanceof FunctionInfo) { + return $this->shortDescription($index, $classLike, $info->description); + + } elseif ($info instanceof NamespaceIndex) { + return new Html(''); + + } else { + throw new \LogicException(sprintf('Unexpected element type %s', get_debug_type($info))); + } + } + + + public function elementPageExists(ElementInfo $info): bool + { + if ($info instanceof ClassLikeInfo) { + return $this->filter->filterClassLikePage($info); + + } elseif ($info instanceof NamespaceIndex) { + return $this->filter->filterNamespacePage($info); + + } elseif ($info instanceof FunctionInfo) { + return $this->filter->filterFunctionPage($info); + + } else { + throw new \LogicException(sprintf('Unexpected element type %s', get_debug_type($info))); + } + } + + + public function elementUrl(ElementInfo $info): string + { + if ($info instanceof ClassLikeInfo) { + return $this->url->getClassLikeUrl($info); + + } elseif ($info instanceof NamespaceIndex) { + return $this->url->getNamespaceUrl($info); + + } elseif ($info instanceof FunctionInfo) { + return $this->url->getFunctionUrl($info); + + } else { + throw new \LogicException(sprintf('Unexpected element type %s', get_debug_type($info))); + } + } + + + /** + * @param PhpDocTextNode[] $nodes indexed by [] + */ + protected function descriptionText(Index $index, ?ClassLikeInfo $scope, array $nodes): string + { + $text = []; + + foreach ($nodes as $node) { + $url = null; + $title = null; + + foreach ($node->getAttribute('targets') ?? [] as $target) { + if ($target instanceof ClassLikeReferenceInfo) { + $classLike = $target->resolve($index, $scope); + + if ($classLike !== null && $this->filter->filterClassLikePage($classLike)) { + $url = $this->url->getClassLikeUrl($classLike); + $title = $classLike->name->full; + break; + } + + } elseif ($target instanceof MemberReferenceInfo) { + $classLike = $target->classLike->resolve($index, $scope); + + if ($classLike === null || !$this->filter->filterClassLikePage($classLike)) { + continue; + + } elseif ($target instanceof ConstantReferenceInfo) { + $member = $classLike->constants[$target->name] ?? null; + $memberLabel = $member?->name; + + } elseif ($target instanceof PropertyReferenceInfo) { + $member = $classLike->properties[$target->name] ?? null; + $memberLabel = $member !== null ? '$' . $member->name : null; + + } elseif ($target instanceof MethodReferenceInfo) { + $member = $classLike->methods[$target->nameLower] ?? null; + $memberLabel = $member !== null ? $member->name . '()' : null; + + } else { + throw new \LogicException('Unexpected member reference type: ' . get_debug_type($target)); + } + + if ($member !== null && $memberLabel !== null) { + $url = $this->url->getMemberUrl($classLike, $member); + $title = $classLike->name->full . '::' . $memberLabel; + break; + } + + } elseif ($target instanceof FunctionReferenceInfo) { + $function = $index->function[$target->fullLower] ?? null; + + if ($function !== null && $this->filter->filterFunctionPage($function)) { + $url = $this->url->getFunctionUrl($function); + $title = $function->name->full . '()'; + break; + + } elseif (function_exists($target->fullLower) && !str_contains($target->fullLower, '\\') && (new ReflectionFunction($target->fullLower))->isInternal()) { + $url = sprintf('https://www.php.net/manual/en/function.%s', strtr($target->fullLower, '_', '-')); + $title = $target->full . '()'; + break; + } + + } elseif (is_string($target) && Validators::isUrl($target)) { + $url = $target; + break; + } + } + + if ($url === null) { + $text[] = $node->text; + + } elseif ($title === null || $title === $node->text) { + $text[] = sprintf('[%s](%s)', $node->text, $url); + + } else { + $text[] = sprintf('[%s](%s "%s")', $node->text, $url, $title); + } + } + + return implode(' ', $text); + } +} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/LattePreNode.php b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LattePreNode.php new file mode 100644 index 00000000..fdc68a32 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LattePreNode.php @@ -0,0 +1,58 @@ + + */ + public static function create(Tag $tag, TemplateParser $parser): Generator + { + [$content] = yield; + assert($content instanceof AreaNode); + + $transformed = (new NodeTraverser)->traverse($content, self::removeWhitespace(...)); + assert($transformed instanceof AreaNode); + + return new self($transformed); + } + + + public function print(PrintContext $context): string + { + return $this->content->print($context); + } + + + public function &getIterator(): Generator + { + yield $this->content; + } + + + protected static function removeWhitespace(Node $node): Node + { + return $node instanceof TextNode ? new TextNode(Strings::replace($node->content, '#[\n\t]++#')) : $node; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTask.php b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTask.php new file mode 100644 index 00000000..d726eddf --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTask.php @@ -0,0 +1,15 @@ + + */ +class LatteRenderTaskHandler implements TaskHandler +{ + protected Index $index; + + protected ConfigParameters $config; + + public function __construct( + protected Latte\Engine $latte, + protected UrlGenerator $urlGenerator, + protected Filter $filter, + protected string $outputDir, + mixed $context, + ) { + assert($context instanceof LatteRenderTaskContext); + $this->index = $context->index; + $this->config = $context->config; + } + + + /** + * @param LatteRenderTask $task + */ + public function handle(Task $task): string + { + return match ($task->type) { + LatteRenderTaskType::Asset => $this->copyAsset($task->key), + + LatteRenderTaskType::ElementsJs => $this->renderElementsJs(), + LatteRenderTaskType::Index => $this->renderIndex(), + LatteRenderTaskType::Tree => $this->renderTree(), + LatteRenderTaskType::Sitemap => $this->renderSitemap(), + + LatteRenderTaskType::Namespace => $this->renderNamespace($task->key), + LatteRenderTaskType::ClassLike => $this->renderClassLike($task->key), + LatteRenderTaskType::Function => $this->renderFunction($task->key), + LatteRenderTaskType::Source => $this->renderSource($task->key), + }; + } + + + protected function copyAsset(string $key): string + { + $assetPath = $this->urlGenerator->getAssetPath(basename($key)); + FileSystem::copy($key, "$this->outputDir/$assetPath"); + + return $assetPath; + } + + + protected function renderElementsJs(): string + { + $elements = []; + + foreach ($this->index->namespace as $namespace) { + if ($this->filter->filterNamespacePage($namespace)) { + $elements['namespace'][] = [$namespace->name->full, $this->urlGenerator->getNamespaceUrl($namespace)]; + } + } + + foreach ($this->index->classLike as $classLike) { + if (!$this->filter->filterClassLikePage($classLike)) { + continue; + } + + $members = []; + + foreach ($classLike->constants as $constant) { + $members['constant'][] = [$constant->name, $this->urlGenerator->getMemberAnchor($constant)]; + } + + foreach ($classLike->properties as $property) { + $members['property'][] = [$property->name, $this->urlGenerator->getMemberAnchor($property)]; + } + + foreach ($classLike->methods as $method) { + $members['method'][] = [$method->name, $this->urlGenerator->getMemberAnchor($method)]; + } + + $elements['classLike'][] = [$classLike->name->full, $this->urlGenerator->getClassLikeUrl($classLike), $members]; + } + + foreach ($this->index->function as $function) { + if ($this->filter->filterFunctionPage($function)) { + $elements['function'][] = [$function->name->full, $this->urlGenerator->getFunctionUrl($function)]; + } + } + + $js = sprintf('window.ApiGen?.resolveElements(%s)', Json::encode($elements)); + $assetPath = $this->urlGenerator->getAssetPath('elements.js'); + FileSystem::write("$this->outputDir/$assetPath", $js); + + return $assetPath; + } + + + protected function renderIndex(): string + { + return $this->renderTemplate($this->urlGenerator->getIndexPath(), new IndexTemplate( + index: $this->index, + config: $this->config, + layout: new LayoutParameters(activePage: 'index'), + )); + } + + + protected function renderTree(): string + { + return $this->renderTemplate($this->urlGenerator->getTreePath(), new TreeTemplate( + index: $this->index, + config: $this->config, + layout: new LayoutParameters(activePage: 'tree'), + )); + } + + + protected function renderSitemap(): string + { + return $this->renderTemplate($this->urlGenerator->getSitemapPath(), new SitemapTemplate( + index: $this->index, + config: $this->config, + )); + } + + + protected function renderNamespace(string $key): string + { + $info = $this->index->namespace[$key]; + + return $this->renderTemplate($this->urlGenerator->getNamespacePath($info), new NamespaceTemplate( + index: $this->index, + config: $this->config, + layout: new LayoutParameters('namespace', activeNamespace: $info, noindex: !$info->primary), + namespace: $info, + )); + } + + + protected function renderClassLike(string $key): string + { + $info = $this->index->classLike[$key]; + $activeNamespace = $this->index->namespace[$info->name->namespaceLower]; + + return $this->renderTemplate($this->urlGenerator->getClassLikePath($info), new ClassLikeTemplate( + index: $this->index, + config: $this->config, + layout: new LayoutParameters('classLike', $activeNamespace, $info, noindex: !$info->primary), + classLike: $info, + )); + } + + + protected function renderFunction(string $key): string + { + $info = $this->index->function[$key]; + $activeNamespace = $this->index->namespace[$info->name->namespaceLower]; + + return $this->renderTemplate($this->urlGenerator->getFunctionPath($info), new FunctionTemplate( + index: $this->index, + config: $this->config, + layout: new LayoutParameters('function', $activeNamespace, $info, noindex: !$info->primary), + function: $info, + )); + } + + + protected function renderSource(string $key): string + { + $info = $this->index->files[$key]; + $activeElement = $info->classLike[array_key_first($info->classLike)] ?? $info->function[array_key_first($info->function)] ?? null; + $activeNamespace = $activeElement ? $this->index->namespace[$activeElement->name->namespaceLower] : null; + + return $this->renderTemplate($this->urlGenerator->getSourcePath($info->path), new SourceTemplate( + index: $this->index, + config: $this->config, + layout: new LayoutParameters('source', $activeNamespace, $activeElement, noindex: !$info->primary), + path: $info->path, + )); + } + + + protected function renderTemplate(string $outputPath, object $template): string + { + $className = (new ReflectionClass($template))->getShortName(); + $lattePath = 'pages/' . lcfirst(substr($className, 0, -8)) . '.latte'; + FileSystem::write("$this->outputDir/$outputPath", $this->latte->renderToString($lattePath, $template)); + + return $outputPath; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTaskHandlerFactory.php b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTaskHandlerFactory.php new file mode 100644 index 00000000..753dc6ac --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTaskHandlerFactory.php @@ -0,0 +1,17 @@ + + */ +interface LatteRenderTaskHandlerFactory extends TaskHandlerFactory +{ + /** + * @param LatteRenderTaskContext $context + */ + public function create(mixed $context): LatteRenderTaskHandler; +} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTaskType.php b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTaskType.php new file mode 100644 index 00000000..fb2e0827 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/LatteRenderTaskType.php @@ -0,0 +1,17 @@ +prepareOutputDir(); + $scheduler = $this->createScheduler($index); + + foreach ($this->getRenderTasks($index) as $task) { + $scheduler->schedule($task); + $progressBar->setMaxSteps($progressBar->getMaxSteps() + 1); + } + + foreach ($scheduler->process() as $path) { + $progressBar->setMessage($path); + $progressBar->advance(); + } + } + + + protected function prepareOutputDir(): void + { + FileSystem::delete($this->outputDir); + FileSystem::createDir($this->outputDir); + } + + + /** + * @return Scheduler + */ + protected function createScheduler(Index $index): Scheduler + { + $context = new LatteRenderTaskContext($index, new ConfigParameters($this->title, $this->version)); + return $this->schedulerFactory->create(LatteRenderTaskHandlerFactory::class, $context); + } + + + /** + * @return iterable + */ + protected function getRenderTasks(Index $index): iterable + { + yield from $this->getAssetsCopyTasks(); + yield from $this->getUnitRenderTasks(); + yield from $this->getNamespaceRenderTasks($index); + yield from $this->getClassLikeRenderTasks($index); + yield from $this->getFunctionRenderTasks($index); + yield from $this->getSourceRenderTasks($index); + } + + + /** + * @return iterable + */ + protected function getAssetsCopyTasks(): iterable + { + foreach (Finder::findFiles(__DIR__ . '/Template/assets/*') as $asset) { + yield new LatteRenderTask(LatteRenderTaskType::Asset, $asset->getPathname()); + } + } + + + /** + * @return iterable + */ + protected function getUnitRenderTasks(): iterable + { + yield new LatteRenderTask(LatteRenderTaskType::ElementsJs); + yield new LatteRenderTask(LatteRenderTaskType::Index); + + if ($this->filter->filterTreePage()) { + yield new LatteRenderTask(LatteRenderTaskType::Tree); + } + + if ($this->filter->filterSitemapPage()) { + yield new LatteRenderTask(LatteRenderTaskType::Sitemap); + } + } + + + /** + * @return iterable + */ + protected function getNamespaceRenderTasks(Index $index): iterable + { + foreach ($index->namespace as $namespaceKey => $namespace) { + if ($this->filter->filterNamespacePage($namespace)) { + yield new LatteRenderTask(LatteRenderTaskType::Namespace, $namespaceKey); + } + } + } + + + /** + * @return iterable + */ + protected function getClassLikeRenderTasks(Index $index): iterable + { + foreach ($index->classLike as $classLikeKey => $classLike) { + if ($this->filter->filterClassLikePage($classLike)) { + yield new LatteRenderTask(LatteRenderTaskType::ClassLike, $classLikeKey); + } + } + } + + + /** + * @return iterable + */ + protected function getFunctionRenderTasks(Index $index): iterable + { + foreach ($index->function as $functionKey => $function) { + if ($this->filter->filterFunctionPage($function)) { + yield new LatteRenderTask(LatteRenderTaskType::Function, $functionKey); + } + } + } + + + /** + * @return iterable + */ + protected function getSourceRenderTasks(Index $index): iterable + { + foreach ($index->files as $fileKey => $file) { + if ($this->filter->filterSourcePage($file)) { + yield new LatteRenderTask(LatteRenderTaskType::Source, $fileKey); + } + } + } +} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/ClassLikeTemplate.php b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/ClassLikeTemplate.php new file mode 100644 index 00000000..26707245 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/ClassLikeTemplate.php @@ -0,0 +1,18 @@ + .navbar { + height: 40px; +} + +/* menu */ +.menu { + display: flex; + flex-direction: column; + gap: 20px; + padding: 10px; +} + +.menu ul ul { + padding-left: 10px; +} + +.menu li { + white-space: nowrap; +} + +.menu a { + display: block; + padding: 0 2px; +} + +.menu .active > a { + color: #333333; + background: none; + font-weight: bold; +} + +.menu .active > a:hover, +.menu .active > a:active, +.menu .active > a:focus { + background-color: var(--color-link); +} + +.menu-section > *:first-child { + margin-top: 0; +} + + +/* navbar */ +.navbar { + display: flex; + flex-direction: row; + justify-content: space-between; + flex-wrap: wrap; + align-items: center; + gap: 10px 20px; + padding: 4px 8px 4px 8px; + border-bottom: 1px solid var(--border-color); + background-color: var(--background-color); + font-size: 14px; +} + +.navbar-links { + display: flex; + flex-direction: row; + align-items: center; + gap: 8px; + font-family: var(--font-family-heading); + font-weight: bold; +} + +.navbar-links li.active { + background-color: var(--color-heading-dark); + color: white; +} + +.navbar-links li > * { + display: block; + padding: 6px 6px; + line-height: 1; +} + +.navbar-links li > a { + color: inherit; +} + +.navbar-links li > span { + cursor: default; + color: #888; +} + +.navbar-right { + flex: 0 1 300px; +} + + +/* php */ +.php-tag { + color: #ff0000; + font-weight: bold; +} + +.php-kw { + color: #e71818; + font-weight: bold; +} + +.php-var { + color: #d59401; + font-weight: bold; +} + +.php-num { + color: #cd0673; +} + +.php-str { + color: #008000; +} + +.php-comment { + color: #929292; +} + + +/* search */ +.search { + position: relative; +} + +.search-input { + display: flex; + width: 100%; + border: 1px solid var(--border-color); + border-radius: 0; + padding: 6px; + outline: none; + font-family: inherit; + font-size: inherit; + line-height: 1; +} + +.search-input:focus { + border-color: var(--color-heading-dark); +} + +.search-results { + display: none; + position: absolute; + top: 30px; + width: fit-content; + min-width: 100%; + max-width: calc(100vw - 16px); + overflow: hidden; + background-color: white; + border: 1px solid #888; + z-index: 1; +} + +.search:focus-within .search-results:not(:empty) { + display: block; +} + +.search-results a { + display: block; + color: inherit; + padding: 0 8px; +} + +.search-results li:hover, .search-results li.active { + background-color: var(--color-link); + color: white; +} + + +/* source */ +.source { + font-family: var(--font-family-code); + tab-size: 4; + white-space: pre-wrap; + width: 100%; +} + +.source td:first-child { + width: 0; + white-space: pre; +} + +.source td { + vertical-align: top; +} + +.source-line.selected { + background: var(--color-selected); +} + +.source-lineNum { + user-select: none; + padding-left: 2px; + color: #c0c0c0; +} + +.source-lineNum:hover, .source-lineNum:active, .source-lineNum:focus { + background: transparent; + color: #c0c0c0 !important; +} + + +/* table */ +.table { + width: min-content; + min-width: 100%; + margin: 1.2em 0 2.4em; +} + +.table-heading { + border: 1px solid var(--border-color); + padding: 3px 5px; + background: var(--background-color); + color: var(--color-heading-dark); + font-family: var(--font-family-heading); + font-size: 1.2em; + font-weight: bold; + text-align: left; +} + +.table-heading.sortable { + cursor: pointer; + background-image: url(data:image/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAJAQMAAADnzfU1AAAABlBMVEUAAAAjLTCZnys1AAAAAXRSTlMAQObYZgAAAB5JREFUCNdjYFBgYGAoAOIfDAyMfxiAAEr/AIuD5AFa2gULVBsRKgAAAABJRU5ErkJggg==); + background-position: center right; + background-repeat: no-repeat; +} + +.table-cell, +.table-anchor { + margin: 0; + border: 1px solid var(--border-color); + padding: 3px 10px; + vertical-align: top; +} + +.table-cell:not(:last-child) { + border-right: none; +} + +.table-shrink { + width: 1px; +} + +.table-anchor { + width: 1px; + padding: 3px 6px 3px 0; + border-left: none; +} + +.table-anchor > a { + padding: 0; +} + +.table-spacer { + height: 30px; + background: transparent !important; +} + +.table tr:hover td { + background-color: #f6f6f4; +} + +.table tr:target td { + background-color: var(--color-selected); +} + + +/* mobile */ +@media (max-width: 980px) { + .layout { + flex-direction: column; + } + + .layout-aside { + position: static; + border-right: none; + width: auto; + } + + .layout-rest { + display: none; + } + + .layout-main { + min-width: 100%; + margin-left: 0; + flex-grow: 0; + order: -1; + } + + .menu { + flex-direction: row; + flex-wrap: wrap; + } + + .menu-section { + flex: 1 1 200px; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/assets/main.js b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/assets/main.js new file mode 100644 index 00000000..6ab1e352 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/assets/main.js @@ -0,0 +1,243 @@ +// open details +document.querySelectorAll('.expandable').forEach(el => { + el.addEventListener('click', e => { + e.currentTarget.classList.toggle('collapsed') + }) +}) + + +// table sort +document.querySelectorAll('.sortable').forEach(el => { + const table = el.closest('table') + const items = Array.from(table.querySelectorAll('[data-order]')) + let orderBy = 'order' + + items.forEach((item, i) => { + item.dataset.orderNatural = i.toString(10).padStart(3, '0') + }) + + el.addEventListener('click', () => { + items.sort((a, b) => a.dataset[orderBy].localeCompare(b.dataset[orderBy])) + table.append(...items) + orderBy = orderBy === 'order' ? 'orderNatural' : 'order' + }) +}) + + +// search +document.querySelectorAll('.search').forEach(el => { + function tokenize(s, offset = 0) { + return Array.from(s.matchAll(/[A-Z]{2,}|[a-zA-Z][a-z]*|\S/g)).map(it => ([it.index + offset, it[0].toLowerCase()])) + } + + function prefix(a, aa, b, bb) { + let len = 0 + while (aa < a.length && bb < b.length && a[aa++] === b[bb++]) len++ + return len + } + + function matchTokens(elementTokens, queryTokens, i = 0, ii = 0, j = 0, jj = 0) { + if (i === queryTokens.length) { + return [] + + } else if (j === elementTokens.length) { + return null + } + + const [elementOffset, elementToken] = elementTokens[j] + const [, queryToken] = queryTokens[i] + const prefixLength = prefix(queryToken, ii, elementToken, jj) + + const subMatches = ii + prefixLength === queryToken.length + ? matchTokens(elementTokens, queryTokens, i + 1, 0, j, jj + prefixLength) + : jj + prefixLength === elementToken.length + ? matchTokens(elementTokens, queryTokens, i, ii + prefixLength, j + 1, 0) + : null + + return subMatches + ? [[elementOffset + jj, prefixLength], ...subMatches] + : matchTokens(elementTokens, queryTokens, i, ii, j + 1, 0) + } + + function* getResults(query, dataset) { + const queryTokens = tokenize(query) + + for (const [name, path, tokens] of dataset) { + const matches = matchTokens(tokens, queryTokens) + yield* matches !== null ? [[name, path, matches]] : [] + } + } + + function* iteratorSlice(it, length) { + while (length--) { + const item = it.next() + + if (item.done) { + return + } + + yield item.value + } + } + + function* iteratorMap(it, fn) { + for (const item of it) { + yield fn(item) + } + } + + function renderResult([name, path, matches]) { + const li = document.createElement('li') + const anchor = li.appendChild(document.createElement('a')) + anchor.href = path + + let i = 0 + for (const [matchOffset, matchLength] of matches) { + anchor.append(name.slice(i, matchOffset)) + anchor.appendChild(document.createElement('b')).innerText = name.slice(matchOffset, matchOffset + matchLength) + i = matchOffset + matchLength + } + + if (i < name.length) { + anchor.append(name.slice(i)) + } + + return li + } + + const searchInput = el.querySelector('.search-input') + const resultsDiv = el.querySelector('.search-results') + + let dataset = null + let datasetPromise = null + let resultIterator = [][Symbol.iterator]() + let resultNext = resultIterator.next() + let resultItems = [] + let headIndex = 0 + let activeIndex = 0 + + const VISIBLE_COUNT = 20 + + searchInput.addEventListener('input', async () => { + dataset ??= await (datasetPromise ??= new Promise(resolve => { + const script = document.createElement('script') + script.src = el.dataset.elements + document.head.appendChild(script) + window.ApiGen ??= {} + window.ApiGen.resolveElements = (elements) => { + const unified = [ + ...(elements.namespace ?? []).map(([name, path]) => [name, path, tokenize(name)]), + ...(elements.function ?? []).map(([name, path]) => [name, path, tokenize(name)]), + ...(elements.classLike ?? []).flatMap(([classLikeName, path, members]) => [ + [classLikeName, path, tokenize(classLikeName)], + ...(members.constant ?? []).map(([constantName, anchor]) => [`${classLikeName}::${constantName}`, `${path}#${anchor}`, tokenize(`${constantName}`, classLikeName.length + 2)]), + ...(members.property ?? []).map(([propertyName, anchor]) => [`${classLikeName}::\$${propertyName}`, `${path}#${anchor}`, tokenize(`\$${propertyName}`, classLikeName.length + 2)]), + ...(members.method ?? []).map(([methodName, anchor]) => [`${classLikeName}::${methodName}()`, `${path}#${anchor}`, tokenize(`${methodName}()`, classLikeName.length + 2)]), + ]), + ] + + resolve(unified.sort((a, b) => a[0].localeCompare(b[0]))) + } + })) + + resultIterator = iteratorMap(getResults(searchInput.value, dataset), renderResult) + resultItems = Array.from(iteratorSlice(resultIterator, VISIBLE_COUNT)) + resultNext = resultIterator.next() + resultsDiv.replaceChildren(...resultItems) + headIndex = 0 + activeIndex = 0 + resultItems[activeIndex]?.classList.add('active') + }) + + searchInput.addEventListener('keydown', e => { + if (e.key === 'Escape') { + searchInput.blur() + + } else if (e.key === 'ArrowUp' || e.key === 'ArrowDown') { + e.preventDefault() + let nextIndex = activeIndex + { ArrowUp: -1, ArrowDown: +1 }[e.key] + + if (nextIndex < 0) { + while (!resultNext.done) { + resultItems.push(resultNext.value) + resultNext = resultIterator.next() + } + + } else if (nextIndex === resultItems.length) { + if (!resultNext.done) { + resultItems.push(resultNext.value) + resultNext = resultIterator.next() + } + } + + nextIndex = (nextIndex + resultItems.length) % resultItems.length + headIndex = Math.max(headIndex, 0, nextIndex - VISIBLE_COUNT + 1) + headIndex = Math.min(headIndex, nextIndex) + + resultsDiv.replaceChildren(...resultItems.slice(headIndex, headIndex + VISIBLE_COUNT)) + resultItems[activeIndex]?.classList.remove('active') + resultItems[nextIndex]?.classList.add('active') + activeIndex = nextIndex + + } else if (e.key === 'Enter') { + e.preventDefault() + const active = resultsDiv.querySelector('.active') ?? resultsDiv.firstElementChild + active?.querySelector('a').click() + } + }) +}) + + +// line selection +let ranges = [] +let last = null +const match = window.location.hash.slice(1).match(/^\d+(?:-\d+)?(?:,\d+(?:-\d+)?)*$/) + +const handleLinesSelectionChange = () => { + history.replaceState({}, '', '#' + ranges.map(([a, b]) => a === b ? a : `${a}-${b}`).join(',')) + document.querySelectorAll('.source-line.selected').forEach(el => el.classList.remove('selected')) + + for (let [a, b] of ranges) { + for (let i = a; i <= b; i++) { + document.getElementById(`${i}`).classList.add('selected') + } + } +} + +if (match) { + ranges = match[0].split(',').map(range => range.split('-').map(n => Number.parseInt(n))) + ranges = ranges.map(([a, b]) => b === undefined ? [a, a] : [a, b]) + ranges = ranges.filter(([a, b]) => a <= b) + handleLinesSelectionChange() + + const first = Math.max(1, Math.min(...ranges.flat()) - 3) + requestAnimationFrame(() => document.getElementById(`${first}`).scrollIntoView()) +} + +document.querySelectorAll('.source-lineNum').forEach(a => { + a.addEventListener('click', e => { + e.preventDefault() + const line = e.currentTarget.closest('tr') + const n = Number.parseInt(line.id) + const selected = line.classList.contains('selected') && e.ctrlKey + const extending = e.shiftKey && ranges.length > 0 + + if (!e.ctrlKey) { + ranges = extending ? [ranges[ranges.length - 1]] : [] + } + + if (extending) { + ranges[ranges.length - 1] = [Math.min(n, last), Math.max(n, last)] + + } else if (selected) { + ranges = ranges.flatMap(([a, b]) => (a <= n && n <= b) ? [[a, n - 1], [n + 1, b]] : [[a, b]]) + ranges = ranges.filter(([a, b]) => a <= b) + + } else { + ranges[ranges.length] = [n, n] + last = n + } + + handleLinesSelectionChange() + }) +}) diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/@index.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/@index.latte new file mode 100644 index 00000000..00039e8b --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/@index.latte @@ -0,0 +1,55 @@ +{import 'alias.latte'} +{import 'aliasLink.latte'} +{import 'aliasSummary.latte'} +{import 'autoBreakingLine.latte'} +{import 'classLikeDescription.latte'} +{import 'classLikeKind.latte'} +{import 'classLikeLink.latte'} +{import 'classLikeLinks.latte'} +{import 'classLikeReference.latte'} +{import 'classLikeSignature.latte'} +{import 'classLikeSignatureTable.latte'} +{import 'classTree.latte'} +{import 'constant.latte'} +{import 'constantInherited.latte'} +{import 'constantInheritedSummary.latte'} +{import 'constantSummary.latte'} +{import 'description.latte'} +{import 'elementSummary.latte'} +{import 'elementSummaryGroup.latte'} +{import 'enumCase.latte'} +{import 'enumCaseSummary.latte'} +{import 'expr.latte'} +{import 'functionDescription.latte'} +{import 'functionLinks.latte'} +{import 'genericParameters.latte'} +{import 'head.latte'} +{import 'layout.latte'} +{import 'member.latte'} +{import 'memberDescription.latte'} +{import 'memberLink.latte'} +{import 'memberSourceLink.latte'} +{import 'memberVisibility.latte'} +{import 'menu.latte'} +{import 'menuElements.latte'} +{import 'menuGroup.latte'} +{import 'method.latte'} +{import 'methodInherited.latte'} +{import 'methodInheritedSummary.latte'} +{import 'methodRelation.latte'} +{import 'methodSignature.latte'} +{import 'methodSummary.latte'} +{import 'methodUsed.latte'} +{import 'methodUsedSummary.latte'} +{import 'namespaceLinks.latte'} +{import 'navbar.latte'} +{import 'parameter.latte'} +{import 'property.latte'} +{import 'propertyInherited.latte'} +{import 'propertyInheritedSummary.latte'} +{import 'propertySummary.latte'} +{import 'propertyUsed.latte'} +{import 'propertyUsedSummary.latte'} +{import 'search.latte'} +{import 'source.latte'} +{import 'type.latte'} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/alias.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/alias.latte new file mode 100644 index 00000000..1f223a4d --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/alias.latte @@ -0,0 +1,23 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define alias, ApiGen\Info\ClassLikeInfo $classLike, ApiGen\Info\AliasInfo $alias} + + + + + {$alias->name} + + + + + + {include type, type: $alias->type, scope: $classLike} + + + + # + + +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/aliasLink.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/aliasLink.latte new file mode 100644 index 00000000..c8604c3f --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/aliasLink.latte @@ -0,0 +1,11 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define aliasLink, ApiGen\Info\ClassLikeInfo $classLike, ApiGen\Info\AliasInfo $alias, ?string $text = null} + {pre} + + {if $text}{$text}{else}{$alias->name}{/if} + + {/pre} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/aliasSummary.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/aliasSummary.latte new file mode 100644 index 00000000..a8542b26 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/aliasSummary.latte @@ -0,0 +1,17 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define aliasSummary, ApiGen\Info\ClassLikeInfo $classLike} + {if $classLike->aliases} + + + + + + {foreach $classLike->aliases as $alias} + {include alias, classLike: $classLike, alias: $alias} + {/foreach} +
Type aliases
+ {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/autoBreakingLine.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/autoBreakingLine.latte new file mode 100644 index 00000000..dfa775fa --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/autoBreakingLine.latte @@ -0,0 +1,39 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define autoBreakingLine, iterable $items, int $maxWidth, string $indent = ''} + {pre} + {var int $width = textWidth($indent)} + {var Latte\Runtime\HtmlStringable[] $segments = []} + + {capture $before}{include before}{/capture} + {var $width = $width + htmlWidth($before)} + + {foreach $items as $item} + {capture $segment}{include item, item: $item}{sep}{include sep}{/sep}{/capture} + {var $width = $width + htmlWidth($segment) + ($iterator->last ? 0 : 1)} + {var $segments[] = $segment} + {/foreach} + + {capture $after}{include after}{/capture} + {var $width = $width + htmlWidth($after)} + + {if $width <= $maxWidth} + {$before} + {foreach $segments as $segment} + {$segment} + {sep} {/sep} + {/foreach} + {$after} + {else} + {$before}{="\n$indent\t"} + {foreach $segments as $segment} + {$segment} + {last}{include sep}{/last} + {sep}{="\n$indent\t"}{/sep} + {/foreach} + {="\n$indent"}{$after} + {/if} + {/pre} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeDescription.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeDescription.latte new file mode 100644 index 00000000..48b3047b --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeDescription.latte @@ -0,0 +1,11 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define classLikeDescription, ApiGen\Info\ClassLikeInfo $classLike} + {if $classLike->description} +

+ {include description, $classLike->description, $classLike} +
+ {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeKind.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeKind.latte new file mode 100644 index 00000000..7aa9de8e --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeKind.latte @@ -0,0 +1,13 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define classLikeKind, ApiGen\Info\ClassLikeInfo $classLike} + {pre} + {if isInterface($classLike)}Interface + {elseif isTrait($classLike)}Trait + {elseif isClass($classLike)}Class + {elseif isEnum($classLike)}Enum + {else}{/if} + {/pre} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeLink.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeLink.latte new file mode 100644 index 00000000..b886dbf7 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeLink.latte @@ -0,0 +1,16 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define classLikeLink, ApiGen\Info\ClassLikeInfo $classLike, bool $short = false, ?string $text = null} + {pre} + {var bool $active = $classLike === $layout->activeElement} + + + + {if $text}{$text}{elseif $short}{$classLike->name->short}{else}{$classLike->name->full}{/if} + + + + {/pre} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeLinks.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeLinks.latte new file mode 100644 index 00000000..1a50d55e --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeLinks.latte @@ -0,0 +1,10 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define classLikeLinks, ApiGen\Info\ClassLikeInfo $classLike} + {pre} + {if $classLike->name->namespaceLower}{include namespaceLinks, $index->namespace[$classLike->name->namespaceLower]}\{/if} + {$classLike->name->short} + {/pre} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeReference.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeReference.latte new file mode 100644 index 00000000..5c6b3376 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeReference.latte @@ -0,0 +1,16 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define classLikeReference, ApiGen\Info\ClassLikeReferenceInfo $ref, bool $short = true} + {pre} + {include classLikeLink, $index->classLike[$ref->fullLower], short: $short} + {if $ref->genericArgs} + < + {foreach $ref->genericArgs as $arg} + {include type, $arg}{sep}, {/sep} + {/foreach} + > + {/if} + {/pre} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeSignature.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeSignature.latte new file mode 100644 index 00000000..f0f6ab1e --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeSignature.latte @@ -0,0 +1,28 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define classLikeSignature, ApiGen\Info\ClassLikeInfo $classLike} + {include classLikeLink, $classLike} + + {if isInterface($classLike) && $classLike->extends} + extends + {foreach $classLike->extends as $ref} + {include classLikeReference, $ref}{sep}, {/sep} + {/foreach} + {/if} + + {if (isClass($classLike) || isEnum($classLike)) && $classLike->implements} + implements + {foreach $classLike->implements as $ref} + {include classLikeReference, $ref}{sep}, {/sep} + {/foreach} + {/if} + + {if (isClass($classLike) || isEnum($classLike)) && $classLike->uses} + uses + {foreach $classLike->uses as $ref} + {include classLikeReference, $ref}{sep}, {/sep} + {/foreach} + {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeSignatureTable.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeSignatureTable.latte new file mode 100644 index 00000000..a95c9344 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classLikeSignatureTable.latte @@ -0,0 +1,41 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define classLikeSignatureTable, ApiGen\Info\ClassLikeInfo $classLike} + + {if isClass($classLike)} + {if $classLike->abstract}{/if} + {if $classLike->final}{/if} + {if $classLike->readOnly}{/if} + {include classLikeSignatureTableRow, 'extends', $classLike->extends ? [$classLike->extends] : []} + {include classLikeSignatureTableRow, 'implements', $classLike->implements} + {include classLikeSignatureTableRow, 'uses', $classLike->uses} + + {elseif isInterface($classLike)} + {include classLikeSignatureTableRow, 'extends', $classLike->extends} + + {elseif isTrait($classLike)} + {include classLikeSignatureTableRow, 'uses', $classLike->uses} + + {elseif isEnum($classLike)} + {include classLikeSignatureTableRow, 'implements', $classLike->implements} + {include classLikeSignatureTableRow, 'uses', $classLike->uses} + {/if} +
abstract
final
readonly
+{/define} + +{define classLikeSignatureTableRow, string $label, ApiGen\Info\ClassLikeReferenceInfo[] $refs} + {if $refs} + + {$label} + + + {foreach $refs as $ref} + {include classLikeReference, $ref}{sep}, {/sep} + {/foreach} + + + + {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classTree.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classTree.latte new file mode 100644 index 00000000..81e89c8f --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/classTree.latte @@ -0,0 +1,28 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define classTree, ApiGen\Info\ClassLikeInfo $classLike, ApiGen\Info\ClassLikeInfo[][] $children} + {if isClass($classLike) && $classLike->extends} + {include this, classLike: $index->classLike[$classLike->extends->fullLower], children: [$classLike->extends->fullLower => [$classLike]] + $children} + {else} + {include classTreeList, classLikes: [$classLike], children: $children} + {/if} +{/define} + +{define classTreeList, ApiGen\Info\ClassLikeInfo[] $classLikes, ApiGen\Info\ClassLikeInfo[][] $children} +
    + {foreach $classLikes as $classLike} + {include classTreeItem, classLike: $classLike, children: $children} + {/foreach} +
+{/define} + +{define local classTreeItem, ApiGen\Info\ClassLikeInfo $classLike, ApiGen\Info\ClassLikeInfo[][] $children} +
  • + {include classLikeSignature, $classLike} + {if !empty($children[$classLike->name->fullLower])} + {include classTreeList, classLikes: $children[$classLike->name->fullLower], children: $children} + {/if} +
  • +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constant.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constant.latte new file mode 100644 index 00000000..c9793722 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constant.latte @@ -0,0 +1,27 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define constant, ApiGen\Info\ClassLikeInfo $classLike, ApiGen\Info\ConstantInfo $constant} + {embed member, $constant} + {block cells} + + + {if $constant->final}final{/if} + {include memberVisibility, $constant} + + + + + + {embed memberSourceLink, classLike: $classLike, member: $constant}{block content}{$constant->name}{/block}{/embed} + = {include expr, expr: $constant->value, scope: $classLike} + + + {embed memberDescription, classLike: $classLike, member: $constant} + {block details}{* TODO: other tags (uses, internal...) *}{/block} + {/embed} + + {/block} + {/embed} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constantInherited.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constantInherited.latte new file mode 100644 index 00000000..ac6733da --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constantInherited.latte @@ -0,0 +1,28 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define constantInherited ApiGen\Info\ClassLikeInfo $from, array $overriden} + {try} + + + + + + + +
    Constants inherited from {include classLikeLink, $from}
    + + {foreach $from->constants as $constantName => $constant} + {skipIf isset($overriden[$constantName])} + {embed memberLink, $from, $constant}{block content}{$constant->name}{/block}{/embed} + {sep}, {/sep} + {else} + {rollback} + {/foreach} + +
    + {/try} + + {include constantInheritedSummary, $from, $overriden} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constantInheritedSummary.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constantInheritedSummary.latte new file mode 100644 index 00000000..60ab0036 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constantInheritedSummary.latte @@ -0,0 +1,20 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define constantInheritedSummary, ApiGen\Info\ClassLikeInfo $classLike, array $overriden} + {if isClass($classLike)} + {if $classLike->extends} + {include constantInherited, $index->classLike[$classLike->extends->fullLower], $overriden + $classLike->constants} + {/if} + + {foreach $classLike->implements as $interface} + {include constantInherited, $index->classLike[$interface->fullLower], $overriden + $classLike->constants} + {/foreach} + + {elseif isInterface($classLike)} + {foreach $classLike->extends as $parent} + {include constantInherited, $index->classLike[$parent->fullLower], $overriden + $classLike->constants} + {/foreach} + {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constantSummary.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constantSummary.latte new file mode 100644 index 00000000..74a7a80d --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/constantSummary.latte @@ -0,0 +1,17 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define constantSummary, ApiGen\Info\ClassLikeInfo $classLike} + {if $classLike->constants} + + + + + + {foreach $classLike->constants as $constant} + {include constant, classLike: $classLike, constant: $constant} + {/foreach} +
    Constants
    + {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/description.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/description.latte new file mode 100644 index 00000000..40f86be0 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/description.latte @@ -0,0 +1,7 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define description, string $description, ?ApiGen\Info\ClassLikeInfo $scope} +
    {longDescription($index, $scope, $description)}
    +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/elementSummary.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/elementSummary.latte new file mode 100644 index 00000000..20e7649f --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/elementSummary.latte @@ -0,0 +1,9 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define elementSummary} + + {include elementSummaryContent} +
    +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/elementSummaryGroup.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/elementSummaryGroup.latte new file mode 100644 index 00000000..82bf6f2b --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/elementSummaryGroup.latte @@ -0,0 +1,26 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define elementSummaryGroup, string $heading, ApiGen\Info\ElementInfo[] $elements, bool $showDescription = true, bool $onlyPrimary = false} + {try} + + {$heading} + + + {foreach $elements as $element} + {skipIf $onlyPrimary && !$element->primary} + {skipIf !elementPageExists($element)} + + {elementName($element)} + {elementShortDescription($index, null, $element)} + + {else} + {rollback} + {/foreach} + + + + + {/try} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/enumCase.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/enumCase.latte new file mode 100644 index 00000000..a0714121 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/enumCase.latte @@ -0,0 +1,20 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define enumCase, ApiGen\Info\EnumInfo $enum, ApiGen\Info\EnumCaseInfo $enumCase} + {embed member, $enumCase} + {block cells} + + + {embed memberSourceLink, classLike: $enum, member: $enumCase}{block content}{$enumCase->name}{/block}{/embed} + {if $enumCase->value} = {include expr, expr: $enumCase->value, scope: $enum}{/if} + + + {embed memberDescription, classLike: $enum, member: $enumCase} + {block details}{* TODO: other tags (uses, internal...) *}{/block} + {/embed} + + {/block} + {/embed} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/enumCaseSummary.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/enumCaseSummary.latte new file mode 100644 index 00000000..c4cd948a --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/enumCaseSummary.latte @@ -0,0 +1,17 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define enumCaseSummary, ApiGen\Info\EnumInfo $enum} + {if $enum->cases} + + + + + + {foreach $enum->cases as $case} + {include enumCase, enum: $enum, enumCase: $case} + {/foreach} +
    Cases
    + {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/expr.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/expr.latte new file mode 100644 index 00000000..28756f9b --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/expr.latte @@ -0,0 +1,93 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define expr, ApiGen\Info\ExprInfo $expr, ?ApiGen\Info\ClassLikeInfo $scope, string $indent = ''} + {pre} + {if $expr instanceof ApiGen\Info\Expr\BooleanExprInfo || $expr instanceof ApiGen\Info\Expr\NullExprInfo} + {$expr->toString()} + {elseif $expr instanceof ApiGen\Info\Expr\IntegerExprInfo || $expr instanceof ApiGen\Info\Expr\FloatExprInfo} + {$expr->raw} + {elseif $expr instanceof ApiGen\Info\Expr\StringExprInfo} + {$expr->raw ?? $expr->toString()} + {elseif $expr instanceof ApiGen\Info\Expr\ArrayExprInfo} + {embed autoBreakingLine, items: $expr->items, maxWidth: 100, indent: $indent} + {block before}{="["}{/block} + {block after}{="]"}{/block} + {block item} + {if $item->key}{include expr, expr: $item->key, scope: $scope} => {/if} + {include expr, expr: $item->value, scope: $scope, indent: "\t$indent"} + {/block} + {block sep},{/block} + {/embed} + {elseif $expr instanceof ApiGen\Info\Expr\ClassConstantFetchExprInfo} + {if $expr->classLike->fullLower === 'self' && $scope} + {var $memberClassLike = $scope} + {include classLikeLink, classLike: $memberClassLike, text: $expr->classLike->fullLower} + {elseif $expr->classLike->fullLower === 'parent' && $scope && isClass($scope) && $scope->extends} + {var $memberClassLike = $index->classLike[$scope->extends->fullLower]} + {include classLikeLink, classLike: $memberClassLike, text: $expr->classLike->fullLower} + {elseif isset($index->classLike[$expr->classLike->fullLower])} + {var $memberClassLike = $index->classLike[$expr->classLike->fullLower]} + {include classLikeLink, classLike: $memberClassLike, short: true} + {else} + {var $memberClassLike = null} + {$expr->classLike->full} + {/if} + :: + {if $memberClassLike !== null && isset($memberClassLike->constants[$expr->name])} + {var $member = $memberClassLike->constants[$expr->name]} + {embed memberLink, $memberClassLike, $member}{block content}{$member->name}{/block}{/embed} + {elseif $memberClassLike !== null && isEnum($memberClassLike) && isset($memberClassLike->cases[$expr->name])} + {var $member = $memberClassLike->cases[$expr->name]} + {embed memberLink, $memberClassLike, $member}{block content}{$member->name}{/block}{/embed} + {else} + {$expr->name} + {/if} + {elseif $expr instanceof ApiGen\Info\Expr\ConstantFetchExprInfo} + {$expr->name} + {elseif $expr instanceof ApiGen\Info\Expr\UnaryOpExprInfo} + {$expr->op} + {include this, expr: $expr->expr, scope: $scope} + {elseif $expr instanceof ApiGen\Info\Expr\BinaryOpExprInfo} + {include this, expr: $expr->left, scope: $scope} + {=" "}{$expr->op}{=" "} + {include this, expr: $expr->right, scope: $scope} + {elseif $expr instanceof ApiGen\Info\Expr\TernaryExprInfo} + {include this, expr: $expr->condition, scope: $scope} + {if $expr->if} ? {include this, expr: $expr->if, scope: $scope} : {else} ?: {/if} + {include this, expr: $expr->else, scope: $scope} + {elseif $expr instanceof ApiGen\Info\Expr\DimFetchExprInfo} + {include this, expr: $expr->expr, scope: $scope} + [{include this, expr: $expr->dim, scope: $scope}] + {elseif $expr instanceof ApiGen\Info\Expr\PropertyFetchExprInfo} + {include this, expr: $expr->expr, scope: $scope} + -> + {if is_string($expr->property)} + {$expr->property} + {else} + {{include this, expr: $expr->property, scope: $scope}} + {/if} + {elseif $expr instanceof ApiGen\Info\Expr\NullSafePropertyFetchExprInfo} + {include this, expr: $expr->expr, scope: $scope} + ?-> + {if is_string($expr->property)} + {$expr->property} + {else} + {{include this, expr: $expr->property, scope: $scope}} + {/if} + {elseif $expr instanceof ApiGen\Info\Expr\NewExprInfo} + {var $classLike = $index->classLike[$expr->classLike->fullLower]} + new {include classLikeLink, classLike: $classLike, short: true} + ( + {foreach $expr->args as $arg} + {if $arg->name}{$arg->name}: {/if} + {include this, expr: $arg->value, scope: $scope} + {sep}, {/sep} + {/foreach} + ) + {else} + ERROR + {/if} + {/pre} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/functionDescription.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/functionDescription.latte new file mode 100644 index 00000000..aa1e8eae --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/functionDescription.latte @@ -0,0 +1,11 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define functionDescription, ApiGen\Info\FunctionInfo $function} + {if $function->description} +
    + {include description, $function->description, null} +
    + {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/functionLinks.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/functionLinks.latte new file mode 100644 index 00000000..bc33102f --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/functionLinks.latte @@ -0,0 +1,10 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define functionLinks, ApiGen\Info\FunctionInfo $function} + {pre} + {if $function->name->namespaceLower}{include namespaceLinks, $index->namespace[$function->name->namespaceLower]}\{/if} + {$function->name->short} + {/pre} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/genericParameters.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/genericParameters.latte new file mode 100644 index 00000000..bea1a8d1 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/genericParameters.latte @@ -0,0 +1,33 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define genericParameters, ApiGen\Info\GenericParameterInfo[] $genericParameters} + {pre} + {if $genericParameters} + < + {foreach $genericParameters as $genericParameter} + {include genericParameter, $genericParameter} + {sep}, {/sep} + {/foreach} + > + {/if} + {/pre} +{/define} + +{define genericParameter, ApiGen\Info\GenericParameterInfo $genericParameter} + {pre} + {include genericParameterVariance, $genericParameter->variance} + {$genericParameter->name} + {if $genericParameter->bound} is {include type, $genericParameter->bound}{/if} + {if $genericParameter->default} = {include type, $genericParameter->default}{/if} + {/pre} +{/define} + +{define genericParameterVariance, ApiGen\Info\GenericParameterVariance $variance} + {pre} + {if $variance === ApiGen\Info\GenericParameterVariance::Covariant}out{=' '} + {elseif $variance === ApiGen\Info\GenericParameterVariance::Contravariant}in{=' '} + {/if} + {/pre} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/head.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/head.latte new file mode 100644 index 00000000..28b08abb --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/head.latte @@ -0,0 +1,5 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define head}{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/layout.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/layout.latte new file mode 100644 index 00000000..20250061 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/layout.latte @@ -0,0 +1,42 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define layout} + + + + + + {if $layout->noindex}{/if} + {ifset title}{include title|spaceless} | {/ifset}{$config->title} API + + + {include head} + + + +
    + {include menu} +
    + +
    +
    + {include navbar} +
    + +
    + {include content} +
    + + +
    + +
    + +
    + + +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/member.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/member.latte new file mode 100644 index 00000000..9a3e1b59 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/member.latte @@ -0,0 +1,12 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define member, ApiGen\Info\MemberInfo $member} + + {include cells} + + # + + +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberDescription.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberDescription.latte new file mode 100644 index 00000000..1060c683 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberDescription.latte @@ -0,0 +1,16 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define memberDescription, ApiGen\Info\ClassLikeInfo $classLike, ApiGen\Info\MemberInfo $member} + {var $description = $member->getEffectiveDescription($index, $classLike)} + +
    + {shortDescription($index, $classLike, $description)} +
    + +
    + {include description, $description, $classLike} + {block details}{/block} +
    +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberLink.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberLink.latte new file mode 100644 index 00000000..8229d04f --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberLink.latte @@ -0,0 +1,7 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define memberLink, ApiGen\Info\ClassLikeInfo $classLike, ApiGen\Info\MemberInfo $member} + {include content} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberSourceLink.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberSourceLink.latte new file mode 100644 index 00000000..2f941f41 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberSourceLink.latte @@ -0,0 +1,11 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define memberSourceLink, ApiGen\Info\ClassLikeInfo $classLike, ApiGen\Info\MemberInfo $member} + {pre} + + {include content} + + {/pre} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberVisibility.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberVisibility.latte new file mode 100644 index 00000000..73114b8b --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/memberVisibility.latte @@ -0,0 +1,7 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define memberVisibility, ApiGen\Info\MemberInfo $member} + {if $member->protected}protected{elseif $member->private}private{else}public{/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/menu.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/menu.latte new file mode 100644 index 00000000..9aa18e81 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/menu.latte @@ -0,0 +1,23 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define menu} + +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/menuElements.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/menuElements.latte new file mode 100644 index 00000000..36d2f80a --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/menuElements.latte @@ -0,0 +1,24 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define menuElements, ApiGen\Info\ElementInfo[] $elements, string $heading, bool $onlyPrimary = true} + {try} + + {/try} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/menuGroup.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/menuGroup.latte new file mode 100644 index 00000000..fa3d965a --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/menuGroup.latte @@ -0,0 +1,20 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define menuGroup, ApiGen\Index\NamespaceIndex $namespace, int $level = 0} +
      + {foreach $namespace->children as $child} + {var bool $isActive = $layout->activeNamespace && str_starts_with("{$layout->activeNamespace->name->fullLower}\\", "{$child->name->fullLower}\\")} + {var bool $isCollapsed = $level > 0 && !$isActive} + {skipIf !$child->primary && !$isActive} + {skipIf !namespacePageExists($child)} +
    • + {$child->name->short ?: 'none'} + {if !$isCollapsed && $child->children && $child->name->short !== ''} + {include this, namespace: $child, level: $level + 1} + {/if} +
    • + {/foreach} +
    +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/method.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/method.latte new file mode 100644 index 00000000..10ec7a8f --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/method.latte @@ -0,0 +1,79 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define method, ApiGen\Info\ClassLikeInfo $classLike, ApiGen\Info\MethodInfo $method} + {embed member, $method} + {block cells} + + + {if !isInterface($classLike) && $method->abstract}abstract{elseif $method->final}final{/if} + {include memberVisibility, $method} + {if $method->static}static{/if} + {if $method->byRef}&{/if} + + + + + {include methodSignature, classLike: $classLike, method: $method} + + {embed memberDescription, classLike: $classLike, member: $method} + {block details} + {try} +

    Deprecated

    +
    + {foreach $method->tags['deprecated'] ?? [] as $tag} + {skipIf !$tag->description} + {longDescription($index, $classLike, $tag->description)}{sep}
    {/sep} + {else} + {rollback} + {/foreach} +
    + {/try} + + {try} +

    Parameters

    + + {foreach $method->parameters as $parameter} + {var string $description = $parameter->getEffectiveDescription($index, $classLike, $method)} + {skipIf !$description} + + + + + {else} + {rollback} + {/foreach} +
    {if $parameter->variadic}...{/if}${$parameter->name}  {longDescription($index, $classLike, $description)}
    + {/try} + + {var string $returnDescription = $method->getEffectiveReturnDescription($index, $classLike)} + {if $returnDescription} +

    Returns

    +
    {longDescription($index, $classLike, $returnDescription)}
    + {/if} + + {if !empty($method->tags['throws'])} +

    Throws

    + + {foreach $method->tags['throws'] as $tag} + + + + + {/foreach} +
    {include type, type: $tag->type, scope: $classLike, short: false} {longDescription($index, $classLike, $tag->description)}
    + {/if} + + {* TODO: other tags (uses, internal...) *} + + {include methodRelation, title: 'Overrides', method: $method, related: $index->methodOverrides[$classLike->name->fullLower][$method->nameLower] ?? []} + {include methodRelation, title: 'Overridden by', method: $method, related: $index->methodOverriddenBy[$classLike->name->fullLower][$method->nameLower] ?? []} + {include methodRelation, title: 'Implements', method: $method, related: $index->methodImplements[$classLike->name->fullLower][$method->nameLower] ?? []} + {include methodRelation, title: 'Implemented by', method: $method, related: $index->methodImplementedBy[$classLike->name->fullLower][$method->nameLower] ?? []} + {/block} + {/embed} + + {/block} + {/embed} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodInherited.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodInherited.latte new file mode 100644 index 00000000..e4ee3418 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodInherited.latte @@ -0,0 +1,28 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define methodInherited, ApiGen\Info\ClassLikeInfo $from, array $overriden} + {try} + + + + + + + +
    Methods inherited from {include classLikeLink, $from}
    + + {foreach $from->methods as $methodName => $method} + {skipIf isset($overriden[$methodName]) || $method->private} + {embed memberLink, $from, $method}{block content}{$method->name}(){/block}{/embed} + {sep}, {/sep} + {else} + {rollback} + {/foreach} + +
    + {/try} + + {include methodInheritedSummary, $from, $overriden} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodInheritedSummary.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodInheritedSummary.latte new file mode 100644 index 00000000..afbe5559 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodInheritedSummary.latte @@ -0,0 +1,15 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define methodInheritedSummary, ApiGen\Info\ClassLikeInfo $classLike, array $overriden} + {if isClass($classLike)} + {if $classLike->extends} + {include methodInherited, $index->classLike[$classLike->extends->fullLower], $overriden + $classLike->methods} + {/if} + {elseif isInterface($classLike)} + {foreach $classLike->extends as $parent} + {include methodInherited, $index->classLike[$parent->fullLower], $overriden + $classLike->methods} + {/foreach} + {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodRelation.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodRelation.latte new file mode 100644 index 00000000..a67e47ce --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodRelation.latte @@ -0,0 +1,18 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define methodRelation, ApiGen\Info\MethodInfo $method, string $title, ApiGen\Info\ClassLikeInfo[] $related} + {if $related} +

    {$title}

    +
      + {foreach $related as $classLike} +
    • + {embed memberLink, $classLike, $method} + {block content}{$classLike->name->full}::{$method->name}(){/block} + {/embed} +
    • + {/foreach} +
    + {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodSignature.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodSignature.latte new file mode 100644 index 00000000..085c4497 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodSignature.latte @@ -0,0 +1,18 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define methodSignature, ApiGen\Info\ClassLikeInfo $classLike, ApiGen\Info\MethodInfo $method} + {pre} + {embed autoBreakingLine, items: $method->parameters, maxWidth: 120} + {block before} + {embed memberSourceLink, classLike: $classLike, member: $method}{block content}{$method->name}{/block}{/embed} + {include genericParameters, $method->genericParameters} + ( + {/block} + {block after}){if $method->returnType}: {include type, type: $method->returnType, scope: $classLike}{/if}{/block} + {block item}{include parameter, classLike: $classLike, parameter: $item}{/block} + {block sep},{/block} + {/embed} + {/pre} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodSummary.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodSummary.latte new file mode 100644 index 00000000..2e42a411 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodSummary.latte @@ -0,0 +1,17 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define methodSummary, ApiGen\Info\ClassLikeInfo $classLike} + {if $classLike->methods} + + + + + + {foreach $classLike->methods as $method} + {include method, classLike: $classLike, method: $method} + {/foreach} +
    Methods
    + {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodUsed.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodUsed.latte new file mode 100644 index 00000000..46eed3c7 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodUsed.latte @@ -0,0 +1,28 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define methodUsed, ApiGen\Info\ClassLikeInfo $from, array $overriden} + {try} + + + + + + + +
    Methods used from {include classLikeLink, $from}
    + + {foreach $from->methods as $methodName => $method} + {skipIf isset($overriden[$methodName])} + {embed memberLink, $from, $method}{block content}{$method->name}(){/block}{/embed} + {sep}, {/sep} + {else} + {rollback} + {/foreach} + +
    + {/try} + + {include methodUsedSummary, $from, $overriden} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodUsedSummary.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodUsedSummary.latte new file mode 100644 index 00000000..9c54840c --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/methodUsedSummary.latte @@ -0,0 +1,25 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define methodUsedSummary, ApiGen\Info\ClassLikeInfo $classLike, array $overriden} + {if isClass($classLike)} + {if $classLike->extends} + {include methodUsed, $index->classLike[$classLike->extends->fullLower], $overriden + $classLike->methods} + {/if} + + {foreach $classLike->uses as $use} + {include methodUsed, $index->classLike[$use->fullLower], $overriden + $classLike->methods} + {/foreach} + + {elseif isInterface($classLike)} + {foreach $classLike->extends as $parent} + {include methodUsed, $index->classLike[$parent->fullLower], $overriden + $classLike->methods} + {/foreach} + + {elseif isTrait($classLike) || isEnum($classLike)} + {foreach $classLike->uses as $use} + {include methodUsed, $index->classLike[$use->fullLower], $overriden + $classLike->methods} + {/foreach} + {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/namespaceLinks.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/namespaceLinks.latte new file mode 100644 index 00000000..8e574b4e --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/namespaceLinks.latte @@ -0,0 +1,12 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define namespaceLinks, ApiGen\Index\NamespaceIndex $namespace} + {pre} + {if $namespace->name->namespaceLower !== ''} + {include this, $index->namespace[$namespace->name->namespaceLower]}\ + {/if} + {$namespace->name->short} + {/pre} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/navbar.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/navbar.latte new file mode 100644 index 00000000..ae5de710 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/navbar.latte @@ -0,0 +1,36 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define navbar} + +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/parameter.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/parameter.latte new file mode 100644 index 00000000..4de01803 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/parameter.latte @@ -0,0 +1,11 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define parameter, ApiGen\Info\ParameterInfo $parameter, ?ApiGen\Info\ClassLikeInfo $classLike = null} + + {if $parameter->type}{include type, type: $parameter->type, scope: $classLike} {/if} + {if $parameter->byRef}&{/if}{if $parameter->variadic}...{/if}${$parameter->name} + {if $parameter->default} = {include expr, expr: $parameter->default, scope: $classLike}{/if} + +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/property.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/property.latte new file mode 100644 index 00000000..c0f8e6d0 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/property.latte @@ -0,0 +1,32 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define property, ApiGen\Info\ClassLikeInfo $classLike, ApiGen\Info\PropertyInfo $property} + {embed member, $property} + {block cells} + + + {include memberVisibility, $property} + {if $property->static}static{/if} + {if $property->readOnly}readonly{elseif $property->writeOnly}writeonly{/if} + + + + + {if $property->type}{include type, $property->type, scope: $classLike}{/if} + + + + + {embed memberSourceLink, $classLike, $property}{block content}${$property->name}{/block}{/embed} + {if $property->default} = {include expr, expr: $property->default, scope: $classLike}{/if} + + + {embed memberDescription, classLike: $classLike, member: $property}} + {block details}{* TODO: other tags (uses, internal...) *}{/block} + {/embed} + + {/block} + {/embed} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyInherited.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyInherited.latte new file mode 100644 index 00000000..3b911225 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyInherited.latte @@ -0,0 +1,28 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define propertyInherited, ApiGen\Info\ClassLikeInfo $from, array $overriden} + {try} + + + + + + + +
    Properties inherited from {include classLikeLink, $from}
    + + {foreach $from->properties as $propertyName => $property} + {skipIf isset($overriden[$propertyName])} + {embed memberLink, $from, $property}{block content}${$property->name}{/block}{/embed} + {sep}, {/sep} + {else} + {rollback} + {/foreach} + +
    + {/try} + + {include propertyInheritedSummary, $from, $overriden} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyInheritedSummary.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyInheritedSummary.latte new file mode 100644 index 00000000..2e4579f8 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyInheritedSummary.latte @@ -0,0 +1,15 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define propertyInheritedSummary, ApiGen\Info\ClassLikeInfo $classLike, array $overriden} + {if isClass($classLike)} + {if $classLike->extends} + {include propertyInherited, $index->classLike[$classLike->extends->fullLower], $overriden + $classLike->properties} + {/if} + {elseif isInterface($classLike)} + {foreach $classLike->extends as $parent} + {include propertyInherited, $index->classLike[$parent->fullLower], $overriden + $classLike->properties} + {/foreach} + {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertySummary.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertySummary.latte new file mode 100644 index 00000000..3cc33a04 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertySummary.latte @@ -0,0 +1,17 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define propertySummary, ApiGen\Info\ClassLikeInfo $classLike} + {if $classLike->properties} + + + + + + {foreach $classLike->properties as $property} + {include property, classLike: $classLike, property: $property} + {/foreach} +
    Properties
    + {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyUsed.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyUsed.latte new file mode 100644 index 00000000..4e0c3178 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyUsed.latte @@ -0,0 +1,28 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define propertyUsed, ApiGen\Info\ClassLikeInfo $from, array $overriden} + {try} + + + + + + + +
    Properties used from {include classLikeLink, $from}
    + + {foreach $from->properties as $propertyName => $property} + {skipIf isset($overriden[$propertyName])} + {embed memberLink, $from, $property}{block content}${$property->name}{/block}{/embed} + {sep}, {/sep} + {else} + {rollback} + {/foreach} + +
    + {/try} + + {include propertyUsedSummary, $from, $overriden} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyUsedSummary.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyUsedSummary.latte new file mode 100644 index 00000000..da721d1a --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/propertyUsedSummary.latte @@ -0,0 +1,25 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define propertyUsedSummary, ApiGen\Info\ClassLikeInfo $classLike, array $overriden} + {if isClass($classLike)} + {if $classLike->extends} + {include propertyUsed, $index->classLike[$classLike->extends->fullLower], $overriden + $classLike->properties} + {/if} + + {foreach $classLike->uses as $use} + {include propertyUsed, $index->classLike[$use->fullLower], $overriden + $classLike->properties} + {/foreach} + + {elseif isInterface($classLike)} + {foreach $classLike->extends as $parent} + {include propertyUsed, $index->classLike[$parent->fullLower], $overriden + $classLike->properties} + {/foreach} + + {elseif isTrait($classLike) || isEnum($classLike)} + {foreach $classLike->uses as $use} + {include propertyUsed, $index->classLike[$use->fullLower], $overriden + $classLike->properties} + {/foreach} + {/if} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/search.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/search.latte new file mode 100644 index 00000000..b6342885 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/search.latte @@ -0,0 +1,10 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define search} + +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/source.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/source.latte new file mode 100644 index 00000000..006595f5 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/source.latte @@ -0,0 +1,7 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define source, string $path} + {highlight($path)}
    +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/type.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/type.latte new file mode 100644 index 00000000..ca6c02bd --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/blocks/type.latte @@ -0,0 +1,146 @@ +{varType ApiGen\Index\Index $index} +{varType ApiGen\Renderer\Latte\Template\ConfigParameters $config} +{varType ApiGen\Renderer\Latte\Template\LayoutParameters $layout} + +{define type, PHPStan\PhpDocParser\Ast\Type\TypeNode $type, ?ApiGen\Info\ClassLikeInfo $scope, bool $brackets = false, bool $short = true} + {pre} + {if $type instanceof PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode} + {var ApiGen\Analyzer\IdentifierKind $kind = $type->getAttribute('kind')} + {if $kind === ApiGen\Analyzer\IdentifierKind::ClassLike} + {var ApiGen\Info\ClassLikeReferenceInfo $ref = $type->getAttribute('classLikeReference')} + {include classLikeLink, $index->classLike[$ref->fullLower], $short} + {elseif $kind === ApiGen\Analyzer\IdentifierKind::Alias} + {var ApiGen\Info\AliasReferenceInfo $ref = $type->getAttribute('aliasReference')} + {var ApiGen\Info\ClassLikeInfo $classLike = $index->classLike[$ref->classLike->fullLower]} + {var ApiGen\Info\AliasInfo $alias = $classLike->aliases[$ref->aliasLower] ?? null} + {if $alias !== null} + {include aliasLink, classLike: $classLike, alias: $alias} + {else} + {$type} + {/if} + {elseif $kind === ApiGen\Analyzer\IdentifierKind::Keyword && $type->name === 'parent' && $scope && isClass($scope) && $scope->extends} + {include classLikeLink, $index->classLike[$scope->extends->fullLower], text: 'parent'} + {elseif $kind === ApiGen\Analyzer\IdentifierKind::Keyword && $type->name === 'self' && $scope} + {include classLikeLink, $scope, text: 'self'} + {else} + {$type} + {/if} + + {elseif $type instanceof PHPStan\PhpDocParser\Ast\Type\ArrayTypeNode} + {include this, type: $type->type, scope: $scope, brackets: true, short: $short}[] + + {elseif $type instanceof PHPStan\PhpDocParser\Ast\Type\ArrayShapeNode} + {$type->kind}{ + {foreach $type->items as $item} + {if $item->keyName} + {$item->keyName} + {if $item->optional}?{/if}{=": "} + {/if} + {include this, type: $item->valueType, scope: $scope, brackets: true, short: $short} + {sep}, {/sep} + {/foreach} + {if !$type->sealed}{if $type->items}, {/if}...{/if} + } + + {elseif $type instanceof PHPStan\PhpDocParser\Ast\Type\ObjectShapeNode} + object{ + {foreach $type->items as $item} + {$item->keyName} + {if $item->optional}?{/if}{=": "} + {include this, type: $item->valueType, scope: $scope, brackets: true, short: $short} + {sep}, {/sep} + {/foreach} + } + + {elseif $type instanceof PHPStan\PhpDocParser\Ast\Type\NullableTypeNode} + ?{include this, type: $type->type, scope: $scope, brackets: true, short: $short} + + {elseif $type instanceof PHPStan\PhpDocParser\Ast\Type\UnionTypeNode} + {if $brackets}({/if} + {foreach $type->types as $innerType} + {include this, type: $innerType, scope: $scope, brackets: true, short: $short} + {sep}|{/sep} + {/foreach} + {if $brackets}){/if} + + {elseif $type instanceof PHPStan\PhpDocParser\Ast\Type\IntersectionTypeNode} + {if $brackets}({/if} + {foreach $type->types as $innerType} + {include this, type: $innerType, scope: $scope, brackets: true, short: $short} + {sep}&{/sep} + {/foreach} + {if $brackets}){/if} + + {elseif $type instanceof PHPStan\PhpDocParser\Ast\Type\GenericTypeNode} + {include this, type: $type->type, scope: $scope, short: $short} + < + {foreach $type->genericTypes as $idx => $genericType} + {var $variance = $type->variances[$idx] ?? null} + {if $variance === PHPStan\PhpDocParser\Ast\Type\GenericTypeNode::VARIANCE_BIVARIANT} + * + {elseif $variance === PHPStan\PhpDocParser\Ast\Type\GenericTypeNode::VARIANCE_COVARIANT} + out{=' '} + {include this, type: $genericType, scope: $scope, short: $short} + {elseif $variance === PHPStan\PhpDocParser\Ast\Type\GenericTypeNode::VARIANCE_CONTRAVARIANT} + in{=' '} + {include this, type: $genericType, scope: $scope, short: $short} + {else} + {include this, type: $genericType, scope: $scope, short: $short} + {/if} + {sep}, {/sep} + {/foreach} + > + + {elseif $type instanceof PHPStan\PhpDocParser\Ast\Type\CallableTypeNode} + {if $brackets}({/if} + {include this, type: $type->identifier, scope: $scope, short: $short} + ( + {foreach $type->parameters as $parameter} + {include this, type: $parameter->type, scope: $scope, short: $short} + {if $parameter->isReference}&{/if}{if $parameter->isVariadic}...{/if} + {if $parameter->parameterName && $parameter->type} {/if} + {$parameter->parameterName} + {sep}, {/sep} + {/foreach} + ):  + {include this, type: $type->returnType, scope: $scope, brackets: true, short: $short} + {if $brackets}){/if} + + {elseif $type instanceof PHPStan\PhpDocParser\Ast\Type\ThisTypeNode} + {$type} + + {elseif $type instanceof PHPStan\PhpDocParser\Ast\Type\ConstTypeNode} + {var ApiGen\Info\ExprInfo $expr = $type->constExpr->getAttribute('info')} + {include expr, expr: $expr, scope: $scope} + + {elseif $type instanceof PHPStan\PhpDocParser\Ast\Type\OffsetAccessTypeNode} + {include this, type: $type->type, scope: $scope, short: $short} + [{include this, type: $type->offset, scope: $scope, short: $short}] + + {elseif $type instanceof PHPStan\PhpDocParser\Ast\Type\ConditionalTypeNode} + ( + {include this, type: $type->subjectType, scope: $scope, short: $short} + {if $type->negated} is not {else} is {/if} + {include this, type: $type->targetType, scope: $scope, short: $short} +  ?  + {include this, type: $type->if, scope: $scope, short: $short} +  :  + {include this, type: $type->else, scope: $scope, short: $short} + ) + + {elseif $type instanceof PHPStan\PhpDocParser\Ast\Type\ConditionalTypeForParameterNode} + ( + {$type->parameterName} + {if $type->negated} is not {else} is {/if} + {include this, type: $type->targetType, scope: $scope, short: $short} +  ?  + {include this, type: $type->if, scope: $scope, short: $short} +  :  + {include this, type: $type->else, scope: $scope, short: $short} + ) + + {else} + UNRESOLVED + {/if} + {/pre} +{/define} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/classLike.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/classLike.latte new file mode 100644 index 00000000..f2524a3a --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/classLike.latte @@ -0,0 +1,50 @@ +{templateType ApiGen\Renderer\Latte\Template\ClassLikeTemplate} +{import '../blocks/@index.latte'} + +{embed layout} + {block title} + {if $classLike->isDeprecated()}Deprecated {/if} + {include classLikeKind, $classLike} + {$classLike->name->full} + {/block} + + {block content} +

    + {include classLikeKind, $classLike} {include classLikeLinks, $classLike} +

    + + {if $classLike->genericParameters} +

    {include genericParameters, $classLike->genericParameters}

    + {/if} + + {include classLikeSignatureTable, $classLike} + {include classLikeDescription, $classLike} + + {if !empty($index->dag[$classLike->name->fullLower]) || (isClass($classLike) && $classLike->extends) || (isInterface($classLike) && $classLike->extends)} +
    + {include classTree, $classLike, $index->dag} +
    + {/if} + +
    + {if $classLike->file && sourcePageExists($index->files[$classLike->file])}Located at {relativePath($classLike->file)}
    {/if} +
    + + {include aliasSummary, $classLike} + + {if isEnum($classLike)} + {include enumCaseSummary, $classLike} + {/if} + + {include methodSummary, $classLike} + {include methodInheritedSummary, $classLike, []} + {include methodUsedSummary, $classLike, []} + + {include constantSummary, $classLike} + {include constantInheritedSummary, $classLike, []} + + {include propertySummary, $classLike} + {include propertyInheritedSummary, $classLike, []} + {include propertyUsedSummary, $classLike, []} + {/block} +{/embed} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/function.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/function.latte new file mode 100644 index 00000000..74f94753 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/function.latte @@ -0,0 +1,77 @@ +{templateType ApiGen\Renderer\Latte\Template\FunctionTemplate} +{import '../blocks/@index.latte'} + +{embed layout} + {block title} + {if $function->isDeprecated()}Deprecated {/if} + {$function->name->full} + {/block} + + {block content} +

    + {include functionLinks, $function} +

    + + {if $function->genericParameters} +

    {include genericParameters, $function->genericParameters}

    + {/if} + + {include functionDescription, $function} + + + + + + + + + {foreach $function->parameters as $parameter} + + + + + + + {/foreach} +
    Parameters
    + {if $parameter->type}{include type, $parameter->type}{/if} + + + {if $parameter->byRef}&{/if}{if $parameter->variadic}...{/if}${$parameter->name} + {if $parameter->default} = {include expr, expr: $parameter->default}{/if} + + {longDescription($index, null, $parameter->description)} + # +
    + + + + + + + + + + +
    Returns
    + {if $function->byRef}&{/if}{include type, $function->returnType} + + {longDescription($index, null, $function->returnDescription)} +
    + + + + + + + {foreach $function->tags[throws] as $tag} + + + + + {/foreach} +
    Throws
    {include type, type: $tag->type, short: false}{longDescription($index, $tag->description)}
    + {/block} +{/embed} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/index.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/index.latte new file mode 100644 index 00000000..eabf0921 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/index.latte @@ -0,0 +1,14 @@ +{templateType ApiGen\Renderer\Latte\Template\TreeTemplate} +{import '../blocks/@index.latte'} + +{embed layout} + {block content} +

    {$config->title} API documentation

    + + {embed elementSummary} + {block elementSummaryContent} + {include elementSummaryGroup, heading: 'Namespaces', elements: $index->namespace, showDescription: false, onlyPrimary: true} + {/block} + {/embed} + {/block} +{/embed} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/namespace.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/namespace.latte new file mode 100644 index 00000000..376f4888 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/namespace.latte @@ -0,0 +1,22 @@ +{templateType ApiGen\Renderer\Latte\Template\NamespaceTemplate} +{import '../blocks/@index.latte'} + +{embed layout} + {block title}{if $namespace->name->full !== ''}Namespace {$namespace->name->full}{else}No namespace{/if}{/block} + + {block content} +

    {if $namespace->name->full !== ''}Namespace {include namespaceLinks, $namespace}{else}No namespace{/if}

    + + {embed elementSummary} + {block elementSummaryContent} + {include elementSummaryGroup, heading: 'Classes', elements: $namespace->class, onlyPrimary: $namespace->primary} + {include elementSummaryGroup, heading: 'Interfaces', elements: $namespace->interface, onlyPrimary: $namespace->primary} + {include elementSummaryGroup, heading: 'Traits', elements: $namespace->trait, onlyPrimary: $namespace->primary} + {include elementSummaryGroup, heading: 'Enums', elements: $namespace->enum, onlyPrimary: $namespace->primary} + {include elementSummaryGroup, heading: 'Exceptions', elements: $namespace->exception, onlyPrimary: $namespace->primary} + {include elementSummaryGroup, heading: 'Functions', elements: $namespace->function, onlyPrimary: $namespace->primary} + {include elementSummaryGroup, heading: 'Namespaces', elements: $namespace->children, showDescription: false, onlyPrimary: $namespace->primary} + {/block} + {/embed} + {/block} +{/embed} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/sitemap.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/sitemap.latte new file mode 100644 index 00000000..864d1aee --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/sitemap.latte @@ -0,0 +1,34 @@ +{templateType ApiGen\Renderer\Latte\Template\SitemapTemplate} +{contentType 'application/xml'} + + + {indexUrl()} + + {if treePageExists()} + {treeUrl()} + {/if} + + {foreach $index->namespace as $namespace} + {if namespacePageExists($namespace) && $namespace->primary} + {namespaceUrl($namespace)} + {/if} + {/foreach} + + {foreach $index->classLike as $classLike} + {if classLikePageExists($classLike) && $classLike->primary} + {classLikeUrl($classLike)} + {/if} + {/foreach} + + {foreach $index->function as $function} + {if functionPageExists($function) && $function->primary} + {functionUrl($function)} + {/if} + {/foreach} + + {foreach $index->files as $file} + {if sourcePageExists($file) && $file->primary} + {sourceUrl($file->path, null, null)} + {/if} + {/foreach} + diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/source.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/source.latte new file mode 100644 index 00000000..c59bfcd7 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/source.latte @@ -0,0 +1,10 @@ +{templateType ApiGen\Renderer\Latte\Template\SourceTemplate} +{import '../blocks/@index.latte'} + +{embed layout} + {block title}File {relativePath($path)}{/block} + + {block content} + {include source, $path} + {/block} +{/embed} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/tree.latte b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/tree.latte new file mode 100644 index 00000000..82819844 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/Latte/Template/pages/tree.latte @@ -0,0 +1,30 @@ +{templateType ApiGen\Renderer\Latte\Template\TreeTemplate} +{import '../blocks/@index.latte'} + +{embed layout} + {block title}Tree{/block} + + {block content} +

    {include title}

    + + {ifset $index->classExtends['']} +

    Classes

    + {include classTreeList, $index->classExtends[''], $index->classExtends} + {/ifset} + + {if $index->interface} +

    Interfaces

    + {include classTreeList, $index->interface, []} + {/if} + + {if $index->trait} +

    Traits

    + {include classTreeList, $index->trait, []} + {/if} + + {if $index->enum} +

    Enums

    + {include classTreeList, $index->enum, []} + {/if} + {/block} +{/embed} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/SourceHighlighter.php b/apigen/vendor/apigen/apigen/src/Renderer/SourceHighlighter.php new file mode 100644 index 00000000..be999c18 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/SourceHighlighter.php @@ -0,0 +1,263 @@ + self::PHP_TAG, + T_OPEN_TAG_WITH_ECHO => self::PHP_TAG, + T_CLOSE_TAG => self::PHP_TAG, + T_INCLUDE => self::PHP_KEYWORD, + T_INCLUDE_ONCE => self::PHP_KEYWORD, + T_REQUIRE => self::PHP_KEYWORD, + T_REQUIRE_ONCE => self::PHP_KEYWORD, + T_LOGICAL_OR => self::PHP_KEYWORD, + T_LOGICAL_XOR => self::PHP_KEYWORD, + T_LOGICAL_AND => self::PHP_KEYWORD, + T_PRINT => self::PHP_KEYWORD, + T_YIELD => self::PHP_KEYWORD, + T_YIELD_FROM => self::PHP_KEYWORD, + T_INSTANCEOF => self::PHP_KEYWORD, + T_NEW => self::PHP_KEYWORD, + T_CLONE => self::PHP_KEYWORD, + T_ELSEIF => self::PHP_KEYWORD, + T_ELSE => self::PHP_KEYWORD, + T_EVAL => self::PHP_KEYWORD, + T_EXIT => self::PHP_KEYWORD, + T_IF => self::PHP_KEYWORD, + T_ENDIF => self::PHP_KEYWORD, + T_ECHO => self::PHP_KEYWORD, + T_DO => self::PHP_KEYWORD, + T_WHILE => self::PHP_KEYWORD, + T_ENDWHILE => self::PHP_KEYWORD, + T_FOR => self::PHP_KEYWORD, + T_ENDFOR => self::PHP_KEYWORD, + T_FOREACH => self::PHP_KEYWORD, + T_ENDFOREACH => self::PHP_KEYWORD, + T_DECLARE => self::PHP_KEYWORD, + T_ENDDECLARE => self::PHP_KEYWORD, + T_AS => self::PHP_KEYWORD, + T_SWITCH => self::PHP_KEYWORD, + T_ENDSWITCH => self::PHP_KEYWORD, + T_CASE => self::PHP_KEYWORD, + T_DEFAULT => self::PHP_KEYWORD, + T_BREAK => self::PHP_KEYWORD, + T_CONTINUE => self::PHP_KEYWORD, + T_GOTO => self::PHP_KEYWORD, + T_FUNCTION => self::PHP_KEYWORD, + T_FN => self::PHP_KEYWORD, + T_CONST => self::PHP_KEYWORD, + T_RETURN => self::PHP_KEYWORD, + T_CATCH => self::PHP_KEYWORD, + T_TRY => self::PHP_KEYWORD, + T_FINALLY => self::PHP_KEYWORD, + T_THROW => self::PHP_KEYWORD, + T_USE => self::PHP_KEYWORD, + T_INSTEADOF => self::PHP_KEYWORD, + T_GLOBAL => self::PHP_KEYWORD, + T_STATIC => self::PHP_KEYWORD, + T_ABSTRACT => self::PHP_KEYWORD, + T_FINAL => self::PHP_KEYWORD, + T_PRIVATE => self::PHP_KEYWORD, + T_PROTECTED => self::PHP_KEYWORD, + T_PUBLIC => self::PHP_KEYWORD, + T_VAR => self::PHP_KEYWORD, + T_UNSET => self::PHP_KEYWORD, + T_ISSET => self::PHP_KEYWORD, + T_EMPTY => self::PHP_KEYWORD, + T_HALT_COMPILER => self::PHP_KEYWORD, + T_CLASS => self::PHP_KEYWORD, + T_TRAIT => self::PHP_KEYWORD, + T_INTERFACE => self::PHP_KEYWORD, + T_EXTENDS => self::PHP_KEYWORD, + T_IMPLEMENTS => self::PHP_KEYWORD, + T_LIST => self::PHP_KEYWORD, + T_ARRAY => self::PHP_KEYWORD, + T_NAMESPACE => self::PHP_KEYWORD, + T_ENUM => self::PHP_KEYWORD, + T_READONLY => self::PHP_KEYWORD, + T_MATCH => self::PHP_KEYWORD, + T_LNUMBER => self::PHP_NUMBER, + T_DNUMBER => self::PHP_NUMBER, + T_CONSTANT_ENCAPSED_STRING => self::PHP_STRING, + T_ENCAPSED_AND_WHITESPACE => self::PHP_STRING, + T_VARIABLE => self::PHP_VARIABLE, + T_COMMENT => self::PHP_COMMENT, + T_DOC_COMMENT => self::PHP_COMMENT, + ]; + + /** @var string[] indexed by [identifierName] */ + public array $identifierClass = [ + 'true' => self::PHP_KEYWORD, + 'false' => self::PHP_KEYWORD, + 'null' => self::PHP_KEYWORD, + ]; + + + public function __construct( + protected OutputStyle $output, + ) { + } + + + public function highlight(string $path): string + { + $source = FileSystem::read($path); + $align = strlen(strval(1 + substr_count($source, "\n"))); + $lineStart = "%1\${$align}d: "; + $lineEnd = ''; + + $line = 1; + $out = sprintf($lineStart, $line); + + foreach ($this->tokenize($path, $source) as $id => $text) { + if ($text === "\n") { + $out .= $lineEnd . sprintf($lineStart, ++$line); + + } else { + $html = htmlspecialchars($text); + $class = $this->tokenClass[$id] ?? ($id === T_STRING ? $this->identifierClass[strtolower($text)] ?? null : null); + $out .= $class ? "{$html}" : $html; + } + } + + return $out . $lineEnd; + } + + + /** + * @return iterable + */ + protected function tokenize(string $path, string $source): iterable + { + try { + $tokens = PhpToken::tokenize($source, TOKEN_PARSE); + + } catch (\ParseError $e) { + $this->output->newLine(); + $this->output->warning(sprintf("Parse error in %s:%d\n%s", $path, $e->getLine(), $e->getMessage())); + $tokens = [new PhpToken(T_INLINE_HTML, $source)]; + } + + foreach ($tokens as $token) { + $lines = explode("\n", $token->text); + $lastLine = count($lines) - 1; + + foreach ($lines as $i => $line) { + yield $token->id => $line; + + if ($i !== $lastLine) { + yield T_WHITESPACE => "\n"; + } + } + } + } +} diff --git a/apigen/vendor/apigen/apigen/src/Renderer/UrlGenerator.php b/apigen/vendor/apigen/apigen/src/Renderer/UrlGenerator.php new file mode 100644 index 00000000..e6b8bd58 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Renderer/UrlGenerator.php @@ -0,0 +1,223 @@ +baseDir)) { + return substr($path, strlen($this->baseDir) + 1); + + } else { + throw new \LogicException("{$path} does not start with {$this->baseDir}"); + } + } + + + public function getAssetUrl(string $name): string + { + return $this->baseUrl . $this->getAssetPath($name); + } + + + public function getAssetPath(string $name): string + { + return "assets/$name"; + } + + + public function getIndexUrl(): string + { + return $this->baseUrl . $this->getIndexPath(); + } + + + public function getIndexPath(): string + { + return 'index.html'; + } + + + public function getTreeUrl(): string + { + return $this->baseUrl . $this->getTreePath(); + } + + + public function getTreePath(): string + { + return 'tree.html'; + } + + + public function getSitemapPath(): string + { + return 'sitemap.xml'; + } + + + public function getSitemapUrl(): string + { + return $this->baseUrl . $this->getSitemapPath(); + } + + + public function getNamespaceUrl(NamespaceIndex $namespace): string + { + return $this->baseUrl . $this->getNamespacePath($namespace); + } + + + public function getNamespacePath(NamespaceIndex $namespace): string + { + return 'namespace-' . strtr($namespace->name->full ?: 'none', '\\', '.') . '.html'; + } + + + public function getClassLikeUrl(ClassLikeInfo $classLike): string + { + return $this->baseUrl . $this->getClassLikePath($classLike); + } + + + public function getClassLikePath(ClassLikeInfo $classLike): string + { + return strtr($classLike->name->full, '\\', '.') . '.html'; + } + + + public function getClassLikeSourceUrl(ClassLikeInfo $classLike): string + { + assert($classLike->file !== null); + return $this->getSourceUrl($classLike->file, $classLike->startLine, null); // intentionally not passing endLine + } + + + public function getMemberUrl(ClassLikeInfo $classLike, MemberInfo $member): string + { + return $this->getClassLikeUrl($classLike) . '#' . $this->getMemberAnchor($member); + } + + + public function getMemberAnchor(MemberInfo $member): string + { + if ($member instanceof ConstantInfo || $member instanceof EnumCaseInfo) { + return $member->name; + + } elseif ($member instanceof PropertyInfo) { + return '$' . $member->name; + + } elseif ($member instanceof MethodInfo) { + return '_' . $member->name; + + } else { + throw new \LogicException(sprintf('Unexpected member type %s', get_debug_type($member))); + } + } + + + public function getMemberSourceUrl(ClassLikeInfo $classLike, MemberInfo $member): string + { + assert($classLike->file !== null); + return $this->getSourceUrl($classLike->file, $member->startLine, $member->endLine); + } + + + public function getAliasUrl(ClassLikeInfo $classLike, AliasInfo $alias): string + { + return $this->getClassLikeUrl($classLike) . '#' . $this->getAliasAnchor($alias); + } + + + public function getAliasAnchor(AliasInfo $alias): string + { + return '~' . $alias->name; + } + + + public function getAliasSourceUrl(ClassLikeInfo $classLike, AliasInfo $alias): string + { + assert($classLike->file !== null); + return $this->getSourceUrl($classLike->file, $alias->startLine, $alias->endLine); + } + + + public function getFunctionUrl(FunctionInfo $function): string + { + return $this->baseUrl . $this->getFunctionPath($function); + } + + + public function getFunctionPath(FunctionInfo $function): string + { + return 'function-' . strtr($function->name->full, '\\', '.') . '.html'; + } + + + public function getFunctionSourceUrl(FunctionInfo $function): string + { + assert($function->file !== null); + return $this->getSourceUrl($function->file, $function->startLine, $function->endLine); + } + + + public function getParameterAnchor(ParameterInfo $parameter): string + { + return '$' . $parameter->name; + } + + + public function getSourceUrl(string $path, ?int $startLine, ?int $endLine): string + { + if ($startLine === null) { + $fragment = ''; + + } elseif ($endLine === null || $endLine === $startLine) { + $fragment = "#$startLine"; + + } else { + $fragment = "#$startLine-$endLine"; + } + + return $this->baseUrl . $this->getSourcePath($path) . $fragment; + } + + + public function getSourcePath(string $path): string + { + $relativePath = $this->getRelativePath($path); + $relativePathWithoutExtension = substr($relativePath, 0, strrpos($relativePath, '.') ?: null); + return 'source-' . strtr($relativePathWithoutExtension, DIRECTORY_SEPARATOR, '.') . '.html'; + } +} diff --git a/apigen/vendor/apigen/apigen/src/Scanner/Scanner.php b/apigen/vendor/apigen/apigen/src/Scanner/Scanner.php deleted file mode 100644 index 294053bc..00000000 --- a/apigen/vendor/apigen/apigen/src/Scanner/Scanner.php +++ /dev/null @@ -1,94 +0,0 @@ -turnToIterator($source); - $fileMasks = $this->turnExtensionsToMask($extensions); - - $files = []; - foreach ($sources as $source) { - $files = array_merge($files, $this->getFilesFromSource($source, $exclude, $fileMasks)); - } - - return $files; - } - - - /** - * @param string $source - * @param array $exclude - * @param string $fileMasks - * @return SplFileInfo[] - */ - private function getFilesFromSource($source, array $exclude, $fileMasks) - { - if (is_file($source)) { - $foundFiles[$source] = new SplFileInfo($source); - return $foundFiles; - - } else { - $finder = Finder::findFiles($fileMasks)->exclude($exclude) - ->from($source)->exclude($exclude); - return $this->convertFinderToArray($finder); - } - } - - - /** - * @param array|string $source - * @return array - */ - private function turnToIterator($source) - { - if ( ! is_array($source)) { - return [$source]; - } - return $source; - } - - - /** - * @return array - */ - private function turnExtensionsToMask(array $extensions) - { - array_walk($extensions, function (&$value) { - $value = '*.' . $value; - }); - return $extensions; - } - - - /** - * @return SplFileInfo[] - */ - private function convertFinderToArray(Finder $finder) - { - return iterator_to_array($finder->getIterator()); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Scheduler.php b/apigen/vendor/apigen/apigen/src/Scheduler.php new file mode 100644 index 00000000..f5a3714d --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Scheduler.php @@ -0,0 +1,24 @@ + + */ + public function process(): iterable; +} diff --git a/apigen/vendor/apigen/apigen/src/Scheduler/ExecScheduler.php b/apigen/vendor/apigen/apigen/src/Scheduler/ExecScheduler.php new file mode 100644 index 00000000..76bcbb34 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Scheduler/ExecScheduler.php @@ -0,0 +1,94 @@ + + */ +class ExecScheduler extends WorkerScheduler +{ + /** @var resource[] $workers indexed by [workerId] */ + protected array $workers = []; + + + /** + * @param class-string $containerClass + * @param class-string>> $handlerFactoryClass + * @param TContext $context + */ + public function __construct( + protected string $containerClass, + protected array $containerParameters, + protected string $handlerFactoryClass, + protected mixed $context, + int $workerCount, + ) { + parent::__construct($workerCount); + } + + + protected function start(): void + { + $command = [ + PHP_BINARY, + '--run', + sprintf('require %s;', var_export(__DIR__ . '/worker.php', return: true)), + '--', + dirname(Helpers::classLikePath(ClassLoader::class), 2) . '/autoload.php', + Helpers::classLikePath($this->containerClass), + $this->containerClass, + $this->handlerFactoryClass, + ]; + + $descriptors = [ + PHP_OS_FAMILY === 'Windows' ? ['socket'] : ['pipe', 'r'], + PHP_OS_FAMILY === 'Windows' ? ['socket'] : ['pipe', 'w'], + STDERR, + ]; + + for ($workerId = 0; $workerId < $this->workerCount; $workerId++) { + $workerProcess = proc_open($command, $descriptors, $pipes); + + if ($workerProcess === false) { + throw new \RuntimeException('Failed to start worker process, try running ApiGen with --workers 1'); + } + + $this->workers[$workerId] = $workerProcess; + $this->workerWritableStreams[$workerId] = $pipes[0]; + $this->workerReadableStreams[$workerId] = $pipes[1]; + self::writeMessage($this->workerWritableStreams[$workerId], $this->containerParameters); + self::writeMessage($this->workerWritableStreams[$workerId], $this->context); + } + } + + + protected function stop(): void + { + foreach ($this->workers as $worker) { + if (proc_close($worker) !== 0) { + throw new \RuntimeException('Worker process crashed, try running ApiGen with --workers 1'); + } + } + } +} diff --git a/apigen/vendor/apigen/apigen/src/Scheduler/ForkScheduler.php b/apigen/vendor/apigen/apigen/src/Scheduler/ForkScheduler.php new file mode 100644 index 00000000..7054b7b7 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Scheduler/ForkScheduler.php @@ -0,0 +1,96 @@ + + */ +class ForkScheduler extends WorkerScheduler +{ + /** @var int[] $workers indexed by [workerId] */ + protected array $workers = []; + + + /** + * @param TaskHandler $handler + */ + public function __construct( + protected TaskHandler $handler, + int $workerCount, + ) { + parent::__construct($workerCount); + } + + + protected function start(): void + { + for ($workerId = 0; $workerId < $this->workerCount; $workerId++) { + $pair = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP); + + if ($pair === false) { + throw new \RuntimeException('Failed to create socket pair, try running ApiGen with --workers 1'); + } + + $pid = pcntl_fork(); + + if ($pid < 0) { + throw new \RuntimeException('Failed to fork process, try running ApiGen with --workers 1'); + + } elseif ($pid === 0) { + fclose($pair[0]); + self::workerLoop($this->handler, $pair[1], $pair[1]); + exit(0); + + } else { + fclose($pair[1]); + $this->workers[$workerId] = $pid; + $this->workerReadableStreams[$workerId] = $pair[0]; + $this->workerWritableStreams[$workerId] = $pair[0]; + } + } + } + + + protected function stop(): void + { + foreach ($this->workerWritableStreams as $stream) { + fclose($stream); + } + + foreach ($this->workers as $pid) { + pcntl_waitpid($pid, $status); + + if (pcntl_wifexited($status)) { + if (($exitCode = pcntl_wexitstatus($status)) !== 0) { + throw new \RuntimeException("Worker with PID $pid exited with code $exitCode, try running ApiGen with --workers 1"); + } + + } elseif (pcntl_wifsignaled($status)) { + $signal = pcntl_wtermsig($status); + throw new \RuntimeException("Worker with PID $pid was killed by signal $signal, try running ApiGen with --workers 1"); + + } else { + throw new \LogicException('Invalid worker state'); + } + } + } +} diff --git a/apigen/vendor/apigen/apigen/src/Scheduler/SchedulerFactory.php b/apigen/vendor/apigen/apigen/src/Scheduler/SchedulerFactory.php new file mode 100644 index 00000000..08ce7c29 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Scheduler/SchedulerFactory.php @@ -0,0 +1,66 @@ +>> $handlerFactoryType + * @param TContext $context + * @return Scheduler + */ + public function create(string $handlerFactoryType, mixed $context): Scheduler + { + if ($this->workerCount > 1 && PHP_SAPI === 'cli') { + if (extension_loaded('pcntl')) { + $handler = $this->createHandler($handlerFactoryType, $context); + return new ForkScheduler($handler, $this->workerCount); + + } elseif (function_exists('proc_open')) { + return new ExecScheduler($this->container::class, $this->container->parameters, $handlerFactoryType, $context, $this->workerCount); + } + } + + $handler = $this->createHandler($handlerFactoryType, $context); + return new SimpleScheduler($handler); + } + + + /** + * @template TTask of Task + * @template TResult + * @template TContext + * + * @param class-string>> $handlerFactoryType + * @param TContext $context + * @return TaskHandler + */ + private function createHandler(string $handlerFactoryType, mixed $context): TaskHandler + { + $factory = $this->container->getByType($handlerFactoryType) ?? throw new \LogicException(); + return $factory->create($context); + } +} diff --git a/apigen/vendor/apigen/apigen/src/Scheduler/SimpleScheduler.php b/apigen/vendor/apigen/apigen/src/Scheduler/SimpleScheduler.php new file mode 100644 index 00000000..abbae56d --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Scheduler/SimpleScheduler.php @@ -0,0 +1,52 @@ + + */ +class SimpleScheduler implements Scheduler +{ + /** @var SplQueue */ + protected SplQueue $tasks; + + + /** + * @param TaskHandler $handler + */ + public function __construct( + protected TaskHandler $handler, + ) { + $this->tasks = new SplQueue(); + } + + + /** + * @param TTask $task + */ + public function schedule(Task $task): void + { + $this->tasks->enqueue($task); + } + + + /** + * @return iterable + */ + public function process(): iterable + { + while (!$this->tasks->isEmpty()) { + $task = $this->tasks->dequeue(); + $result = $this->handler->handle($task); + yield $task => $result; + } + } +} diff --git a/apigen/vendor/apigen/apigen/src/Scheduler/WorkerScheduler.php b/apigen/vendor/apigen/apigen/src/Scheduler/WorkerScheduler.php new file mode 100644 index 00000000..4f8bdb14 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Scheduler/WorkerScheduler.php @@ -0,0 +1,173 @@ + + */ +abstract class WorkerScheduler implements Scheduler +{ + protected const WORKER_CAPACITY_LIMIT = 8; + + /** @var SplQueue queue of tasks which needs to be sent to workers */ + protected SplQueue $tasks; + + /** @var int total number of pending tasks (including those already sent to workers) */ + protected int $pendingTaskCount = 0; + + /** @var resource[] indexed by [workerId] */ + protected array $workerReadableStreams = []; + + /** @var resource[] indexed by [workerId] */ + protected array $workerWritableStreams = []; + + + public function __construct( + protected int $workerCount, + ) { + $this->tasks = new SplQueue(); + } + + + /** + * @param resource $stream + */ + public static function writeMessage($stream, mixed $message): void + { + $serialized = extension_loaded('igbinary') + ? igbinary_serialize($message) ?? throw new \LogicException('Failed to serialize message.') + : serialize($message); + + $line = base64_encode($serialized) . "\n"; + + if (fwrite($stream, $line) !== strlen($line)) { + throw new \RuntimeException('Failed to write message to stream.'); + } + } + + + /** + * @param resource $stream + */ + public static function readMessage($stream): mixed + { + $line = fgets($stream); + + if ($line === false) { + return null; + } + + $serialized = base64_decode($line, strict: true); + + if ($serialized === false) { + throw new \RuntimeException('Failed to decode message.'); + } + + return extension_loaded('igbinary') + ? igbinary_unserialize($serialized) + : unserialize($serialized); + } + + + /** + * @template T2 of Task + * @template R2 + * + * @param TaskHandler $handler + * @param resource $inputStream + * @param resource $outputStream + */ + public static function workerLoop(TaskHandler $handler, $inputStream, $outputStream): void + { + while (($task = self::readMessage($inputStream)) !== null) { + $result = $handler->handle($task); + self::writeMessage($outputStream, [$task, $result]); + } + } + + + /** + * @param TTask $task + */ + public function schedule(Task $task): void + { + $this->tasks->enqueue($task); + $this->pendingTaskCount++; + } + + + /** + * @return iterable + */ + public function process(): iterable + { + try { + $this->start(); + + $idleWorkers = array_fill_keys(array_keys($this->workerWritableStreams), self::WORKER_CAPACITY_LIMIT); + + while ($this->pendingTaskCount > 0) { + while (count($idleWorkers) > 0 && !$this->tasks->isEmpty()) { + $idleWorkerId = array_key_first($idleWorkers); + $idleWorkerCapacity = $idleWorkers[$idleWorkerId]; + self::writeMessage($this->workerWritableStreams[$idleWorkerId], $this->tasks->dequeue()); + unset($idleWorkers[$idleWorkerId]); + + if ($idleWorkerCapacity > 1) { + $idleWorkers[$idleWorkerId] = $idleWorkerCapacity - 1; + } + } + + $readable = $this->workerReadableStreams; + $writable = null; + $except = null; + $changedCount = stream_select($readable, $writable, $except, null); + + if ($changedCount === false || $changedCount === 0) { + throw new \RuntimeException('stream_select() failed.'); + } + + foreach ($readable as $workerId => $stream) { + [$task, $result] = self::readMessage($stream) ?? throw new \RuntimeException('Failed to read message from worker.'); + $idleWorkers[$workerId] = ($idleWorkers[$workerId] ?? 0) + 1; + $this->pendingTaskCount--; + yield $task => $result; + } + } + + } finally { + $this->pendingTaskCount = 0; + $this->stop(); + } + } + + + abstract protected function start(): void; + + + abstract protected function stop(): void; +} diff --git a/apigen/vendor/apigen/apigen/src/Scheduler/worker.php b/apigen/vendor/apigen/apigen/src/Scheduler/worker.php new file mode 100644 index 00000000..91b996b7 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Scheduler/worker.php @@ -0,0 +1,50 @@ + $containerClassName */ +$containerClassName = $argv[3]; + +/** @var class-string>> $handlerFactoryClassName */ +$handlerFactoryClassName = $argv[4]; + +require $autoloadPath; +Bootstrap::configureErrorHandling(); + +require $containerClassPath; + +$containerParameters = WorkerScheduler::readMessage(STDIN); +$container = new $containerClassName($containerParameters); +$container->addService('symfonyConsole.output', new SymfonyStyle(new ArgvInput(), new StreamOutput(STDERR))); +ini_set('memory_limit', $container->parameters['memoryLimit']); + +$context = WorkerScheduler::readMessage(STDIN); +$handlerFactory = $container->getByType($handlerFactoryClassName) ?? throw new \LogicException(); +$handler = $handlerFactory->create($context); +WorkerScheduler::workerLoop($handler, STDIN, STDOUT); diff --git a/apigen/vendor/apigen/apigen/src/Task/Task.php b/apigen/vendor/apigen/apigen/src/Task/Task.php new file mode 100644 index 00000000..b1376925 --- /dev/null +++ b/apigen/vendor/apigen/apigen/src/Task/Task.php @@ -0,0 +1,8 @@ + + */ +interface TaskHandlerFactory +{ + /** + * @param TContext $context + * @return THandler + */ + public function create(mixed $context): TaskHandler; +} diff --git a/apigen/vendor/apigen/apigen/src/Templating/Exceptions/UnsupportedElementException.php b/apigen/vendor/apigen/apigen/src/Templating/Exceptions/UnsupportedElementException.php deleted file mode 100644 index 9a8d7a68..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/Exceptions/UnsupportedElementException.php +++ /dev/null @@ -1,18 +0,0 @@ - 'used by' - ]; - - /** - * @var string[] - */ - private $remove = [ - 'package', 'subpackage', 'property', 'property-read', 'property-write', 'method', 'abstract', 'access', - 'final', 'filesource', 'global', 'name', 'static', 'staticvar' - ]; - - /** - * @var array - */ - private $order = [ - 'deprecated' => 0, - 'category' => 1, - 'copyright' => 2, - 'license' => 3, - 'author' => 4, - 'version' => 5, - 'since' => 6, - 'see' => 7, - 'uses' => 8, - 'usedby' => 9, - 'link' => 10, - 'internal' => 11, - 'example' => 12, - 'tutorial' => 13, - 'todo' => 14 - ]; - - /** - * @var Configuration - */ - private $configuration; - - - public function __construct(Configuration $configuration) - { - $this->configuration = $configuration; - } - - - /** - * @param string $name - * @return string - */ - public function annotationBeautify($name) - { - if (isset($this->rename[$name])) { - $name = $this->rename[$name]; - } - return Nette\Utils\Strings::firstUpper($name); - } - - - /** - * @return array - */ - public function annotationFilter(array $annotations, array $customToRemove = []) - { - $annotations = $this->filterOut($annotations, $this->remove); - $annotations = $this->filterOut($annotations, $customToRemove); - - if ( ! $this->configuration->getOption(CO::INTERNAL)) { - unset($annotations['internal']); - } - - if ( ! $this->configuration->getOption(CO::TODO)) { - unset($annotations['todo']); - } - - return $annotations; - } - - - /** - * @return array - */ - public function annotationSort(array $annotations) - { - uksort($annotations, function ($one, $two) { - if (isset($this->order[$one], $this->order[$two])) { - return $this->order[$one] - $this->order[$two]; - - } elseif (isset($this->order[$one])) { - return -1; - - } elseif (isset($this->order[$two])) { - return 1; - - } else { - return strcasecmp($one, $two); - } - }); - - return $annotations; - } - - - /** - * @return array - */ - private function filterOut(array $annotations, array $toRemove) - { - foreach ($toRemove as $annotation) { - unset($annotations[$annotation]); - } - return $annotations; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/Filters/ElementUrlFilters.php b/apigen/vendor/apigen/apigen/src/Templating/Filters/ElementUrlFilters.php deleted file mode 100644 index 8ae2f259..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/Filters/ElementUrlFilters.php +++ /dev/null @@ -1,90 +0,0 @@ -elementUrlFactory = $elementUrlFactory; - } - - - /** - * @return string - */ - public function elementUrl(ReflectionElement $element) - { - return $this->elementUrlFactory->createForElement($element); - } - - - /** - * @param string|ReflectionClass $class - * @return string - */ - public function classUrl($class) - { - return $this->elementUrlFactory->createForClass($class); - } - - - /** - * @return string - */ - public function methodUrl(ReflectionMethod $method, ReflectionClass $class = NULL) - { - return $this->elementUrlFactory->createForMethod($method, $class); - } - - - /** - * @return string - */ - public function propertyUrl(ReflectionProperty $property, ReflectionClass $class = NULL) - { - return $this->elementUrlFactory->createForProperty($property, $class); - } - - - /** - * @return string - */ - public function constantUrl(ReflectionConstant $constant) - { - return $this->elementUrlFactory->createForConstant($constant); - } - - - /** - * @return string - */ - public function functionUrl(ReflectionFunction $function) - { - return $this->elementUrlFactory->createForFunction($function); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/Filters/Filters.php b/apigen/vendor/apigen/apigen/src/Templating/Filters/Filters.php deleted file mode 100644 index 35ce86b1..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/Filters/Filters.php +++ /dev/null @@ -1,80 +0,0 @@ - 'integer', - 'bool' => 'boolean', - 'double' => 'float', - 'void' => '', - 'FALSE' => 'false', - 'TRUE' => 'true', - 'NULL' => 'null', - 'callback' => 'callable' - ]; - - // Simple type - if (isset($names[$name])) { - return $names[$name]; - } - - // Class, constant or function - return $trimNamespaceSeparator ? ltrim($name, '\\') : $name; - } - - - /** - * @param string $url - * @return string - */ - private function url($url) - { - return rawurlencode($url); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/ElementLinkFactory.php b/apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/ElementLinkFactory.php deleted file mode 100644 index 15919308..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/ElementLinkFactory.php +++ /dev/null @@ -1,163 +0,0 @@ -elementUrlFactory = $elementUrlFactory; - $this->linkBuilder = $linkBuilder; - } - - - /** - * @return string - */ - public function createForElement(ReflectionElement $element, array $classes = []) - { - if ($element instanceof ReflectionClass) { - return $this->createForClass($element, $classes); - - } elseif ($element instanceof ReflectionMethod) { - return $this->createForMethod($element, $classes); - - } elseif ($element instanceof ReflectionProperty) { - return $this->createForProperty($element, $classes); - - } elseif ($element instanceof ReflectionConstant) { - return $this->createForConstant($element, $classes); - - } elseif ($element instanceof ReflectionFunction) { - return $this->createForFunction($element, $classes); - } - - throw new UnexpectedValueException( - 'Descendant of ApiGen\Reflection\Reflection class expected. Got "' - . get_class($element) . ' class".' - ); - } - - - /** - * @return string - */ - private function createForClass(ReflectionClass $reflectionClass, array $classes) - { - return $this->linkBuilder->build( - $this->elementUrlFactory->createForClass($reflectionClass), - $reflectionClass->getName(), - TRUE, - $classes - ); - } - - - /** - * @return string - */ - private function createForMethod(ReflectionMethod $reflectionMethod, array $classes) - { - return $this->linkBuilder->build( - $this->elementUrlFactory->createForMethod($reflectionMethod), - $reflectionMethod->getDeclaringClassName() . '::' . $reflectionMethod->getName() . '()', - FALSE, - $classes - ); - } - - - /** - * @return string - */ - private function createForProperty(ReflectionProperty $reflectionProperty, array $classes) - { - $text = $reflectionProperty->getDeclaringClassName() . '::' . - Html::el('var')->setText('$' . $reflectionProperty->getName()); - - return $this->linkBuilder->build( - $this->elementUrlFactory->createForProperty($reflectionProperty), - $text, - FALSE, - $classes - ); - } - - - /** - * @return string - */ - private function createForConstant(ReflectionConstant $reflectionConstant, array $classes) - { - $url = $this->elementUrlFactory->createForConstant($reflectionConstant); - - if ($reflectionConstant->getDeclaringClassName()) { - $text = $reflectionConstant->getDeclaringClassName() . '::' . - Html::el('b')->setText($reflectionConstant->getName()); - - } else { - $text = $this->getGlobalConstantName($reflectionConstant); - } - - return $this->linkBuilder->build($url, $text, FALSE, $classes); - } - - - /** - * @return string - */ - private function createForFunction(ReflectionFunction $reflectionFunction, array $classes) - { - return $this->linkBuilder->build( - $this->elementUrlFactory->createForFunction($reflectionFunction), - $reflectionFunction->getName() . '()', - TRUE, - $classes - ); - } - - - /** - * @return string - */ - private function getGlobalConstantName(ReflectionConstant $reflectionConstant) - { - if ($reflectionConstant->inNamespace()) { - return $reflectionConstant->getNamespaceName() . '\\' . - Html::el('b')->setText($reflectionConstant->getShortName()); - - } else { - return Html::el('b')->setText($reflectionConstant->getName()); - } - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/ElementUrlFactory.php b/apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/ElementUrlFactory.php deleted file mode 100644 index 4ab6a9c4..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/ElementUrlFactory.php +++ /dev/null @@ -1,142 +0,0 @@ -configuration = $configuration; - } - - - /** - * @param ReflectionElement|string $element - * @return string|NULL - */ - public function createForElement($element) - { - if ($element instanceof ReflectionClass) { - return $this->createForClass($element); - - } elseif ($element instanceof ReflectionMethod) { - return $this->createForMethod($element); - - } elseif ($element instanceof ReflectionProperty) { - return $this->createForProperty($element); - - } elseif ($element instanceof ReflectionConstant) { - return $this->createForConstant($element); - - } elseif ($element instanceof ReflectionFunction) { - return $this->createForFunction($element); - } - - return NULL; - } - - - /** - * @param string|ReflectionClass $class - * @return string - */ - public function createForClass($class) - { - $className = $class instanceof ReflectionClass ? $class->getName() : $class; - return sprintf( - $this->configuration->getOption(CO::TEMPLATE)['templates']['class']['filename'], - Filters::urlize($className) - ); - } - - - /** - * @return string - */ - public function createForMethod(ReflectionMethod $method, ReflectionClass $class = NULL) - { - $className = $class !== NULL ? $class->getName() : $method->getDeclaringClassName(); - return $this->createForClass($className) . '#' . ($method->isMagic() ? 'm' : '') . '_' - . ($method->getOriginalName() ?: $method->getName()); - } - - - /** - * @return string - */ - public function createForProperty(ReflectionProperty $property, ReflectionClass $class = NULL) - { - $className = $class !== NULL ? $class->getName() : $property->getDeclaringClassName(); - return $this->createForClass($className) . '#' . ($property->isMagic() ? 'm' : '') . '$' . $property->getName(); - } - - - /** - * @return string - */ - public function createForConstant(ReflectionConstant $constant) - { - // Class constant - if ($className = $constant->getDeclaringClassName()) { - return $this->createForClass($className) . '#' . $constant->getName(); - } - - // Constant in namespace or global space - return sprintf( - $this->configuration->getOption(CO::TEMPLATE)['templates']['constant']['filename'], - Filters::urlize($constant->getName()) - ); - } - - - /** - * @return string - */ - public function createForFunction(ReflectionFunction $function) - { - return sprintf( - $this->configuration->getOption(CO::TEMPLATE)['templates']['function']['filename'], - Filters::urlize($function->getName()) - ); - } - - - /** - * @param string $name - * @return string - */ - public function createForAnnotationGroup($name) - { - return sprintf( - $this->configuration->getOption(CO::TEMPLATE)['templates'][TCO::ANNOTATION_GROUP]['filename'], - Filters::urlize($name) - ); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/LinkBuilder.php b/apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/LinkBuilder.php deleted file mode 100644 index 683d6996..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/LinkBuilder.php +++ /dev/null @@ -1,34 +0,0 @@ -href($url) - ->setHtml($escape ? Filters::escapeHtml($text) : $text) - ->addAttributes(['class' => $classes]) - ->render(); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/Strings.php b/apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/Strings.php deleted file mode 100644 index 1ee11896..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/Filters/Helpers/Strings.php +++ /dev/null @@ -1,25 +0,0 @@ -configuration = $configuration; - $this->linkBuilder = $linkBuilder; - $this->elementStorage = $elementStorage; - } - - - /** - * @param string $groupName - * @return string - */ - public function subgroupName($groupName) - { - if ($pos = strrpos($groupName, '\\')) { - return substr($groupName, $pos + 1); - } - return $groupName; - } - - - /** - * @param string $package - * @param bool $skipLast - * @return string - */ - public function packageLinks($package, $skipLast = TRUE) - { - if ( ! $this->elementStorage->getPackages()) { - return $package; - } - - $links = []; - - $parent = ''; - foreach (explode('\\', $package) as $part) { - $parent = ltrim($parent . '\\' . $part, '\\'); - $links[] = ($skipLast || $parent !== $package) - ? $this->linkBuilder->build($this->packageUrl($parent), $part) - : $part; - } - - return implode('\\', $links); - } - - - /** - * @param string $namespace - * @param bool $skipLast - * @return string - */ - public function namespaceLinks($namespace, $skipLast = TRUE) - { - if ( ! $this->elementStorage->getNamespaces()) { - return $namespace; - } - - $links = []; - - $parent = ''; - foreach (explode('\\', $namespace) as $part) { - $parent = ltrim($parent . '\\' . $part, '\\'); - $links[] = $skipLast || $parent !== $namespace - ? $this->linkBuilder->build($this->namespaceUrl($parent), $part) - : $part; - } - - return implode('\\', $links); - } - - - /** - * @param string $name - * @return string - */ - public function packageUrl($name) - { - return sprintf( - $this->configuration->getOption(CO::TEMPLATE)['templates']['package']['filename'], - $this->urlize($name) - ); - } - - - /** - * @param string $name - * @return string - */ - public function namespaceUrl($name) - { - return sprintf( - $this->configuration->getOption(CO::TEMPLATE)['templates']['namespace']['filename'], - $this->urlize($name) - ); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/Filters/PathFilters.php b/apigen/vendor/apigen/apigen/src/Templating/Filters/PathFilters.php deleted file mode 100644 index 2895e0af..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/Filters/PathFilters.php +++ /dev/null @@ -1,39 +0,0 @@ -relativePathResolver = $relativePathResolver; - } - - - /** - * @param string $fileName - * @return string - */ - public function relativePath($fileName) - { - return $this->relativePathResolver->getRelativePath($fileName); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/Filters/PhpManualFilters.php b/apigen/vendor/apigen/apigen/src/Templating/Filters/PhpManualFilters.php deleted file mode 100644 index 07ade0c2..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/Filters/PhpManualFilters.php +++ /dev/null @@ -1,190 +0,0 @@ - callback ] - */ - private $assignments = []; - - - public function __construct() - { - $this->prepareAssignments(); - } - - - /** - * @param ReflectionElement|ReflectionExtension|ReflectionMethod $element - * @return string - */ - public function manualUrl($element) - { - if ($element instanceof ReflectionExtension) { - return $this->createExtensionUrl($element); - } - - $class = $this->detectClass($element); - if ($class && $this->isReservedClass($class)) { - return self::PHP_MANUAL_URL . '/reserved.classes.php'; - } - - $className = get_class($element); - if (isset($this->assignments[$className])) { - return $this->assignments[$className]($element, $class); - } - return ''; - } - - - /** - * @return string - */ - private function createExtensionUrl(ReflectionExtension $reflectionExtension) - { - $extensionName = strtolower($reflectionExtension->getName()); - if ($extensionName === 'core') { - return self::PHP_MANUAL_URL; - } - - if ($extensionName === 'date') { - $extensionName = 'datetime'; - } - - return self::PHP_MANUAL_URL . '/book.' . $extensionName . '.php'; - } - - - /** - * @return array - */ - private function prepareAssignments() - { - $this->assignments['ApiGen\Reflection\ReflectionClass'] = function ($element, $class) { - return $this->createClassUrl($class); - }; - $this->assignments['ApiGen\Reflection\ReflectionMethod'] = function ($element, $class) { - return $this->createMethodUrl($element, $class); - }; - $this->assignments['ApiGen\Reflection\ReflectionFunction'] = function ($element, $class) { - return $this->createFunctionUrl($element); - }; - $this->assignments['ApiGen\Reflection\ReflectionProperty'] = function ($element, $class) { - return $this->createPropertyUrl($element, $class); - }; - $this->assignments['ApiGen\Reflection\ReflectionConstant'] = function ($element, $class) { - return $this->createConstantUrl($element, $class); - }; - } - - - /** - * @return string - */ - private function createClassUrl(ReflectionClass $classReflection) - { - return self::PHP_MANUAL_URL . '/class.' . strtolower($classReflection->getName()) . '.php'; - } - - - /** - * @return string - */ - private function createConstantUrl(ReflectionConstant $reflectionConstant, ReflectionClass $classReflection) - { - return $this->createClassUrl($classReflection) . '#' . strtolower($classReflection->getName()) . - '.constants.' . $this->getElementName($reflectionConstant); - } - - - /** - * @return string - */ - private function createPropertyUrl(ReflectionProperty $reflectionProperty, ReflectionClass $classReflection) - { - return $this->createClassUrl($classReflection) . '#' . strtolower($classReflection->getName()) . - '.props.' . $this->getElementName($reflectionProperty); - } - - - /** - * @return string - */ - private function createMethodUrl(ReflectionMethod $reflectionMethod, ReflectionClass $reflectionClass) - { - return self::PHP_MANUAL_URL . '/' . strtolower($reflectionClass->getName()) . '.' . - $this->getElementName($reflectionMethod) . '.php'; - } - - - /** - * @return string - */ - private function createFunctionUrl(ReflectionElement $reflectionElement) - { - return self::PHP_MANUAL_URL . '/function.' . strtolower($reflectionElement->getName()) . '.php'; - } - - - /** - * @return bool - */ - private function isReservedClass(ReflectionClass $class) - { - $reservedClasses = ['stdClass', 'Closure', 'Directory']; - return (in_array($class->getName(), $reservedClasses)); - } - - - /** - * @return string - */ - private function getElementName(ReflectionElement $element) - { - return strtolower(strtr(ltrim($element->getName(), '_'), '_', '-')); - } - - - /** - * @param ReflectionElement|string $element - * @return string - */ - private function detectClass($element) - { - if ($element instanceof ReflectionClass) { - return $element; - } - - if ($element instanceof ReflectionMethod || $element instanceof ReflectionProperty - || $element instanceof ReflectionConstant - ) { - return $element->getDeclaringClass(); - } - - return ''; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/Filters/ResolverFilters.php b/apigen/vendor/apigen/apigen/src/Templating/Filters/ResolverFilters.php deleted file mode 100644 index 5a49022e..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/Filters/ResolverFilters.php +++ /dev/null @@ -1,62 +0,0 @@ -elementResolver = $elementResolver; - } - - - /** - * @param string $className - * @param string|NULL $namespace - * @return ReflectionClass|FALSE - */ - public function getClass($className, $namespace = NULL) - { - $reflection = $this->elementResolver->getClass($className, $namespace); - if ($reflection) { - return $reflection; - } - return FALSE; - } - - - /** - * @param string $definition - * @param ReflectionElement $context - * @param NULL $expectedName - * @return ReflectionElement|bool|NULL - */ - public function resolveElement($definition, $context, &$expectedName = NULL) - { - $reflection = $this->elementResolver->resolveElement($definition, $context, $expectedName); - if ($reflection) { - return $reflection; - } - return FALSE; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/Filters/SourceFilters.php b/apigen/vendor/apigen/apigen/src/Templating/Filters/SourceFilters.php deleted file mode 100644 index a6314dc3..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/Filters/SourceFilters.php +++ /dev/null @@ -1,111 +0,0 @@ -configuration = $configuration; - } - - - /** - * @param string $name - * @return string - */ - public function staticFile($name) - { - $filename = $this->configuration->getOption(CO::DESTINATION) . '/' . $name; - if (is_file($filename)) { - $name .= '?' . sha1_file($filename); - } - return $name; - } - - - /** - * @param ReflectionElement|ReflectionConstant $element - * @param bool $withLine Include file line number into the link - * @return string - */ - public function sourceUrl(ReflectionElement $element, $withLine = TRUE) - { - $file = ''; - if ($this->isDirectUrl($element)) { - $elementName = $element->getName(); - if ($element instanceof ReflectionClass) { - $file = 'class-'; - - } elseif ($element instanceof ReflectionConstant) { - $file = 'constant-'; - - } elseif ($element instanceof ReflectionFunction) { - $file = 'function-'; - } - - } else { - $elementName = $element->getDeclaringClassName(); - $file = 'class-'; - } - - $file .= $this->urlize($elementName); - - $url = sprintf($this->configuration->getOption(CO::TEMPLATE)['templates']['source']['filename'], $file); - if ($withLine) { - $url .= $this->getElementLinesAnchor($element); - } - return $url; - } - - - /** - * @return bool - */ - private function isDirectUrl(ReflectionElement $element) - { - if ($element instanceof ReflectionClass || $element instanceof ReflectionFunction - || ($element instanceof ReflectionConstant && $element->getDeclaringClassName() === NULL) - ) { - return TRUE; - } - return FALSE; - } - - - /** - * @param ReflectionElement $element - * @return string - */ - private function getElementLinesAnchor(ReflectionElement $element) - { - $anchor = '#' . $element->getStartLine(); - if ($element->getStartLine() !== $element->getEndLine()) { - $anchor .= '-' . $element->getEndLine(); - } - return $anchor; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/Filters/UrlFilters.php b/apigen/vendor/apigen/apigen/src/Templating/Filters/UrlFilters.php deleted file mode 100644 index 80c239bf..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/Filters/UrlFilters.php +++ /dev/null @@ -1,419 +0,0 @@ -highlighter = $highlighter; - $this->markup = $markup; - $this->elementResolver = $elementResolver; - $this->configuration = $configuration; - $this->linkBuilder = $linkBuilder; - $this->elementLinkFactory = $elementLinkFactory; - } - - - /** - * Tries to parse a definition of a class/method/property/constant/function - * and returns the appropriate link if successful. - * - * @param string $definition - * @param ReflectionElement $reflectionElement - * @return string|NULL - */ - public function resolveLink($definition, ReflectionElement $reflectionElement) - { - if (empty($definition)) { - return NULL; - } - - $suffix = ''; - if (substr($definition, -2) === '[]') { - $definition = substr($definition, 0, -2); - $suffix = '[]'; - } - - $element = $this->elementResolver->resolveElement($definition, $reflectionElement, $expectedName); - if ($element === NULL) { - return $expectedName; - } - - $classes = []; - if ($element->isDeprecated()) { - $classes[] = 'deprecated'; - } - - /** @var ReflectionFunction $element */ - if ( ! $element->isValid()) { - $classes[] = 'invalid'; - } - - $link = $this->createLinkForElement($element, $classes); - return '' . $link . $suffix . ''; - } - - - /** - * @param string $value - * @param string $name - * @param ReflectionElement $reflectionElement - * @return string - */ - public function annotation($value, $name, ReflectionElement $reflectionElement) - { - $annotationProcessors = [ - 'return' => $this->processReturnAnnotations($value, $reflectionElement), - 'throws' => $this->processThrowsAnnotations($value, $reflectionElement), - 'license' => $this->processLicenseAnnotations($value), - 'link' => $this->processLinkAnnotations($value), - 'see' => $this->processSeeAnnotations($value, $reflectionElement), - 'uses' => $this->processUsesAndUsedbyAnnotations($value, $reflectionElement), - 'usedby' => $this->processUsesAndUsedbyAnnotations($value, $reflectionElement), - ]; - - if (isset($annotationProcessors[$name])) { - return $annotationProcessors[$name]; - } - - return $this->doc($value, $reflectionElement); - } - - - /** - * Returns links for types. - * - * @param string $annotation - * @param ReflectionElement $reflectionElement - * @return string - */ - public function typeLinks($annotation, ReflectionElement $reflectionElement) - { - $links = []; - - list($types) = Strings::split($annotation); - if ( ! empty($types) && $types[0] === '$') { - $types = NULL; - } - - foreach (explode('|', $types) as $type) { - $type = $this->getTypeName($type, FALSE); - $links[] = $this->resolveLink($type, $reflectionElement) ?: LatteFilters::escapeHtml(ltrim($type, '\\')); - } - - return implode('|', $links); - } - - - /********************* description *********************/ - - - /** - * @param string $annotation - * @param ReflectionElement $reflectionElement - * @return string - */ - public function description($annotation, ReflectionElement $reflectionElement) - { - $description = trim(strpbrk($annotation, "\n\r\t $")) ?: $annotation; - return $this->doc($description, $reflectionElement); - } - - - /** - * @param ReflectionElement $reflectionElement - * @param bool $block - * @return string - */ - public function shortDescription(ReflectionElement $reflectionElement, $block = FALSE) - { - return $this->doc($reflectionElement->getShortDescription(), $reflectionElement, $block); - } - - - /** - * @return string - */ - public function longDescription(ReflectionElement $element) - { - $long = $element->getLongDescription(); - - // Merge lines - $long = preg_replace_callback('~(?:<(code|pre)>.+?)|([^<]*)~s', function ($matches) { - return ! empty($matches[2]) - ? preg_replace('~\n(?:\t|[ ])+~', ' ', $matches[2]) - : $matches[0]; - }, $long); - - return $this->doc($long, $element, TRUE); - } - - - /********************* text formatter *********************/ - - - /** - * @param string $text - * @param ReflectionElement $reflectionElement - * @param bool $block - * @return string - */ - public function doc($text, ReflectionElement $reflectionElement, $block = FALSE) - { - $text = $this->resolveInternalAnnotation($text); - - // Process markup - if ($block) { - $text = $this->markup->block($text); - - } else { - $text = $this->markup->line($text); - } - - return $this->resolveLinkAndSeeAnnotation($text, $reflectionElement); - } - - - /** - * @param string $text - * @return string - */ - private function resolveInternalAnnotation($text) - { - $pattern = '~\\{@(\\w+)(?:(?:\\s+((?>(?R)|[^{}]+)*)\\})|\\})~'; - return preg_replace_callback($pattern, function ($matches) { - if ($matches[1] !== 'internal') { - return $matches[0]; - } - - if ($this->configuration->getOption(CO::INTERNAL) && isset($matches[2])) { - return $matches[2]; - } - - return ''; - }, $text); - } - - - /** - * @param string $text - * @param ReflectionElement $reflectionElement - * @return string - */ - private function resolveLinkAndSeeAnnotation($text, ReflectionElement $reflectionElement) - { - return preg_replace_callback('~{@(?:link|see)\\s+([^}]+)}~', function ($matches) use ($reflectionElement) { - list($url, $description) = Strings::split($matches[1]); - - if (Validators::isUri($url)) { - return $this->linkBuilder->build($url, $description ?: $url); - } - - if ($link = $this->resolveLink($matches[1], $reflectionElement)) { - return $link; - } - - return $matches[1]; - }, $text); - } - - - /********************* highlight *********************/ - - - /** - * @param string $source - * @param ReflectionElement $reflectionElement - * @return string - */ - public function highlightPhp($source, ReflectionElement $reflectionElement) - { - return $this->resolveLink($this->getTypeName($source), $reflectionElement) - ?: $this->highlighter->highlight((string) $source); - } - - - /** - * @param string $definition - * @param ReflectionElement $reflectionElement - * @return string - */ - public function highlightValue($definition, ReflectionElement $reflectionElement) - { - return $this->highlightPhp(preg_replace('~^(?:[ ]{4}|\t)~m', '', $definition), $reflectionElement); - } - - - /** - * @return string - */ - private function createLinkForElement($reflectionElement, array $classes) - { - return $this->elementLinkFactory->createForElement($reflectionElement, $classes); - } - - - /** - * @param string $value - * @param ReflectionElement $reflectionElement - * @return string - */ - private function processReturnAnnotations($value, ReflectionElement $reflectionElement) - { - $description = $this->getDescriptionFromValue($value, $reflectionElement); - $typeLinks = $this->typeLinks($value, $reflectionElement); - return $typeLinks . $description; - } - - - /** - * @param string $value - * @param ReflectionElement $reflectionElement - * @return string - */ - private function processThrowsAnnotations($value, ReflectionElement $reflectionElement) - { - $description = $this->getDescriptionFromValue($value, $reflectionElement); - $typeLinks = $this->typeLinks($value, $reflectionElement); - return $typeLinks . $description; - } - - - /** - * @param mixed $value - * @param ReflectionElement $reflectionElement - * @return string - */ - private function getDescriptionFromValue($value, ReflectionElement $reflectionElement) - { - $description = trim(strpbrk($value, "\n\r\t $")) ?: NULL; - if ($description) { - $description = '
    ' . $this->doc($description, $reflectionElement); - } - return $description; - } - - - /** - * @param string $value - * @return string - */ - private function processLicenseAnnotations($value) - { - list($url, $description) = Strings::split($value); - return $this->linkBuilder->build($url, $description ?: $url); - } - - - /** - * @param string $value - * @return string - */ - private function processLinkAnnotations($value) - { - list($url, $description) = Strings::split($value); - if (Validators::isUri($url)) { - return $this->linkBuilder->build($url, $description ?: $url); - } - return NULL; - } - - - /** - * @param string $value - * @param ReflectionElement $reflectionElement - * @return string - */ - private function processSeeAnnotations($value, ReflectionElement $reflectionElement) - { - $doc = []; - foreach (preg_split('~\\s*,\\s*~', $value) as $link) { - if ($this->elementResolver->resolveElement($link, $reflectionElement) !== NULL) { - $doc[] = $this->typeLinks($link, $reflectionElement); - - } else { - $doc[] = $this->doc($link, $reflectionElement); - } - } - return implode(', ', $doc); - } - - - /** - * @param string $value - * @param ReflectionElement $reflectionElement - * @return string - */ - private function processUsesAndUsedbyAnnotations($value, ReflectionElement $reflectionElement) - { - list($link, $description) = Strings::split($value); - $separator = $reflectionElement instanceof ReflectionClass || ! $description ? ' ' : '
    '; - if ($this->elementResolver->resolveElement($link, $reflectionElement) !== NULL) { - $value = $this->typeLinks($link, $reflectionElement) . $separator . $description; - return trim($value); - } - return NULL; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/Template.php b/apigen/vendor/apigen/apigen/src/Templating/Template.php deleted file mode 100644 index ecf4b925..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/Template.php +++ /dev/null @@ -1,50 +0,0 @@ -savePath = $file ?: $this->savePath; - $dir = dirname($this->savePath); - if ( ! is_dir($dir)) { - mkdir($dir, 0755, TRUE); - } - - file_put_contents($this->savePath, $this->__toString()); - } - - - /** - * @param string $savePath - */ - public function setSavePath($savePath) - { - $this->savePath = $savePath; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/TemplateElementsLoader.php b/apigen/vendor/apigen/apigen/src/Templating/TemplateElementsLoader.php deleted file mode 100644 index 870715b8..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/TemplateElementsLoader.php +++ /dev/null @@ -1,108 +0,0 @@ -elementStorage = $elementStorage; - $this->configuration = $configuration; - $this->autocompleteElements = $autocompleteElements; - } - - - /** - * @return Template - */ - public function addElementsToTemplate(Template $template) - { - return $template->setParameters($this->getParameters()); - } - - - /** - * @return Closure - */ - private function getMainFilter() - { - return function (ReflectionElement $element) { - return $element->isMain(); - }; - } - - - /** - * @return array - */ - private function getParameters() - { - if ($this->parameters === NULL) { - $parameters = [ - 'annotationGroups' => $this->configuration->getOption(CO::ANNOTATION_GROUPS), - 'namespace' => NULL, - 'package' => NULL, - 'class' => NULL, - 'constant' => NULL, - 'function' => NULL, - 'namespaces' => array_keys($this->elementStorage->getNamespaces()), - 'packages' => array_keys($this->elementStorage->getPackages()), - 'classes' => array_filter($this->elementStorage->getClasses(), $this->getMainFilter()), - 'interfaces' => array_filter($this->elementStorage->getInterfaces(), $this->getMainFilter()), - 'traits' => array_filter($this->elementStorage->getTraits(), $this->getMainFilter()), - 'exceptions' => array_filter($this->elementStorage->getExceptions(), $this->getMainFilter()), - 'constants' => array_filter($this->elementStorage->getConstants(), $this->getMainFilter()), - 'functions' => array_filter($this->elementStorage->getFunctions(), $this->getMainFilter()), - 'elements' => $this->autocompleteElements->getElements() - ]; - - if ($this->configuration->getOption(CO::DOWNLOAD)) { - $parameters['archive'] = basename($this->configuration->getZipFileName()); - } - - $this->parameters = $parameters; - } - return $this->parameters; - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/TemplateFactory.php b/apigen/vendor/apigen/apigen/src/Templating/TemplateFactory.php deleted file mode 100644 index 7269d11e..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/TemplateFactory.php +++ /dev/null @@ -1,178 +0,0 @@ -latteEngine = $latteEngine; - $this->configuration = $configuration; - $this->templateNavigator = $templateNavigator; - $this->templateElementsLoader = $templateElementsLoader; - } - - - /** - * @return Template - */ - public function create() - { - return $this->buildTemplate(); - } - - - /** - * @param string $type - * @return Template - */ - public function createForType($type) - { - $template = $this->buildTemplate(); - $template->setFile($this->templateNavigator->getTemplatePath($type)); - $template->setSavePath($this->templateNavigator->getTemplateFileName($type)); - $template = $this->setEmptyDefaults($template); - return $template; - } - - - /** - * @param string $name - * @param ReflectionElement|string $element - * @throws \Exception - * @return Template - */ - public function createNamedForElement($name, $element) - { - $template = $this->buildTemplate(); - $template->setFile($this->templateNavigator->getTemplatePath($name)); - - if ($name === self::ELEMENT_SOURCE) { - $template->setSavePath($this->templateNavigator->getTemplatePathForSourceElement($element)); - - } elseif ($name === self::ELEMENT_NAMESPACE) { - $template->setSavePath($this->templateNavigator->getTemplatePathForNamespace($element)); - - } elseif ($name === self::ELEMENT_PACKAGE) { - $template->setSavePath($this->templateNavigator->getTemplatePathForPackage($element)); - - } elseif ($name === self::ELEMENT_ANNOTATION_GROUP) { - $template->setSavePath($this->templateNavigator->getTemplatePathForAnnotationGroup($element)); - - } else { - throw new UnsupportedElementException($name . ' is not supported template type.'); - } - return $template; - } - - - /** - * @param ReflectionElement $element - * @return Template - */ - public function createForReflection($element) - { - $template = $this->buildTemplate(); - - if ($element instanceof ReflectionClass) { - $template->setFile($this->templateNavigator->getTemplatePath('class')); - $template->setSavePath($this->templateNavigator->getTemplatePathForClass($element)); - - } elseif ($element instanceof ReflectionConstant) { - $template->setFile($this->templateNavigator->getTemplatePath('constant')); - $template->setSavePath($this->templateNavigator->getTemplatePathForConstant($element)); - - } elseif ($element instanceof ReflectionFunction) { - $template->setFile($this->templateNavigator->getTemplatePath('function')); - $template->setSavePath($this->templateNavigator->getTemplatePathForFunction($element)); - } - - return $template; - } - - - /** - * @return Template - */ - private function buildTemplate() - { - if ($this->builtTemplate === NULL) { - $options = $this->configuration->getOptions(); - $template = new Template($this->latteEngine); - $template->setParameters([ - 'config' => ArrayHash::from($options), - 'basePath' => $options[CO::TEMPLATE][TCO::TEMPLATES_PATH] - ]); - $this->builtTemplate = $template; - } - return $this->templateElementsLoader->addElementsToTemplate($this->builtTemplate); - } - - - /** - * @return Template - */ - private function setEmptyDefaults(Template $template) - { - return $template->setParameters([ - 'namespace' => NULL, - 'package' => NULL - ]); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Templating/TemplateNavigator.php b/apigen/vendor/apigen/apigen/src/Templating/TemplateNavigator.php deleted file mode 100644 index 8ed97b47..00000000 --- a/apigen/vendor/apigen/apigen/src/Templating/TemplateNavigator.php +++ /dev/null @@ -1,157 +0,0 @@ -configuration = $configuration; - $this->sourceFilters = $sourceFilters; - $this->elementUrlFactory = $elementUrlFactory; - $this->namespaceAndPackageUrlFilters = $namespaceAndPackageUrlFilters; - } - - - /** - * @param string $name - * @return string - */ - public function getTemplatePath($name) - { - $options = $this->configuration->getOptions(); - return $options[CO::TEMPLATE][TCO::TEMPLATES][$name]['template']; - } - - - /** - * @param string $name - * @return string - */ - public function getTemplateFileName($name) - { - $options = $this->configuration->getOptions(); - return $this->getDestination() . '/' . $options[CO::TEMPLATE][TCO::TEMPLATES][$name]['filename']; - } - - - /** - * @param string $namespace - * @return string - */ - public function getTemplatePathForNamespace($namespace) - { - return $this->getDestination() . '/' . $this->namespaceAndPackageUrlFilters->namespaceUrl($namespace); - } - - - /** - * @param string $package - * @return string - */ - public function getTemplatePathForPackage($package) - { - return $this->getDestination() . '/' . $this->namespaceAndPackageUrlFilters->packageUrl($package); - } - - - /** - * @return string - */ - public function getTemplatePathForClass(ReflectionClass $element) - { - return $this->getDestination() . '/' . $this->elementUrlFactory->createForClass($element); - } - - - /** - * @return string - */ - public function getTemplatePathForConstant(ReflectionConstant $element) - { - return $this->getDestination() . '/' . $this->elementUrlFactory->createForConstant($element); - } - - - /** - * @return string - */ - public function getTemplatePathForFunction(ReflectionFunction $element) - { - return $this->getDestination() . '/' . $this->elementUrlFactory->createForFunction($element); - } - - - /** - * @return string - */ - public function getTemplatePathForSourceElement(ReflectionElement $element) - { - return $this->getDestination() . '/' . $this->sourceFilters->sourceUrl($element, FALSE); - } - - - /** - * @param string $element - * @return string - */ - public function getTemplatePathForAnnotationGroup($element) - { - return $this->getDestination() . '/' . $this->elementUrlFactory->createForAnnotationGroup($element); - } - - - /** - * @return string - */ - private function getDestination() - { - return $this->configuration->getOption(CO::DESTINATION); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Theme/ThemeConfigPathResolver.php b/apigen/vendor/apigen/apigen/src/Theme/ThemeConfigPathResolver.php deleted file mode 100644 index afe3dd94..00000000 --- a/apigen/vendor/apigen/apigen/src/Theme/ThemeConfigPathResolver.php +++ /dev/null @@ -1,54 +0,0 @@ -rootDir = $rootDir; - } - - - /** - * @param string $path - * @return string - */ - public function resolve($path) - { - $allowedPaths = [ - $this->rootDir, - $this->rootDir . '/../../..' - ]; - - foreach ($allowedPaths as $allowedPath) { - $absolutePath = $allowedPath . '/' . ltrim($path, DIRECTORY_SEPARATOR); - if (file_exists($absolutePath)) { - return $absolutePath; - } - } - - throw new ConfigurationException(sprintf('Config "%s" was not found.', $path)); - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Theme/ThemeResources.php b/apigen/vendor/apigen/apigen/src/Theme/ThemeResources.php deleted file mode 100644 index b3aa209e..00000000 --- a/apigen/vendor/apigen/apigen/src/Theme/ThemeResources.php +++ /dev/null @@ -1,60 +0,0 @@ -configuration = $configuration; - } - - - /** - * @param string $destination - */ - public function copyToDestination($destination) - { - $resources = $this->configuration->getOption(CO::TEMPLATE)['resources']; - foreach ($resources as $resourceSource => $resourceDestination) { - // File - if (is_file($resourceSource)) { - copy($resourceSource, FileSystem::forceDir($destination . '/' . $resourceDestination)); - continue; - } - - // Dir - /** @var RecursiveDirectoryIterator $iterator */ - $iterator = Finder::findFiles('*')->from($resourceSource)->getIterator(); - foreach ($iterator as $item) { - /** @var SplFileInfo $item */ - copy($item->getPathName(), FileSystem::forceDir($destination - . '/' . $resourceDestination - . '/' . $iterator->getSubPathName())); - } - } - } - -} diff --git a/apigen/vendor/apigen/apigen/src/Tree.php b/apigen/vendor/apigen/apigen/src/Tree.php deleted file mode 100644 index 61b9409c..00000000 --- a/apigen/vendor/apigen/apigen/src/Tree.php +++ /dev/null @@ -1,81 +0,0 @@ -setPrefixPart(RecursiveTreeIterator::PREFIX_END_HAS_NEXT, self::HAS_NEXT); - $this->setPrefixPart(RecursiveTreeIterator::PREFIX_END_LAST, self::LAST); - $this->rewind(); - - $this->reflections = $reflections; - } - - - /** - * @return bool - */ - public function hasSibling() - { - $prefix = $this->getPrefix(); - return ! empty($prefix) && substr($prefix, -1) === self::HAS_NEXT; - } - - - /** - * @return ReflectionElement - */ - public function current() - { - $className = $this->key(); - if ( ! isset($this->reflections[$className])) { - throw new RuntimeException(sprintf('Class "%s" is not in the reflection array', $className)); - } - return $this->reflections[$className]; - } - -} diff --git a/apigen/vendor/apigen/apigen/update-gh-pages.sh b/apigen/vendor/apigen/apigen/update-gh-pages.sh deleted file mode 100644 index 8d9e1f79..00000000 --- a/apigen/vendor/apigen/apigen/update-gh-pages.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env sh - -# Variables -VENDOR=${VENDOR:-"deizel"} -VERSION=${VERSION:-"0.1.4"} -PACKAGE_NAME=${PACKAGE_NAME:-"ApiGen/ApiGen"} -TARGET_NAME=${TARGET_NAME:-"ApiGen/ApiGen.github.io"} - -# Publish manifest -curl -O -L "https://github.com/${VENDOR}/manifest-publisher/releases/download/${VERSION}/manifest.phar" -php manifest.phar publish:gh-pages "${PACKAGE_NAME}" "${TARGET_NAME}" diff --git a/apigen/vendor/apigen/theme-bootstrap/.gitattributes b/apigen/vendor/apigen/theme-bootstrap/.gitattributes deleted file mode 100644 index d398b883..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -screenshot.png export-ignore diff --git a/apigen/vendor/apigen/theme-bootstrap/LICENSE b/apigen/vendor/apigen/theme-bootstrap/LICENSE deleted file mode 100644 index a674d407..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/LICENSE +++ /dev/null @@ -1,26 +0,0 @@ -The MIT License ---------------- - -- Copyright (c) 2012 [Olivier Laviale](https://github.com/olvlvl) -- Copyright (c) 2014 [Tomáš Votruba](http://tomasvotruba.cz) - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/apigen/vendor/apigen/theme-bootstrap/README.md b/apigen/vendor/apigen/theme-bootstrap/README.md deleted file mode 100644 index 40bb99fe..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# Twitter Bootstrap Theme - -[![Downloads this Month](https://img.shields.io/packagist/dm/apigen/theme-bootstrap.svg?style=flat-square)](https://packagist.org/packages/apigen/theme-bootstrap) -[![Latest stable](https://img.shields.io/packagist/v/apigen/theme-bootstrap.svg?style=flat-square)](https://packagist.org/packages/apigen/theme-bootstrap) - -Uses [Twitter Bootstrap 3.3.2](https://github.com/twbs/bootstrap/releases/tag/v3.3.2), *released on 2015-01-19* - -![Twitter Bootstrap Theme](screenshot.png) diff --git a/apigen/vendor/apigen/theme-bootstrap/composer.json b/apigen/vendor/apigen/theme-bootstrap/composer.json deleted file mode 100644 index 8c88fb87..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/composer.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "apigen/theme-bootstrap", - "description": "Twitter Bootstrap theme for ApiGen", - "homepage": "http://apigen.org/", - "license": "MIT", - "authors": [ - { "name": "Tomáš Votruba", "email": "tomas.vot@gmail.com" }, - { "name": "Olivier Laviale", "homepage": "https://github.com/olvlvl" } - ], - "require": { - "latte/latte": "~2.2" - } -} diff --git a/apigen/vendor/apigen/theme-bootstrap/src/404.latte b/apigen/vendor/apigen/theme-bootstrap/src/404.latte deleted file mode 100644 index 58e538f1..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/src/404.latte +++ /dev/null @@ -1,13 +0,0 @@ -{layout '@layout.latte'} -{var $robots = false} - -{block title}Page not found{/block} - -{block content} -
    -

    {include title}

    -

    The requested page could not be found.

    -

    You have probably clicked on a link that is outdated and points to a page that does not exist any more or you have made an typing error in the address.

    -

    To continue please try to find requested page in the menu,{if $config->tree} take a look at the tree view of the whole project{/if} or use search field on the top.

    -
    -{/block} diff --git a/apigen/vendor/apigen/theme-bootstrap/src/@elementlist.latte b/apigen/vendor/apigen/theme-bootstrap/src/@elementlist.latte deleted file mode 100644 index 064dfddb..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/src/@elementlist.latte +++ /dev/null @@ -1,60 +0,0 @@ -{define elements} - - {if $namespace}{$element->shortName}{else}{$element->name}{/if} - {$element|shortDescription|noescape} - -{/define} - -{if $classes} -
    -

    Classes summary

    - - {include elements, elements => $classes} -
    -
    -{/if} - -{if $interfaces} -
    -

    Interfaces summary

    - - {include elements, elements => $interfaces} -
    -
    -{/if} - -{if $traits} -
    -

    Traits summary

    - - {include elements, elements => $traits} -
    -
    -{/if} - -{if $exceptions} -
    -

    Exceptions summary

    - - {include elements, elements => $exceptions} -
    -
    -{/if} - -{if $constants} -
    -

    Constants summary

    - - {include elements, elements => $constants} -
    -
    -{/if} - -{if $functions} -
    -

    Functions summary

    - - {include elements, elements => $functions} -
    -
    -{/if} diff --git a/apigen/vendor/apigen/theme-bootstrap/src/@layout.latte b/apigen/vendor/apigen/theme-bootstrap/src/@layout.latte deleted file mode 100644 index df70b3a9..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/src/@layout.latte +++ /dev/null @@ -1,171 +0,0 @@ -{default $robots = true} -{default $active = ''} - - - - - - - {include title}{if 'overview' !== $active && $config->title} | {$config->title}{/if} - - - - - - - - - - - -
    - -
    - -
    - - - - - - diff --git a/apigen/vendor/apigen/theme-bootstrap/src/annotation-group.latte b/apigen/vendor/apigen/theme-bootstrap/src/annotation-group.latte deleted file mode 100644 index 694472a4..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/src/annotation-group.latte +++ /dev/null @@ -1,149 +0,0 @@ -{layout '@layout.latte'} -{var $active = 'annotation-group-' . $annotation} - -{block title}{$annotation|firstUpper}{/block} - -{block content} -
    -

    {include title}

    - - {if $hasElements} - {if $annotationClasses} -
    -

    Classes summary

    - - {include classes, items => $annotationClasses} -
    -
    - {/if} - - {if $annotationInterfaces} -
    -

    Interfaces summary

    - - {include classes, items => $annotationInterfaces} -
    -
    - {/if} - - {if $annotationTraits} -
    -

    Traits summary

    - - {include classes, items => $annotationTraits} -
    -
    - {/if} - - {if $annotationExceptions} -
    -

    Exceptions summary

    - - {include classes, items => $annotationExceptions} -
    -
    - {/if} - - {if $annotationMethods} -
    -

    Methods summary

    - - - - - - -
    {$method->declaringClassName}{$method->name}() - {if $method->hasAnnotation($annotation)} - {foreach $method->annotations[$annotation] as $description} - {if $description} - {$description|annotation:$annotation:$method|noescape}
    - {/if} - {/foreach} - {/if} -
    -
    - {/if} - - {if $annotationConstants} -
    -

    Constants summary

    - - - {if $constant->declaringClassName} - - - - {else} - - - {/if} - - -
    {$constant->declaringClassName}{$constant->name}{$constant->namespaceName}{$constant->shortName} - {foreach $constant->annotations[$annotation] as $description} - {if $description} - {$description|annotation:$annotation:$constant|noescape}
    - {/if} - {/foreach} -
    -
    - {/if} - - {if $annotationProperties} -
    -

    Properties summary

    - - - - - - -
    {$property->declaringClassName}${$property->name} - {foreach $property->annotations[$annotation] as $description} - {if $description} - {$description|annotation:$annotation:$property|noescape}
    - {/if} - {/foreach} -
    -
    - {/if} - - {if $annotationFunctions} -
    -

    Functions summary

    - - - - - - -
    {$function->namespaceName}{$function->shortName} - {foreach $function->annotations[$annotation] as $description} - {if $description} - {$description|annotation:$annotation:$function|noescape}
    - {/if} - {/foreach} -
    -
    - {/if} - - {else} -

    No elements with @{$annotation} annotation found.

    - {/if} -
    -{/block} - - -{define classes} - - {$class->name} - - {foreach $class->annotations[$annotation] as $description} - {if $description} - {$description|annotation:$annotation:$class|noescape}
    - {/if} - {/foreach} - - -{/define} diff --git a/apigen/vendor/apigen/theme-bootstrap/src/class.latte b/apigen/vendor/apigen/theme-bootstrap/src/class.latte deleted file mode 100644 index 88b35f0d..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/src/class.latte +++ /dev/null @@ -1,462 +0,0 @@ -{layout '@layout.latte'} -{var $active = 'class'} - -{block title}{if $class->deprecated}Deprecated {/if}{if $class->interface}Interface{elseif $class->trait}Trait{else}Class{/if} {$class->name}{/block} - -{block content} -
    -

    {if $class->interface}Interface{elseif $class->trait}Trait{else}Class{/if} {$class->shortName}

    - - {if $class->valid} - -
    - {$class|longDescription|noescape} -
    - -
    -
    - Extended by - {if $item->documented} - {last}{/last}{$item->name}{last}{/last} - {else}{$item->name}{/if} - {var $itemOwnInterfaces = $item->ownInterfaces} - {if $itemOwnInterfaces} implements {foreach $itemOwnInterfaces as $interface} - {$interface->name}{sep}, {/sep} - {/foreach}{/if} - {var $itemOwnTraits = $item->ownTraits} - {if $itemOwnTraits} uses {foreach $itemOwnTraits as $trait} - {if is_string($trait)} - {$trait} (not available) - - {else} - {$trait->name}{sep}, {/sep} - {/} - {/foreach}{/if} -
    -
    - - {define children} -

    - {foreach $children as $child} - {$child->name}{sep}, {/sep} - {/foreach} -

    - {/define} - -
    -

    Direct known subclasses

    - {include children, children => $directSubClasses} -
    - -
    -

    Indirect known subclasses

    - {include children, children => $indirectSubClasses} -
    - -
    -

    Direct known implementers

    - {include children, children => $directImplementers} -
    - -
    -

    Indirect known implementers

    - {include children, children => $indirectImplementers} -
    - -
    -

    Direct Known Users

    - {include children, children => $directUsers} -
    - -
    -

    Indirect Known Users

    - {include children, children => $indirectUsers} -
    - -
    - {if !$class->interface && !$class->trait && ($class->abstract || $class->final)}{if $class->abstract}Abstract{else}Final{/if}
    {/if} - {if $class->internal}PHP Extension: {$class->extension->name|firstUpper}
    {/if} - {if $class->inNamespace()}Namespace: {$class->namespaceName|namespaceLinks|noescape}
    {/if} - {if $class->inPackage()}Package: {$class->packageName|packageLinks|noescape}
    {/if} - - {foreach $template->annotationSort($template->annotationFilter($class->annotations)) as $annotation => $values} - {foreach $values as $value} - {$annotation|annotationBeautify}{if $value}:{/if} - {$value|annotation:$annotation:$class|noescape}
    - {/foreach} - {/foreach} - {if $class->internal} - Documented at php.net - {else} - Located at {$class->fileName|relativePath} - {/if} -
    -
    - - {var $ownMethods = $class->ownMethods} - {var $inheritedMethods = $class->inheritedMethods} - {var $usedMethods = $class->usedMethods} - {var $ownMagicMethods = $class->ownMagicMethods} - {var $inheritedMagicMethods = $class->inheritedMagicMethods} - {var $usedMagicMethods = $class->usedMagicMethods} - - {if $ownMethods || $inheritedMethods || $usedMethods || $ownMagicMethods || $usedMagicMethods} - {define method} - - {var $annotations = $method->annotations} - - - {if !$class->interface && $method->abstract}abstract{elseif $method->final}final{/if} {if $method->protected}protected{elseif $method->private}private{else}public{/if} {if $method->static}static{/if} - {ifset $annotations['return']}{$annotations['return'][0]|typeLinks:$method|noescape}{/ifset} - {if $method->returnsReference()}&{/if} - - - -
    - # - {block|strip} - {if $class->internal} - {$method->name}( - {else} - {$method->name}( - {/if} - {foreach $method->parameters as $parameter} - {$parameter->typeHint|typeLinks:$method|noescape} - {if $parameter->passedByReference}& {/if}${$parameter->name}{if $parameter->defaultValueAvailable} = {$parameter->defaultValueDefinition|highlightPHP:$class|noescape}{elseif $parameter->unlimited},…{/if}{sep}, {/sep} - {/foreach} - ){/block} - - {if $config->template['options']['elementDetailsCollapsed']} -
    - {$method|shortDescription:true|noescape} -
    - {/if} - -
    - {$method|longDescription|noescape} - - {if !$class->deprecated && $method->deprecated} -

    Deprecated

    - {ifset $annotations['deprecated']} -
    - {foreach $annotations['deprecated'] as $description} - {if $description} - {$description|annotation:'deprecated':$method|noescape}
    - {/if} - {/foreach} -
    - {/ifset} - {/if} - - {if $method->parameters && isset($annotations['param'])} -

    Parameters

    -
    - {foreach $method->parameters as $parameter} -
    ${$parameter->name}{if $parameter->unlimited},…{/if}
    -
    {$parameter->description|description:$method|noescape}
    - {/foreach} -
    - {/if} - - {if isset($annotations['return']) && 'void' !== $annotations['return'][0]} -

    Returns

    -
    - {foreach $annotations['return'] as $description} - {$description|annotation:'return':$method|noescape}{sep}
    {/} - {/foreach} -
    - {/if} - - {ifset $annotations['throws']} -

    Throws

    -
    - {foreach $annotations['throws'] as $description} - {$description|annotation:'throws':$method|noescape}{sep}
    {/} - {/foreach} -
    - {/ifset} - - {foreach $template->annotationSort($template->annotationFilter($annotations, array('deprecated', 'param', 'return', 'throws'))) as $annotation => $descriptions} -

    {$annotation|annotationBeautify}

    -
    - {foreach $descriptions as $description} - {if $description} - {$description|annotation:$annotation:$method|noescape}
    - {/if} - {/foreach} -
    - {/foreach} - - {var $overriddenMethod = $method->overriddenMethod} - {if $overriddenMethod} -

    Overrides

    - - {/if} - - {var $implementedMethod = $method->implementedMethod} - {if $implementedMethod} -

    Implementation of

    - - {/if} -
    -
    - - {/define} - -
    -

    Methods summary

    - - {foreach $ownMethods as $method} - {include method, method => $method} - {/foreach} -
    -
    - - {foreach $inheritedMethods as $parentName => $methods} -
    -

    Methods inherited from {$parentName}

    -

    - {foreach $methods as $method} - {$method->name}(){sep}, {/sep} - {/foreach} -

    -
    - {/foreach} - - {foreach $usedMethods as $traitName => $methods} -
    -

    Methods used from {$traitName}

    -

    - {foreach $methods as $data} - {$data['method']->name}(){if $data['aliases']}(as {foreach $data['aliases'] as $alias}{$alias->name}(){sep}, {/sep}{/foreach}){/if}{sep}, {/sep} - {/foreach} -

    -
    - {/foreach} - - {if $ownMagicMethods} -
    -

    Magic methods summary

    - - {foreach $ownMagicMethods as $method} - {include method, method => $method} - {/foreach} -
    -
    - {/if} - - {foreach $inheritedMagicMethods as $parentName => $methods} -
    -

    Magic methods inherited from {$parentName}

    -

    - {foreach $methods as $method} - {$method->name}(){sep}, {/sep} - {/foreach} -

    -
    - {/foreach} - - {foreach $usedMagicMethods as $traitName => $methods} -
    -

    Magic methods used from {$traitName}

    -

    - {foreach $methods as $data} - {$data['method']->name}(){if $data['aliases']}(as {foreach $data['aliases'] as $alias}{$alias->name}(){sep}, {/sep}{/foreach}){/if}{sep}, {/sep} - {/foreach} -

    -
    - {/foreach} - {/if} - - - {var $ownConstants = $class->ownConstants} - {var $inheritedConstants = $class->inheritedConstants} - - {if $ownConstants || $inheritedConstants} -
    -

    Constants summary

    - - - {var $annotations = $constant->annotations} - - - - - -
    {$constant->typeHint|typeLinks:$constant|noescape} - - {if $class->internal} - {$constant->name} - {else} - {$constant->name} - {/if} - - -
    - {$constant|shortDescription:true|noescape} -
    - -
    - {$constant|longDescription|noescape} - - {foreach $template->annotationSort($template->annotationFilter($annotations, array('var'))) as $annotation => $descriptions} -

    {$annotation|annotationBeautify}

    -
    - {foreach $descriptions as $description} - {if $description} - {$description|annotation:$annotation:$constant|noescape}
    - {/if} - {/foreach} -
    - {/foreach} -
    -
    -
    - # - {$constant->valueDefinition|highlightValue:$class|noescape} -
    -
    -
    - - {foreach $inheritedConstants as $parentName => $constants} -
    -

    Constants inherited from {$parentName}

    -

    - {foreach $constants as $constant} - {$constant->name}{sep}, {/sep} - {/foreach} -

    -
    - {/foreach} - {/if} - - {var $ownProperties = $class->ownProperties} - {var $inheritedProperties = $class->inheritedProperties} - {var $usedProperties = $class->usedProperties} - {var $ownMagicProperties = $class->ownMagicProperties} - {var $inheritedMagicProperties = $class->inheritedMagicProperties} - {var $usedMagicProperties = $class->usedMagicProperties} - - {if $ownProperties || $inheritedProperties || $usedProperties || $ownMagicProperties || $inheritedMagicProperties || $usedMagicProperties} - {define property} - - - {if $property->protected}protected{elseif $property->private}private{else}public{/if} {if $property->static}static{/if} {if $property->readOnly}read-only{elseif $property->writeOnly}write-only{/if} - {$property->typeHint|typeLinks:$property|noescape} - - - - {if $class->internal} - ${$property->name} - {else} - ${$property->name} - {/if} - -
    - {$property|shortDescription:true|noescape} -
    - -
    - {$property|longDescription|noescape} - - {foreach $template->annotationSort($template->annotationFilter($property->annotations, array('var'))) as $annotation => $descriptions} -

    {$annotation|annotationBeautify}

    -
    - {foreach $descriptions as $description} - {if $description} - {$description|annotation:$annotation:$property|noescape}
    - {/if} - {/foreach} -
    - {/foreach} -
    - - -
    - # - {$property->defaultValueDefinition|highlightValue:$class|noescape} -
    - - - {/define} - -
    -

    Properties summary

    - - {foreach $ownProperties as $property} - {include property, property => $property} - {/foreach} -
    -
    - - {foreach $inheritedProperties as $parentName => $properties} -
    -

    Properties inherited from {$parentName}

    -

    - {foreach $properties as $property} - ${$property->name}{sep}, {/sep} - {/foreach} -

    -
    - {/foreach} - - {foreach $usedProperties as $traitName => $properties} -
    -

    Properties used from {$traitName}

    -

    - {foreach $properties as $property} - ${$property->name}{sep}, {/sep} - {/foreach} -

    -
    - {/foreach} - - {if $ownMagicProperties} -
    -

    Magic properties

    - - {foreach $ownMagicProperties as $property} - {include property, property => $property} - {/foreach} -
    -
    - {/if} - - {foreach $inheritedMagicProperties as $parentName => $properties} -
    -

    Magic properties inherited from {$parentName}

    -

    - {foreach $properties as $property} - ${$property->name}{sep}, {/sep} - {/foreach} -

    -
    - {/foreach} - - {foreach $usedMagicProperties as $traitName => $properties} -
    -

    Magic properties used from {$traitName}

    -

    - {foreach $properties as $property} - ${$property->name}{sep}, {/sep} - {/foreach} -

    -
    - {/foreach} - {/if} - - {else} -
    -

    - Documentation of this class could not be generated. -

    -

    - Class was originally declared in {$class->fileName|relativePath} and is invalid because of: -

    -
      -
    • Class was redeclared in {$reason->getSender()->getFileName()|relativePath}.
    • -
    -
    - {/if} -
    -{/block} diff --git a/apigen/vendor/apigen/theme-bootstrap/src/combined.js.latte b/apigen/vendor/apigen/theme-bootstrap/src/combined.js.latte deleted file mode 100644 index 93ba3e4d..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/src/combined.js.latte +++ /dev/null @@ -1,10 +0,0 @@ -{contentType javascript} - -var ApiGen = ApiGen || {}; -ApiGen.config = {$config->template}; - -{var $scripts = ['jquery.min.js', 'jquery.cookie.js', 'jquery.sprintf.js', 'jquery.autocomplete.js', 'jquery.sortElements.js', 'main.js']} - -{foreach $scripts as $script} - {file_get_contents("$basePath/js/$script")|noescape} -{/foreach} diff --git a/apigen/vendor/apigen/theme-bootstrap/src/config.neon b/apigen/vendor/apigen/theme-bootstrap/src/config.neon deleted file mode 100644 index a5d77eeb..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/src/config.neon +++ /dev/null @@ -1 +0,0 @@ -name: "Twitter Bootstrap theme" diff --git a/apigen/vendor/apigen/theme-bootstrap/src/constant.latte b/apigen/vendor/apigen/theme-bootstrap/src/constant.latte deleted file mode 100644 index fb2bec41..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/src/constant.latte +++ /dev/null @@ -1,60 +0,0 @@ -{layout '@layout.latte'} -{var $active = 'constant'} - -{block title}{if $constant->deprecated}Deprecated {/if}Constant {$constant->name}{/block} - -{block content} -
    -

    Constant {$constant->shortName}

    - - {if $constant->valid} - -
    - {$constant|longDescription|noescape} -
    - -
    - {if $constant->inNamespace()}Namespace: {$constant->namespaceName|namespaceLinks|noescape}
    {/if} - {if $constant->inPackage()}Package: {$constant->packageName|packageLinks|noescape}
    {/if} - {foreach $template->annotationSort($template->annotationFilter($constant->annotations, array('var'))) as $annotation => $values} - {foreach $values as $value} - {$annotation|annotationBeautify}{if $value}:{/if} - {$value|annotation:$annotation:$constant|noescape}
    - {/foreach} - {/foreach} - Located at - - {$constant->fileName|relativePath} -
    -
    - - {var $annotations = $constant->annotations} - -
    -

    Value summary

    - - - - - -
    {$constant->typeHint|typeLinks:$constant|noescape}{block|strip} - {var $element = $template->resolveElement($constant->valueDefinition, $constant)} - {if $element}{$constant->valueDefinition}{else}{$constant->valueDefinition|highlightValue:$constant|noescape}{/if} - {/block}
    -
    - - {else} -
    -

    - Documentation of this constant could not be generated. -

    -

    - Constant was originally declared in {$constant->fileName|relativePath} and is invalid because of: -

    -
      -
    • Constant was redeclared in {$reason->getSender()->getFileName()|relativePath}.
    • -
    -
    - {/if} -
    -{/block} diff --git a/apigen/vendor/apigen/theme-bootstrap/src/elementlist.js.latte b/apigen/vendor/apigen/theme-bootstrap/src/elementlist.js.latte deleted file mode 100644 index 8becc227..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/src/elementlist.js.latte +++ /dev/null @@ -1,4 +0,0 @@ -{contentType javascript} - -var ApiGen = ApiGen || {}; -ApiGen.elements = {$elements}; diff --git a/apigen/vendor/apigen/theme-bootstrap/src/function.latte b/apigen/vendor/apigen/theme-bootstrap/src/function.latte deleted file mode 100644 index 5cab4730..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/src/function.latte +++ /dev/null @@ -1,94 +0,0 @@ -{layout '@layout.latte'} -{var $active = 'function'} - -{block title}{if $function->deprecated}Deprecated {/if}Function {$function->name}{/block} - -{block content} -
    -

    Function {$function->shortName}

    - - {if $function->valid} - -
    - {$function|longDescription|noescape} -
    - -
    - {if $function->inNamespace()}Namespace: {$function->namespaceName|namespaceLinks|noescape}
    {/if} - {if $function->inPackage()}Package: {$function->packageName|packageLinks|noescape}
    {/if} - {foreach $template->annotationSort($template->annotationFilter($function->annotations, array('param', 'return', 'throws'))) as $annotation => $values} - {foreach $values as $value} - {$annotation|annotationBeautify}{if $value}:{/if} - {$value|annotation:$annotation:$function|noescape}
    - {/foreach} - {/foreach} - Located at - - {$function->fileName|relativePath} -
    -
    - - {var $annotations = $function->annotations} - - {if count($function->parameters)} -
    -

    Parameters summary

    - - - - - - -
    {$parameter->typeHint|typeLinks:$function|noescape}{block|strip} - {if $parameter->passedByReference}& {/if}${$parameter->name}{if $parameter->defaultValueAvailable} = {$parameter->defaultValueDefinition|highlightPHP:$function|noescape}{elseif $parameter->unlimited},…{/if} - {/block}{$parameter->description|description:$function}
    -
    - {/if} - - {if isset($annotations['return']) && 'void' !== $annotations['return'][0]} -
    -

    Return value summary

    - - - - - -
    - {$annotations['return'][0]|typeLinks:$function|noescape} - - {$annotations['return'][0]|description:$function|noescape} -
    -
    - {/if} - - {if isset($annotations['throws'])} -
    -

    Thrown exceptions summary

    - - - - - -
    - {$throws|typeLinks:$function|noescape} - - {$throws|description:$function|noescape} -
    -
    - {/if} - - {else} -
    -

    - Documentation of this function could not be generated. -

    -

    - Function was originally declared in {$function->fileName|relativePath} and is invalid because of: -

    -
      -
    • Function was redeclared in {$reason->getSender()->getFileName()|relativePath}.
    • -
    -
    - {/if} -
    -{/block} diff --git a/apigen/vendor/apigen/theme-bootstrap/src/js/jquery.autocomplete.js b/apigen/vendor/apigen/theme-bootstrap/src/js/jquery.autocomplete.js deleted file mode 100644 index ecc032da..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/src/js/jquery.autocomplete.js +++ /dev/null @@ -1,841 +0,0 @@ -/* - * jQuery Autocomplete plugin 1.2.3 - * - * Copyright (c) 2009 Jörn Zaefferer - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - * - * With small modifications by Alfonso Gómez-Arzola. - * See changelog for details. - * - */ - -;(function($) { - -$.fn.extend({ - autocomplete: function(urlOrData, options) { - var isUrl = typeof urlOrData == "string"; - options = $.extend({}, $.Autocompleter.defaults, { - url: isUrl ? urlOrData : null, - data: isUrl ? null : urlOrData, - delay: isUrl ? $.Autocompleter.defaults.delay : 10, - max: options && !options.scroll ? 10 : 150, - noRecord: "No Records." - }, options); - - // if highlight is set to false, replace it with a do-nothing function - options.highlight = options.highlight || function(value) { return value; }; - - // if the formatMatch option is not specified, then use formatItem for backwards compatibility - options.formatMatch = options.formatMatch || options.formatItem; - - return this.each(function() { - new $.Autocompleter(this, options); - }); - }, - result: function(handler) { - return this.bind("result", handler); - }, - search: function(handler) { - return this.trigger("search", [handler]); - }, - flushCache: function() { - return this.trigger("flushCache"); - }, - setOptions: function(options){ - return this.trigger("setOptions", [options]); - }, - unautocomplete: function() { - return this.trigger("unautocomplete"); - } -}); - -$.Autocompleter = function(input, options) { - - var KEY = { - UP: 38, - DOWN: 40, - DEL: 46, - TAB: 9, - RETURN: 13, - ESC: 27, - COMMA: 188, - PAGEUP: 33, - PAGEDOWN: 34, - BACKSPACE: 8 - }; - - var globalFailure = null; - if(options.failure != null && typeof options.failure == "function") { - globalFailure = options.failure; - } - - // Create $ object for input element - var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass); - - var timeout; - var previousValue = ""; - var cache = $.Autocompleter.Cache(options); - var hasFocus = 0; - var lastKeyPressCode; - var config = { - mouseDownOnSelect: false - }; - var select = $.Autocompleter.Select(options, input, selectCurrent, config); - - var blockSubmit; - - // prevent form submit in opera when selecting with return key - navigator.userAgent.indexOf("Opera") != -1 && $(input.form).bind("submit.autocomplete", function() { - if (blockSubmit) { - blockSubmit = false; - return false; - } - }); - - // older versions of opera don't trigger keydown multiple times while pressed, others don't work with keypress at all - $input.bind((navigator.userAgent.indexOf("Opera") != -1 && !'KeyboardEvent' in window ? "keypress" : "keydown") + ".autocomplete", function(event) { - // a keypress means the input has focus - // avoids issue where input had focus before the autocomplete was applied - hasFocus = 1; - // track last key pressed - lastKeyPressCode = event.keyCode; - switch(event.keyCode) { - - case KEY.UP: - if ( select.visible() ) { - event.preventDefault(); - select.prev(); - } else { - onChange(0, true); - } - break; - - case KEY.DOWN: - if ( select.visible() ) { - event.preventDefault(); - select.next(); - } else { - onChange(0, true); - } - break; - - case KEY.PAGEUP: - if ( select.visible() ) { - event.preventDefault(); - select.pageUp(); - } else { - onChange(0, true); - } - break; - - case KEY.PAGEDOWN: - if ( select.visible() ) { - event.preventDefault(); - select.pageDown(); - } else { - onChange(0, true); - } - break; - - // matches also semicolon - case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA: - case KEY.TAB: - case KEY.RETURN: - if( selectCurrent() ) { - // stop default to prevent a form submit, Opera needs special handling - event.preventDefault(); - blockSubmit = true; - return false; - } - break; - - case KEY.ESC: - select.hide(); - break; - - default: - clearTimeout(timeout); - timeout = setTimeout(onChange, options.delay); - break; - } - }).focus(function(){ - // track whether the field has focus, we shouldn't process any - // results if the field no longer has focus - hasFocus++; - }).blur(function() { - hasFocus = 0; - if (!config.mouseDownOnSelect) { - hideResults(); - } - }).click(function() { - // show select when clicking in a focused field - // but if clickFire is true, don't require field - // to be focused to begin with; just show select - if( options.clickFire ) { - if ( !select.visible() ) { - onChange(0, true); - } - } else { - if ( hasFocus++ > 1 && !select.visible() ) { - onChange(0, true); - } - } - }).bind("search", function() { - var fn = (arguments.length > 1) ? arguments[1] : null; - function findValueCallback(q, data) { - var result; - if( data && data.length ) { - for (var i=0; i < data.length; i++) { - if( data[i].result.toLowerCase() == q.toLowerCase() ) { - result = data[i]; - break; - } - } - } - if( typeof fn == "function" ) fn(result); - else $input.trigger("result", result && [result.data, result.value]); - } - $.each(trimWords($input.val()), function(i, value) { - request(value, findValueCallback, findValueCallback); - }); - }).bind("flushCache", function() { - cache.flush(); - }).bind("setOptions", function() { - $.extend(true, options, arguments[1]); - // if we've updated the data, repopulate - if ( "data" in arguments[1] ) - cache.populate(); - }).bind("unautocomplete", function() { - select.unbind(); - $input.unbind(); - $(input.form).unbind(".autocomplete"); - }); - - - function selectCurrent() { - var selected = select.selected(); - if( !selected ) - return false; - - var v = selected.result; - previousValue = v; - - if ( options.multiple ) { - var words = trimWords($input.val()); - if ( words.length > 1 ) { - var seperator = options.multipleSeparator.length; - var cursorAt = $(input).selection().start; - var wordAt, progress = 0; - $.each(words, function(i, word) { - progress += word.length; - if (cursorAt <= progress) { - wordAt = i; - return false; - } - progress += seperator; - }); - words[wordAt] = v; - //$.Autocompleter.Selection(input, progress + seperator, progress + seperator); - v = words.join( options.multipleSeparator ); - } - v += options.multipleSeparator; - } - - $input.val(v); - hideResultsNow(); - $input.trigger("result", [selected.data, selected.value]); - return true; - } - - function onChange(crap, skipPrevCheck) { - if( lastKeyPressCode == KEY.DEL ) { - select.hide(); - return; - } - - var currentValue = $input.val(); - - if ( !skipPrevCheck && currentValue == previousValue ) - return; - - previousValue = currentValue; - - currentValue = lastWord(currentValue); - if ( currentValue.length >= options.minChars) { - $input.addClass(options.loadingClass); - if (!options.matchCase) - currentValue = currentValue.toLowerCase(); - request(currentValue, receiveData, hideResultsNow); - } else { - stopLoading(); - select.hide(); - } - }; - - function trimWords(value) { - if (!value) - return [""]; - if (!options.multiple) - return [$.trim(value)]; - return $.map(value.split(options.multipleSeparator), function(word) { - return $.trim(value).length ? $.trim(word) : null; - }); - } - - function lastWord(value) { - if ( !options.multiple ) - return value; - var words = trimWords(value); - if (words.length == 1) - return words[0]; - var cursorAt = $(input).selection().start; - if (cursorAt == value.length) { - words = trimWords(value) - } else { - words = trimWords(value.replace(value.substring(cursorAt), "")); - } - return words[words.length - 1]; - } - - // fills in the input box w/the first match (assumed to be the best match) - // q: the term entered - // sValue: the first matching result - function autoFill(q, sValue){ - // autofill in the complete box w/the first match as long as the user hasn't entered in more data - // if the last user key pressed was backspace, don't autofill - if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) { - // fill in the value (keep the case the user has typed) - $input.val($input.val() + sValue.substring(lastWord(previousValue).length)); - // select the portion of the value not typed by the user (so the next character will erase) - $(input).selection(previousValue.length, previousValue.length + sValue.length); - } - }; - - function hideResults() { - clearTimeout(timeout); - timeout = setTimeout(hideResultsNow, 200); - }; - - function hideResultsNow() { - var wasVisible = select.visible(); - select.hide(); - clearTimeout(timeout); - stopLoading(); - if (options.mustMatch) { - // call search and run callback - $input.search( - function (result){ - // if no value found, clear the input box - if( !result ) { - if (options.multiple) { - var words = trimWords($input.val()).slice(0, -1); - $input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") ); - } - else { - $input.val( "" ); - $input.trigger("result", null); - } - } - } - ); - } - }; - - function receiveData(q, data) { - if ( data && data.length && hasFocus ) { - stopLoading(); - select.display(data, q); - autoFill(q, data[0].value); - select.show(); - } else { - hideResultsNow(); - } - }; - - function request(term, success, failure) { - if (!options.matchCase) - term = term.toLowerCase(); - var data = cache.load(term); - // recieve the cached data - if (data) { - if(data.length) { - success(term, data); - } - else{ - var parsed = options.parse && options.parse(options.noRecord) || parse(options.noRecord); - success(term,parsed); - } - // if an AJAX url has been supplied, try loading the data now - } else if( (typeof options.url == "string") && (options.url.length > 0) ){ - - var extraParams = { - timestamp: +new Date() - }; - $.each(options.extraParams, function(key, param) { - extraParams[key] = typeof param == "function" ? param() : param; - }); - - $.ajax({ - // try to leverage ajaxQueue plugin to abort previous requests - mode: "abort", - // limit abortion to this input - port: "autocomplete" + input.name, - dataType: options.dataType, - url: options.url, - data: $.extend({ - q: lastWord(term), - limit: options.max - }, extraParams), - success: function(data) { - var parsed = options.parse && options.parse(data) || parse(data); - cache.add(term, parsed); - success(term, parsed); - } - }); - } else { - // if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match - select.emptyList(); - if(globalFailure != null) { - globalFailure(); - } - else { - failure(term); - } - } - }; - - function parse(data) { - var parsed = []; - var rows = data.split("\n"); - for (var i=0; i < rows.length; i++) { - var row = $.trim(rows[i]); - if (row) { - row = row.split("|"); - parsed[parsed.length] = { - data: row, - value: row[0], - result: options.formatResult && options.formatResult(row, row[0]) || row[0] - }; - } - } - return parsed; - }; - - function stopLoading() { - $input.removeClass(options.loadingClass); - }; - -}; - -$.Autocompleter.defaults = { - inputClass: "ac_input", - resultsClass: "ac_results", - loadingClass: "ac_loading", - minChars: 1, - delay: 400, - matchCase: false, - matchSubset: true, - matchContains: false, - cacheLength: 100, - max: 1000, - mustMatch: false, - extraParams: {}, - selectFirst: true, - formatItem: function(row) { return row[0]; }, - formatMatch: null, - autoFill: false, - width: 0, - multiple: false, - multipleSeparator: " ", - inputFocus: true, - clickFire: false, - highlight: function(value, term) { - return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "$1"); - }, - scroll: true, - scrollHeight: 180, - scrollJumpPosition: true -}; - -$.Autocompleter.Cache = function(options) { - - var data = {}; - var length = 0; - - function matchSubset(s, sub) { - return (new RegExp(sub.toUpperCase().replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1").replace(/[A-Z0-9]/g, function(m, offset) { - return offset === 0 ? '(?:' + m + '|^' + m.toLowerCase() + ')' : '(?:.*' + m + '|' + m.toLowerCase() + ')'; - }))).test(s); // find by initials - }; - - function add(q, value) { - if (length > options.cacheLength){ - flush(); - } - if (!data[q]){ - length++; - } - data[q] = value; - } - - function populate(){ - if( !options.data ) return false; - // track the matches - var stMatchSets = {}, - nullData = 0; - - // no url was specified, we need to adjust the cache length to make sure it fits the local data store - if( !options.url ) options.cacheLength = 1; - - // track all options for minChars = 0 - stMatchSets[""] = []; - - // loop through the array and create a lookup structure - for ( var i = 0, ol = options.data.length; i < ol; i++ ) { - var rawValue = options.data[i]; - // if rawValue is a string, make an array otherwise just reference the array - rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue; - - var value = options.formatMatch(rawValue, i+1, options.data.length); - if ( typeof(value) === 'undefined' || value === false ) - continue; - - var firstChar = value.charAt(0).toLowerCase(); - // if no lookup array for this character exists, look it up now - if( !stMatchSets[firstChar] ) - stMatchSets[firstChar] = []; - - // if the match is a string - var row = { - value: value, - data: rawValue, - result: options.formatResult && options.formatResult(rawValue) || value - }; - - // push the current match into the set list - stMatchSets[firstChar].push(row); - - // keep track of minChars zero items - if ( nullData++ < options.max ) { - stMatchSets[""].push(row); - } - }; - - // add the data items to the cache - $.each(stMatchSets, function(i, value) { - // increase the cache size - options.cacheLength++; - // add to the cache - add(i, value); - }); - } - - // populate any existing data - setTimeout(populate, 25); - - function flush(){ - data = {}; - length = 0; - } - - return { - flush: flush, - add: add, - populate: populate, - load: function(q) { - if (!options.cacheLength || !length) - return null; - /* - * if dealing w/local data and matchContains than we must make sure - * to loop through all the data collections looking for matches - */ - if( !options.url && options.matchContains ){ - // track all matches - var csub = []; - // loop through all the data grids for matches - for( var k in data ){ - // don't search through the stMatchSets[""] (minChars: 0) cache - // this prevents duplicates - if( k.length > 0 ){ - var c = data[k]; - $.each(c, function(i, x) { - // if we've got a match, add it to the array - if (matchSubset(x.value, q)) { - csub.push(x); - } - }); - } - } - return csub; - } else - // if the exact item exists, use it - if (data[q]){ - return data[q]; - } else - if (options.matchSubset) { - for (var i = q.length - 1; i >= options.minChars; i--) { - var c = data[q.substr(0, i)]; - if (c) { - var csub = []; - $.each(c, function(i, x) { - if (matchSubset(x.value, q)) { - csub[csub.length] = x; - } - }); - return csub; - } - } - } - return null; - } - }; -}; - -$.Autocompleter.Select = function (options, input, select, config) { - var CLASSES = { - ACTIVE: "ac_over" - }; - - var listItems, - active = -1, - data, - term = "", - needsInit = true, - element, - list; - - // Create results - function init() { - if (!needsInit) - return; - element = $("
    ") - .hide() - .addClass(options.resultsClass) - .css("position", "absolute") - .appendTo(document.body) - .hover(function(event) { - // Browsers except FF do not fire mouseup event on scrollbars, resulting in mouseDownOnSelect remaining true, and results list not always hiding. - if($(this).is(":visible")) { - input.focus(); - } - config.mouseDownOnSelect = false; - }); - - list = $("
      ").appendTo(element).mouseover( function(event) { - if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') { - active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event)); - $(target(event)).addClass(CLASSES.ACTIVE); - } - }).click(function(event) { - $(target(event)).addClass(CLASSES.ACTIVE); - select(); - if( options.inputFocus ) - input.focus(); - return false; - }).mousedown(function() { - config.mouseDownOnSelect = true; - }).mouseup(function() { - config.mouseDownOnSelect = false; - }); - - if( options.width > 0 ) - element.css("width", options.width); - - needsInit = false; - } - - function target(event) { - var element = event.target; - while(element && element.tagName != "LI") - element = element.parentNode; - // more fun with IE, sometimes event.target is empty, just ignore it then - if(!element) - return []; - return element; - } - - function moveSelect(step) { - listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE); - movePosition(step); - var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE); - if(options.scroll) { - var offset = 0; - listItems.slice(0, active).each(function() { - offset += this.offsetHeight; - }); - if((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) { - list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight()); - } else if(offset < list.scrollTop()) { - list.scrollTop(offset); - } - } - }; - - function movePosition(step) { - if (options.scrollJumpPosition || (!options.scrollJumpPosition && !((step < 0 && active == 0) || (step > 0 && active == listItems.size() - 1)) )) { - active += step; - if (active < 0) { - active = listItems.size() - 1; - } else if (active >= listItems.size()) { - active = 0; - } - } - } - - - function limitNumberOfItems(available) { - return options.max && options.max < available - ? options.max - : available; - } - - function fillList() { - list.empty(); - var max = limitNumberOfItems(data.length); - for (var i=0; i < max; i++) { - if (!data[i]) - continue; - var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term); - if ( formatted === false ) - continue; - var li = $("
    • ").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0]; - $.data(li, "ac_data", data[i]); - } - listItems = list.find("li"); - if ( options.selectFirst ) { - listItems.slice(0, 1).addClass(CLASSES.ACTIVE); - active = 0; - } - // apply bgiframe if available - if ( $.fn.bgiframe ) - list.bgiframe(); - } - - return { - display: function(d, q) { - init(); - data = d; - term = q; - fillList(); - }, - next: function() { - moveSelect(1); - }, - prev: function() { - moveSelect(-1); - }, - pageUp: function() { - if (active != 0 && active - 8 < 0) { - moveSelect( -active ); - } else { - moveSelect(-8); - } - }, - pageDown: function() { - if (active != listItems.size() - 1 && active + 8 > listItems.size()) { - moveSelect( listItems.size() - 1 - active ); - } else { - moveSelect(8); - } - }, - hide: function() { - element && element.hide(); - listItems && listItems.removeClass(CLASSES.ACTIVE); - active = -1; - }, - visible : function() { - return element && element.is(":visible"); - }, - current: function() { - return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]); - }, - show: function() { - var offset = $(input).offset(); - element.css({ - width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(), - top: offset.top + input.offsetHeight, - left: offset.left - }).show(); - if(options.scroll) { - list.scrollTop(0); - list.css({ - maxHeight: options.scrollHeight, - overflow: 'auto' - }); - - if(navigator.userAgent.indexOf("MSIE") != -1 && typeof document.body.style.maxHeight === "undefined") { - var listHeight = 0; - listItems.each(function() { - listHeight += this.offsetHeight; - }); - var scrollbarsVisible = listHeight > options.scrollHeight; - list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight ); - if (!scrollbarsVisible) { - // IE doesn't recalculate width when scrollbar disappears - listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) ); - } - } - - } - }, - selected: function() { - var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE); - return selected && selected.length && $.data(selected[0], "ac_data"); - }, - emptyList: function (){ - list && list.empty(); - }, - unbind: function() { - element && element.remove(); - } - }; -}; - -$.fn.selection = function(start, end) { - if (start !== undefined) { - return this.each(function() { - if( this.createTextRange ){ - var selRange = this.createTextRange(); - if (end === undefined || start == end) { - selRange.move("character", start); - selRange.select(); - } else { - selRange.collapse(true); - selRange.moveStart("character", start); - selRange.moveEnd("character", end); - selRange.select(); - } - } else if( this.setSelectionRange ){ - this.setSelectionRange(start, end); - } else if( this.selectionStart ){ - this.selectionStart = start; - this.selectionEnd = end; - } - }); - } - var field = this[0]; - if ( field.createTextRange ) { - var range = document.selection.createRange(), - orig = field.value, - teststring = "<->", - textLength = range.text.length; - range.text = teststring; - var caretAt = field.value.indexOf(teststring); - field.value = orig; - this.selection(caretAt, caretAt + textLength); - return { - start: caretAt, - end: caretAt + textLength - } - } else if( field.selectionStart !== undefined ){ - return { - start: field.selectionStart, - end: field.selectionEnd - } - } -}; - -})(jQuery); diff --git a/apigen/vendor/apigen/theme-bootstrap/src/js/jquery.cookie.js b/apigen/vendor/apigen/theme-bootstrap/src/js/jquery.cookie.js deleted file mode 100644 index 3838d7ed..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/src/js/jquery.cookie.js +++ /dev/null @@ -1,114 +0,0 @@ -/*! - * jQuery Cookie Plugin v1.4.1 - * https://github.com/carhartl/jquery-cookie - * - * Copyright 2006, 2014 Klaus Hartl - * Released under the MIT license - */ -(function (factory) { - if (typeof define === 'function' && define.amd) { - // AMD (Register as an anonymous module) - define(['jquery'], factory); - } else if (typeof exports === 'object') { - // Node/CommonJS - module.exports = factory(require('jquery')); - } else { - // Browser globals - factory(jQuery); - } -}(function ($) { - - var pluses = /\+/g; - - function encode(s) { - return config.raw ? s : encodeURIComponent(s); - } - - function decode(s) { - return config.raw ? s : decodeURIComponent(s); - } - - function stringifyCookieValue(value) { - return encode(config.json ? JSON.stringify(value) : String(value)); - } - - function parseCookieValue(s) { - if (s.indexOf('"') === 0) { - // This is a quoted cookie as according to RFC2068, unescape... - s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); - } - - try { - // Replace server-side written pluses with spaces. - // If we can't decode the cookie, ignore it, it's unusable. - // If we can't parse the cookie, ignore it, it's unusable. - s = decodeURIComponent(s.replace(pluses, ' ')); - return config.json ? JSON.parse(s) : s; - } catch(e) {} - } - - function read(s, converter) { - var value = config.raw ? s : parseCookieValue(s); - return $.isFunction(converter) ? converter(value) : value; - } - - var config = $.cookie = function (key, value, options) { - - // Write - - if (arguments.length > 1 && !$.isFunction(value)) { - options = $.extend({}, config.defaults, options); - - if (typeof options.expires === 'number') { - var days = options.expires, t = options.expires = new Date(); - t.setMilliseconds(t.getMilliseconds() + days * 864e+5); - } - - return (document.cookie = [ - encode(key), '=', stringifyCookieValue(value), - options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE - options.path ? '; path=' + options.path : '', - options.domain ? '; domain=' + options.domain : '', - options.secure ? '; secure' : '' - ].join('')); - } - - // Read - - var result = key ? undefined : {}, - // To prevent the for loop in the first place assign an empty array - // in case there are no cookies at all. Also prevents odd result when - // calling $.cookie(). - cookies = document.cookie ? document.cookie.split('; ') : [], - i = 0, - l = cookies.length; - - for (; i < l; i++) { - var parts = cookies[i].split('='), - name = decode(parts.shift()), - cookie = parts.join('='); - - if (key === name) { - // If second argument (value) is a function it's a converter... - result = read(cookie, value); - break; - } - - // Prevent storing a cookie that we couldn't decode. - if (!key && (cookie = read(cookie)) !== undefined) { - result[name] = cookie; - } - } - - return result; - }; - - config.defaults = {}; - - $.removeCookie = function (key, options) { - // Must not alter options, thus extending a fresh object... - $.cookie(key, '', $.extend({}, options, { expires: -1 })); - return !$.cookie(key); - }; - -})); diff --git a/apigen/vendor/apigen/theme-bootstrap/src/js/jquery.min.js b/apigen/vendor/apigen/theme-bootstrap/src/js/jquery.min.js deleted file mode 100644 index ce1b6b6e..00000000 --- a/apigen/vendor/apigen/theme-bootstrap/src/js/jquery.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license -*/ -(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="
      ",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
      a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="
      t
      ",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
      ",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t -}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
      ","
      "],area:[1,"",""],param:[1,"",""],thead:[1,"","
      "],tr:[2,"","
      "],col:[2,"","
      "],td:[3,"","
      "],_default:x.support.htmlSerialize?[0,"",""]:[1,"X
      ","
      "]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); -u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("
      - - - - - - - <?= Helpers::escapeHtml($title . ': ' . $exception->getMessage() . $code) ?> - - getPrevious()): ?> - - - - - >document.documentElement.className+=' tracy-js' - - - - - - -> -(function() { - - - - -})(); -Tracy.Dumper.init(); -Tracy.BlueScreen.init(); - - - diff --git a/apigen/vendor/tracy/tracy/src/Tracy/Debugger/Debugger.php b/apigen/vendor/tracy/tracy/src/Tracy/Debugger/Debugger.php deleted file mode 100644 index ee7c9447..00000000 --- a/apigen/vendor/tracy/tracy/src/Tracy/Debugger/Debugger.php +++ /dev/null @@ -1,609 +0,0 @@ -dispatchAssets()) { - exit; - } - } - - - /** - * Renders loading - - - -Server Error - - - -
      -
      -

      Server Error

      - -

      We're sorry! The server encountered an internal error and - was unable to complete your request. Please try again later.

      - -

      error 500 |
      Tracy is unable to log error.

      -
      -
      - - diff --git a/apigen/vendor/tracy/tracy/src/Tracy/Dumper/Dumper.php b/apigen/vendor/tracy/tracy/src/Tracy/Dumper/Dumper.php deleted file mode 100644 index 9da66cbe..00000000 --- a/apigen/vendor/tracy/tracy/src/Tracy/Dumper/Dumper.php +++ /dev/null @@ -1,688 +0,0 @@ - '1;33', - 'null' => '1;33', - 'number' => '1;32', - 'string' => '1;36', - 'array' => '1;31', - 'key' => '1;37', - 'object' => '1;31', - 'visibility' => '1;30', - 'resource' => '1;37', - 'indent' => '1;30', - ]; - - /** @var array */ - public static $resources = [ - 'stream' => 'stream_get_meta_data', - 'stream-context' => 'stream_context_get_options', - 'curl' => 'curl_getinfo', - ]; - - /** @var array */ - public static $objectExporters = [ - 'Closure' => [self::class, 'exportClosure'], - 'SplFileInfo' => [self::class, 'exportSplFileInfo'], - 'SplObjectStorage' => [self::class, 'exportSplObjectStorage'], - '__PHP_Incomplete_Class' => [self::class, 'exportPhpIncompleteClass'], - ]; - - /** @var int|null */ - private $maxDepth = 4; - - /** @var int|null */ - private $maxLength = 150; - - /** @var int|bool */ - private $collapseTop = 14; - - /** @var int */ - private $collapseSub = 7; - - /** @var int */ - private $location = 0; - - /** @var bool|null lazy-loading via JavaScript? true=full, false=none, null=collapsed parts */ - private $lazy; - - /** @var array|null */ - private $snapshot; - - /** @var bool */ - private $debugInfo = false; - - /** @var array */ - private $keysToHide = []; - - /** @var callable[] */ - private $resourceDumpers; - - /** @var callable[] */ - private $objectDumpers; - - - /** - * Dumps variable to the output. - * @return mixed variable - */ - public static function dump($var, array $options = []) - { - if (PHP_SAPI !== 'cli' && !preg_match('#^Content-Type: (?!text/html)#im', implode("\n", headers_list()))) { - echo self::toHtml($var, $options); - } elseif (self::detectColors()) { - echo self::toTerminal($var, $options); - } else { - echo self::toText($var, $options); - } - return $var; - } - - - /** - * Dumps variable to HTML. - */ - public static function toHtml($var, array $options = []): string - { - return (new static($options))->asHtml($var); - } - - - /** - * Dumps variable to plain text. - */ - public static function toText($var, array $options = []): string - { - return (new static($options))->asTerminal($var); - } - - - /** - * Dumps variable to x-terminal. - */ - public static function toTerminal($var, array $options = []): string - { - return (new static($options))->asTerminal($var, self::$terminalColors); - } - - - private function __construct(array $options = []) - { - $this->maxDepth = $options[self::DEPTH] ?? $this->maxDepth; - $this->maxLength = $options[self::TRUNCATE] ?? $this->maxLength; - $this->collapseTop = $options[self::COLLAPSE] ?? $this->collapseTop; - $this->collapseSub = $options[self::COLLAPSE_COUNT] ?? $this->collapseSub; - $this->location = $options[self::LOCATION] ?? $this->location; - $this->location = $this->location === true ? ~0 : (int) $this->location; - $this->snapshot = &$options[self::SNAPSHOT]; - if ($options[self::LIVE] ?? false) { - $this->snapshot = &self::$liveSnapshot; - } - $this->lazy = is_array($this->snapshot) ? true : ($options[self::LAZY] ?? $this->lazy); - $this->debugInfo = $options[self::DEBUGINFO] ?? $this->debugInfo; - $this->keysToHide = array_flip(array_map('strtolower', $options[self::KEYS_TO_HIDE] ?? [])); - $this->resourceDumpers = ($options['resourceExporters'] ?? []) + self::$resources; - $this->objectDumpers = ($options[self::OBJECT_EXPORTERS] ?? []) + self::$objectExporters; - uksort($this->objectDumpers, function ($a, $b): int { - return $b === '' || (class_exists($a, false) && is_subclass_of($a, $b)) ? -1 : 1; - }); - } - - - /** - * Dumps variable to HTML. - */ - private function asHtml($var): string - { - [$file, $line, $code] = $this->location ? $this->findLocation() : null; - $locAttrs = $file && $this->location & self::LOCATION_SOURCE ? Helpers::formatHtml( - ' title="%in file % on line %" data-tracy-href="%"', "$code\n", $file, $line, Helpers::editorUri($file, $line) - ) : null; - - if (is_array($this->snapshot)) { - $options[self::SNAPSHOT] = &$this->snapshot; - } - $snapshot = &$options[self::SNAPSHOT]; // reference must exist - - $html = $json = null; - if ($this->lazy && (is_array($var) || is_object($var) || is_resource($var)) && $var) { - $json = $this->toJson($var, $options); - $snapshot = (array) $snapshot; - } else { - $html = $this->dumpVar($var, $options + [self::LAZY => $this->lazy]); - } - - return '
      snapshot) ? ' data-tracy-snapshot=' . $this->formatSnapshotAttribute($snapshot) : '')
      -			. ($json ? " data-tracy-dump='" . json_encode($json, JSON_HEX_APOS | JSON_HEX_AMP) . "'>" : '>')
      -			. $html
      -			. ($file && $this->location & self::LOCATION_LINK ? 'in ' . Helpers::editorLink($file, $line) . '' : '')
      -			. "
      \n"; - } - - - /** - * Dumps variable to x-terminal. - */ - private function asTerminal($var, array $colors = []): string - { - $s = $this->dumpVar($var, [self::LAZY => false]); - if ($colors) { - $s = preg_replace_callback('#|#', function ($m) use ($colors): string { - return "\033[" . (isset($m[1], $colors[$m[1]]) ? $colors[$m[1]] : '0') . 'm'; - }, $s); - } - $s = htmlspecialchars_decode(strip_tags($s), ENT_QUOTES); - if ($this->location & self::LOCATION_LINK && ([$file, $line] = $this->findLocation())) { - $s .= "in $file:$line"; - } - return $s; - } - - - /** - * Internal toHtml() dump implementation. - * @param mixed $var - */ - private function dumpVar(&$var, array $options, int $level = 0): string - { - if (method_exists(__CLASS__, $m = 'dump' . gettype($var))) { - return $this->$m($var, $options, $level); - } else { - return "unknown type\n"; - } - } - - - private function dumpNull(): string - { - return "null\n"; - } - - - private function dumpBoolean(&$var): string - { - return '' . ($var ? 'true' : 'false') . "\n"; - } - - - private function dumpInteger(&$var): string - { - return "$var\n"; - } - - - private function dumpDouble(&$var): string - { - $var = is_finite($var) - ? ($tmp = json_encode($var)) . (strpos($tmp, '.') === false ? '.0' : '') - : var_export($var, true); - return "$var\n"; - } - - - private function dumpString(&$var): string - { - return '"' - . Helpers::escapeHtml($this->encodeString($var, $this->maxLength)) - . '"' . (strlen($var) > 1 ? ' (' . strlen($var) . ')' : '') . "\n"; - } - - - private function dumpArray(&$var, array $options, int $level): string - { - static $marker; - if ($marker === null) { - $marker = uniqid("\x00", true); - } - - $out = 'array ('; - - if (empty($var)) { - return $out . ")\n"; - - } elseif (isset($var[$marker])) { - return $out . (count($var) - 1) . ") [ RECURSION ]\n"; - - } elseif (!$this->maxDepth || $level < $this->maxDepth) { - $collapsed = $level - ? count($var) >= $this->collapseSub - : (is_int($this->collapseTop) ? count($var) >= $this->collapseTop : $this->collapseTop); - - $span = '" - . $out . count($var) . ")\n"; - - } else { - $out = $span . '>' . $out . count($var) . ")\n" . ''; - try { - $var[$marker] = true; - foreach ($var as $k => &$v) { - if ($k === $marker) { - continue; - } - $hide = is_string($k) && isset($this->keysToHide[strtolower($k)]) ? self::HIDDEN_VALUE : null; - $out .= ' ' . str_repeat('| ', $level) . '' - . '' . Helpers::escapeHtml($this->encodeKey($k)) . ' => ' - . ($hide ? $this->dumpString($hide) : $this->dumpVar($v, $options, $level + 1)); - } - } finally { - unset($var[$marker]); - } - - return $out . '
    '; - } - - } else { - return $out . count($var) . ") [ ... ]\n"; - } - } - - - private function dumpObject(&$var, array $options, int $level): string - { - $fields = $this->exportObject($var); - - $editorAttributes = ''; - if ($this->location & self::LOCATION_CLASS) { - $rc = $var instanceof \Closure ? new \ReflectionFunction($var) : new \ReflectionClass($var); - $editor = $rc->getFileName() ? Helpers::editorUri($rc->getFileName(), $rc->getStartLine()) : null; - if ($editor) { - $editorAttributes = Helpers::formatHtml( - ' title="Declared in file % on line %" data-tracy-href="%"', - $rc->getFileName(), - $rc->getStartLine(), - $editor - ); - } - } - $out = '' - . Helpers::escapeHtml(Helpers::getClass($var)) - . ' #' . substr(md5(spl_object_hash($var)), 0, 4) . ''; - - if (empty($fields)) { - return $out . "\n"; - - } elseif (in_array($var, $options['parents'] ?? [], true)) { - return $out . " { RECURSION }\n"; - - } elseif (!$this->maxDepth || $level < $this->maxDepth || $var instanceof \Closure) { - $collapsed = $level - ? count($fields) >= $this->collapseSub - : (is_int($this->collapseTop) ? count($fields) >= $this->collapseTop : $this->collapseTop); - - $span = '" . $out . "\n"; - - } else { - $out = $span . '>' . $out . "\n" . ''; - $options['parents'][] = $var; - foreach ($fields as $k => &$v) { - $vis = ''; - if (isset($k[0]) && $k[0] === "\x00") { - $vis = ' ' . ($k[1] === '*' ? 'protected' : 'private') . ''; - $k = substr($k, strrpos($k, "\x00") + 1); - } - $hide = is_string($k) && isset($this->keysToHide[strtolower($k)]) ? self::HIDDEN_VALUE : null; - $out .= ' ' . str_repeat('| ', $level) . '' - . '' . Helpers::escapeHtml($this->encodeKey($k)) . "$vis => " - . ($hide ? $this->dumpString($hide) : $this->dumpVar($v, $options, $level + 1)); - } - array_pop($options['parents']); - - return $out . ''; - } - - - } else { - return $out . " { ... }\n"; - } - } - - - private function dumpResource(&$var, array $options, int $level): string - { - $type = get_resource_type($var); - $out = '' . Helpers::escapeHtml($type) . ' resource ' - . '#' . (int) $var . ''; - if (isset($this->resourceDumpers[$type])) { - $out = "$out\n
    "; - foreach (($this->resourceDumpers[$type])($var) as $k => $v) { - $out .= ' ' . str_repeat('| ', $level) . '' - . '' . Helpers::escapeHtml($k) . ' => ' . $this->dumpVar($v, $options, $level + 1); - } - return $out . '
    '; - } - return "$out\n"; - } - - - /** - * @return mixed - */ - private function toJson(&$var, array $options = [], int $level = 0) - { - if (is_bool($var) || $var === null || is_int($var)) { - return $var; - - } elseif (is_float($var)) { - return is_finite($var) - ? (strpos($tmp = json_encode($var), '.') ? $var : ['number' => "$tmp.0"]) - : ['type' => (string) $var]; - - } elseif (is_string($var)) { - return $this->encodeString($var, $this->maxLength); - - } elseif (is_array($var)) { - static $marker; - if ($marker === null) { - $marker = uniqid("\x00", true); - } - if (count($var) && (isset($var[$marker]) || $level >= $this->maxDepth)) { - return ['stop' => [count($var) - isset($var[$marker]), isset($var[$marker])]]; - } - $res = []; - try { - $var[$marker] = true; - foreach ($var as $k => &$v) { - if ($k === $marker) { - continue; - } - $hide = is_string($k) && isset($this->keysToHide[strtolower($k)]); - $res[] = [$this->encodeKey($k), $hide ? self::HIDDEN_VALUE : $this->toJson($v, $options, $level + 1)]; - } - } finally { - unset($var[$marker]); - } - return $res; - - } elseif (is_object($var)) { - $hash = spl_object_hash($var); - $obj = &$options[self::SNAPSHOT][$hash]; - if ($obj && $obj['level'] <= $level) { - return ['object' => $obj['id']]; - } - - $obj = $obj ?: [ - 'id' => count($options[self::SNAPSHOT]), - 'name' => Helpers::getClass($var), - 'hash' => substr(md5($hash), 0, 4), - 'level' => $level, - 'object' => $var, - ]; - if (empty($obj['editor']) && ($this->location & self::LOCATION_CLASS)) { - $rc = $var instanceof \Closure ? new \ReflectionFunction($var) : new \ReflectionClass($var); - if ($editor = $rc->getFileName() ? Helpers::editorUri($rc->getFileName(), $rc->getStartLine()) : null) { - $obj['editor'] = ['file' => $rc->getFileName(), 'line' => $rc->getStartLine(), 'url' => $editor]; - } - } - - if ($level < $this->maxDepth || !$this->maxDepth) { - $obj['level'] = $level; - $obj['items'] = []; - - foreach ($this->exportObject($var) as $k => $v) { - $vis = 0; - if (isset($k[0]) && $k[0] === "\x00") { - $vis = $k[1] === '*' ? 1 : 2; - $k = substr($k, strrpos($k, "\x00") + 1); - } - $hide = is_string($k) && isset($this->keysToHide[strtolower($k)]); - $obj['items'][] = [$this->encodeKey($k), $hide ? self::HIDDEN_VALUE : $this->toJson($v, $options, $level + 1), $vis]; - } - } - return ['object' => $obj['id']]; - - } elseif (is_resource($var)) { - $obj = &$options[self::SNAPSHOT][(string) $var]; - if (!$obj) { - $type = get_resource_type($var); - $obj = ['id' => count($options[self::SNAPSHOT]), 'name' => $type . ' resource', 'hash' => (int) $var]; - if (isset($this->resourceDumpers[$type])) { - foreach (($this->resourceDumpers[$type])($var) as $k => $v) { - $obj['items'][] = [$k, $this->toJson($v, $options, $level + 1)]; - } - } - } - return ['resource' => $obj['id']]; - - } else { - return ['type' => 'unknown type']; - } - } - - - public static function formatSnapshotAttribute(array &$snapshot): string - { - $res = []; - foreach ($snapshot as $obj) { - $id = $obj['id']; - unset($obj['level'], $obj['object'], $obj['id']); - $res[$id] = $obj; - } - $snapshot = []; - return "'" . json_encode($res, JSON_HEX_APOS | JSON_HEX_AMP) . "'"; - } - - - /** - * @internal - */ - public static function encodeString(string $s, int $maxLength = null): string - { - static $table; - if ($table === null) { - foreach (array_merge(range("\x00", "\x1F"), range("\x7F", "\xFF")) as $ch) { - $table[$ch] = '\x' . str_pad(dechex(ord($ch)), 2, '0', STR_PAD_LEFT); - } - $table['\\'] = '\\\\'; - $table["\r"] = '\r'; - $table["\n"] = '\n'; - $table["\t"] = '\t'; - } - - if ($maxLength && strlen($s) > $maxLength) { // shortens to $maxLength in UTF-8 or longer - if (function_exists('mb_substr')) { - $s = mb_substr($tmp = $s, 0, $maxLength, 'UTF-8'); - $shortened = $s !== $tmp; - } else { - $i = $len = 0; - $maxI = $maxLength * 4; // max UTF-8 length - do { - if (($s[$i] < "\x80" || $s[$i] >= "\xC0") && (++$len > $maxLength) || $i >= $maxI) { - $s = substr($s, 0, $i); - $shortened = true; - break; - } - } while (isset($s[++$i])); - } - } - - if (preg_match('#[^\x09\x0A\x0D\x20-\x7E\xA0-\x{10FFFF}]#u', $s) || preg_last_error()) { // is binary? - if ($maxLength && strlen($s) > $maxLength) { - $s = substr($s, 0, $maxLength); - $shortened = true; - } - $s = strtr($s, $table); - } - - return $s . (empty($shortened) ? '' : ' ... '); - } - - - /** - * @param int|string $k - * @return int|string - */ - private function encodeKey($key) - { - return is_int($key) || preg_match('#^[!\#$%&()*+,./0-9:;<=>?@A-Z[\]^_`a-z{|}~-]{1,50}$#D', $key) - ? $key - : '"' . $this->encodeString($key, $this->maxLength) . '"'; - } - - - /** - * @param object $obj - */ - private function exportObject($obj): array - { - foreach ($this->objectDumpers as $type => $dumper) { - if (!$type || $obj instanceof $type) { - return $dumper($obj); - } - } - - if ($this->debugInfo && method_exists($obj, '__debugInfo')) { - return $obj->__debugInfo(); - } - - return (array) $obj; - } - - - private static function exportClosure(\Closure $obj): array - { - $rc = new \ReflectionFunction($obj); - $res = []; - foreach ($rc->getParameters() as $param) { - $res[] = '$' . $param->getName(); - } - return [ - 'file' => $rc->getFileName(), - 'line' => $rc->getStartLine(), - 'variables' => $rc->getStaticVariables(), - 'parameters' => implode(', ', $res), - ]; - } - - - private static function exportSplFileInfo(\SplFileInfo $obj): array - { - return ['path' => $obj->getPathname()]; - } - - - private static function exportSplObjectStorage(\SplObjectStorage $obj): array - { - $res = []; - foreach (clone $obj as $item) { - $res[] = ['object' => $item, 'data' => $obj[$item]]; - } - return $res; - } - - - private static function exportPhpIncompleteClass(\__PHP_Incomplete_Class $obj): array - { - $info = ['className' => null, 'private' => [], 'protected' => [], 'public' => []]; - foreach ((array) $obj as $name => $value) { - if ($name === '__PHP_Incomplete_Class_Name') { - $info['className'] = $value; - } elseif (preg_match('#^\x0\*\x0(.+)$#D', $name, $m)) { - $info['protected'][$m[1]] = $value; - } elseif (preg_match('#^\x0(.+)\x0(.+)$#D', $name, $m)) { - $info['private'][$m[1] . '::$' . $m[2]] = $value; - } else { - $info['public'][$name] = $value; - } - } - return $info; - } - - - /** - * Finds the location where dump was called. Returns [file, line, code] - */ - private static function findLocation(): ?array - { - foreach (debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS) as $item) { - if (isset($item['class']) && $item['class'] === __CLASS__) { - $location = $item; - continue; - } elseif (isset($item['function'])) { - try { - $reflection = isset($item['class']) - ? new \ReflectionMethod($item['class'], $item['function']) - : new \ReflectionFunction($item['function']); - if ($reflection->isInternal() || preg_match('#\s@tracySkipLocation\s#', (string) $reflection->getDocComment())) { - $location = $item; - continue; - } - } catch (\ReflectionException $e) { - } - } - break; - } - - if (isset($location['file'], $location['line']) && is_file($location['file'])) { - $lines = file($location['file']); - $line = $lines[$location['line'] - 1]; - return [ - $location['file'], - $location['line'], - trim(preg_match('#\w*dump(er::\w+)?\(.*\)#i', $line, $m) ? $m[0] : $line), - ]; - } - return null; - } - - - private static function detectColors(): bool - { - return self::$terminalColors && - (getenv('ConEmuANSI') === 'ON' - || getenv('ANSICON') !== false - || getenv('term') === 'xterm-256color' - || (defined('STDOUT') && function_exists('posix_isatty') && posix_isatty(STDOUT))); - } -} diff --git a/apigen/vendor/tracy/tracy/src/Tracy/Dumper/assets/dumper.css b/apigen/vendor/tracy/tracy/src/Tracy/Dumper/assets/dumper.css deleted file mode 100644 index 2d2624f1..00000000 --- a/apigen/vendor/tracy/tracy/src/Tracy/Dumper/assets/dumper.css +++ /dev/null @@ -1,70 +0,0 @@ -/** - * This file is part of the Tracy (https://tracy.nette.org) - */ - -pre.tracy-dump { - text-align: left; - color: #444; - background: white; -} - -pre.tracy-dump div { - padding-left: 3ex; -} - -pre.tracy-dump div div { - border-left: 1px solid rgba(0, 0, 0, .1); - margin-left: .5ex; -} - -pre.tracy-dump a { - color: #125EAE; - text-decoration: none; -} - -pre.tracy-dump a:hover, -pre.tracy-dump a:focus { - background-color: #125EAE; - color: white; -} - -.tracy-dump-array, -.tracy-dump-object { - color: #C22; -} - -.tracy-dump-string { - color: #35D; -} - -.tracy-dump-number { - color: #090; -} - -.tracy-dump-null, -.tracy-dump-bool { - color: #850; -} - -.tracy-dump-visibility, -.tracy-dump-hash { - font-size: 85%; color: #999; -} - -.tracy-dump-indent { - display: none; -} - -span[data-tracy-href] { - border-bottom: 1px dotted rgba(0, 0, 0, .2); -} - -.tracy-dump-flash { - animation: tracy-dump-flash .2s ease; -} - -@keyframes tracy-dump-flash { - 0% { - background: #c0c0c033; - } -} diff --git a/apigen/vendor/tracy/tracy/src/Tracy/Dumper/assets/dumper.js b/apigen/vendor/tracy/tracy/src/Tracy/Dumper/assets/dumper.js deleted file mode 100644 index b889a7f5..00000000 --- a/apigen/vendor/tracy/tracy/src/Tracy/Dumper/assets/dumper.js +++ /dev/null @@ -1,214 +0,0 @@ -/** - * This file is part of the Tracy (https://tracy.nette.org) - */ - -'use strict'; - -(function() { - const - COLLAPSE_COUNT = 7, - COLLAPSE_COUNT_TOP = 14; - - class Dumper - { - static init(context) { - (context || document).querySelectorAll('[itemprop=tracy-snapshot], [data-tracy-snapshot]').forEach((el) => { - let preList, snapshot = JSON.parse(el.getAttribute('data-tracy-snapshot')); - - if (el.tagName === 'META') { // - snapshot = JSON.parse(el.getAttribute('content')); - preList = el.parentElement.querySelectorAll('[data-tracy-dump]'); - } else if (el.matches('[data-tracy-dump]')) { //
    -					preList = [el];
    -					el.removeAttribute('data-tracy-snapshot');
    -				} else { // 
    -					el.querySelectorAll('[data-tracy-dump]').forEach((el) => {
    -						el.parentNode.removeChild(el.nextSibling); // remove \n after toggler
    -						el.parentNode.replaceChild( // replace toggler
    -							build(JSON.parse(el.getAttribute('data-tracy-dump')), snapshot, el.classList.contains('tracy-collapsed')),
    -							el
    -						);
    -					});
    -					return;
    -				}
    -
    -				preList.forEach((el) => { // 
    -					let built = build(JSON.parse(el.getAttribute('data-tracy-dump')), snapshot, el.classList.contains('tracy-collapsed'));
    -					el.insertBefore(built, el.lastChild);
    -					el.classList.remove('tracy-collapsed');
    -					el.removeAttribute('data-tracy-dump');
    -				});
    -			});
    -
    -			if (Dumper.inited) {
    -				return;
    -			}
    -			Dumper.inited = true;
    -
    -			// enables  & ctrl key
    -			document.documentElement.addEventListener('click', (e) => {
    -				let el;
    -				if (e.ctrlKey && (el = e.target.closest('[data-tracy-href]'))) {
    -					location.href = el.getAttribute('data-tracy-href');
    -					return false;
    -				}
    -			});
    -
    -			document.documentElement.addEventListener('tracy-toggle', (e) => {
    -				if (e.target.matches('.tracy-dump *')) {
    -					e.detail.relatedTarget.classList.toggle('tracy-dump-flash', !e.detail.collapsed);
    -				}
    -			});
    -
    -			document.documentElement.addEventListener('animationend', (e) => {
    -				if (e.animationName === 'tracy-dump-flash') {
    -					e.target.classList.toggle('tracy-dump-flash', false);
    -				}
    -			});
    -
    -			Tracy.Toggle.init();
    -		}
    -	}
    -
    -
    -	function build(data, repository, collapsed, parentIds) {
    -		let type = data === null ? 'null' : typeof data,
    -			collapseCount = collapsed === null ? COLLAPSE_COUNT : COLLAPSE_COUNT_TOP;
    -
    -		if (type === 'null' || type === 'string' || type === 'number' || type === 'boolean') {
    -			data = type === 'string' ? '"' + data + '"' : (data + '');
    -			return createEl(null, null, [
    -				createEl(
    -					'span',
    -					{'class': 'tracy-dump-' + type.replace('ean', '')},
    -					[data + '\n']
    -				)
    -			]);
    -
    -		} else if (Array.isArray(data)) {
    -			return buildStruct(
    -				[
    -					createEl('span', {'class': 'tracy-dump-array'}, ['array']),
    -					' (' + (data[0] && data.length || '') + ')'
    -				],
    -				' [ ... ]',
    -				data[0] === null ? null : data,
    -				collapsed === true || data.length >= collapseCount,
    -				repository,
    -				parentIds
    -			);
    -
    -		} else if (data.stop) {
    -			return createEl(null, null, [
    -				createEl('span', {'class': 'tracy-dump-array'}, ['array']),
    -				' (' + data.stop[0] + ')',
    -				data.stop[1] ? ' [ RECURSION ]\n' : ' [ ... ]\n',
    -			]);
    -
    -		} else if (data.number) {
    -			return createEl(null, null, [
    -				createEl('span', {'class': 'tracy-dump-number'}, [data.number + '\n'])
    -			]);
    -
    -		} else if (data.type) {
    -			return createEl(null, null, [
    -				createEl('span', null, [data.type + '\n'])
    -			]);
    -
    -		} else {
    -			let id = data.object || data.resource,
    -				object = repository[id];
    -
    -			if (!object) {
    -				throw new UnknownEntityException;
    -			}
    -			parentIds = parentIds ? parentIds.slice() : [];
    -			let recursive = parentIds.indexOf(id) > -1;
    -			parentIds.push(id);
    -
    -			return buildStruct(
    -				[
    -					createEl('span', {
    -						'class': data.object ? 'tracy-dump-object' : 'tracy-dump-resource',
    -						title: object.editor ? 'Declared in file ' + object.editor.file + ' on line ' + object.editor.line : null,
    -						'data-tracy-href': object.editor ? object.editor.url : null
    -					}, [object.name]),
    -					' ',
    -					createEl('span', {'class': 'tracy-dump-hash'}, ['#' + object.hash])
    -				],
    -				recursive ? ' { RECURSION }' : ' { ... }',
    -				recursive ? null : object.items,
    -				collapsed === true || (object.items && object.items.length >= collapseCount),
    -				repository,
    -				parentIds
    -			);
    -		}
    -	}
    -
    -
    -	function buildStruct(span, ellipsis, items, collapsed, repository, parentIds) {
    -		let res, toggle, div, handler;
    -
    -		if (!items || !items.length) {
    -			span.push(!items || items.length ? ellipsis + '\n' : '\n');
    -			return createEl(null, null, span);
    -		}
    -
    -		res = createEl(null, null, [
    -			toggle = createEl('span', {'class': collapsed ? 'tracy-toggle tracy-collapsed' : 'tracy-toggle'}, span),
    -			'\n',
    -			div = createEl('div', {'class': collapsed ? 'tracy-collapsed' : null})
    -		]);
    -
    -		if (collapsed) {
    -			toggle.addEventListener('tracy-toggle', handler = function() {
    -				toggle.removeEventListener('tracy-toggle', handler);
    -				createItems(div, items, repository, parentIds);
    -			});
    -		} else {
    -			createItems(div, items, repository, parentIds);
    -		}
    -		return res;
    -	}
    -
    -
    -	function createEl(el, attrs, content) {
    -		if (!(el instanceof Node)) {
    -			el = el ? document.createElement(el) : document.createDocumentFragment();
    -		}
    -		for (let id in attrs || {}) {
    -			if (attrs[id] !== null) {
    -				el.setAttribute(id, attrs[id]);
    -			}
    -		}
    -		content = content || [];
    -		for (let id = 0; id < content.length; id++) {
    -			let child = content[id];
    -			if (child !== null) {
    -				el.appendChild(child instanceof Node ? child : document.createTextNode(child));
    -			}
    -		}
    -		return el;
    -	}
    -
    -
    -	function createItems(el, items, repository, parentIds) {
    -		for (let i = 0; i < items.length; i++) {
    -			let vis = items[i][2];
    -			createEl(el, null, [
    -				createEl('span', {'class': 'tracy-dump-key'}, [items[i][0]]),
    -				vis ? ' ' : null,
    -				vis ? createEl('span', {'class': 'tracy-dump-visibility'}, [vis === 1 ? 'protected' : 'private']) : null,
    -				' => ',
    -				build(items[i][1], repository, null, parentIds)
    -			]);
    -		}
    -	}
    -
    -
    -	function UnknownEntityException() {}
    -
    -
    -	let Tracy = window.Tracy = window.Tracy || {};
    -	Tracy.Dumper = Dumper;
    -})();
    diff --git a/apigen/vendor/tracy/tracy/src/Tracy/Helpers.php b/apigen/vendor/tracy/tracy/src/Tracy/Helpers.php
    deleted file mode 100644
    index a3eff6eb..00000000
    --- a/apigen/vendor/tracy/tracy/src/Tracy/Helpers.php
    +++ /dev/null
    @@ -1,320 +0,0 @@
    - strlen($m[0])) {
    -				$file = '...' . $m[0];
    -			}
    -			$file = strtr($file, '/', DIRECTORY_SEPARATOR);
    -			return self::formatHtml('%%%',
    -				$editor,
    -				$origFile . ($line ? ":$line" : ''),
    -				rtrim(dirname($file), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR,
    -				basename($file),
    -				$line ? ":$line" : ''
    -			);
    -		} else {
    -			return self::formatHtml('%', $file . ($line ? ":$line" : ''));
    -		}
    -	}
    -
    -
    -	/**
    -	 * Returns link to editor.
    -	 */
    -	public static function editorUri(string $file, int $line = null, string $action = 'open', string $search = '', string $replace = ''): ?string
    -	{
    -		if (Debugger::$editor && $file && ($action === 'create' || is_file($file))) {
    -			$file = strtr($file, '/', DIRECTORY_SEPARATOR);
    -			$file = strtr($file, Debugger::$editorMapping);
    -			return strtr(Debugger::$editor, [
    -				'%action' => $action,
    -				'%file' => rawurlencode($file),
    -				'%line' => $line ?: 1,
    -				'%search' => rawurlencode($search),
    -				'%replace' => rawurlencode($replace),
    -			]);
    -		}
    -		return null;
    -	}
    -
    -
    -	public static function formatHtml(string $mask): string
    -	{
    -		$args = func_get_args();
    -		return preg_replace_callback('#%#', function () use (&$args, &$count): string {
    -			return self::escapeHtml($args[++$count]);
    -		}, $mask);
    -	}
    -
    -
    -	public static function escapeHtml($s): string
    -	{
    -		return htmlspecialchars((string) $s, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
    -	}
    -
    -
    -	public static function findTrace(array $trace, $method, int &$index = null): ?array
    -	{
    -		$m = is_array($method) ? $method : explode('::', $method);
    -		foreach ($trace as $i => $item) {
    -			if (
    -				isset($item['function'])
    -				&& $item['function'] === end($m)
    -				&& isset($item['class']) === isset($m[1])
    -				&& (!isset($item['class']) || $m[0] === '*' || is_a($item['class'], $m[0], true))
    -			) {
    -				$index = $i;
    -				return $item;
    -			}
    -		}
    -		return null;
    -	}
    -
    -
    -	public static function getClass($obj): string
    -	{
    -		return explode("\x00", get_class($obj))[0];
    -	}
    -
    -
    -	/** @internal */
    -	public static function fixStack(\Throwable $exception): \Throwable
    -	{
    -		if (function_exists('xdebug_get_function_stack')) {
    -			$stack = [];
    -			foreach (array_slice(array_reverse(xdebug_get_function_stack()), 2, -1) as $row) {
    -				$frame = [
    -					'file' => $row['file'],
    -					'line' => $row['line'],
    -					'function' => $row['function'] ?? '*unknown*',
    -					'args' => [],
    -				];
    -				if (!empty($row['class'])) {
    -					$frame['type'] = isset($row['type']) && $row['type'] === 'dynamic' ? '->' : '::';
    -					$frame['class'] = $row['class'];
    -				}
    -				$stack[] = $frame;
    -			}
    -			$ref = new \ReflectionProperty('Exception', 'trace');
    -			$ref->setAccessible(true);
    -			$ref->setValue($exception, $stack);
    -		}
    -		return $exception;
    -	}
    -
    -
    -	/** @internal */
    -	public static function fixEncoding(string $s): string
    -	{
    -		return htmlspecialchars_decode(htmlspecialchars($s, ENT_NOQUOTES | ENT_IGNORE, 'UTF-8'), ENT_NOQUOTES);
    -	}
    -
    -
    -	/** @internal */
    -	public static function errorTypeToString(int $type): string
    -	{
    -		$types = [
    -			E_ERROR => 'Fatal Error',
    -			E_USER_ERROR => 'User Error',
    -			E_RECOVERABLE_ERROR => 'Recoverable Error',
    -			E_CORE_ERROR => 'Core Error',
    -			E_COMPILE_ERROR => 'Compile Error',
    -			E_PARSE => 'Parse Error',
    -			E_WARNING => 'Warning',
    -			E_CORE_WARNING => 'Core Warning',
    -			E_COMPILE_WARNING => 'Compile Warning',
    -			E_USER_WARNING => 'User Warning',
    -			E_NOTICE => 'Notice',
    -			E_USER_NOTICE => 'User Notice',
    -			E_STRICT => 'Strict standards',
    -			E_DEPRECATED => 'Deprecated',
    -			E_USER_DEPRECATED => 'User Deprecated',
    -		];
    -		return $types[$type] ?? 'Unknown error';
    -	}
    -
    -
    -	/** @internal */
    -	public static function getSource(): string
    -	{
    -		if (isset($_SERVER['REQUEST_URI'])) {
    -			return (!empty($_SERVER['HTTPS']) && strcasecmp($_SERVER['HTTPS'], 'off') ? 'https://' : 'http://')
    -				. ($_SERVER['HTTP_HOST'] ?? '')
    -				. $_SERVER['REQUEST_URI'];
    -		} else {
    -			return 'CLI (PID: ' . getmypid() . ')'
    -				. ': ' . implode(' ', array_map([self::class, 'escapeArg'], $_SERVER['argv']));
    -		}
    -	}
    -
    -
    -	/** @internal */
    -	public static function improveException(\Throwable $e): void
    -	{
    -		$message = $e->getMessage();
    -		if ((!$e instanceof \Error && !$e instanceof \ErrorException) || strpos($e->getMessage(), 'did you mean')) {
    -			// do nothing
    -		} elseif (preg_match('#^Call to undefined function (\S+\\\\)?(\w+)\(#', $message, $m)) {
    -			$funcs = array_merge(get_defined_functions()['internal'], get_defined_functions()['user']);
    -			$hint = self::getSuggestion($funcs, $m[1] . $m[2]) ?: self::getSuggestion($funcs, $m[2]);
    -			$message = "Call to undefined function $m[2](), did you mean $hint()?";
    -			$replace = ["$m[2](", "$hint("];
    -
    -		} elseif (preg_match('#^Call to undefined method ([\w\\\\]+)::(\w+)#', $message, $m)) {
    -			$hint = self::getSuggestion(get_class_methods($m[1]) ?: [], $m[2]);
    -			$message .= ", did you mean $hint()?";
    -			$replace = ["$m[2](", "$hint("];
    -
    -		} elseif (preg_match('#^Undefined variable: (\w+)#', $message, $m) && !empty($e->context)) {
    -			$hint = self::getSuggestion(array_keys($e->context), $m[1]);
    -			$message = "Undefined variable $$m[1], did you mean $$hint?";
    -			$replace = ["$$m[1]", "$$hint"];
    -
    -		} elseif (preg_match('#^Undefined property: ([\w\\\\]+)::\$(\w+)#', $message, $m)) {
    -			$rc = new \ReflectionClass($m[1]);
    -			$items = array_diff($rc->getProperties(\ReflectionProperty::IS_PUBLIC), $rc->getProperties(\ReflectionProperty::IS_STATIC));
    -			$hint = self::getSuggestion($items, $m[2]);
    -			$message .= ", did you mean $$hint?";
    -			$replace = ["->$m[2]", "->$hint"];
    -
    -		} elseif (preg_match('#^Access to undeclared static property: ([\w\\\\]+)::\$(\w+)#', $message, $m)) {
    -			$rc = new \ReflectionClass($m[1]);
    -			$items = array_intersect($rc->getProperties(\ReflectionProperty::IS_PUBLIC), $rc->getProperties(\ReflectionProperty::IS_STATIC));
    -			$hint = self::getSuggestion($items, $m[2]);
    -			$message .= ", did you mean $$hint?";
    -			$replace = ["::$$m[2]", "::$$hint"];
    -		}
    -
    -		if (isset($hint)) {
    -			$ref = new \ReflectionProperty($e, 'message');
    -			$ref->setAccessible(true);
    -			$ref->setValue($e, $message);
    -			$e->tracyAction = [
    -				'link' => self::editorUri($e->getFile(), $e->getLine(), 'fix', $replace[0], $replace[1]),
    -				'label' => 'fix it',
    -			];
    -		}
    -	}
    -
    -
    -	/** @internal */
    -	public static function improveError(string $message, array $context = []): string
    -	{
    -		if (preg_match('#^Undefined variable: (\w+)#', $message, $m) && $context) {
    -			$hint = self::getSuggestion(array_keys($context), $m[1]);
    -			return $hint ? "Undefined variable $$m[1], did you mean $$hint?" : $message;
    -
    -		} elseif (preg_match('#^Undefined property: ([\w\\\\]+)::\$(\w+)#', $message, $m)) {
    -			$rc = new \ReflectionClass($m[1]);
    -			$items = array_diff($rc->getProperties(\ReflectionProperty::IS_PUBLIC), $rc->getProperties(\ReflectionProperty::IS_STATIC));
    -			$hint = self::getSuggestion($items, $m[2]);
    -			return $hint ? $message . ", did you mean $$hint?" : $message;
    -		}
    -		return $message;
    -	}
    -
    -
    -	/** @internal */
    -	public static function guessClassFile(string $class): ?string
    -	{
    -		$segments = explode('\\', $class);
    -		$res = null;
    -		$max = 0;
    -		foreach (get_declared_classes() as $class) {
    -			$parts = explode('\\', $class);
    -			foreach ($parts as $i => $part) {
    -				if ($part !== ($segments[$i] ?? null)) {
    -					break;
    -				}
    -			}
    -			if ($i > $max && $i < count($segments) && ($file = (new \ReflectionClass($class))->getFileName())) {
    -				$max = $i;
    -				$res = array_merge(array_slice(explode(DIRECTORY_SEPARATOR, $file), 0, $i - count($parts)), array_slice($segments, $i));
    -				$res = implode(DIRECTORY_SEPARATOR, $res) . '.php';
    -			}
    -		}
    -		return $res;
    -	}
    -
    -
    -	/**
    -	 * Finds the best suggestion.
    -	 * @internal
    -	 */
    -	public static function getSuggestion(array $items, string $value): ?string
    -	{
    -		$best = null;
    -		$min = (strlen($value) / 4 + 1) * 10 + .1;
    -		foreach (array_unique($items, SORT_REGULAR) as $item) {
    -			$item = is_object($item) ? $item->getName() : $item;
    -			if (($len = levenshtein($item, $value, 10, 11, 10)) > 0 && $len < $min) {
    -				$min = $len;
    -				$best = $item;
    -			}
    -		}
    -		return $best;
    -	}
    -
    -
    -	/** @internal */
    -	public static function isHtmlMode(): bool
    -	{
    -		return empty($_SERVER['HTTP_X_REQUESTED_WITH']) && empty($_SERVER['HTTP_X_TRACY_AJAX'])
    -			&& PHP_SAPI !== 'cli'
    -			&& !preg_match('#^Content-Type: (?!text/html)#im', implode("\n", headers_list()));
    -	}
    -
    -
    -	/** @internal */
    -	public static function isAjax(): bool
    -	{
    -		return isset($_SERVER['HTTP_X_TRACY_AJAX']) && preg_match('#^\w{10,15}$#D', $_SERVER['HTTP_X_TRACY_AJAX']);
    -	}
    -
    -
    -	/** @internal */
    -	public static function getNonce(): ?string
    -	{
    -		return preg_match('#^Content-Security-Policy(?:-Report-Only)?:.*\sscript-src\s+(?:[^;]+\s)?\'nonce-([\w+/]+=*)\'#mi', implode("\n", headers_list()), $m)
    -			? $m[1]
    -			: null;
    -	}
    -
    -
    -	/**
    -	 * Escape a string to be used as a shell argument.
    -	 */
    -	private static function escapeArg(string $s): string
    -	{
    -		if (preg_match('#^[a-z0-9._=/:-]+$#Di', $s)) {
    -			return $s;
    -		}
    -
    -		return defined('PHP_WINDOWS_VERSION_BUILD')
    -			? '"' . str_replace('"', '""', $s) . '"'
    -			: escapeshellarg($s);
    -	}
    -}
    diff --git a/apigen/vendor/tracy/tracy/src/Tracy/Logger/FireLogger.php b/apigen/vendor/tracy/tracy/src/Tracy/Logger/FireLogger.php
    deleted file mode 100644
    index bef9151b..00000000
    --- a/apigen/vendor/tracy/tracy/src/Tracy/Logger/FireLogger.php
    +++ /dev/null
    @@ -1,180 +0,0 @@
    - []];
    -
    -
    -	/**
    -	 * Sends message to FireLogger console.
    -	 * @param  mixed  $message
    -	 */
    -	public function log($message, $level = self::DEBUG): bool
    -	{
    -		if (!isset($_SERVER['HTTP_X_FIRELOGGER']) || headers_sent()) {
    -			return false;
    -		}
    -
    -		$item = [
    -			'name' => 'PHP',
    -			'level' => $level,
    -			'order' => count($this->payload['logs']),
    -			'time' => str_pad(number_format((microtime(true) - Debugger::$time) * 1000, 1, '.', ' '), 8, '0', STR_PAD_LEFT) . ' ms',
    -			'template' => '',
    -			'message' => '',
    -			'style' => 'background:#767ab6',
    -		];
    -
    -		$args = func_get_args();
    -		if (isset($args[0]) && is_string($args[0])) {
    -			$item['template'] = array_shift($args);
    -		}
    -
    -		if (isset($args[0]) && $args[0] instanceof \Throwable) {
    -			$e = array_shift($args);
    -			$trace = $e->getTrace();
    -			if (
    -				isset($trace[0]['class'])
    -				&& $trace[0]['class'] === Debugger::class
    -				&& ($trace[0]['function'] === 'shutdownHandler' || $trace[0]['function'] === 'errorHandler')
    -			) {
    -				unset($trace[0]);
    -			}
    -
    -			$file = str_replace(dirname($e->getFile(), 3), "\xE2\x80\xA6", $e->getFile());
    -			$item['template'] = ($e instanceof \ErrorException ? '' : Helpers::getClass($e) . ': ')
    -				. $e->getMessage() . ($e->getCode() ? ' #' . $e->getCode() : '') . ' in ' . $file . ':' . $e->getLine();
    -			$item['pathname'] = $e->getFile();
    -			$item['lineno'] = $e->getLine();
    -
    -		} else {
    -			$trace = debug_backtrace();
    -			if (
    -				isset($trace[1]['class'])
    -				&& $trace[1]['class'] === Debugger::class
    -				&& ($trace[1]['function'] === 'fireLog')
    -			) {
    -				unset($trace[0]);
    -			}
    -
    -			foreach ($trace as $frame) {
    -				if (isset($frame['file']) && is_file($frame['file'])) {
    -					$item['pathname'] = $frame['file'];
    -					$item['lineno'] = $frame['line'];
    -					break;
    -				}
    -			}
    -		}
    -
    -		$item['exc_info'] = ['', '', []];
    -		$item['exc_frames'] = [];
    -
    -		foreach ($trace as $frame) {
    -			$frame += ['file' => null, 'line' => null, 'class' => null, 'type' => null, 'function' => null, 'object' => null, 'args' => null];
    -			$item['exc_info'][2][] = [$frame['file'], $frame['line'], "$frame[class]$frame[type]$frame[function]", $frame['object']];
    -			$item['exc_frames'][] = $frame['args'];
    -		}
    -
    -		if (isset($args[0]) && in_array($args[0], [self::DEBUG, self::INFO, self::WARNING, self::ERROR, self::CRITICAL], true)) {
    -			$item['level'] = array_shift($args);
    -		}
    -
    -		$item['args'] = $args;
    -
    -		$this->payload['logs'][] = $this->jsonDump($item, -1);
    -		foreach (str_split(base64_encode(json_encode($this->payload)), 4990) as $k => $v) {
    -			header("FireLogger-de11e-$k: $v");
    -		}
    -		return true;
    -	}
    -
    -
    -	/**
    -	 * Dump implementation for JSON.
    -	 * @param  mixed  $var
    -	 * @return array|null|int|float|bool|string
    -	 */
    -	private function jsonDump(&$var, int $level = 0)
    -	{
    -		if (is_bool($var) || $var === null || is_int($var) || is_float($var)) {
    -			return $var;
    -
    -		} elseif (is_string($var)) {
    -			return Dumper::encodeString($var, $this->maxLength);
    -
    -		} elseif (is_array($var)) {
    -			static $marker;
    -			if ($marker === null) {
    -				$marker = uniqid("\x00", true);
    -			}
    -			if (isset($var[$marker])) {
    -				return "\xE2\x80\xA6RECURSION\xE2\x80\xA6";
    -
    -			} elseif ($level < $this->maxDepth || !$this->maxDepth) {
    -				$var[$marker] = true;
    -				$res = [];
    -				foreach ($var as $k => &$v) {
    -					if ($k !== $marker) {
    -						$res[$this->jsonDump($k)] = $this->jsonDump($v, $level + 1);
    -					}
    -				}
    -				unset($var[$marker]);
    -				return $res;
    -
    -			} else {
    -				return " \xE2\x80\xA6 ";
    -			}
    -
    -		} elseif (is_object($var)) {
    -			$arr = (array) $var;
    -			static $list = [];
    -			if (in_array($var, $list, true)) {
    -				return "\xE2\x80\xA6RECURSION\xE2\x80\xA6";
    -
    -			} elseif ($level < $this->maxDepth || !$this->maxDepth) {
    -				$list[] = $var;
    -				$res = ["\x00" => '(object) ' . Helpers::getClass($var)];
    -				foreach ($arr as $k => &$v) {
    -					if (isset($k[0]) && $k[0] === "\x00") {
    -						$k = substr($k, strrpos($k, "\x00") + 1);
    -					}
    -					$res[$this->jsonDump($k)] = $this->jsonDump($v, $level + 1);
    -				}
    -				array_pop($list);
    -				return $res;
    -
    -			} else {
    -				return " \xE2\x80\xA6 ";
    -			}
    -
    -		} elseif (is_resource($var)) {
    -			return 'resource ' . get_resource_type($var);
    -
    -		} else {
    -			return 'unknown type';
    -		}
    -	}
    -}
    diff --git a/apigen/vendor/tracy/tracy/src/Tracy/Logger/ILogger.php b/apigen/vendor/tracy/tracy/src/Tracy/Logger/ILogger.php
    deleted file mode 100644
    index 4746c69b..00000000
    --- a/apigen/vendor/tracy/tracy/src/Tracy/Logger/ILogger.php
    +++ /dev/null
    @@ -1,27 +0,0 @@
    -directory = $directory;
    -		$this->email = $email;
    -		$this->blueScreen = $blueScreen;
    -		$this->mailer = [$this, 'defaultMailer'];
    -	}
    -
    -
    -	/**
    -	 * Logs message or exception to file and sends email notification.
    -	 * @param  mixed  $message
    -	 * @param  string  $level  one of constant ILogger::INFO, WARNING, ERROR (sends email), EXCEPTION (sends email), CRITICAL (sends email)
    -	 * @return string|null logged error filename
    -	 */
    -	public function log($message, $level = self::INFO)
    -	{
    -		if (!$this->directory) {
    -			throw new \LogicException('Logging directory is not specified.');
    -		} elseif (!is_dir($this->directory)) {
    -			throw new \RuntimeException("Logging directory '$this->directory' is not found or is not directory.");
    -		}
    -
    -		$exceptionFile = $message instanceof \Throwable
    -			? $this->getExceptionFile($message)
    -			: null;
    -		$line = static::formatLogLine($message, $exceptionFile);
    -		$file = $this->directory . '/' . strtolower($level ?: self::INFO) . '.log';
    -
    -		if (!@file_put_contents($file, $line . PHP_EOL, FILE_APPEND | LOCK_EX)) { // @ is escalated to exception
    -			throw new \RuntimeException("Unable to write to log file '$file'. Is directory writable?");
    -		}
    -
    -		if ($exceptionFile) {
    -			$this->logException($message, $exceptionFile);
    -		}
    -
    -		if (in_array($level, [self::ERROR, self::EXCEPTION, self::CRITICAL], true)) {
    -			$this->sendEmail($message);
    -		}
    -
    -		return $exceptionFile;
    -	}
    -
    -
    -	/**
    -	 * @param  mixed  $message
    -	 */
    -	public static function formatMessage($message): string
    -	{
    -		if ($message instanceof \Throwable) {
    -			while ($message) {
    -				$tmp[] = ($message instanceof \ErrorException
    -					? Helpers::errorTypeToString($message->getSeverity()) . ': ' . $message->getMessage()
    -					: Helpers::getClass($message) . ': ' . $message->getMessage() . ($message->getCode() ? ' #' . $message->getCode() : '')
    -				) . ' in ' . $message->getFile() . ':' . $message->getLine();
    -				$message = $message->getPrevious();
    -			}
    -			$message = implode("\ncaused by ", $tmp);
    -
    -		} elseif (!is_string($message)) {
    -			$message = Dumper::toText($message);
    -		}
    -
    -		return trim($message);
    -	}
    -
    -
    -	/**
    -	 * @param  mixed  $message
    -	 */
    -	public static function formatLogLine($message, string $exceptionFile = null): string
    -	{
    -		return implode(' ', [
    -			@date('[Y-m-d H-i-s]'), // @ timezone may not be set
    -			preg_replace('#\s*\r?\n\s*#', ' ', static::formatMessage($message)),
    -			' @  ' . Helpers::getSource(),
    -			$exceptionFile ? ' @@  ' . basename($exceptionFile) : null,
    -		]);
    -	}
    -
    -
    -	public function getExceptionFile(\Throwable $exception): string
    -	{
    -		while ($exception) {
    -			$data[] = [
    -				get_class($exception), $exception->getMessage(), $exception->getCode(), $exception->getFile(), $exception->getLine(),
    -				array_map(function (array $item): array { unset($item['args']); return $item; }, $exception->getTrace()),
    -			];
    -			$exception = $exception->getPrevious();
    -		}
    -		$hash = substr(md5(serialize($data)), 0, 10);
    -		$dir = strtr($this->directory . '/', '\\/', DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR);
    -		foreach (new \DirectoryIterator($this->directory) as $file) {
    -			if (strpos($file->getBasename(), $hash)) {
    -				return $dir . $file;
    -			}
    -		}
    -		return $dir . 'exception--' . @date('Y-m-d--H-i') . "--$hash.html"; // @ timezone may not be set
    -	}
    -
    -
    -	/**
    -	 * Logs exception to the file if file doesn't exist.
    -	 * @return string logged error filename
    -	 */
    -	protected function logException(\Throwable $exception, string $file = null): string
    -	{
    -		$file = $file ?: $this->getExceptionFile($exception);
    -		$bs = $this->blueScreen ?: new BlueScreen;
    -		$bs->renderToFile($exception, $file);
    -		return $file;
    -	}
    -
    -
    -	/**
    -	 * @param  mixed  $message
    -	 */
    -	protected function sendEmail($message): void
    -	{
    -		$snooze = is_numeric($this->emailSnooze)
    -			? $this->emailSnooze
    -			: @strtotime($this->emailSnooze) - time(); // @ timezone may not be set
    -
    -		if (
    -			$this->email
    -			&& $this->mailer
    -			&& @filemtime($this->directory . '/email-sent') + $snooze < time() // @ file may not exist
    -			&& @file_put_contents($this->directory . '/email-sent', 'sent') // @ file may not be writable
    -		) {
    -			($this->mailer)($message, implode(', ', (array) $this->email));
    -		}
    -	}
    -
    -
    -	/**
    -	 * Default mailer.
    -	 * @param  mixed  $message
    -	 * @internal
    -	 */
    -	public function defaultMailer($message, string $email): void
    -	{
    -		$host = preg_replace('#[^\w.-]+#', '', $_SERVER['SERVER_NAME'] ?? php_uname('n'));
    -		$parts = str_replace(
    -			["\r\n", "\n"],
    -			["\n", PHP_EOL],
    -			[
    -				'headers' => implode("\n", [
    -					'From: ' . ($this->fromEmail ?: "noreply@$host"),
    -					'X-Mailer: Tracy',
    -					'Content-Type: text/plain; charset=UTF-8',
    -					'Content-Transfer-Encoding: 8bit',
    -				]) . "\n",
    -				'subject' => "PHP: An error occurred on the server $host",
    -				'body' => static::formatMessage($message) . "\n\nsource: " . Helpers::getSource(),
    -			]
    -		);
    -
    -		mail($email, $parts['subject'], $parts['body'], $parts['headers']);
    -	}
    -}
    diff --git a/apigen/vendor/tracy/tracy/src/Tracy/OutputDebugger/OutputDebugger.php b/apigen/vendor/tracy/tracy/src/Tracy/OutputDebugger/OutputDebugger.php
    deleted file mode 100644
    index 85f152bc..00000000
    --- a/apigen/vendor/tracy/tracy/src/Tracy/OutputDebugger/OutputDebugger.php
    +++ /dev/null
    @@ -1,80 +0,0 @@
    -start();
    -	}
    -
    -
    -	public function start(): void
    -	{
    -		foreach (get_included_files() as $file) {
    -			if (fread(fopen($file, 'r'), 3) === self::BOM) {
    -				$this->list[] = [$file, 1, self::BOM];
    -			}
    -		}
    -		ob_start([$this, 'handler'], 1);
    -	}
    -
    -
    -	/** @internal */
    -	public function handler(string $s, int $phase): ?string
    -	{
    -		$trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
    -		if (isset($trace[0]['file'], $trace[0]['line'])) {
    -			$stack = $trace;
    -			unset($stack[0]['line'], $stack[0]['args']);
    -			$i = count($this->list);
    -			if ($i && $this->list[$i - 1][3] === $stack) {
    -				$this->list[$i - 1][2] .= $s;
    -			} else {
    -				$this->list[] = [$trace[0]['file'], $trace[0]['line'], $s, $stack];
    -			}
    -		}
    -		return $phase === PHP_OUTPUT_HANDLER_FINAL
    -			? $this->renderHtml()
    -			: null;
    -	}
    -
    -
    -	private function renderHtml(): string
    -	{
    -		$res = '';
    -		foreach ($this->list as $item) {
    -			$stack = [];
    -			foreach (array_slice($item[3], 1) as $t) {
    -				$t += ['class' => '', 'type' => '', 'function' => ''];
    -				$stack[] = "$t[class]$t[type]$t[function]()"
    -					. (isset($t['file'], $t['line']) ? ' in ' . basename($t['file']) . ":$t[line]" : '');
    -			}
    -
    -			$res .= ''
    -				. Helpers::editorLink($item[0], $item[1]) . ' '
    -				. str_replace(self::BOM, 'BOM', Dumper::toHtml($item[2]))
    -				. "
    \n"; - } - return $res . '
    '; - } -} diff --git a/apigen/vendor/tracy/tracy/src/Tracy/TableSort/table-sort.css b/apigen/vendor/tracy/tracy/src/Tracy/TableSort/table-sort.css deleted file mode 100644 index 7967a642..00000000 --- a/apigen/vendor/tracy/tracy/src/Tracy/TableSort/table-sort.css +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file is part of the Tracy (https://tracy.nette.org) - */ - -.tracy-sortable > :first-child > tr:first-child > * { - position: relative; -} - -.tracy-sortable > :first-child > tr:first-child > *:hover:before { - position: absolute; - right: .3em; - content: "\21C5"; - opacity: .4; - font-weight: normal; -} diff --git a/apigen/vendor/tracy/tracy/src/Tracy/TableSort/table-sort.js b/apigen/vendor/tracy/tracy/src/Tracy/TableSort/table-sort.js deleted file mode 100644 index d20957b5..00000000 --- a/apigen/vendor/tracy/tracy/src/Tracy/TableSort/table-sort.js +++ /dev/null @@ -1,43 +0,0 @@ -/** - * This file is part of the Tracy (https://tracy.nette.org) - */ - -'use strict'; - -(function() { - - // enables - class TableSort - { - static init() { - document.documentElement.addEventListener('click', (e) => { - if (e.target.matches('.tracy-sortable > :first-child > tr:first-child *')) { - TableSort.sort(e.target.closest('td,th')); - } - }); - - TableSort.init = function() {}; - } - - static sort(tcell) { - let tbody = tcell.closest('table').tBodies[0]; - let preserveFirst = !tcell.closest('thead') && !tcell.parentNode.querySelectorAll('td').length; - let asc = !(tbody.tracyAsc === tcell.cellIndex); - tbody.tracyAsc = asc ? tcell.cellIndex : null; - let getText = (cell) => { return cell ? cell.innerText : ''; }; - - Array.from(tbody.children) - .slice(preserveFirst ? 1 : 0) - .sort((a, b) => { - return function(v1, v2) { - return v1 !== '' && v2 !== '' && !isNaN(v1) && !isNaN(v2) ? v1 - v2 : v1.toString().localeCompare(v2); - }(getText((asc ? a : b).children[tcell.cellIndex]), getText((asc ? b : a).children[tcell.cellIndex])); - }) - .forEach((tr) => { tbody.appendChild(tr); }); - } - } - - - let Tracy = window.Tracy = window.Tracy || {}; - Tracy.TableSort = Tracy.TableSort || TableSort; -})(); diff --git a/apigen/vendor/tracy/tracy/src/Tracy/Toggle/toggle.css b/apigen/vendor/tracy/tracy/src/Tracy/Toggle/toggle.css deleted file mode 100644 index eb985f1c..00000000 --- a/apigen/vendor/tracy/tracy/src/Tracy/Toggle/toggle.css +++ /dev/null @@ -1,29 +0,0 @@ -/** - * This file is part of the Tracy (https://tracy.nette.org) - */ - -.tracy-collapsed { - display: none; -} - -.tracy-toggle.tracy-collapsed { - display: inline; -} - -.tracy-toggle { - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -khtml-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.tracy-toggle:after { - content: "\A0\25BC"; - opacity: .4; -} - -.tracy-toggle.tracy-collapsed:after { - content: "\A0\25BA"; -} diff --git a/apigen/vendor/tracy/tracy/src/Tracy/Toggle/toggle.js b/apigen/vendor/tracy/tracy/src/Tracy/Toggle/toggle.js deleted file mode 100644 index a4ad6c25..00000000 --- a/apigen/vendor/tracy/tracy/src/Tracy/Toggle/toggle.js +++ /dev/null @@ -1,107 +0,0 @@ -/** - * This file is part of the Tracy (https://tracy.nette.org) - */ - -'use strict'; - -(function() { - - // enables or toggling - class Toggle - { - static init() { - document.documentElement.addEventListener('click', (e) => { - let el = e.target.closest('.tracy-toggle'); - if (el && !e.shiftKey && !e.altKey && !e.ctrlKey && !e.metaKey) { - Toggle.toggle(el); - e.stopImmediatePropagation(); - } - }); - Toggle.init = function() {}; - } - - - // changes element visibility - static toggle(el, show) { - let collapsed = el.classList.contains('tracy-collapsed'), - ref = el.getAttribute('data-tracy-ref') || el.getAttribute('href', 2), - dest = el; - - if (typeof show === 'undefined') { - show = collapsed; - } else if (!show === collapsed) { - return; - } - - if (!ref || ref === '#') { - ref = '+'; - } else if (ref.substr(0, 1) === '#') { - dest = document; - } - ref = ref.match(/(\^\s*([^+\s]*)\s*)?(\+\s*(\S*)\s*)?(.*)/); - dest = ref[1] ? dest.parentNode : dest; - dest = ref[2] ? dest.closest(ref[2]) : dest; - dest = ref[3] ? Toggle.nextElement(dest.nextElementSibling, ref[4]) : dest; - dest = ref[5] ? dest.querySelector(ref[5]) : dest; - - el.classList.toggle('tracy-collapsed', !show); - dest.classList.toggle('tracy-collapsed', !show); - - el.dispatchEvent(new CustomEvent('tracy-toggle', { - bubbles: true, - detail: {relatedTarget: dest, collapsed: !show} - })); - } - - - // save & restore toggles - static persist(baseEl, restore) { - let saved = []; - baseEl.addEventListener('tracy-toggle', (e) => { - if (saved.indexOf(e.target) < 0) { - saved.push(e.target); - } - }); - - let toggles = JSON.parse(sessionStorage.getItem('tracy-toggles-' + baseEl.id)); - if (toggles && restore !== false) { - toggles.forEach((item) => { - let el = baseEl; - for (let i in item.path) { - if (!(el = el.children[item.path[i]])) { - return; - } - } - if (el.textContent === item.text) { - Toggle.toggle(el, item.show); - } - }); - } - - window.addEventListener('unload', () => { - toggles = saved.map((el) => { - let item = {path: [], text: el.textContent, show: !el.classList.contains('tracy-collapsed')}; - do { - item.path.unshift(Array.from(el.parentNode.children).indexOf(el)); - el = el.parentNode; - } while (el && el !== baseEl); - return item; - }); - sessionStorage.setItem('tracy-toggles-' + baseEl.id, JSON.stringify(toggles)); - }); - } - - - // finds next matching element - static nextElement(el, selector) { - while (el && selector && !el.matches(selector)) { - el = el.nextElementSibling; - } - return el; - } - } - - - let Tracy = window.Tracy = window.Tracy || {}; - Tracy.Toggle = Tracy.Toggle || Toggle; -})(); diff --git a/apigen/vendor/tracy/tracy/src/Tracy/shortcuts.php b/apigen/vendor/tracy/tracy/src/Tracy/shortcuts.php deleted file mode 100644 index f110f228..00000000 --- a/apigen/vendor/tracy/tracy/src/Tracy/shortcuts.php +++ /dev/null @@ -1,46 +0,0 @@ -setStub("startBuffering(); -foreach ($iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(__DIR__ . '/../../src', RecursiveDirectoryIterator::SKIP_DOTS)) as $file) { - echo "adding: {$iterator->getSubPathname()}\n"; - - $s = file_get_contents($file->getPathname()); - if (strpos($s, '@tracySkipLocation') === false) { - $s = php_strip_whitespace($file->getPathname()); - } - - if ($file->getExtension() === 'js') { - $s = compressJs($s); - - } elseif ($file->getExtension() === 'css') { - $s = compressCss($s); - - } elseif ($file->getExtension() === 'phtml') { - $s = preg_replace_callback('#(<(script|style).*(?)(.*)(getExtension() !== 'php') { - continue; - } - - $phar[$iterator->getSubPathname()] = $s; -} - -$phar->stopBuffering(); -$phar->compressFiles(Phar::GZ); - -echo "OK\n"; diff --git a/apigen/vendor/tracy/tracy/tools/open-in-editor/linux/install.sh b/apigen/vendor/tracy/tracy/tools/open-in-editor/linux/install.sh deleted file mode 100644 index 5a7bfb31..00000000 --- a/apigen/vendor/tracy/tracy/tools/open-in-editor/linux/install.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -# This shell script sets open-editor.sh as handler for editor:// protocol - -matches=0 -while read -r line -do - if [ "editor=" == "${line:0:7}" ]; then - matches=1 - break - fi -done < "open-editor.sh" - -if [ "$matches" == "0" ]; then - echo -e "\e[31;1mError: it seems like you have not set command to run your editor." - echo -e "Before install, set variable \`\$editor\` in file \`open-editor.sh\`.\e[0m" - exit 1 -fi - -# -------------------------------------------------------------- - -echo "[Desktop Entry] -Name=Tracy Open Editor -Exec=tracy-openeditor.sh %u -Terminal=false -NoDisplay=true -Type=Application -MimeType=x-scheme-handler/editor;" > tracy-openeditor.desktop - -chmod +x open-editor.sh -chmod +x tracy-openeditor.desktop - -sudo cp open-editor.sh /usr/bin/tracy-openeditor.sh -sudo xdg-desktop-menu install tracy-openeditor.desktop -sudo update-desktop-database -rm tracy-openeditor.desktop - -echo -e "\e[32;1mDone.\e[0m" diff --git a/apigen/vendor/tracy/tracy/tools/open-in-editor/linux/open-editor.sh b/apigen/vendor/tracy/tracy/tools/open-in-editor/linux/open-editor.sh deleted file mode 100644 index 3dc8340e..00000000 --- a/apigen/vendor/tracy/tracy/tools/open-in-editor/linux/open-editor.sh +++ /dev/null @@ -1,101 +0,0 @@ -#!/bin/bash -declare -A mapping - -# -# Configure your editor by setting the $editor variable: -# - -# Visual Studio Code -#editor='code --goto "$FILE":"$LINE"' -# Emacs -#editor='emacs +$LINE "$FILE"' -# gVim -#editor='gvim +$LINE "$FILE"' -# gEdit -#editor='gedit +$LINE "$FILE"' -# Pluma -#editor='pluma +$LINE "$FILE"' - -# -# Optionally configure custom mapping here: -# - -#mapping["/remotepath"]="/localpath" -#mapping["/mnt/d/"]="d:/" - -# -# Please, do not modify the code below. -# - -# Find and return URI parameter value. Or nothing, if the param is missing. -# Arguments: 1) URI, 2) Parameter name. -function get_param { - echo "$1" | sed -n -r "s/.*$2=([^&]*).*/\1/ip" -} - -if [[ -z "$editor" ]]; then - echo "You need to set the \$editor variable in file '`realpath $0`'" - exit -fi - -url=$1 -if [ "${url:0:9}" != "editor://" ]; then - exit -fi - -# Parse action and essential data from the URI. -regex='editor\:\/\/(open|create|fix)\/\?(.*)' -action=`echo $url | sed -r "s/$regex/\1/i"` -uri_params=`echo $url | sed -r "s/$regex/\2/i"` - -file=`get_param $uri_params "file"` -line=`get_param $uri_params "line"` -search=`get_param $uri_params "search"` -replace=`get_param $uri_params "replace"` - -# Debug? -#echo "action '$action'" -#echo "file '$file'" -#echo "line '$line'" -#echo "search '$search'" -#echo "replace '$replace'" - -# Convert URI encoded codes to normal characters (e.g. '%2F' => '/'). -printf -v file "${file//%/\\x}" -# And escape double-quotes. -file=${file//\"/\\\"} - -# Apply custom mapping conversion. -for path in "${!mapping[@]}"; do - file="${file//$path/${mapping[$path]}}" -done - -# Action: Create a file (only if it does not already exist). -if [ "$action" == "create" ] && [[ ! -f "$file" ]]; then - mkdir -p $(dirname "$file") - touch "$file" -fi - -# Action: Fix the file (if the file exists and while creating backup beforehand). -if [ "$action" == "fix" ]; then - - if [[ ! -f "$file" ]]; then - echo "Cannot fix non-existing file '$file'" - exit - fi - - # Backup the original file. - cp $file "$file.bak" - # Search and replace in place - only on the specified line. - sed -i "${line}s/${search}/${replace}/" $file - -fi - -# Format the command according to the selected editor. -command="${editor//\$FILE/$file}" -command="${command//\$LINE/$line}" - -# Debug? -#echo $command - -eval $command diff --git a/apigen/vendor/tracy/tracy/tools/open-in-editor/windows/install.cmd b/apigen/vendor/tracy/tracy/tools/open-in-editor/windows/install.cmd deleted file mode 100644 index ecee89f6..00000000 --- a/apigen/vendor/tracy/tracy/tools/open-in-editor/windows/install.cmd +++ /dev/null @@ -1,8 +0,0 @@ -@echo off -:: This Windows batch file sets open-editor.js as handler for editor:// protocol - -if defined PROCESSOR_ARCHITEW6432 (set reg="%systemroot%\sysnative\reg.exe") else (set reg=reg) - -%reg% ADD HKCR\editor /ve /d "URL:editor Protocol" /f -%reg% ADD HKCR\editor /v "URL Protocol" /d "" /f -%reg% ADD HKCR\editor\shell\open\command /ve /d "wscript \"%~dp0open-editor.js\" \"%%1\"" /f diff --git a/apigen/vendor/tracy/tracy/tools/open-in-editor/windows/open-editor.js b/apigen/vendor/tracy/tracy/tools/open-in-editor/windows/open-editor.js deleted file mode 100644 index 6d17f166..00000000 --- a/apigen/vendor/tracy/tracy/tools/open-in-editor/windows/open-editor.js +++ /dev/null @@ -1,81 +0,0 @@ -var settings = { - - // PhpStorm - // editor: '"C:\\Program Files\\JetBrains\\PhpStorm 2018.1.2\\bin\\phpstorm64.exe" --line %line% "%file%"', - // title: 'PhpStorm', - - // NetBeans - // editor: '"C:\\Program Files\\NetBeans 8.1\\bin\\netbeans.exe" "%file%:%line%" --console suppress', - - // Nusphere PHPEd - // editor: '"C:\\Program Files\\NuSphere\\PhpED\\phped.exe" "%file%" --line=%line%', - - // SciTE - // editor: '"C:\\Program Files\\SciTE\\scite.exe" "-open:%file%" -goto:%line%', - - // EmEditor - // editor: '"C:\\Program Files\\EmEditor\\EmEditor.exe" "%file%" /l %line%', - - // PSPad Editor - // editor: '"C:\\Program Files\\PSPad editor\\PSPad.exe" -%line% "%file%"', - - // gVim - // editor: '"C:\\Program Files\\Vim\\vim73\\gvim.exe" "%file%" +%line%', - - // Sublime Text 2 - // editor: '"C:\\Program Files\\Sublime Text 2\\sublime_text.exe" "%file%:%line%"', - - mappings: { - // '/remotepath': '/localpath' - } -}; - - - -if (!settings.editor) { - WScript.Echo('Create variable "settings.editor" in ' + WScript.ScriptFullName); - WScript.Quit(); -} - -var url = WScript.Arguments(0); -var match = /^editor:\/\/(open|create|fix)\/\?file=([^&]+)&line=(\d+)(?:&search=([^&]*)&replace=([^&]*))?/.exec(url); -if (!match) { - WScript.Echo('Unexpected URI ' + url); - WScript.Quit(); -} -for (var i in match) { - match[i] = decodeURIComponent(match[i]).replace(/\+/g, ' '); -} - -var action = match[1]; -var file = match[2]; -var line = match[3]; -var search = match[4]; -var replace = match[5]; - -var shell = new ActiveXObject('WScript.Shell'); -var fileSystem = new ActiveXObject('Scripting.FileSystemObject'); - -for (var id in settings.mappings) { - if (file.indexOf(id) === 0) { - file = settings.mappings[id] + file.substr(id.length); - break; - } -} - -if (action === 'create' && !fileSystem.FileExists(file)) { - shell.Run('cmd /c mkdir "' + fileSystem.GetParentFolderName(file) + '"', 0, 1); - fileSystem.CreateTextFile(file); - -} else if (action === 'fix') { - var lines = fileSystem.OpenTextFile(file).ReadAll().split('\n'); - lines[line-1] = lines[line-1].replace(search, replace); - fileSystem.OpenTextFile(file, 2).Write(lines.join('\n')); -} - -var command = settings.editor.replace(/%line%/, line).replace(/%file%/, file); -shell.Exec(command); - -if (settings.title) { - shell.AppActivate(settings.title); -} diff --git a/entrypoint.sh b/entrypoint.sh index d208ea81..e926bfa3 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -66,7 +66,7 @@ echo "##[group] 🚀 Running ApiGen" echo "--- 📈 Source Folder : $FULL_SOURCE_FOLDER" echo " " chmod +x ./vendor/bin/apigen -./vendor/bin/apigen generate -s $FULL_SOURCE_FOLDER --destination ../apigen_ouput +./vendor/bin/apigen generate $FULL_SOURCE_FOLDER --output ../apigen_ouput echo "##[endgroup]" cd $GITHUB_WORKSPACE