From 51a843f661459e3fdad597a4ea6ddd7c609fec86 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 | 19 +- action.yml | 28 +- apigen/composer.json | 5 - apigen/composer.lock | 2195 ---------- .../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 | 28 - apigen/vendor/apigen/apigen/UPGRADE-4.0.md | 117 - apigen/vendor/apigen/apigen/bin/apigen | 40 - apigen/vendor/apigen/apigen/bin/bootstrap.php | 20 - apigen/vendor/apigen/apigen/box.json | 42 - apigen/vendor/apigen/apigen/composer.json | 60 - apigen/vendor/apigen/apigen/generate-api.sh | 20 - apigen/vendor/apigen/apigen/src/ApiGen.php | 18 - .../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 - .../src/Herrera/Box/Compactor/PhpNette.php | 88 - .../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/apigen/src/Scanner/Scanner.php | 94 - .../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 | 7 - apigen/vendor/bin/apigen | 14 - apigen/vendor/bin/apigen.bat | 4 - apigen/vendor/bin/jsonlint | 14 - apigen/vendor/bin/jsonlint.bat | 4 - apigen/vendor/bin/validate-json | 14 - apigen/vendor/bin/validate-json.bat | 4 - apigen/vendor/composer/ClassLoader.php | 445 -- apigen/vendor/composer/LICENSE | 21 - apigen/vendor/composer/autoload_classmap.php | 268 -- apigen/vendor/composer/autoload_files.php | 18 - .../vendor/composer/autoload_namespaces.php | 16 - apigen/vendor/composer/autoload_psr4.php | 19 - apigen/vendor/composer/autoload_real.php | 73 - apigen/vendor/composer/autoload_static.php | 410 -- apigen/vendor/composer/installed.json | 2248 ---------- 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 - .../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/composer.json | 32 - apigen/vendor/latte/latte/contributing.md | 27 - apigen/vendor/latte/latte/license.md | 60 - apigen/vendor/latte/latte/readme.md | 286 -- .../vendor/latte/latte/src/Latte/Compiler.php | 607 --- .../vendor/latte/latte/src/Latte/Engine.php | 387 -- .../vendor/latte/latte/src/Latte/Helpers.php | 113 - .../vendor/latte/latte/src/Latte/HtmlNode.php | 47 - .../vendor/latte/latte/src/Latte/ILoader.php | 35 - .../vendor/latte/latte/src/Latte/IMacro.php | 41 - .../latte/src/Latte/Loaders/FileLoader.php | 56 - .../latte/src/Latte/Loaders/StringLoader.php | 47 - .../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 -- .../src/Latte/Runtime/CachingIterator.php | 235 -- .../latte/latte/src/Latte/Runtime/Filters.php | 440 -- .../latte/latte/src/Latte/Runtime/Html.php | 36 - .../latte/src/Latte/Runtime/IHtmlString.php | 19 - .../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/exceptions.php | 67 - apigen/vendor/latte/latte/src/latte.php | 38 - .../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/license.md | 60 - 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 | 5 - apigen/vendor/nette/di/composer.json | 41 - apigen/vendor/nette/di/contributing.md | 33 - apigen/vendor/nette/di/license.md | 60 - apigen/vendor/nette/di/readme.md | 330 -- .../di/src/Bridges/DITracy/ContainerPanel.php | 85 - .../templates/ContainerPanel.panel.phtml | 70 - .../templates/ContainerPanel.tab.phtml | 10 - apigen/vendor/nette/di/src/DI/Compiler.php | 507 --- .../nette/di/src/DI/CompilerExtension.php | 143 - .../di/src/DI/Config/Adapters/IniAdapter.php | 151 - .../di/src/DI/Config/Adapters/NeonAdapter.php | 139 - .../di/src/DI/Config/Adapters/PhpAdapter.php | 39 - .../vendor/nette/di/src/DI/Config/Helpers.php | 87 - .../nette/di/src/DI/Config/IAdapter.php | 29 - .../vendor/nette/di/src/DI/Config/Loader.php | 137 - apigen/vendor/nette/di/src/DI/Container.php | 345 -- .../nette/di/src/DI/ContainerBuilder.php | 880 ---- .../nette/di/src/DI/ContainerLoader.php | 131 - .../nette/di/src/DI/DependencyChecker.php | 176 - .../src/DI/Extensions/ConstantsExtension.php | 24 - .../di/src/DI/Extensions/DIExtension.php | 67 - .../src/DI/Extensions/DecoratorExtension.php | 68 - .../src/DI/Extensions/ExtensionsExtension.php | 32 - .../di/src/DI/Extensions/InjectExtension.php | 144 - .../di/src/DI/Extensions/PhpExtension.php | 48 - apigen/vendor/nette/di/src/DI/Helpers.php | 255 -- .../vendor/nette/di/src/DI/PhpGenerator.php | 275 -- .../vendor/nette/di/src/DI/PhpReflection.php | 273 -- .../nette/di/src/DI/ServiceDefinition.php | 381 -- apigen/vendor/nette/di/src/DI/Statement.php | 60 - apigen/vendor/nette/di/src/DI/exceptions.php | 31 - apigen/vendor/nette/finder/composer.json | 42 - apigen/vendor/nette/finder/contributing.md | 33 - apigen/vendor/nette/finder/license.md | 60 - apigen/vendor/nette/finder/readme.md | 181 - .../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/composer.json | 35 - apigen/vendor/nette/neon/contributing.md | 33 - apigen/vendor/nette/neon/license.md | 60 - apigen/vendor/nette/neon/readme.md | 36 - apigen/vendor/nette/neon/src/Neon/Decoder.php | 359 -- apigen/vendor/nette/neon/src/Neon/Encoder.php | 83 - apigen/vendor/nette/neon/src/Neon/Entity.php | 34 - .../vendor/nette/neon/src/Neon/Exception.php | 16 - apigen/vendor/nette/neon/src/Neon/Neon.php | 44 - apigen/vendor/nette/neon/src/neon.php | 7 - apigen/vendor/nette/neon/syntax.txt | 32 - .../vendor/nette/php-generator/composer.json | 39 - .../nette/php-generator/contributing.md | 33 - apigen/vendor/nette/php-generator/license.md | 60 - apigen/vendor/nette/php-generator/readme.md | 568 --- .../src/PhpGenerator/ClassType.php | 534 --- .../src/PhpGenerator/Closure.php | 71 - .../src/PhpGenerator/Constant.php | 41 - .../php-generator/src/PhpGenerator/Dumper.php | 230 -- .../src/PhpGenerator/Factory.php | 148 - .../src/PhpGenerator/GlobalFunction.php | 45 - .../src/PhpGenerator/Helpers.php | 100 - .../src/PhpGenerator/Literal.php | 32 - .../php-generator/src/PhpGenerator/Method.php | 127 - .../src/PhpGenerator/Parameter.php | 129 - .../src/PhpGenerator/PhpFile.php | 122 - .../src/PhpGenerator/PhpLiteral.php | 15 - .../src/PhpGenerator/PhpNamespace.php | 204 - .../src/PhpGenerator/Printer.php | 281 -- .../src/PhpGenerator/Property.php | 111 - .../src/PhpGenerator/PsrPrinter.php | 23 - .../src/PhpGenerator/Traits/CommentAware.php | 42 - .../src/PhpGenerator/Traits/FunctionLike.php | 180 - .../src/PhpGenerator/Traits/NameAware.php | 49 - .../PhpGenerator/Traits/VisibilityAware.php | 85 - .../php-generator/src/PhpGenerator/Type.php | 63 - 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 | 40 - .../vendor/nette/robot-loader/contributing.md | 33 - apigen/vendor/nette/robot-loader/license.md | 60 - apigen/vendor/nette/robot-loader/readme.md | 56 - .../src/RobotLoader/RobotLoader.php | 408 -- 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/utils/.phpstorm.meta.php | 7 - apigen/vendor/nette/utils/composer.json | 45 - apigen/vendor/nette/utils/contributing.md | 33 - apigen/vendor/nette/utils/license.md | 60 - apigen/vendor/nette/utils/readme.md | 154 - .../utils/src/Iterators/CachingIterator.php | 175 - .../nette/utils/src/Iterators/Mapper.php | 32 - .../nette/utils/src/Utils/ArrayHash.php | 99 - .../nette/utils/src/Utils/ArrayList.php | 125 - .../vendor/nette/utils/src/Utils/Arrays.php | 299 -- .../vendor/nette/utils/src/Utils/Callback.php | 197 - .../vendor/nette/utils/src/Utils/DateTime.php | 149 - .../nette/utils/src/Utils/FileSystem.php | 164 - apigen/vendor/nette/utils/src/Utils/Html.php | 671 --- .../nette/utils/src/Utils/IHtmlString.php | 18 - .../nette/utils/src/Utils/ITranslator.php | 24 - apigen/vendor/nette/utils/src/Utils/Image.php | 654 --- apigen/vendor/nette/utils/src/Utils/Json.php | 81 - .../nette/utils/src/Utils/LegacyObject.php | 160 - .../nette/utils/src/Utils/ObjectHelpers.php | 184 - .../nette/utils/src/Utils/ObjectMixin.php | 493 --- .../nette/utils/src/Utils/Paginator.php | 227 - .../vendor/nette/utils/src/Utils/Random.php | 80 - .../nette/utils/src/Utils/Reflection.php | 317 -- .../nette/utils/src/Utils/SmartObject.php | 231 -- .../nette/utils/src/Utils/StaticClass.php | 34 - .../vendor/nette/utils/src/Utils/Strings.php | 599 --- .../nette/utils/src/Utils/Validators.php | 362 -- .../nette/utils/src/Utils/exceptions.php | 157 - apigen/vendor/nette/utils/src/loader.php | 16 - 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 | 1164 ------ apigen/vendor/symfony/console/CHANGELOG.md | 73 - .../symfony/console/Command/Command.php | 680 --- .../symfony/console/Command/HelpCommand.php | 88 - .../symfony/console/Command/ListCommand.php | 97 - .../vendor/symfony/console/ConsoleEvents.php | 55 - .../Descriptor/ApplicationDescription.php | 145 - .../symfony/console/Descriptor/Descriptor.php | 107 - .../Descriptor/DescriptorInterface.php | 31 - .../console/Descriptor/JsonDescriptor.php | 155 - .../console/Descriptor/MarkdownDescriptor.php | 144 - .../console/Descriptor/TextDescriptor.php | 303 -- .../console/Descriptor/XmlDescriptor.php | 250 -- .../console/Event/ConsoleCommandEvent.php | 60 - .../symfony/console/Event/ConsoleEvent.php | 67 - .../console/Event/ConsoleExceptionEvent.php | 67 - .../console/Event/ConsoleTerminateEvent.php | 58 - .../Exception/CommandNotFoundException.php | 43 - .../console/Exception/ExceptionInterface.php | 21 - .../Exception/InvalidArgumentException.php | 19 - .../Exception/InvalidOptionException.php | 21 - .../console/Exception/LogicException.php | 19 - .../console/Exception/RuntimeException.php | 19 - .../console/Formatter/OutputFormatter.php | 234 -- .../Formatter/OutputFormatterInterface.php | 71 - .../Formatter/OutputFormatterStyle.php | 203 - .../OutputFormatterStyleInterface.php | 62 - .../Formatter/OutputFormatterStyleStack.php | 109 - .../console/Helper/DebugFormatterHelper.php | 127 - .../console/Helper/DescriptorHelper.php | 94 - .../symfony/console/Helper/DialogHelper.php | 502 --- .../console/Helper/FormatterHelper.php | 82 - .../vendor/symfony/console/Helper/Helper.php | 120 - .../console/Helper/HelperInterface.php | 39 - .../symfony/console/Helper/HelperSet.php | 116 - .../console/Helper/InputAwareHelper.php | 33 - .../symfony/console/Helper/ProcessHelper.php | 151 - .../symfony/console/Helper/ProgressBar.php | 629 --- .../symfony/console/Helper/ProgressHelper.php | 469 --- .../console/Helper/ProgressIndicator.php | 307 -- .../symfony/console/Helper/QuestionHelper.php | 456 -- .../console/Helper/SymfonyQuestionHelper.php | 120 - .../vendor/symfony/console/Helper/Table.php | 661 --- .../symfony/console/Helper/TableCell.php | 76 - .../symfony/console/Helper/TableHelper.php | 264 -- .../symfony/console/Helper/TableSeparator.php | 25 - .../symfony/console/Helper/TableStyle.php | 258 -- .../symfony/console/Input/ArgvInput.php | 348 -- .../symfony/console/Input/ArrayInput.php | 193 - apigen/vendor/symfony/console/Input/Input.php | 186 - .../symfony/console/Input/InputArgument.php | 129 - .../console/Input/InputAwareInterface.php | 26 - .../symfony/console/Input/InputDefinition.php | 448 -- .../symfony/console/Input/InputInterface.php | 161 - .../symfony/console/Input/InputOption.php | 208 - .../symfony/console/Input/StringInput.php | 83 - apigen/vendor/symfony/console/LICENSE | 19 - .../symfony/console/Logger/ConsoleLogger.php | 105 - .../symfony/console/Output/BufferedOutput.php | 45 - .../symfony/console/Output/ConsoleOutput.php | 151 - .../console/Output/ConsoleOutputInterface.php | 30 - .../symfony/console/Output/NullOutput.php | 123 - .../vendor/symfony/console/Output/Output.php | 175 - .../console/Output/OutputInterface.php | 86 - .../symfony/console/Output/StreamOutput.php | 124 - .../console/Question/ChoiceQuestion.php | 189 - .../console/Question/ConfirmationQuestion.php | 59 - .../symfony/console/Question/Question.php | 246 -- apigen/vendor/symfony/console/README.md | 20 - .../console/Resources/bin/hiddeninput.exe | Bin 9216 -> 0 bytes apigen/vendor/symfony/console/Shell.php | 229 -- .../symfony/console/Style/OutputStyle.php | 113 - .../symfony/console/Style/StyleInterface.php | 154 - .../symfony/console/Style/SymfonyStyle.php | 429 -- .../console/Tester/ApplicationTester.php | 123 - .../symfony/console/Tester/CommandTester.php | 125 - .../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 | 45 - .../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 - .../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 - .../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 - 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 | 129 - 1394 files changed, 50 insertions(+), 179772 deletions(-) create mode 100644 .github/workflows/release.yml delete mode 100644 .github/workflows/twitter-post.yml create mode 100644 .gitignore delete mode 100644 apigen/composer.json delete mode 100644 apigen/composer.lock 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 delete mode 100644 apigen/vendor/apigen/apigen/LICENSE delete mode 100644 apigen/vendor/apigen/apigen/UPGRADE-4.0.md delete mode 100644 apigen/vendor/apigen/apigen/bin/apigen delete mode 100644 apigen/vendor/apigen/apigen/bin/bootstrap.php delete mode 100644 apigen/vendor/apigen/apigen/box.json delete mode 100644 apigen/vendor/apigen/apigen/composer.json delete mode 100644 apigen/vendor/apigen/apigen/generate-api.sh delete mode 100644 apigen/vendor/apigen/apigen/src/ApiGen.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 delete mode 100644 apigen/vendor/apigen/apigen/src/Herrera/Box/Compactor/PhpNette.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 delete mode 100644 apigen/vendor/apigen/apigen/src/Scanner/Scanner.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/autoload.php delete mode 100644 apigen/vendor/bin/apigen delete mode 100644 apigen/vendor/bin/apigen.bat delete mode 100644 apigen/vendor/bin/jsonlint delete mode 100644 apigen/vendor/bin/jsonlint.bat delete mode 100644 apigen/vendor/bin/validate-json delete mode 100644 apigen/vendor/bin/validate-json.bat delete mode 100644 apigen/vendor/composer/ClassLoader.php delete mode 100644 apigen/vendor/composer/LICENSE delete mode 100644 apigen/vendor/composer/autoload_classmap.php delete mode 100644 apigen/vendor/composer/autoload_files.php delete mode 100644 apigen/vendor/composer/autoload_namespaces.php delete mode 100644 apigen/vendor/composer/autoload_psr4.php delete mode 100644 apigen/vendor/composer/autoload_real.php delete mode 100644 apigen/vendor/composer/autoload_static.php delete mode 100644 apigen/vendor/composer/installed.json 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 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 delete mode 100644 apigen/vendor/latte/latte/composer.json delete mode 100644 apigen/vendor/latte/latte/contributing.md delete mode 100644 apigen/vendor/latte/latte/license.md delete mode 100644 apigen/vendor/latte/latte/readme.md delete mode 100644 apigen/vendor/latte/latte/src/Latte/Compiler.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Engine.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Helpers.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 delete mode 100644 apigen/vendor/latte/latte/src/Latte/Loaders/FileLoader.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Loaders/StringLoader.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 delete mode 100644 apigen/vendor/latte/latte/src/Latte/Runtime/CachingIterator.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Runtime/Filters.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Runtime/Html.php delete mode 100644 apigen/vendor/latte/latte/src/Latte/Runtime/IHtmlString.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 delete mode 100644 apigen/vendor/latte/latte/src/Latte/exceptions.php delete mode 100644 apigen/vendor/latte/latte/src/latte.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/license.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 delete mode 100644 apigen/vendor/nette/di/.phpstorm.meta.php delete mode 100644 apigen/vendor/nette/di/composer.json delete mode 100644 apigen/vendor/nette/di/contributing.md delete mode 100644 apigen/vendor/nette/di/license.md delete mode 100644 apigen/vendor/nette/di/readme.md delete mode 100644 apigen/vendor/nette/di/src/Bridges/DITracy/ContainerPanel.php delete mode 100644 apigen/vendor/nette/di/src/Bridges/DITracy/templates/ContainerPanel.panel.phtml delete mode 100644 apigen/vendor/nette/di/src/Bridges/DITracy/templates/ContainerPanel.tab.phtml delete mode 100644 apigen/vendor/nette/di/src/DI/Compiler.php delete mode 100644 apigen/vendor/nette/di/src/DI/CompilerExtension.php delete mode 100644 apigen/vendor/nette/di/src/DI/Config/Adapters/IniAdapter.php delete mode 100644 apigen/vendor/nette/di/src/DI/Config/Adapters/NeonAdapter.php delete mode 100644 apigen/vendor/nette/di/src/DI/Config/Adapters/PhpAdapter.php delete mode 100644 apigen/vendor/nette/di/src/DI/Config/Helpers.php delete mode 100644 apigen/vendor/nette/di/src/DI/Config/IAdapter.php delete mode 100644 apigen/vendor/nette/di/src/DI/Config/Loader.php delete mode 100644 apigen/vendor/nette/di/src/DI/Container.php delete mode 100644 apigen/vendor/nette/di/src/DI/ContainerBuilder.php delete mode 100644 apigen/vendor/nette/di/src/DI/ContainerLoader.php delete mode 100644 apigen/vendor/nette/di/src/DI/DependencyChecker.php delete mode 100644 apigen/vendor/nette/di/src/DI/Extensions/ConstantsExtension.php delete mode 100644 apigen/vendor/nette/di/src/DI/Extensions/DIExtension.php delete mode 100644 apigen/vendor/nette/di/src/DI/Extensions/DecoratorExtension.php delete mode 100644 apigen/vendor/nette/di/src/DI/Extensions/ExtensionsExtension.php delete mode 100644 apigen/vendor/nette/di/src/DI/Extensions/InjectExtension.php delete mode 100644 apigen/vendor/nette/di/src/DI/Extensions/PhpExtension.php delete mode 100644 apigen/vendor/nette/di/src/DI/Helpers.php delete mode 100644 apigen/vendor/nette/di/src/DI/PhpGenerator.php delete mode 100644 apigen/vendor/nette/di/src/DI/PhpReflection.php delete mode 100644 apigen/vendor/nette/di/src/DI/ServiceDefinition.php delete mode 100644 apigen/vendor/nette/di/src/DI/Statement.php delete mode 100644 apigen/vendor/nette/di/src/DI/exceptions.php delete mode 100644 apigen/vendor/nette/finder/composer.json delete mode 100644 apigen/vendor/nette/finder/contributing.md delete mode 100644 apigen/vendor/nette/finder/license.md delete mode 100644 apigen/vendor/nette/finder/readme.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 delete mode 100644 apigen/vendor/nette/neon/composer.json delete mode 100644 apigen/vendor/nette/neon/contributing.md delete mode 100644 apigen/vendor/nette/neon/license.md delete mode 100644 apigen/vendor/nette/neon/readme.md delete mode 100644 apigen/vendor/nette/neon/src/Neon/Decoder.php delete mode 100644 apigen/vendor/nette/neon/src/Neon/Encoder.php delete mode 100644 apigen/vendor/nette/neon/src/Neon/Entity.php delete mode 100644 apigen/vendor/nette/neon/src/Neon/Exception.php delete mode 100644 apigen/vendor/nette/neon/src/Neon/Neon.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/composer.json delete mode 100644 apigen/vendor/nette/php-generator/contributing.md delete mode 100644 apigen/vendor/nette/php-generator/license.md delete mode 100644 apigen/vendor/nette/php-generator/readme.md delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/ClassType.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Closure.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Constant.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Dumper.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Factory.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/GlobalFunction.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Helpers.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Literal.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Method.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Parameter.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/PhpFile.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/PhpLiteral.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/PhpNamespace.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Printer.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Property.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/PsrPrinter.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Traits/CommentAware.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Traits/FunctionLike.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Traits/NameAware.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Traits/VisibilityAware.php delete mode 100644 apigen/vendor/nette/php-generator/src/PhpGenerator/Type.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/composer.json delete mode 100644 apigen/vendor/nette/robot-loader/contributing.md delete mode 100644 apigen/vendor/nette/robot-loader/license.md delete mode 100644 apigen/vendor/nette/robot-loader/readme.md delete mode 100644 apigen/vendor/nette/robot-loader/src/RobotLoader/RobotLoader.php 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 delete mode 100644 apigen/vendor/nette/utils/.phpstorm.meta.php delete mode 100644 apigen/vendor/nette/utils/composer.json delete mode 100644 apigen/vendor/nette/utils/contributing.md delete mode 100644 apigen/vendor/nette/utils/license.md delete mode 100644 apigen/vendor/nette/utils/readme.md delete mode 100644 apigen/vendor/nette/utils/src/Iterators/CachingIterator.php delete mode 100644 apigen/vendor/nette/utils/src/Iterators/Mapper.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/ArrayHash.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/ArrayList.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/Arrays.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/Callback.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/DateTime.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/FileSystem.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/Html.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/IHtmlString.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/ITranslator.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/Image.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/Json.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/LegacyObject.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/ObjectHelpers.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/ObjectMixin.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/Paginator.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/Random.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/Reflection.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/SmartObject.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/StaticClass.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/Strings.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/Validators.php delete mode 100644 apigen/vendor/nette/utils/src/Utils/exceptions.php delete mode 100644 apigen/vendor/nette/utils/src/loader.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 delete mode 100644 apigen/vendor/symfony/console/Application.php delete mode 100644 apigen/vendor/symfony/console/CHANGELOG.md delete mode 100644 apigen/vendor/symfony/console/Command/Command.php delete mode 100644 apigen/vendor/symfony/console/Command/HelpCommand.php delete mode 100644 apigen/vendor/symfony/console/Command/ListCommand.php delete mode 100644 apigen/vendor/symfony/console/ConsoleEvents.php delete mode 100644 apigen/vendor/symfony/console/Descriptor/ApplicationDescription.php delete mode 100644 apigen/vendor/symfony/console/Descriptor/Descriptor.php delete mode 100644 apigen/vendor/symfony/console/Descriptor/DescriptorInterface.php delete mode 100644 apigen/vendor/symfony/console/Descriptor/JsonDescriptor.php delete mode 100644 apigen/vendor/symfony/console/Descriptor/MarkdownDescriptor.php delete mode 100644 apigen/vendor/symfony/console/Descriptor/TextDescriptor.php delete mode 100644 apigen/vendor/symfony/console/Descriptor/XmlDescriptor.php delete mode 100644 apigen/vendor/symfony/console/Event/ConsoleCommandEvent.php delete mode 100644 apigen/vendor/symfony/console/Event/ConsoleEvent.php delete mode 100644 apigen/vendor/symfony/console/Event/ConsoleExceptionEvent.php delete mode 100644 apigen/vendor/symfony/console/Event/ConsoleTerminateEvent.php delete mode 100644 apigen/vendor/symfony/console/Exception/CommandNotFoundException.php delete mode 100644 apigen/vendor/symfony/console/Exception/ExceptionInterface.php delete mode 100644 apigen/vendor/symfony/console/Exception/InvalidArgumentException.php delete mode 100644 apigen/vendor/symfony/console/Exception/InvalidOptionException.php delete mode 100644 apigen/vendor/symfony/console/Exception/LogicException.php delete mode 100644 apigen/vendor/symfony/console/Exception/RuntimeException.php delete mode 100644 apigen/vendor/symfony/console/Formatter/OutputFormatter.php delete mode 100644 apigen/vendor/symfony/console/Formatter/OutputFormatterInterface.php delete mode 100644 apigen/vendor/symfony/console/Formatter/OutputFormatterStyle.php delete mode 100644 apigen/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php delete mode 100644 apigen/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php delete mode 100644 apigen/vendor/symfony/console/Helper/DebugFormatterHelper.php delete mode 100644 apigen/vendor/symfony/console/Helper/DescriptorHelper.php delete mode 100644 apigen/vendor/symfony/console/Helper/DialogHelper.php delete mode 100644 apigen/vendor/symfony/console/Helper/FormatterHelper.php delete mode 100644 apigen/vendor/symfony/console/Helper/Helper.php delete mode 100644 apigen/vendor/symfony/console/Helper/HelperInterface.php delete mode 100644 apigen/vendor/symfony/console/Helper/HelperSet.php delete mode 100644 apigen/vendor/symfony/console/Helper/InputAwareHelper.php delete mode 100644 apigen/vendor/symfony/console/Helper/ProcessHelper.php delete mode 100644 apigen/vendor/symfony/console/Helper/ProgressBar.php delete mode 100644 apigen/vendor/symfony/console/Helper/ProgressHelper.php delete mode 100644 apigen/vendor/symfony/console/Helper/ProgressIndicator.php delete mode 100644 apigen/vendor/symfony/console/Helper/QuestionHelper.php delete mode 100644 apigen/vendor/symfony/console/Helper/SymfonyQuestionHelper.php delete mode 100644 apigen/vendor/symfony/console/Helper/Table.php delete mode 100644 apigen/vendor/symfony/console/Helper/TableCell.php delete mode 100644 apigen/vendor/symfony/console/Helper/TableHelper.php delete mode 100644 apigen/vendor/symfony/console/Helper/TableSeparator.php delete mode 100644 apigen/vendor/symfony/console/Helper/TableStyle.php delete mode 100644 apigen/vendor/symfony/console/Input/ArgvInput.php delete mode 100644 apigen/vendor/symfony/console/Input/ArrayInput.php delete mode 100644 apigen/vendor/symfony/console/Input/Input.php delete mode 100644 apigen/vendor/symfony/console/Input/InputArgument.php delete mode 100644 apigen/vendor/symfony/console/Input/InputAwareInterface.php delete mode 100644 apigen/vendor/symfony/console/Input/InputDefinition.php delete mode 100644 apigen/vendor/symfony/console/Input/InputInterface.php delete mode 100644 apigen/vendor/symfony/console/Input/InputOption.php delete mode 100644 apigen/vendor/symfony/console/Input/StringInput.php delete mode 100644 apigen/vendor/symfony/console/LICENSE delete mode 100644 apigen/vendor/symfony/console/Logger/ConsoleLogger.php delete mode 100644 apigen/vendor/symfony/console/Output/BufferedOutput.php delete mode 100644 apigen/vendor/symfony/console/Output/ConsoleOutput.php delete mode 100644 apigen/vendor/symfony/console/Output/ConsoleOutputInterface.php delete mode 100644 apigen/vendor/symfony/console/Output/NullOutput.php delete mode 100644 apigen/vendor/symfony/console/Output/Output.php delete mode 100644 apigen/vendor/symfony/console/Output/OutputInterface.php delete mode 100644 apigen/vendor/symfony/console/Output/StreamOutput.php delete mode 100644 apigen/vendor/symfony/console/Question/ChoiceQuestion.php delete mode 100644 apigen/vendor/symfony/console/Question/ConfirmationQuestion.php delete mode 100644 apigen/vendor/symfony/console/Question/Question.php delete mode 100644 apigen/vendor/symfony/console/README.md delete mode 100644 apigen/vendor/symfony/console/Resources/bin/hiddeninput.exe delete mode 100644 apigen/vendor/symfony/console/Shell.php delete mode 100644 apigen/vendor/symfony/console/Style/OutputStyle.php delete mode 100644 apigen/vendor/symfony/console/Style/StyleInterface.php delete mode 100644 apigen/vendor/symfony/console/Style/SymfonyStyle.php delete mode 100644 apigen/vendor/symfony/console/Tester/ApplicationTester.php delete mode 100644 apigen/vendor/symfony/console/Tester/CommandTester.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/composer.json 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 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 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 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 delete mode 100644 entrypoint.sh 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..752ac336 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,4 @@ -FROM php:7.1-cli-alpine3.10 - -RUN apk add git - -RUN apk add curl - -COPY entrypoint.sh /entrypoint.sh - -COPY apigen /cached-apigen - -RUN chmod +x /entrypoint.sh - -RUN chmod +x /cached-apigen - -ENTRYPOINT ["/entrypoint.sh"] \ No newline at end of file +FROM php:8.2-cli-alpine3.18 +RUN wget https://github.com/ApiGen/ApiGen/releases/latest/download/apigen.phar -O /usr/local/bin/apigen +RUN chmod +x /usr/local/bin/apigen +ENTRYPOINT ["/usr/local/apigen", "generate", "-o"] \ No newline at end of file diff --git a/action.yml b/action.yml index 8afe9305..e1ea46e1 100644 --- a/action.yml +++ b/action.yml @@ -5,35 +5,15 @@ branding: icon: 'hard-drive' color: 'green' inputs: - push_to_branch: - description: 'Which Branch/Folder To Push' - default: 'gh-pages' - before_cmd: - description: 'Command To Run Before ApiGen' - default: '' - after_cmd: - description: 'Command To Run After ApiGen' - default: '' - auto_push: - description: 'if set to yes then it auto pushes latest source to current repo with the push_to_branch' - default: 'yes' output_folder: - description: 'Custom output folder if auto_push is disabled' + description: 'Folder to output docs' default: '' source_folder: - description: 'Custom Source Folder if auto_push is disabled' + description: 'Folder to generate docs' default: '' - cached_apigen: - description: 'If set to yes then it uses cached apigen' - default: 'yes' runs: using: 'docker' - image: 'Dockerfile' + image: 'docker://ghcr.io/net9-oy/action-apigen:main' args: - - ${{ inputs.push_to_branch }} - - ${{ inputs.before_cmd }} - - ${{ inputs.after_cmd }} - - ${{ inputs.auto_push }} - ${{ inputs.output_folder }} - - ${{ inputs.source_folder }} - - ${{ inputs.cached_apigen }} \ No newline at end of file + - ${{ inputs.source_folder }} \ No newline at end of file diff --git a/apigen/composer.json b/apigen/composer.json deleted file mode 100644 index c692c487..00000000 --- a/apigen/composer.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "require" : { - "apigen/apigen" : "4.1.2" - } -} \ No newline at end of file diff --git a/apigen/composer.lock b/apigen/composer.lock deleted file mode 100644 index e5365341..00000000 --- a/apigen/composer.lock +++ /dev/null @@ -1,2195 +0,0 @@ -{ - "_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": "5a8af2a16ff8048ead174e17b13005d9", - "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", - "source": { - "type": "git", - "url": "https://github.com/ApiGen/ApiGen.git", - "reference": "3365433ea3433b0e5c8f763608f8e63cbedb2a3a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ApiGen/ApiGen/zipball/3365433ea3433b0e5c8f763608f8e63cbedb2a3a", - "reference": "3365433ea3433b0e5c8f763608f8e63cbedb2a3a", - "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" - }, - "require-dev": { - "herrera-io/box": "~1.6", - "mockery/mockery": "~0.9" - }, - "bin": [ - "bin/apigen" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1.0-dev" - } - }, - "autoload": { - "psr-4": { - "ApiGen\\": "src" - } - }, - "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": "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" - }, - { - "name": "nette/bootstrap", - "version": "v2.4.6", - "source": { - "type": "git", - "url": "https://github.com/nette/bootstrap.git", - "reference": "268816e3f1bb7426c3a4ceec2bd38a036b532543" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/bootstrap/zipball/268816e3f1bb7426c3a4ceec2bd38a036b532543", - "reference": "268816e3f1bb7426c3a4ceec2bd38a036b532543", - "shasum": "" - }, - "require": { - "nette/di": "~2.4.7", - "nette/utils": "~2.4", - "php": ">=5.6.0" - }, - "conflict": { - "nette/nette": "<2.2" - }, - "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()" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "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 Bootstrap: the simple way to configure and bootstrap your Nette application.", - "homepage": "https://nette.org", - "keywords": [ - "bootstrapping", - "configurator", - "nette" - ], - "time": "2018-05-17T12:52:20+00:00" - }, - { - "name": "nette/caching", - "version": "v2.5.9", - "source": { - "type": "git", - "url": "https://github.com/nette/caching.git", - "reference": "d93ef446836a5a0ff7ef78d5ffebb7fe043f9953" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/caching/zipball/d93ef446836a5a0ff7ef78d5ffebb7fe043f9953", - "reference": "d93ef446836a5a0ff7ef78d5ffebb7fe043f9953", - "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" - }, - "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", - "GPL-3.0" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" - } - ], - "description": "⏱ Nette Caching: library with easy-to-use API and many cache backends.", - "homepage": "https://nette.org", - "keywords": [ - "cache", - "journal", - "memcached", - "nette", - "sqlite" - ], - "time": "2019-11-19T18:38:13+00:00" - }, - { - "name": "nette/component-model", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/nette/component-model.git", - "reference": "6e7980f5ddec31f68a39e767799b1b0be9dd1014" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/component-model/zipball/6e7980f5ddec31f68a39e767799b1b0be9dd1014", - "reference": "6e7980f5ddec31f68a39e767799b1b0be9dd1014", - "shasum": "" - }, - "require": { - "nette/utils": "^2.5 || ~3.0.0", - "php": ">=5.6.0" - }, - "conflict": { - "nette/application": "<2.4", - "nette/nette": "<2.2" - }, - "require-dev": { - "nette/tester": "^2.0", - "tracy/tracy": "^2.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "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 Component Model", - "homepage": "https://nette.org", - "keywords": [ - "components", - "nette" - ], - "time": "2018-03-20T16:32:50+00:00" - }, - { - "name": "nette/di", - "version": "v2.4.16", - "source": { - "type": "git", - "url": "https://github.com/nette/di.git", - "reference": "2d5c53d74ae4e65dc943a212d849e30bef011a4e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/di/zipball/2d5c53d74ae4e65dc943a212d849e30bef011a4e", - "reference": "2d5c53d74ae4e65dc943a212d849e30bef011a4e", - "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" - }, - "require-dev": { - "nette/tester": "^2.0", - "tracy/tracy": "^2.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "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 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", - "keywords": [ - "compiled", - "di", - "dic", - "factory", - "ioc", - "nette", - "static" - ], - "time": "2019-11-19T18:25:17+00:00" - }, - { - "name": "nette/finder", - "version": "v2.5.2", - "source": { - "type": "git", - "url": "https://github.com/nette/finder.git", - "reference": "4ad2c298eb8c687dd0e74ae84206a4186eeaed50" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/finder/zipball/4ad2c298eb8c687dd0e74ae84206a4186eeaed50", - "reference": "4ad2c298eb8c687dd0e74ae84206a4186eeaed50", - "shasum": "" - }, - "require": { - "nette/utils": "^2.4 || ^3.0", - "php": ">=7.1" - }, - "conflict": { - "nette/nette": "<2.2" - }, - "require-dev": { - "nette/tester": "^2.0", - "phpstan/phpstan": "^0.12", - "tracy/tracy": "^2.3" - }, - "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", - "GPL-3.0" - ], - "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" - ], - "time": "2020-01-03T20:35:40+00:00" - }, - { - "name": "nette/http", - "version": "v2.4.11", - "source": { - "type": "git", - "url": "https://github.com/nette/http.git", - "reference": "3d75d11a880fe223bfa6bc7ca9822bdfe789e5a6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/http/zipball/3d75d11a880fe223bfa6bc7ca9822bdfe789e5a6", - "reference": "3d75d11a880fe223bfa6bc7ca9822bdfe789e5a6", - "shasum": "" - }, - "require": { - "nette/utils": "^2.4 || ~3.0.0", - "php": ">=5.6.0" - }, - "conflict": { - "nette/nette": "<2.2" - }, - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "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 Http: abstraction for HTTP request, response and session. Provides careful data sanitization and utility for URL and cookies manipulation.", - "homepage": "https://nette.org", - "keywords": [ - "cookies", - "http", - "nette", - "proxy", - "request", - "response", - "security", - "session", - "url" - ], - "time": "2019-03-13T19:04:45+00:00" - }, - { - "name": "nette/mail", - "version": "v2.4.6", - "source": { - "type": "git", - "url": "https://github.com/nette/mail.git", - "reference": "431f1774034cc14ee6a795b6514fe6343f75a68e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/mail/zipball/431f1774034cc14ee6a795b6514fe6343f75a68e", - "reference": "431f1774034cc14ee6a795b6514fe6343f75a68e", - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "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 Mail: handy email creation and transfer library for PHP with both text and MIME-compliant support.", - "homepage": "https://nette.org", - "keywords": [ - "mail", - "mailer", - "mime", - "nette", - "smtp" - ], - "time": "2018-11-21T22:35:13+00:00" - }, - { - "name": "nette/neon", - "version": "v2.4.3", - "source": { - "type": "git", - "url": "https://github.com/nette/neon.git", - "reference": "5e72b1dd3e2d34f0863c5561139a19df6a1ef398" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/neon/zipball/5e72b1dd3e2d34f0863c5561139a19df6a1ef398", - "reference": "5e72b1dd3e2d34f0863c5561139a19df6a1ef398", - "shasum": "" - }, - "require": { - "ext-iconv": "*", - "ext-json": "*", - "php": ">=5.6.0" - }, - "require-dev": { - "nette/tester": "~2.0", - "tracy/tracy": "^2.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "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 NEON: encodes and decodes NEON file format.", - "homepage": "http://ne-on.org", - "keywords": [ - "export", - "import", - "neon", - "nette", - "yaml" - ], - "time": "2018-03-21T12:12:21+00:00" - }, - { - "name": "nette/php-generator", - "version": "v3.3.4", - "source": { - "type": "git", - "url": "https://github.com/nette/php-generator.git", - "reference": "8fe7e699dca7db186f56d75800cb1ec32e39c856" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/php-generator/zipball/8fe7e699dca7db186f56d75800cb1ec32e39c856", - "reference": "8fe7e699dca7db186f56d75800cb1ec32e39c856", - "shasum": "" - }, - "require": { - "nette/utils": "^2.4.2 || ^3.0", - "php": ">=7.1" - }, - "require-dev": { - "nette/tester": "^2.0", - "phpstan/phpstan": "^0.12", - "tracy/tracy": "^2.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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 7.4 features.", - "homepage": "https://nette.org", - "keywords": [ - "code", - "nette", - "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/" - ] - }, - "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" - }, - { - "name": "nette/robot-loader", - "version": "v2.4.4", - "source": { - "type": "git", - "url": "https://github.com/nette/robot-loader.git", - "reference": "1f7f8792ce4d94162959e6b766822d6051623bca" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/robot-loader/zipball/1f7f8792ce4d94162959e6b766822d6051623bca", - "reference": "1f7f8792ce4d94162959e6b766822d6051623bca", - "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" - }, - "require-dev": { - "nette/tester": "~2.0", - "tracy/tracy": "^2.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "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 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" - ], - "time": "2017-08-14T20:23:02+00:00" - }, - { - "name": "nette/safe-stream", - "version": "v2.4.1", - "source": { - "type": "git", - "url": "https://github.com/nette/safe-stream.git", - "reference": "ae6f314041892138cb38b4ff8782e92e03750918" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/safe-stream/zipball/ae6f314041892138cb38b4ff8782e92e03750918", - "reference": "ae6f314041892138cb38b4ff8782e92e03750918", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "nette/tester": "^2.0", - "phpstan/phpstan": "^0.12", - "tracy/tracy": "^2.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "files": [ - "src/loader.php" - ] - }, - "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 SafeStream: atomic and safe manipulation with files via native PHP functions.", - "homepage": "https://nette.org", - "keywords": [ - "atomic", - "filesystem", - "nette", - "safe" - ], - "time": "2020-03-16T14:26:30+00:00" - }, - { - "name": "nette/utils", - "version": "v2.5.4", - "source": { - "type": "git", - "url": "https://github.com/nette/utils.git", - "reference": "b343b5749f8c2daa0d15f30380ccdba0579c2ed1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/b343b5749f8c2daa0d15f30380ccdba0579c2ed1", - "reference": "b343b5749f8c2daa0d15f30380ccdba0579c2ed1", - "shasum": "" - }, - "require": { - "php": ">=5.6.0" - }, - "conflict": { - "nette/nette": "<2.2" - }, - "require-dev": { - "nette/tester": "~2.0", - "tracy/tracy": "^2.3" - }, - "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-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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ], - "files": [ - "src/loader.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 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" - ], - "time": "2019-11-19T00:32:02+00:00" - }, - { - "name": "psr/log", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2020-03-23T09:12:05+00:00" - }, - { - "name": "seld/jsonlint", - "version": "1.7.2", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "e2e5d290e4d2a4f0eb449f510071392e00e10d19" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/e2e5d290e4d2a4f0eb449f510071392e00e10d19", - "reference": "e2e5d290e4d2a4f0eb449f510071392e00e10d19", - "shasum": "" - }, - "require": { - "php": "^5.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "bin": [ - "bin/jsonlint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "JSON Linter", - "keywords": [ - "json", - "linter", - "parser", - "validator" - ], - "time": "2019-10-24T14:27:39+00:00" - }, - { - "name": "symfony/console", - "version": "v2.8.52", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12", - "reference": "cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12", - "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": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "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": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2018-11-20T15:55:20+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a", - "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" - }, - "require-dev": { - "symfony/class-loader": "~2.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "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": "Symfony Debug Component", - "homepage": "https://symfony.com", - "time": "2016-07-30T07:22:48+00:00" - }, - { - "name": "symfony/options-resolver", - "version": "v2.6.13", - "target-dir": "Symfony/Component/OptionsResolver", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "31e56594cee489e9a235b852228b0598b52101c1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/31e56594cee489e9a235b852228b0598b52101c1", - "reference": "31e56594cee489e9a235b852228b0598b52101c1", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\OptionsResolver\\": "" - } - }, - "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": "Symfony OptionsResolver Component", - "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ], - "time": "2015-05-13T11:33:56+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.15.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/4719fa9c18b0464d399f1a63bf624b42b6fa8d14", - "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.15-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "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-02-27T09:26:54+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.15.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/81ffd3a9c6d707be22e3012b827de1c9775fc5ac", - "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.15-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.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": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "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-03-09T19:04:49+00:00" - }, - { - "name": "symfony/yaml", - "version": "v2.8.52", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "02c1859112aa779d9ab394ae4f3381911d84052b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/02c1859112aa779d9ab394ae4f3381911d84052b", - "reference": "02c1859112aa779d9ab394ae4f3381911d84052b", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/polyfill-ctype": "~1.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "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": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2018-11-11T11:18:13+00:00" - }, - { - "name": "tracy/tracy", - "version": "v2.6.7", - "source": { - "type": "git", - "url": "https://github.com/nette/tracy.git", - "reference": "b6ed87129ec549b7bb2974684eec6f76efc3bdf1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/tracy/zipball/b6ed87129ec549b7bb2974684eec6f76efc3bdf1", - "reference": "b6ed87129ec549b7bb2974684eec6f76efc3bdf1", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-session": "*", - "php": ">=7.1" - }, - "require-dev": { - "nette/di": "^2.4 || ~3.0.0", - "nette/tester": "^2.2", - "nette/utils": "^2.4 || ^3.0", - "psr/log": "^1.0" - }, - "suggest": { - "https://nette.org/donate": "Please support Tracy via a donation" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "classmap": [ - "src" - ], - "files": [ - "src/Tracy/shortcuts.php" - ] - }, - "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" - ], - "time": "2020-04-11T17:47:21+00:00" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [], - "plugin-api-version": "1.1.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 deleted file mode 100644 index f7c690d2..00000000 --- a/apigen/vendor/apigen/apigen/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -The 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) - -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/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/bin/apigen b/apigen/vendor/apigen/apigen/bin/apigen deleted file mode 100644 index 7c01f86c..00000000 --- a/apigen/vendor/apigen/apigen/bin/apigen +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env php -setDebugMode( ! Tracy\Debugger::$productionMode); -$configurator->setTempDirectory($tempDir); -$configurator->addConfig(__DIR__ . '/../src/DI/config.neon'); -$configurator->addParameters(['rootDir' => __DIR__ . '/..']); -$container = $configurator->createContainer(); - - -/** @var ApiGen\Console\Application $application */ -$application = $container->getByType('ApiGen\Console\Application'); -$application->run(); - - -// Remove temp data -ApiGen\FileSystem\FileSystem::deleteDir($tempDir); 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" - }, - "require-dev": { - "mockery/mockery": "~0.9", - "herrera-io/box": "~1.6" - }, - "autoload": { - "psr-4": { - "ApiGen\\": "src" - } - }, - "autoload-dev": { - "psr-4": { - "ApiGen\\Tests\\": "tests" - } - }, - "bin": [ - "bin/apigen" - ], - "extra": { - "branch-alias": { - "dev-master": "4.1.0-dev" - } - } -} 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/ApiGen.php b/apigen/vendor/apigen/apigen/src/ApiGen.php deleted file mode 100644 index bf76ae10..00000000 --- a/apigen/vendor/apigen/apigen/src/ApiGen.php +++ /dev/null @@ -1,18 +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/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/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/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/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 deleted file mode 100644 index d208ea81..00000000 --- a/entrypoint.sh +++ /dev/null @@ -1,129 +0,0 @@ -#!/bin/sh -set -eu -YES_VAL="yes" -PUSH_TO_BRANCH="$INPUT_PUSH_TO_BRANCH" -BEFORE_CMD="$INPUT_BEFORE_CMD" -AFTER_CMD="$INPUT_AFTER_CMD" -AUTO_PUSH="$INPUT_AUTO_PUSH" -OUTPUT_FOLDER="$INPUT_OUTPUT_FOLDER" -SOURCE_FOLDER="$INPUT_SOURCE_FOLDER" -CACHED_APIGEN="$INPUT_CACHED_APIGEN" -echo " " - -if [ -z "$GITHUB_TOKEN" ]; then - echo "🚩 Set the GITHUB_TOKEN env variable" - exit 1 -fi - -if [ -z "$PUSH_TO_BRANCH" ]; then - echo "🚩 Set the PUSH_TO_BRANCH Variable" - exit 1 -fi - -if [ -z "$SOURCE_FOLDER" ]; then - SOURCE_FOLDER="" -fi - -if [ -z "$CACHED_APIGEN" ]; then - CACHED_APIGEN="yes" -fi - -if [ ! -z "$BEFORE_CMD" ]; then - echo "⚡️ Running BEFORE_CMD" - echo "---------------------------------------------------------------" - eval "$BEFORE_CMD" - echo "---------------------------------------------------------------" - echo " " -fi - -FULL_SOURCE_FOLDER="$GITHUB_WORKSPACE/$SOURCE_FOLDER" - -cd ../ - -echo " " -echo "------------------------------------" -echo "🏗 Doing Groud Work" -mkdir apigen -mkdir apigen_ouput -cd apigen - -if [ "$CACHED_APIGEN" == "$YES_VAL" ]; then - echo "##[group] ✨ Using Local Cache" - cp -r /cached-apigen/* ./ - ls -lah - chmod 777 -R ./ - echo "##[endgroup]" -else - echo "✨ Installing Composer" - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer >>/dev/null 2>&1 - echo "##[group] ✨ Installing ApiGen" - echo '{ "require" : { "apigen/apigen" : "4.1.2" } }' >>composer.json - composer update - echo "##[endgroup]" -fi - -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 -echo "##[endgroup]" - -cd $GITHUB_WORKSPACE - -if [ ! -z "$AFTER_CMD" ]; then - echo "##[group] ⚡️Running AFTER_CMD" - eval "$AFTER_CMD" - echo "##[endgroup]" -fi - -echo "##[group] ✅ Validating Output" -cd ../apigen_ouput/ && ls -lah -echo "##[endgroup]" - -if [ "$AUTO_PUSH" == "$YES_VAL" ]; then - echo " " - echo "🚚 Pushing To Github" - git config --global user.email "githubactionbot+apigen@gmail.com" && git config --global user.name "ApiGen Github Bot" - cd ../ - - if [ -z "$(git ls-remote --heads https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git ${PUSH_TO_BRANCH})" ]; then - echo "##[group] $PUSH_TO_BRANCH Create Log" - git clone --quiet https://x-access-token:$GITHUB_TOKEN@github.com/${GITHUB_REPOSITORY}.git $PUSH_TO_BRANCH >/dev/null - cd $PUSH_TO_BRANCH - git checkout --orphan $PUSH_TO_BRANCH >/dev/null - git rm -rf . >/dev/null - echo "$GITHUB_REPOSITORY" >README.md - git add README.md - git commit -a -m "➕ Create $PUSH_TO_BRANCH Branch" - git push origin $PUSH_TO_BRANCH - cd .. - echo "##[endgroup]" - echo "🗃 $PUSH_TO_BRANCH Created" - else - echo "##[group] 👌 $PUSH_TO_BRANCH Clone Log" - git clone --quiet --branch=$PUSH_TO_BRANCH https://x-access-token:$GITHUB_TOKEN@github.com/${GITHUB_REPOSITORY}.git $PUSH_TO_BRANCH - echo "##[endgroup]" - fi - - cp -r apigen_ouput/* $PUSH_TO_BRANCH/ - cd $PUSH_TO_BRANCH/ - - if [ "$(git status --porcelain)" != "" ]; then - echo "##[group] 👌 Docs Published" - git add . - git commit -m " :book: #$GITHUB_RUN_NUMBER - ApiGen Code Docs Regenerated / :zap: Triggered By $GITHUB_SHA" - git push origin $PUSH_TO_BRANCH - echo "##[endgroup]" - else - echo "✅ Nothing To Push" - fi - -else - cd $GITHUB_WORKSPACE - cp -r ../apigen_ouput/* $OUTPUT_FOLDER - cd $OUTPUT_FOLDER - ls -lah - rm -rf ../apigen_ouput - echo "✅ Docs Copied To $OUTPUT_FOLDER" -fi