diff -Nru phpdox-0.11.2/build.xml phpdox-0.12.0/build.xml --- phpdox-0.11.2/build.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/build.xml 2019-03-13 09:34:17.000000000 +0000 @@ -132,7 +132,7 @@ - + @@ -150,6 +150,22 @@ + + + + + + + + + + + + + + + + diff -Nru phpdox-0.11.2/CHANGELOG.md phpdox-0.12.0/CHANGELOG.md --- phpdox-0.11.2/CHANGELOG.md 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/CHANGELOG.md 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,22 @@ # Changelog of phpDox +## phpDox 0.12.0 (13 Mar 2019) + +Note: This release requires PHP 7.1+ + +### Changed +* Upgraded dependencies: Now using PHP-Parser ^4.2, PHP-Timer ^2.0 +* Changed all sources to follow PHP 7 syntax +* Updated php core classes and interfaces data + +### Fixed +* [#271](https://github.com/theseer/phpdox/issues/271): Fix TokenFile not Found Error on Windows + +### Merged +* [#352](https://github.com/theseer/phpdox/pull/352): Fix bad exit status 255 generated by uncaught TypeError +* [#335](https://github.com/theseer/phpdox/pull/335): Make this compatible with PHPUnit 7.2 + + ## phpDox 0.11.2 (22 May 2018) Note: 0.11.x is the last series of releases that supports running under PHP 5.x @@ -23,7 +40,7 @@ ### Merged * [#310](https://github.com/theseer/phpdox/pull/310): Make the build reproducible -* [#319](https://github.com/theseer/phpdox/pull/319):Fixed: #315 count(): Parameter must be an array or an object that implements Countable +* [#319](https://github.com/theseer/phpdox/pull/319): Fixed: #315 count(): Parameter must be an array or an object that implements Countable ### Fixed * [#320](https://github.com/theseer/phpdox/issues/320): Multiline annotation for class constants fails to add subsequent lines diff -Nru phpdox-0.11.2/composer.json phpdox-0.12.0/composer.json --- phpdox-0.11.2/composer.json 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/composer.json 2019-03-13 09:34:17.000000000 +0000 @@ -13,7 +13,7 @@ "issues" : "https://github.com/theseer/phpdox/issues" }, "require" : { - "php" : ">=5.5", + "php" : ">=7.1", "ext-tokenizer" : "*", "ext-dom" : "*", "ext-xsl" : "*", @@ -23,8 +23,8 @@ "theseer/fdomdocument": "^1.6", "theseer/directoryscanner" : "^1.3.0", "theseer/fxsl" : "^1.1", - "phpunit/php-timer" : "^1.0", - "nikic/php-parser" : "^3.1" + "phpunit/php-timer" : "^2.0", + "nikic/php-parser" : "^4.2" }, "autoload": { "classmap": [ diff -Nru phpdox-0.11.2/composer.lock phpdox-0.12.0/composer.lock --- phpdox-0.11.2/composer.lock 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/composer.lock 2019-03-13 09:34:17.000000000 +0000 @@ -1,31 +1,31 @@ { "_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#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f9634ce6203e7fde86726f70226969bf", + "content-hash": "aea8a10f3958526173e493c4a923e322", "packages": [ { "name": "nikic/php-parser", - "version": "v3.1.3", + "version": "v4.2.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "579f4ce846734a1cf55d6a531d00ca07a43e3cda" + "reference": "5221f49a608808c1e4d436df32884cbc1b821ac0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/579f4ce846734a1cf55d6a531d00ca07a43e3cda", - "reference": "579f4ce846734a1cf55d6a531d00ca07a43e3cda", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/5221f49a608808c1e4d436df32884cbc1b821ac0", + "reference": "5221f49a608808c1e4d436df32884cbc1b821ac0", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": ">=5.5" + "php": ">=7.0" }, "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" + "phpunit/phpunit": "^6.5 || ^7.0" }, "bin": [ "bin/php-parse" @@ -33,7 +33,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -55,32 +55,32 @@ "parser", "php" ], - "time": "2017-12-26T14:43:21+00:00" + "time": "2019-02-16T20:54:15+00:00" }, { "name": "phpunit/php-timer", - "version": "1.0.9", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" + "reference": "8b389aebe1b8b0578430bda0c7c95a829608e059" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b389aebe1b8b0578430bda0c7c95a829608e059", + "reference": "8b389aebe1b8b0578430bda0c7c95a829608e059", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.1-dev" } }, "autoload": { @@ -95,7 +95,7 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -104,7 +104,7 @@ "keywords": [ "timer" ], - "time": "2017-02-26T11:10:40+00:00" + "time": "2019-02-20T10:12:59+00:00" }, { "name": "theseer/directoryscanner", @@ -241,7 +241,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": ">=5.5", + "php": ">=7.1", "ext-tokenizer": "*", "ext-dom": "*", "ext-xsl": "*", diff -Nru phpdox-0.11.2/debian/changelog phpdox-0.12.0/debian/changelog --- phpdox-0.11.2/debian/changelog 2018-07-12 05:50:07.000000000 +0000 +++ phpdox-0.12.0/debian/changelog 2019-08-10 01:53:10.000000000 +0000 @@ -1,14 +1,34 @@ -phpdox (0.11.2-1build4) cosmic; urgency=medium +phpdox (0.12.0-2) unstable; urgency=medium - * Rebuild against new phpunit7 bootstrapped stack. + * Upload to unstable in sync with php-parser + * Use secure URI in debian/watch. + * Update standards version, no changes needed. + * Set upstream metadata fields: Contact, Name. + * Compatibility with recent PHPUnit (8) + * Use fonts-liberation instead of embedded font + + -- David Prévot Fri, 09 Aug 2019 15:53:10 -1000 + +phpdox (0.12.0-1) experimental; urgency=medium + + Upload to experimental during the freeze + + [ Arne Blankerts ] + * Bump copyright + * Bundle OFL Font "SourceSansPro", cleanup CSS + * Release 0.12.0 + + [ David Prévot ] + * More generic version handling + * Update copyright + * Drop get-orig-source target + * Use https in Format + * Use debhelper-compat 12 + * Depend on recent php-parser + * Declare SOURCE_DATE_EPOCH as an integer + * Update Standards-Version to 4.3.0 - -- Gianfranco Costamagna Thu, 12 Jul 2018 07:50:07 +0200 - -phpdox (0.11.2-1build3) cosmic; urgency=medium - - * Rebuild against new phpunit7 bootstrap. - - -- Gianfranco Costamagna Thu, 12 Jul 2018 00:01:37 +0200 + -- David Prévot Sun, 17 Mar 2019 15:59:01 -1000 phpdox (0.11.2-1) unstable; urgency=medium diff -Nru phpdox-0.11.2/debian/clean phpdox-0.12.0/debian/clean --- phpdox-0.11.2/debian/clean 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/debian/clean 2019-08-10 01:53:10.000000000 +0000 @@ -0,0 +1 @@ +.phpunit.result.cache diff -Nru phpdox-0.11.2/debian/compat phpdox-0.12.0/debian/compat --- phpdox-0.11.2/debian/compat 2017-08-04 15:17:21.000000000 +0000 +++ phpdox-0.12.0/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -9 diff -Nru phpdox-0.11.2/debian/control phpdox-0.12.0/debian/control --- phpdox-0.11.2/debian/control 2018-05-10 00:44:20.000000000 +0000 +++ phpdox-0.12.0/debian/control 2019-08-10 01:53:10.000000000 +0000 @@ -5,28 +5,28 @@ Uploaders: David Prévot , Prach Pongpanich Build-Depends: ant, - debhelper (>= 9), + debhelper-compat (= 12), help2man, php-codesniffer, php-directory-scanner, php-fdomdocument, php-fxsl, php-mbstring, - php-parser, + php-parser (>= 4), php-timer (>= 2), phpcpd, phploc, phpmd, phpunit, pkg-php-tools (>= 1.29~) -Standards-Version: 4.1.4 +Standards-Version: 4.4.0 Homepage: http://phpdox.de/ Vcs-Browser: https://salsa.debian.org/php-team/pear/phpdox Vcs-Git: https://salsa.debian.org/php-team/pear/phpdox.git Package: phpdox Architecture: all -Depends: ${misc:Depends}, ${phpcomposer:Debian-require} +Depends: fonts-liberation, ${misc:Depends}, ${phpcomposer:Debian-require} Suggests: ${phpcomposer:Debian-suggest} Replaces: ${phpcomposer:Debian-replace} Breaks: ${phpcomposer:Debian-conflict}, ${phpcomposer:Debian-replace} diff -Nru phpdox-0.11.2/debian/copyright phpdox-0.12.0/debian/copyright --- phpdox-0.11.2/debian/copyright 2018-05-10 00:43:52.000000000 +0000 +++ phpdox-0.12.0/debian/copyright 2019-08-10 01:53:10.000000000 +0000 @@ -1,10 +1,10 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: phpDox Upstream-Contact: Arne Blankerts Source: https://github.com/theseer/phpdox Files: * -Copyright: 2009-2018, Arne Blankerts +Copyright: 2009-2019, Arne Blankerts Reiner Zufall License: BSD-3-clause @@ -12,6 +12,10 @@ Copyright: 2008, fCMS Development Team License: fpl-1.1 +Files: templates/html/static/css/SourceSansPro-Regular.ttf +Copyright: 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/) +License: OFL-1.1 + License: BSD-3-clause Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -93,3 +97,95 @@ the freepoint public license, please contact contact@fcms.de . Read more about this license at http://fcms.de/en/site/license/ + +License: OFL-1.1 + Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), + with Reserved Font Name ‘Source’. All Rights Reserved. Source is + a trademark of Adobe Systems Incorporated in the United States and/or + other countries. + . + –––––––––––––––––––––––––––––––––––––––––––––––––––– + SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 + –––––––––––––––––––––––––––––––––––––––––––––––––––– + . + PREAMBLE + The goals of the Open Font License (OFL) are to stimulate worldwide + development of collaborative font projects, to support the font + creation efforts of academic and linguistic communities, and to provide + a free and open framework in which fonts may be shared and improved in + partnership with others. + . + The OFL allows the licensed fonts to be used, studied, modified and + redistributed freely as long as they are not sold by themselves. The + fonts, including any derivative works, can be bundled, embedded, + redistributed and/or sold with any software provided that any reserved + names are not used by derivative works. The fonts and derivatives, + however, cannot be released under any other type of license. The + requirement for fonts to remain under this license does not apply to + any document created using the fonts or their derivatives. + . + DEFINITIONS + “Font Software” refers to the set of files released by the Copyright + Holder(s) under this license and clearly marked as such. This may + include source files, build scripts and documentation. + . + “Reserved Font Name” refers to any names specified as such after the + copyright statement(s). + . + “Original Version” refers to the collection of Font Software components + as distributed by the Copyright Holder(s). + . + “Modified Version” refers to any derivative made by adding to, + deleting, or substituting—in part or in whole—any of the components of + the Original Version, by changing formats or by porting the Font + Software to a new environment. + . + “Author” refers to any designer, engineer, programmer, technical writer + or other person who contributed to the Font Software. + . + PERMISSION & CONDITIONS + Permission is hereby granted, free of charge, to any person obtaining a + copy of the Font Software, to use, study, copy, merge, embed, modify, + redistribute, and sell modified and unmodified copies of the Font + Software, subject to the following conditions: + . + 1) Neither the Font Software nor any of its individual components, in + Original or Modified Versions, may be sold by itself. + . + 2) Original or Modified Versions of the Font Software may be bundled, + redistributed and/or sold with any software, provided that each copy + contains the above copyright notice and this license. These can be + included either as stand-alone text files, human-readable headers or in + the appropriate machine-readable metadata fields within text or binary + files as long as those fields can be easily viewed by the user. + . + 3) No Modified Version of the Font Software may use the Reserved Font + Name(s) unless explicit written permission is granted by the + corresponding Copyright Holder. This restriction only applies to the + primary font name as presented to the users. + . + 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + Software shall not be used to promote, endorse or advertise any + Modified Version, except to acknowledge the contribution(s) of the + Copyright Holder(s) and the Author(s) or with their explicit written + permission. + . + 5) The Font Software, modified or unmodified, in part or in whole, must + be distributed entirely under this license, and must not be distributed + under any other license. The requirement for fonts to remain under this + license does not apply to any document created using the Font Software. + . + TERMINATION + This license becomes null and void if any of the above conditions are + not met. + . + DISCLAIMER + THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + OTHER DEALINGS IN THE FONT SOFTWARE. diff -Nru phpdox-0.11.2/debian/links phpdox-0.12.0/debian/links --- phpdox-0.11.2/debian/links 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/debian/links 2019-08-10 01:53:10.000000000 +0000 @@ -0,0 +1 @@ +usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf usr/share/php/TheSeer/phpDox/templates/html/static/css/SourceSansPro-Regular.ttf diff -Nru phpdox-0.11.2/debian/patches/0001-Load-dependencies-from-autoload.php.patch phpdox-0.12.0/debian/patches/0001-Load-dependencies-from-autoload.php.patch --- phpdox-0.11.2/debian/patches/0001-Load-dependencies-from-autoload.php.patch 2018-05-10 00:43:54.000000000 +0000 +++ phpdox-0.12.0/debian/patches/0001-Load-dependencies-from-autoload.php.patch 2019-08-10 01:53:10.000000000 +0000 @@ -8,7 +8,7 @@ 1 file changed, 7 insertions(+) diff --git a/src/autoload.php b/src/autoload.php -index d559291..bd5fa82 100644 +index e547ffb..f88472b 100644 --- a/src/autoload.php +++ b/src/autoload.php @@ -1,4 +1,11 @@ @@ -17,8 +17,8 @@ +require_once 'TheSeer/fDOMDocument/autoload.php'; +require_once 'TheSeer/DirectoryScanner/autoload.php'; +require_once 'TheSeer/fXSL/autoload.php'; -+require_once 'PHP/Timer.php'; -+require_once 'PhpParser/bootstrap.php'; ++require_once 'SebastianBergmann/Timer/autoload.php'; ++require_once 'PhpParser/autoload.php'; + // @codingStandardsIgnoreFile // @codeCoverageIgnoreStart diff -Nru phpdox-0.11.2/debian/patches/0002-Adapt-to-actual-autoload.php.patch phpdox-0.12.0/debian/patches/0002-Adapt-to-actual-autoload.php.patch --- phpdox-0.11.2/debian/patches/0002-Adapt-to-actual-autoload.php.patch 2018-05-10 00:43:54.000000000 +0000 +++ phpdox-0.12.0/debian/patches/0002-Adapt-to-actual-autoload.php.patch 2019-08-10 01:53:10.000000000 +0000 @@ -8,7 +8,7 @@ 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/phpdox b/phpdox -index 0e76af5..ba49b93 100755 +index 63a7b0c..b5694c6 100755 --- a/phpdox +++ b/phpdox @@ -1,4 +1,4 @@ @@ -16,7 +16,7 @@ +#!/usr/bin/php + * Copyright (c) 2010-2019 Arne Blankerts @@ -40,24 +40,7 @@ * */ diff -Nru phpdox-0.11.2/debian/patches/0003-Adpapt-to-actual-templates-path.patch phpdox-0.12.0/debian/patches/0003-Adpapt-to-actual-templates-path.patch --- phpdox-0.11.2/debian/patches/0003-Adpapt-to-actual-templates-path.patch 2018-05-10 00:43:54.000000000 +0000 +++ phpdox-0.12.0/debian/patches/0003-Adpapt-to-actual-templates-path.patch 2019-08-10 01:53:10.000000000 +0000 @@ -8,15 +8,15 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generator/engine/html/HtmlConfig.php b/src/generator/engine/html/HtmlConfig.php -index 6c5cc7e..a368080 100644 +index efd0431..cb3cfce 100644 --- a/src/generator/engine/html/HtmlConfig.php +++ b/src/generator/engine/html/HtmlConfig.php -@@ -39,7 +39,7 @@ namespace TheSeer\phpDox\Generator\Engine { - class HtmlConfig extends \TheSeer\phpDox\BuildConfig { +@@ -3,7 +3,7 @@ namespace TheSeer\phpDox\Generator\Engine; + + class HtmlConfig extends \TheSeer\phpDox\BuildConfig { + public function getTemplateDirectory() { +- $default = $this->getGeneratorConfig()->getProjectConfig()->getHomeDirectory()->getPathname(); ++ $default = '/usr/share/php/TheSeer/phpDox'; + $default .= '/templates/html'; + $node = $this->ctx->queryOne('cfg:template'); - public function getTemplateDirectory() { -- $default = $this->getGeneratorConfig()->getProjectConfig()->getHomeDirectory()->getPathname(); -+ $default = '/usr/share/php/TheSeer/phpDox'; - $default .= '/templates/html'; - $node = $this->ctx->queryOne('cfg:template'); - if (!$node) { diff -Nru phpdox-0.11.2/debian/patches/0004-Adapt-upstream-build-system-to-Debian-expectations.patch phpdox-0.12.0/debian/patches/0004-Adapt-upstream-build-system-to-Debian-expectations.patch --- phpdox-0.11.2/debian/patches/0004-Adapt-upstream-build-system-to-Debian-expectations.patch 2018-05-10 00:43:54.000000000 +0000 +++ phpdox-0.12.0/debian/patches/0004-Adapt-upstream-build-system-to-Debian-expectations.patch 2019-08-10 01:53:10.000000000 +0000 @@ -5,11 +5,11 @@ Forwarded: not-needed --- build.xml | 17 ++++++++++------- - tests/bootstrap.php | 1 - - 2 files changed, 10 insertions(+), 8 deletions(-) + tests/bootstrap.php | 2 -- + 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/build.xml b/build.xml -index 1b2097a..c666daf 100644 +index 9fa1aa4..cb7ffc1 100644 --- a/build.xml +++ b/build.xml @@ -2,12 +2,15 @@ @@ -67,19 +67,20 @@ -@@ -151,5 +154,5 @@ +@@ -167,5 +170,5 @@ + - - + diff --git a/tests/bootstrap.php b/tests/bootstrap.php -index d2587ef..6d8a24a 100644 +index a6e12e2..410e4b1 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php -@@ -37,4 +37,3 @@ - */ +@@ -1,5 +1,3 @@ + +Date: Sun, 17 Mar 2019 17:13:47 -1000 +Subject: Declare SOURCE_DATE_EPOCH as an integer + +Forwarded: https://github.com/theseer/phpdox/pull/355 +--- + src/shared/Version.php | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/Version.php b/src/shared/Version.php +index a5f0619..ca4deb1 100644 +--- a/src/shared/Version.php ++++ b/src/shared/Version.php +@@ -29,7 +29,7 @@ class Version { + } + + public function getInfoString() { +- return 'phpDox ' . $this->getVersion() . ' - Copyright (C) 2010 - ' . \date('Y', \getenv('SOURCE_DATE_EPOCH') ?: \time()) . ' by Arne Blankerts and Contributors'; ++ return 'phpDox ' . $this->getVersion() . ' - Copyright (C) 2010 - ' . \date('Y', (int)\getenv('SOURCE_DATE_EPOCH') ?: \time()) . ' by Arne Blankerts and Contributors'; + } + + public function getGeneratedByString() { diff -Nru phpdox-0.11.2/debian/patches/0005-Use-php-timer-2.patch phpdox-0.12.0/debian/patches/0005-Use-php-timer-2.patch --- phpdox-0.11.2/debian/patches/0005-Use-php-timer-2.patch 2018-05-10 00:43:54.000000000 +0000 +++ phpdox-0.12.0/debian/patches/0005-Use-php-timer-2.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,59 +0,0 @@ -From: =?utf-8?q?David_Pr=C3=A9vot?= -Date: Thu, 8 Mar 2018 09:14:16 -1000 -Subject: Use php-timer (>= 2) - -Bug: https://github.com/theseer/phpdox/pull/326 ---- - composer.json | 2 +- - src/autoload.php | 2 +- - src/logger/ShellProgressLogger.php | 4 +++- - 3 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/composer.json b/composer.json -index 512a198..a9f3973 100644 ---- a/composer.json -+++ b/composer.json -@@ -23,7 +23,7 @@ - "theseer/fdomdocument": "^1.6", - "theseer/directoryscanner" : "^1.3.0", - "theseer/fxsl" : "^1.1", -- "phpunit/php-timer" : "^1.0", -+ "phpunit/php-timer" : "^2.0", - "nikic/php-parser" : "^3.1" - }, - "autoload": { -diff --git a/src/autoload.php b/src/autoload.php -index bd5fa82..4072c6a 100644 ---- a/src/autoload.php -+++ b/src/autoload.php -@@ -3,7 +3,7 @@ - require_once 'TheSeer/fDOMDocument/autoload.php'; - require_once 'TheSeer/DirectoryScanner/autoload.php'; - require_once 'TheSeer/fXSL/autoload.php'; --require_once 'PHP/Timer.php'; -+require_once 'SebastianBergmann/Timer/autoload.php'; - require_once 'PhpParser/bootstrap.php'; - - // @codingStandardsIgnoreFile -diff --git a/src/logger/ShellProgressLogger.php b/src/logger/ShellProgressLogger.php -index 1100e04..c771896 100644 ---- a/src/logger/ShellProgressLogger.php -+++ b/src/logger/ShellProgressLogger.php -@@ -37,6 +37,8 @@ - */ - namespace TheSeer\phpDox { - -+use SebastianBergmann\Timer\Timer; -+ - /** - * Shell output based logger - */ -@@ -128,7 +130,7 @@ namespace TheSeer\phpDox { - */ - public function buildSummary() { - echo "\n\n"; -- echo \PHP_Timer::resourceUsage(); -+ echo Timer::resourceUsage(); - echo "\n\n"; - } - diff -Nru phpdox-0.11.2/debian/patches/0006-Compatibility-with-recent-PHPUnit-8.patch phpdox-0.12.0/debian/patches/0006-Compatibility-with-recent-PHPUnit-8.patch --- phpdox-0.11.2/debian/patches/0006-Compatibility-with-recent-PHPUnit-8.patch 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/debian/patches/0006-Compatibility-with-recent-PHPUnit-8.patch 2019-08-10 01:53:10.000000000 +0000 @@ -0,0 +1,35 @@ +From: =?utf-8?q?David_Pr=C3=A9vot?= +Date: Fri, 9 Aug 2019 16:18:56 -1000 +Subject: Compatibility with recent PHPUnit (8) + +--- + tests/Unit/DirectoryCleanerTest.php | 2 +- + tests/Unit/config/GlobalConfigTest.php | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/Unit/DirectoryCleanerTest.php b/tests/Unit/DirectoryCleanerTest.php +index 719ea47..1c96f60 100644 +--- a/tests/Unit/DirectoryCleanerTest.php ++++ b/tests/Unit/DirectoryCleanerTest.php +@@ -13,7 +13,7 @@ class DirectoryCleanerTest extends \PHPUnit\Framework\TestCase { + + /** + * @expectedException \TheSeer\phpDox\DirectoryCleanerException +- * @expectedExceptionCode \TheSeer\phpDox\DirectoryCleanerException::SecurityLimitation ++ * @expectedException \TheSeer\phpDox\DirectoryCleanerException::SecurityLimitation + */ + public function testTryingToDeleteAShortPathThrowsException(): void { + $this->cleaner->process(new FileInfo('/tmp')); +diff --git a/tests/Unit/config/GlobalConfigTest.php b/tests/Unit/config/GlobalConfigTest.php +index 2103449..a7d640b 100644 +--- a/tests/Unit/config/GlobalConfigTest.php ++++ b/tests/Unit/config/GlobalConfigTest.php +@@ -42,7 +42,7 @@ class GlobalConfigTest extends \PHPUnit\Framework\TestCase { + + /** + * @expectedException \TheSeer\phpDox\ConfigException +- * @expectedExceptionCode \TheSeer\phpDox\ConfigException::InvalidDataStructure ++ * @expectedException \TheSeer\phpDox\ConfigException::InvalidDataStructure + */ + public function testTryingToLoadInvalidConfigThrowsException(): void { + $this->init('broken'); diff -Nru phpdox-0.11.2/debian/patches/series phpdox-0.12.0/debian/patches/series --- phpdox-0.11.2/debian/patches/series 2018-05-10 00:43:54.000000000 +0000 +++ phpdox-0.12.0/debian/patches/series 2019-08-10 01:53:10.000000000 +0000 @@ -2,4 +2,5 @@ 0002-Adapt-to-actual-autoload.php.patch 0003-Adpapt-to-actual-templates-path.patch 0004-Adapt-upstream-build-system-to-Debian-expectations.patch -0005-Use-php-timer-2.patch +0005-Declare-SOURCE_DATE_EPOCH-as-an-integer.patch +0006-Compatibility-with-recent-PHPUnit-8.patch diff -Nru phpdox-0.11.2/debian/rules phpdox-0.12.0/debian/rules --- phpdox-0.11.2/debian/rules 2018-01-23 08:17:07.000000000 +0000 +++ phpdox-0.12.0/debian/rules 2019-08-10 01:46:40.000000000 +0000 @@ -17,6 +17,3 @@ ../../bin/phpdox \ > $(CURDIR)/debian/tmp/phpdox.1 dh_installman - -get-orig-source: - uscan --rename --verbose --force diff -Nru phpdox-0.11.2/debian/tests/control phpdox-0.12.0/debian/tests/control --- phpdox-0.11.2/debian/tests/control 2017-08-04 15:17:21.000000000 +0000 +++ phpdox-0.12.0/debian/tests/control 2019-08-10 01:53:10.000000000 +0000 @@ -1,2 +1,2 @@ Test-Command: phpunit --bootstrap /usr/share/php/TheSeer/phpDox/autoload.php -Depends: @, phpunit +Depends: phpunit, @ diff -Nru phpdox-0.11.2/debian/upstream/metadata phpdox-0.12.0/debian/upstream/metadata --- phpdox-0.11.2/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/debian/upstream/metadata 2019-08-10 01:53:10.000000000 +0000 @@ -0,0 +1,2 @@ +Name: phpDox +Contact: Arne Blankerts diff -Nru phpdox-0.11.2/debian/watch phpdox-0.12.0/debian/watch --- phpdox-0.11.2/debian/watch 2017-08-04 15:17:21.000000000 +0000 +++ phpdox-0.12.0/debian/watch 2019-08-10 01:53:10.000000000 +0000 @@ -1,5 +1,5 @@ version=3 # The PEAR package just embeds a PHAR -# http://pear.netpirates.net/ http://pear.netpirates.net/get/phpDox-([\d\.]+).tgz -options=uversionmangle=s/A/~alpha/i;s/B/~beta/i;s/RC/~rc/i \ +# https://pear.netpirates.net/ https://pear.netpirates.net/get/phpDox-([\d\.]+).tgz +options=uversionmangle=s/-?([^\d.]+)/~$1/;tr/A-Z/a-z/;s/dev/~dev/ \ https://github.com/theseer/phpdox/releases .*/archive/(.*).tar.gz diff -Nru phpdox-0.11.2/dependencies/php/classes/ArgumentCountError.xml phpdox-0.12.0/dependencies/php/classes/ArgumentCountError.xml --- phpdox-0.11.2/dependencies/php/classes/ArgumentCountError.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ArgumentCountError.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,86 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ArithmeticError.xml phpdox-0.12.0/dependencies/php/classes/ArithmeticError.xml --- phpdox-0.11.2/dependencies/php/classes/ArithmeticError.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ArithmeticError.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,34 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/ArrayIterator.xml phpdox-0.12.0/dependencies/php/classes/ArrayIterator.xml --- phpdox-0.11.2/dependencies/php/classes/ArrayIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ArrayIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,16 @@ + + + + + + + + + + @@ -42,7 +52,7 @@ - + @@ -79,31 +89,31 @@ - + - + - + - - + + - + @@ -133,17 +143,17 @@ - + This method sorts the elements such that indices maintain their correlation with the values they are associated with, using a user-defined comparison function. - + - + This method sorts the elements by keys using a user-supplied comparison function. - + diff -Nru phpdox-0.11.2/dependencies/php/classes/ArrayObject.xml phpdox-0.12.0/dependencies/php/classes/ArrayObject.xml --- phpdox-0.11.2/dependencies/php/classes/ArrayObject.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ArrayObject.xml 2019-03-13 09:34:17.000000000 +0000 @@ -41,20 +41,20 @@ - + - + - + @@ -66,7 +66,7 @@ - + @@ -125,14 +125,14 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/AssertionError.xml phpdox-0.12.0/dependencies/php/classes/AssertionError.xml --- phpdox-0.11.2/dependencies/php/classes/AssertionError.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/AssertionError.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,34 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/CachingIterator.xml phpdox-0.12.0/dependencies/php/classes/CachingIterator.xml --- phpdox-0.11.2/dependencies/php/classes/CachingIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CachingIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -33,7 +33,7 @@ - + @@ -92,7 +92,7 @@ - + @@ -106,8 +106,8 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoContext.xml phpdox-0.12.0/dependencies/php/classes/CairoContext.xml --- phpdox-0.11.2/dependencies/php/classes/CairoContext.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoContext.xml 2019-03-13 09:34:17.000000000 +0000 @@ -274,48 +274,48 @@ Object oriented style (method): - - + + Object oriented style (method): - - + + Object oriented style (method): - - + + Object oriented style (method): - + Object oriented style (method): - - - + + + Object oriented style (method): - - + + @@ -340,7 +340,7 @@ Object oriented style (method): - + @@ -371,45 +371,45 @@ Object oriented style (method): - + Object oriented style (method): - - - - + + + + Object oriented style (method): - - - - - - + + + + + + Object oriented style (method): - - + + Object oriented style (method): - - + + @@ -428,7 +428,7 @@ Object oriented style (method): - + @@ -441,8 +441,8 @@ Object oriented style (method): - - + + @@ -450,30 +450,30 @@ - - + + Object oriented style (method): - + Object oriented style (method): - - + + Object oriented style (method): - + @@ -487,112 +487,112 @@ Object oriented style (method): - + Object oriented style (method): - + Object oriented style (method): - + Object oriented style (method): - + Object oriented style (method): - + Object oriented style (method): - + Object oriented style (method): - + Object oriented style (method): - + Object oriented style (method): - + Object oriented style (method): - + Object oriented style (method): - + Object oriented style (method): - - - + + + Object oriented style (method): - - - - + + + + Object oriented style (method): - - - + + + Object oriented style (method): - + @@ -650,30 +650,30 @@ Object oriented style (method): - + Object oriented style (method): - - + + Object oriented style (method): - - + + Object oriented style (method): - - + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoFontFace.xml phpdox-0.12.0/dependencies/php/classes/CairoFontFace.xml --- phpdox-0.11.2/dependencies/php/classes/CairoFontFace.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoFontFace.xml 2019-03-13 09:34:17.000000000 +0000 @@ -8,7 +8,7 @@ - + Object oriented style (method): diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoFontOptions.xml phpdox-0.12.0/dependencies/php/classes/CairoFontOptions.xml --- phpdox-0.11.2/dependencies/php/classes/CairoFontOptions.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoFontOptions.xml 2019-03-13 09:34:17.000000000 +0000 @@ -11,7 +11,7 @@ - + @@ -48,35 +48,35 @@ - + Object oriented style (method): - + - + - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoGradientPattern.xml phpdox-0.12.0/dependencies/php/classes/CairoGradientPattern.xml --- phpdox-0.11.2/dependencies/php/classes/CairoGradientPattern.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoGradientPattern.xml 2019-03-13 09:34:17.000000000 +0000 @@ -6,21 +6,21 @@ - - - - + + + + - - - - - + + + + + @@ -33,7 +33,7 @@ - + @@ -71,7 +71,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoImageSurface.xml phpdox-0.12.0/dependencies/php/classes/CairoImageSurface.xml --- phpdox-0.11.2/dependencies/php/classes/CairoImageSurface.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoImageSurface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -19,7 +19,6 @@ - @@ -127,26 +126,26 @@ - - - - + + + + - - + + - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoLinearGradient.xml phpdox-0.12.0/dependencies/php/classes/CairoLinearGradient.xml --- phpdox-0.11.2/dependencies/php/classes/CairoLinearGradient.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoLinearGradient.xml 2019-03-13 09:34:17.000000000 +0000 @@ -22,21 +22,21 @@ - - - - + + + + - - - - - + + + + + @@ -49,7 +49,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoMatrix.xml phpdox-0.12.0/dependencies/php/classes/CairoMatrix.xml --- phpdox-0.11.2/dependencies/php/classes/CairoMatrix.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoMatrix.xml 2019-03-13 09:34:17.000000000 +0000 @@ -60,8 +60,7 @@ Object oriented style (method): - - + @@ -76,23 +75,23 @@ - - + + - - + + Object oriented style (method): - - + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoPattern.xml phpdox-0.12.0/dependencies/php/classes/CairoPattern.xml --- phpdox-0.11.2/dependencies/php/classes/CairoPattern.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoPattern.xml 2019-03-13 09:34:17.000000000 +0000 @@ -23,7 +23,7 @@ Object oriented style (method): - + diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoPdfSurface.xml phpdox-0.12.0/dependencies/php/classes/CairoPdfSurface.xml --- phpdox-0.11.2/dependencies/php/classes/CairoPdfSurface.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoPdfSurface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -15,8 +15,8 @@ - - + + @@ -87,26 +87,26 @@ - - - - + + + + - - + + - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoPsSurface.xml phpdox-0.12.0/dependencies/php/classes/CairoPsSurface.xml --- phpdox-0.11.2/dependencies/php/classes/CairoPsSurface.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoPsSurface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -53,22 +53,22 @@ - + - + - - + + @@ -139,26 +139,26 @@ - - - - + + + + - - + + - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoRadialGradient.xml phpdox-0.12.0/dependencies/php/classes/CairoRadialGradient.xml --- phpdox-0.11.2/dependencies/php/classes/CairoRadialGradient.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoRadialGradient.xml 2019-03-13 09:34:17.000000000 +0000 @@ -24,21 +24,21 @@ - - - - + + + + - - - - - + + + + + @@ -51,7 +51,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoScaledFont.xml phpdox-0.12.0/dependencies/php/classes/CairoScaledFont.xml --- phpdox-0.11.2/dependencies/php/classes/CairoScaledFont.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoScaledFont.xml 2019-03-13 09:34:17.000000000 +0000 @@ -57,7 +57,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoSolidPattern.xml phpdox-0.12.0/dependencies/php/classes/CairoSolidPattern.xml --- phpdox-0.11.2/dependencies/php/classes/CairoSolidPattern.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoSolidPattern.xml 2019-03-13 09:34:17.000000000 +0000 @@ -40,7 +40,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoSurfacePattern.xml phpdox-0.12.0/dependencies/php/classes/CairoSurfacePattern.xml --- phpdox-0.11.2/dependencies/php/classes/CairoSurfacePattern.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoSurfacePattern.xml 2019-03-13 09:34:17.000000000 +0000 @@ -38,7 +38,7 @@ - + @@ -63,7 +63,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoSurface.xml phpdox-0.12.0/dependencies/php/classes/CairoSurface.xml --- phpdox-0.11.2/dependencies/php/classes/CairoSurface.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoSurface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -69,26 +69,26 @@ - - - - + + + + - - + + - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/CairoSvgSurface.xml phpdox-0.12.0/dependencies/php/classes/CairoSvgSurface.xml --- phpdox-0.11.2/dependencies/php/classes/CairoSvgSurface.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CairoSvgSurface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -21,7 +21,7 @@ - + @@ -99,26 +99,26 @@ - - - - + + + + - - + + - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/CallbackFilterIterator.xml phpdox-0.12.0/dependencies/php/classes/CallbackFilterIterator.xml --- phpdox-0.11.2/dependencies/php/classes/CallbackFilterIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CallbackFilterIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -12,7 +12,7 @@ This method calls the callback with the current value, current key and the inner iterator. - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Closure.xml phpdox-0.12.0/dependencies/php/classes/Closure.xml --- phpdox-0.11.2/dependencies/php/classes/Closure.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Closure.xml 2019-03-13 09:34:17.000000000 +0000 @@ -33,7 +33,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_CQL.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_CQL.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_CQL.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_CQL.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Interfaces_IVisitor.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Interfaces_IVisitor.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Interfaces_IVisitor.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Interfaces_IVisitor.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_BlockQuote.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_BlockQuote.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_BlockQuote.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_BlockQuote.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,106 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_BulletList.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_BulletList.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_BulletList.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_BulletList.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,139 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_CodeBlock.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_CodeBlock.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_CodeBlock.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_CodeBlock.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,139 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Code.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Code.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Code.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Code.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,125 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_CustomBlock.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_CustomBlock.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_CustomBlock.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_CustomBlock.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,118 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_CustomInline.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_CustomInline.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_CustomInline.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_CustomInline.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,118 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Document.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Document.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Document.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Document.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,106 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Heading.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Heading.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Heading.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Heading.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,125 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_HTMLBlock.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_HTMLBlock.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_HTMLBlock.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_HTMLBlock.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,125 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_HTMLInline.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_HTMLInline.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_HTMLInline.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_HTMLInline.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,125 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Image.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Image.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Image.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Image.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,139 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Item.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Item.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Item.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Item.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,106 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_LineBreak.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_LineBreak.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_LineBreak.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_LineBreak.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,106 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Link.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Link.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Link.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Link.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,139 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_OrderedList.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_OrderedList.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_OrderedList.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_OrderedList.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,154 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Paragraph.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Paragraph.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Paragraph.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Paragraph.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,106 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_SoftBreak.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_SoftBreak.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_SoftBreak.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_SoftBreak.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,106 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Text_Emphasis.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Text_Emphasis.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Text_Emphasis.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Text_Emphasis.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,106 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Text_Strong.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Text_Strong.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Text_Strong.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Text_Strong.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,106 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Text.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Text.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_Text.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_Text.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,125 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_ThematicBreak.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_ThematicBreak.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node_ThematicBreak.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node_ThematicBreak.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,106 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Node.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Node.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Node.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Node.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,106 @@ + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CommonMark_Parser.xml phpdox-0.12.0/dependencies/php/classes/CommonMark_Parser.xml --- phpdox-0.11.2/dependencies/php/classes/CommonMark_Parser.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CommonMark_Parser.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/CompileError.xml phpdox-0.12.0/dependencies/php/classes/CompileError.xml --- phpdox-0.11.2/dependencies/php/classes/CompileError.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/CompileError.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,86 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Componere_Abstract_Definition.xml phpdox-0.12.0/dependencies/php/classes/Componere_Abstract_Definition.xml --- phpdox-0.11.2/dependencies/php/classes/Componere_Abstract_Definition.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Componere_Abstract_Definition.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Componere_Definition.xml phpdox-0.12.0/dependencies/php/classes/Componere_Definition.xml --- phpdox-0.11.2/dependencies/php/classes/Componere_Definition.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Componere_Definition.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Componere_Method.xml phpdox-0.12.0/dependencies/php/classes/Componere_Method.xml --- phpdox-0.11.2/dependencies/php/classes/Componere_Method.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Componere_Method.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Componere_Patch.xml phpdox-0.12.0/dependencies/php/classes/Componere_Patch.xml --- phpdox-0.11.2/dependencies/php/classes/Componere_Patch.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Componere_Patch.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Componere_Value.xml phpdox-0.12.0/dependencies/php/classes/Componere_Value.xml --- phpdox-0.11.2/dependencies/php/classes/Componere_Value.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Componere_Value.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Cond.xml phpdox-0.12.0/dependencies/php/classes/Cond.xml --- phpdox-0.11.2/dependencies/php/classes/Cond.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Cond.xml 2019-03-13 09:34:17.000000000 +0000 @@ -3,37 +3,37 @@ - + - + - + - + - + - + - + - + - - - + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Counter.xml phpdox-0.12.0/dependencies/php/classes/Counter.xml --- phpdox-0.11.2/dependencies/php/classes/Counter.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Counter.xml 2019-03-13 09:34:17.000000000 +0000 @@ -2,49 +2,49 @@ - + - - + + - - + + - + - + - + - + - + - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DatePeriod.xml phpdox-0.12.0/dependencies/php/classes/DatePeriod.xml --- phpdox-0.11.2/dependencies/php/classes/DatePeriod.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DatePeriod.xml 2019-03-13 09:34:17.000000000 +0000 @@ -6,6 +6,48 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/DateTimeImmutable.xml phpdox-0.12.0/dependencies/php/classes/DateTimeImmutable.xml --- phpdox-0.11.2/dependencies/php/classes/DateTimeImmutable.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DateTimeImmutable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Object oriented style @@ -78,10 +138,11 @@ + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DateTime.xml phpdox-0.12.0/dependencies/php/classes/DateTime.xml --- phpdox-0.11.2/dependencies/php/classes/DateTime.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DateTime.xml 2019-03-13 09:34:17.000000000 +0000 @@ -46,6 +46,11 @@ + + + + + @@ -126,6 +131,7 @@ + diff -Nru phpdox-0.11.2/dependencies/php/classes/DirectoryIterator.xml phpdox-0.12.0/dependencies/php/classes/DirectoryIterator.xml --- phpdox-0.11.2/dependencies/php/classes/DirectoryIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DirectoryIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -10,7 +10,7 @@ - + @@ -22,7 +22,7 @@ - + @@ -41,7 +41,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DivisionByZeroError.xml phpdox-0.12.0/dependencies/php/classes/DivisionByZeroError.xml --- phpdox-0.11.2/dependencies/php/classes/DivisionByZeroError.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DivisionByZeroError.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,34 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMAttr.xml phpdox-0.12.0/dependencies/php/classes/DOMAttr.xml --- phpdox-0.11.2/dependencies/php/classes/DOMAttr.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMAttr.xml 2019-03-13 09:34:17.000000000 +0000 @@ -36,6 +36,118 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + @@ -139,7 +251,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMCdataSection.xml phpdox-0.12.0/dependencies/php/classes/DOMCdataSection.xml --- phpdox-0.11.2/dependencies/php/classes/DOMCdataSection.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMCdataSection.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,139 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + @@ -8,6 +141,12 @@ + + + + + + @@ -21,4 +160,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMCharacterData.xml phpdox-0.12.0/dependencies/php/classes/DOMCharacterData.xml --- phpdox-0.11.2/dependencies/php/classes/DOMCharacterData.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMCharacterData.xml 2019-03-13 09:34:17.000000000 +0000 @@ -15,14 +15,126 @@ - + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + - + @@ -30,7 +142,7 @@ - + @@ -38,7 +150,7 @@ - + @@ -47,7 +159,7 @@ - + @@ -144,7 +256,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMComment.xml phpdox-0.12.0/dependencies/php/classes/DOMComment.xml --- phpdox-0.11.2/dependencies/php/classes/DOMComment.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMComment.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,132 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + @@ -8,14 +134,14 @@ - + - + @@ -23,7 +149,7 @@ - + @@ -31,7 +157,7 @@ - + @@ -40,7 +166,7 @@ - + @@ -137,7 +263,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMDocumentFragment.xml phpdox-0.12.0/dependencies/php/classes/DOMDocumentFragment.xml --- phpdox-0.11.2/dependencies/php/classes/DOMDocumentFragment.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMDocumentFragment.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,118 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + Appends raw XML data to a DOMDocumentFragment. @@ -97,7 +209,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMDocumentType.xml phpdox-0.12.0/dependencies/php/classes/DOMDocumentType.xml --- phpdox-0.11.2/dependencies/php/classes/DOMDocumentType.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMDocumentType.xml 2019-03-13 09:34:17.000000000 +0000 @@ -43,6 +43,118 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + @@ -132,7 +244,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMDocument.xml phpdox-0.12.0/dependencies/php/classes/DOMDocument.xml --- phpdox-0.11.2/dependencies/php/classes/DOMDocument.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMDocument.xml 2019-03-13 09:34:17.000000000 +0000 @@ -134,6 +134,118 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + @@ -454,7 +566,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMElement.xml phpdox-0.12.0/dependencies/php/classes/DOMElement.xml --- phpdox-0.11.2/dependencies/php/classes/DOMElement.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMElement.xml 2019-03-13 09:34:17.000000000 +0000 @@ -15,6 +15,118 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + @@ -251,7 +363,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMEntityReference.xml phpdox-0.12.0/dependencies/php/classes/DOMEntityReference.xml --- phpdox-0.11.2/dependencies/php/classes/DOMEntityReference.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMEntityReference.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,118 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + @@ -97,7 +209,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMEntity.xml phpdox-0.12.0/dependencies/php/classes/DOMEntity.xml --- phpdox-0.11.2/dependencies/php/classes/DOMEntity.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMEntity.xml 2019-03-13 09:34:17.000000000 +0000 @@ -43,6 +43,118 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + @@ -132,7 +244,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMException.xml phpdox-0.12.0/dependencies/php/classes/DOMException.xml --- phpdox-0.11.2/dependencies/php/classes/DOMException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -8,6 +8,34 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMNamedNodeMap.xml phpdox-0.12.0/dependencies/php/classes/DOMNamedNodeMap.xml --- phpdox-0.11.2/dependencies/php/classes/DOMNamedNodeMap.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMNamedNodeMap.xml 2019-03-13 09:34:17.000000000 +0000 @@ -8,6 +8,12 @@ + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMNodeList.xml phpdox-0.12.0/dependencies/php/classes/DOMNodeList.xml --- phpdox-0.11.2/dependencies/php/classes/DOMNodeList.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMNodeList.xml 2019-03-13 09:34:17.000000000 +0000 @@ -8,10 +8,16 @@ + + + + + + Retrieves a node specified by index within the DOMNodeList object. - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMNode.xml phpdox-0.12.0/dependencies/php/classes/DOMNode.xml --- phpdox-0.11.2/dependencies/php/classes/DOMNode.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMNode.xml 2019-03-13 09:34:17.000000000 +0000 @@ -201,7 +201,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMNotation.xml phpdox-0.12.0/dependencies/php/classes/DOMNotation.xml --- phpdox-0.11.2/dependencies/php/classes/DOMNotation.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMNotation.xml 2019-03-13 09:34:17.000000000 +0000 @@ -15,6 +15,118 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + @@ -104,7 +216,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMProcessingInstruction.xml phpdox-0.12.0/dependencies/php/classes/DOMProcessingInstruction.xml --- phpdox-0.11.2/dependencies/php/classes/DOMProcessingInstruction.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMProcessingInstruction.xml 2019-03-13 09:34:17.000000000 +0000 @@ -15,6 +15,118 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + @@ -112,7 +224,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/DOMText.xml phpdox-0.12.0/dependencies/php/classes/DOMText.xml --- phpdox-0.11.2/dependencies/php/classes/DOMText.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/DOMText.xml 2019-03-13 09:34:17.000000000 +0000 @@ -8,6 +8,132 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + @@ -15,6 +141,12 @@ + + + + + + @@ -28,6 +160,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -117,7 +289,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Ds_Deque.xml phpdox-0.12.0/dependencies/php/classes/Ds_Deque.xml --- phpdox-0.11.2/dependencies/php/classes/Ds_Deque.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Ds_Deque.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -8,73 +8,73 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -88,47 +88,47 @@ - + - + - + - + - + - + - + @@ -136,33 +136,33 @@ - + - + - + - + - + @@ -170,13 +170,13 @@ - + - + @@ -184,33 +184,33 @@ - + - + - Returns the sum of all values in the deque. + Returns the sum of all values in the deque. - Converts the deque to an array. + Converts the deque to an array. - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Ds_Map.xml phpdox-0.12.0/dependencies/php/classes/Ds_Map.xml --- phpdox-0.11.2/dependencies/php/classes/Ds_Map.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Ds_Map.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -8,59 +8,59 @@ - + - + - + - + - + - Returns the result of removing all keys from the current instance that are present in a given map. + Returns the result of removing all keys from the current instance that are present in a given map. - + - + - Returns the value for a given key, or an optional default value if the key could not be found. + Returns the value for a given key, or an optional default value if the key could not be found. @@ -68,21 +68,21 @@ - + - + - Creates a new map containing the pairs of the current instance whose keys are also present in the given map. In other words, returns a copy of the current instance with all keys removed that are not also in the other map. + Creates a new map containing the pairs of the current instance whose keys are also present in the given map. In other words, returns a copy of the current instance with all keys removed that are not also in the other map. @@ -95,53 +95,53 @@ - + - + - + - + - + - Returns the result of associating all keys of a given traversable object or array with their corresponding values, combined with the current instance. + Returns the result of associating all keys of a given traversable object or array with their corresponding values, combined with the current instance. - + - Associates a key with a value, overwriting a previous association if one exists. + Associates a key with a value, overwriting a previous association if one exists. @@ -149,14 +149,14 @@ - Associates all key-value pairs of a traversable object or array. + Associates all key-value pairs of a traversable object or array. - + @@ -164,7 +164,7 @@ - Removes and returns a value by key, or return an optional default value if the key could not be found. + Removes and returns a value by key, or return an optional default value if the key could not be found. @@ -172,26 +172,26 @@ - + - + - + - + @@ -199,46 +199,46 @@ - + - + - Returns the sum of all values in the map. + Returns the sum of all values in the map. - Converts the map to an array. + Converts the map to an array. - Creates a new map that contains the pairs of the current instance as well as the pairs of another map. + Creates a new map that contains the pairs of the current instance as well as the pairs of another map. - + - Creates a new map containing keys of the current instance as well as another map, but not of both. + Creates a new map containing keys of the current instance as well as another map, but not of both. diff -Nru phpdox-0.11.2/dependencies/php/classes/Ds_Pair.xml phpdox-0.12.0/dependencies/php/classes/Ds_Pair.xml --- phpdox-0.11.2/dependencies/php/classes/Ds_Pair.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Ds_Pair.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,12 +1,36 @@ - + - + + + + + + + + + + + + + + + + + + + + + + Converts the pair to an array. + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Ds_PriorityQueue.xml phpdox-0.12.0/dependencies/php/classes/Ds_PriorityQueue.xml --- phpdox-0.11.2/dependencies/php/classes/Ds_PriorityQueue.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Ds_PriorityQueue.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -8,26 +8,26 @@ - + - + - + - + @@ -39,19 +39,19 @@ - + - Removes and returns the value at the front of the queue, ie. the value with the highest priority. + Removes and returns the value at the front of the queue, ie. the value with the highest priority. - + @@ -59,7 +59,7 @@ - Converts the queue to an array. + Converts the queue to an array. diff -Nru phpdox-0.11.2/dependencies/php/classes/Ds_Queue.xml phpdox-0.12.0/dependencies/php/classes/Ds_Queue.xml --- phpdox-0.11.2/dependencies/php/classes/Ds_Queue.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Ds_Queue.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -8,26 +8,26 @@ - Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added. + Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added. - + - + - + @@ -39,26 +39,26 @@ - + - + - + - Converts the queue to an array. + Converts the queue to an array. diff -Nru phpdox-0.11.2/dependencies/php/classes/Ds_Set.xml phpdox-0.12.0/dependencies/php/classes/Ds_Set.xml --- phpdox-0.11.2/dependencies/php/classes/Ds_Set.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Ds_Set.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -8,73 +8,73 @@ - Adds all given values to the set that haven't already been added. + Adds all given values to the set that haven't already been added. - + - + - + - Determines if the set contains all values. + Determines if the set contains all values. - + - Creates a new set using values that aren't in another set. + Creates a new set using values that aren't in another set. - + - + - + - Creates a new set using values common to both the current instance and another set. In other words, returns a copy of the current instance with all values removed that are not in the other set. + Creates a new set using values common to both the current instance and another set. In other words, returns a copy of the current instance with all values removed that are not in the other set. @@ -87,27 +87,27 @@ - + - + - + - + @@ -115,26 +115,26 @@ - + - + - + - + @@ -142,40 +142,40 @@ - + - + - Returns the sum of all values in the set. + Returns the sum of all values in the set. - Converts the set to an array. + Converts the set to an array. - Creates a new set that contains the values of the current instance as well as the values of another set. + Creates a new set that contains the values of the current instance as well as the values of another set. - Creates a new set containing values in the current instance as well as another set, but not in both. + Creates a new set containing values in the current instance as well as another set, but not in both. diff -Nru phpdox-0.11.2/dependencies/php/classes/Ds_Stack.xml phpdox-0.12.0/dependencies/php/classes/Ds_Stack.xml --- phpdox-0.11.2/dependencies/php/classes/Ds_Stack.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Ds_Stack.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,28 +1,28 @@ - + - + - + - + - + @@ -34,26 +34,26 @@ - + - + - + - Converts the stack to an array. + Converts the stack to an array. diff -Nru phpdox-0.11.2/dependencies/php/classes/Ds_Vector.xml phpdox-0.12.0/dependencies/php/classes/Ds_Vector.xml --- phpdox-0.11.2/dependencies/php/classes/Ds_Vector.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Ds_Vector.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -8,73 +8,73 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -88,47 +88,47 @@ - + - + - + - + - + - + - + @@ -136,33 +136,33 @@ - + - + - + - + - + @@ -170,13 +170,13 @@ - + - + @@ -184,33 +184,33 @@ - + - + - Returns the sum of all values in the vector. + Returns the sum of all values in the vector. - Converts the vector to an array. + Converts the vector to an array. - + diff -Nru phpdox-0.11.2/dependencies/php/classes/EvEmbed.xml phpdox-0.12.0/dependencies/php/classes/EvEmbed.xml --- phpdox-0.11.2/dependencies/php/classes/EvEmbed.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/EvEmbed.xml 2019-03-13 09:34:17.000000000 +0000 @@ -36,7 +36,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/EventBase.xml phpdox-0.12.0/dependencies/php/classes/EventBase.xml --- phpdox-0.11.2/dependencies/php/classes/EventBase.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/EventBase.xml 2019-03-13 09:34:17.000000000 +0000 @@ -48,7 +48,7 @@ - + @@ -71,7 +71,7 @@ - + @@ -102,7 +102,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/EventBufferEvent.xml phpdox-0.12.0/dependencies/php/classes/EventBufferEvent.xml --- phpdox-0.11.2/dependencies/php/classes/EventBufferEvent.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/EventBufferEvent.xml 2019-03-13 09:34:17.000000000 +0000 @@ -138,14 +138,14 @@ - + - + @@ -247,31 +247,31 @@ - Retrieves description of the current cipher by means of the SSL_CIPHER_description SSL API function (see SSL_CIPHER_get_name(3) man page). + Retrieves description of the current cipher by means of the SSL_CIPHER_description SSL API function (see SSL_CIPHER_get_name(3) man page). - Retrieves name of cipher used by current SSL connection. + Retrieves name of cipher used by current SSL connection. - Retrieves version of cipher used by current SSL connection. + Retrieves version of cipher used by current SSL connection. - Returns the name of the protocol used for current SSL connection. + Returns the name of the protocol used for current SSL connection. - Tells a bufferevent to begin SSL renegotiation. + Tells a bufferevent to begin SSL renegotiation. diff -Nru phpdox-0.11.2/dependencies/php/classes/EventListener.xml phpdox-0.12.0/dependencies/php/classes/EventListener.xml --- phpdox-0.11.2/dependencies/php/classes/EventListener.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/EventListener.xml 2019-03-13 09:34:17.000000000 +0000 @@ -64,7 +64,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/EventUtil.xml phpdox-0.12.0/dependencies/php/classes/EventUtil.xml --- phpdox-0.11.2/dependencies/php/classes/EventUtil.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/EventUtil.xml 2019-03-13 09:34:17.000000000 +0000 @@ -149,7 +149,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Event.xml phpdox-0.12.0/dependencies/php/classes/Event.xml --- phpdox-0.11.2/dependencies/php/classes/Event.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Event.xml 2019-03-13 09:34:17.000000000 +0000 @@ -42,21 +42,21 @@ Marks event pending. Non-pending event will never occur, and the event callback will never be called. In conjuction with Event::del an event could be re-scheduled by user at any time. - + - + - + @@ -89,7 +89,7 @@ - Removes event from the list of events monitored by libevent, and free resources allocated for the event. + Removes event from the list of events monitored by libevent, and free resources allocated for the event. diff -Nru phpdox-0.11.2/dependencies/php/classes/EvLoop.xml phpdox-0.12.0/dependencies/php/classes/EvLoop.xml --- phpdox-0.11.2/dependencies/php/classes/EvLoop.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/EvLoop.xml 2019-03-13 09:34:17.000000000 +0000 @@ -50,7 +50,7 @@ - + @@ -81,22 +81,22 @@ - - + + - + - - + + - + @@ -148,12 +148,12 @@ - + - + @@ -162,8 +162,8 @@ - - + + @@ -206,7 +206,7 @@ - + @@ -229,8 +229,8 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/EvPeriodic.xml phpdox-0.12.0/dependencies/php/classes/EvPeriodic.xml --- phpdox-0.11.2/dependencies/php/classes/EvPeriodic.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/EvPeriodic.xml 2019-03-13 09:34:17.000000000 +0000 @@ -39,14 +39,14 @@ - + - + @@ -54,7 +54,7 @@ - + @@ -66,8 +66,8 @@ - - + + @@ -78,8 +78,8 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/EvSignal.xml phpdox-0.12.0/dependencies/php/classes/EvSignal.xml --- phpdox-0.11.2/dependencies/php/classes/EvSignal.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/EvSignal.xml 2019-03-13 09:34:17.000000000 +0000 @@ -33,7 +33,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/EvStat.xml phpdox-0.12.0/dependencies/php/classes/EvStat.xml --- phpdox-0.11.2/dependencies/php/classes/EvStat.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/EvStat.xml 2019-03-13 09:34:17.000000000 +0000 @@ -49,7 +49,7 @@ - + @@ -60,7 +60,7 @@ - + @@ -77,7 +77,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/EvTimer.xml phpdox-0.12.0/dependencies/php/classes/EvTimer.xml --- phpdox-0.11.2/dependencies/php/classes/EvTimer.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/EvTimer.xml 2019-03-13 09:34:17.000000000 +0000 @@ -48,8 +48,8 @@ - - + + @@ -59,8 +59,8 @@ - - + + @@ -70,8 +70,8 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/Ev.xml phpdox-0.12.0/dependencies/php/classes/Ev.xml --- phpdox-0.11.2/dependencies/php/classes/Ev.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Ev.xml 2019-03-13 09:34:17.000000000 +0000 @@ -172,7 +172,7 @@ - + @@ -184,7 +184,7 @@ - + @@ -204,25 +204,25 @@ - + - - + + - Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress. This is a costly operation and is usually done automatically within Ev::run . + Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress. This is a costly operation and is usually done automatically within Ev::run . - + @@ -241,10 +241,10 @@ - + - + @@ -255,7 +255,7 @@ - + @@ -267,8 +267,8 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/FANNConnection.xml phpdox-0.12.0/dependencies/php/classes/FANNConnection.xml --- phpdox-0.11.2/dependencies/php/classes/FANNConnection.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/FANNConnection.xml 2019-03-13 09:34:17.000000000 +0000 @@ -29,7 +29,7 @@ - + @@ -48,7 +48,7 @@ Sets the connection weight. - + diff -Nru phpdox-0.11.2/dependencies/php/classes/GearmanClient.xml phpdox-0.12.0/dependencies/php/classes/GearmanClient.xml --- phpdox-0.11.2/dependencies/php/classes/GearmanClient.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/GearmanClient.xml 2019-03-13 09:34:17.000000000 +0000 @@ -204,7 +204,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/GearmanWorker.xml phpdox-0.12.0/dependencies/php/classes/GearmanWorker.xml --- phpdox-0.11.2/dependencies/php/classes/GearmanWorker.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/GearmanWorker.xml 2019-03-13 09:34:17.000000000 +0000 @@ -92,7 +92,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Gender_Gender.xml phpdox-0.12.0/dependencies/php/classes/Gender_Gender.xml --- phpdox-0.11.2/dependencies/php/classes/Gender_Gender.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Gender_Gender.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -312,14 +312,14 @@ - - + + - + @@ -329,31 +329,31 @@ - + - - + + - + - + - + - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/GlobIterator.xml phpdox-0.12.0/dependencies/php/classes/GlobIterator.xml --- phpdox-0.11.2/dependencies/php/classes/GlobIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/GlobIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,12 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/GmagickDraw.xml phpdox-0.12.0/dependencies/php/classes/GmagickDraw.xml --- phpdox-0.11.2/dependencies/php/classes/GmagickDraw.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/GmagickDraw.xml 2019-03-13 09:34:17.000000000 +0000 @@ -177,7 +177,7 @@ - + @@ -191,14 +191,14 @@ - + - + @@ -219,21 +219,21 @@ - + - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Gmagick.xml phpdox-0.12.0/dependencies/php/classes/Gmagick.xml --- phpdox-0.11.2/dependencies/php/classes/Gmagick.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Gmagick.xml 2019-03-13 09:34:17.000000000 +0000 @@ -351,7 +351,7 @@ - + @@ -388,7 +388,7 @@ - + @@ -412,25 +412,25 @@ - + - + - + - + @@ -467,7 +467,7 @@ - + @@ -490,7 +490,7 @@ - + @@ -610,7 +610,7 @@ - + @@ -753,14 +753,14 @@ - + - + @@ -768,7 +768,7 @@ - + @@ -839,7 +839,7 @@ - + @@ -854,14 +854,14 @@ - + - + @@ -876,7 +876,7 @@ - + @@ -913,14 +913,14 @@ - + - + @@ -928,7 +928,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/HashContext.xml phpdox-0.12.0/dependencies/php/classes/HashContext.xml --- phpdox-0.11.2/dependencies/php/classes/HashContext.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/HashContext.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/HRTime_PerformanceCounter.xml phpdox-0.12.0/dependencies/php/classes/HRTime_PerformanceCounter.xml --- phpdox-0.11.2/dependencies/php/classes/HRTime_PerformanceCounter.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/HRTime_PerformanceCounter.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -17,6 +17,6 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/HRTime_StopWatch.xml phpdox-0.12.0/dependencies/php/classes/HRTime_StopWatch.xml --- phpdox-0.11.2/dependencies/php/classes/HRTime_StopWatch.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/HRTime_StopWatch.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,35 +1,35 @@ - + - + - + - + - + - + - + - + @@ -62,6 +62,6 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/HRTime_Unit.xml phpdox-0.12.0/dependencies/php/classes/HRTime_Unit.xml --- phpdox-0.11.2/dependencies/php/classes/HRTime_Unit.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/HRTime_Unit.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/ImagickDraw.xml phpdox-0.12.0/dependencies/php/classes/ImagickDraw.xml --- phpdox-0.11.2/dependencies/php/classes/ImagickDraw.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ImagickDraw.xml 2019-03-13 09:34:17.000000000 +0000 @@ -593,7 +593,7 @@ - + @@ -731,10 +731,10 @@ - + - - + + @@ -844,21 +844,21 @@ - + - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/ImagickKernel.xml phpdox-0.12.0/dependencies/php/classes/ImagickKernel.xml --- phpdox-0.11.2/dependencies/php/classes/ImagickKernel.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ImagickKernel.xml 2019-03-13 09:34:17.000000000 +0000 @@ -12,13 +12,14 @@ + - + @@ -40,6 +41,8 @@ + + diff -Nru phpdox-0.11.2/dependencies/php/classes/ImagickPixel.xml phpdox-0.12.0/dependencies/php/classes/ImagickPixel.xml --- phpdox-0.11.2/dependencies/php/classes/ImagickPixel.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ImagickPixel.xml 2019-03-13 09:34:17.000000000 +0000 @@ -24,7 +24,7 @@ - + @@ -41,7 +41,7 @@ - + @@ -54,8 +54,9 @@ - + + @@ -103,9 +104,9 @@ - + - + @@ -118,10 +119,10 @@ - + - + @@ -135,7 +136,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Imagick.xml phpdox-0.12.0/dependencies/php/classes/Imagick.xml --- phpdox-0.11.2/dependencies/php/classes/Imagick.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Imagick.xml 2019-03-13 09:34:17.000000000 +0000 @@ -18,6 +18,7 @@ + @@ -87,9 +88,9 @@ - + - + @@ -107,7 +108,7 @@ - + @@ -132,11 +133,11 @@ - + - - - + + + @@ -159,9 +160,9 @@ - + - + @@ -203,7 +204,7 @@ - + @@ -229,13 +230,14 @@ + - + - + @@ -291,7 +293,7 @@ - + @@ -319,10 +321,10 @@ - - + + - + @@ -341,6 +343,7 @@ + @@ -378,7 +381,7 @@ - + @@ -499,10 +502,10 @@ - + - + @@ -538,7 +541,7 @@ - + @@ -1222,7 +1225,7 @@ - + @@ -1256,10 +1259,10 @@ - + - - + + @@ -1310,7 +1313,7 @@ - + @@ -1377,12 +1380,12 @@ - + - + @@ -1661,9 +1664,9 @@ - + - + @@ -1733,6 +1736,7 @@ + @@ -1753,10 +1757,10 @@ - + - - + + @@ -1785,6 +1789,7 @@ + @@ -1799,12 +1804,12 @@ - + - + @@ -1907,7 +1912,7 @@ - + @@ -2260,14 +2265,14 @@ - + - + @@ -2282,7 +2287,7 @@ - + @@ -2388,8 +2393,8 @@ - - + + @@ -2427,12 +2432,12 @@ - + - + @@ -2495,6 +2500,7 @@ + @@ -2503,10 +2509,11 @@ + - + @@ -2520,7 +2527,7 @@ - + @@ -2615,6 +2622,7 @@ + @@ -2630,5 +2638,6 @@ + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/IntlBreakIterator.xml phpdox-0.12.0/dependencies/php/classes/IntlBreakIterator.xml --- phpdox-0.11.2/dependencies/php/classes/IntlBreakIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/IntlBreakIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -105,145 +105,145 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + Object oriented style (method): - + Object oriented style (method): - + Object oriented style (method): - + Object oriented style (method): - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/IntlCalendar.xml phpdox-0.12.0/dependencies/php/classes/IntlCalendar.xml --- phpdox-0.11.2/dependencies/php/classes/IntlCalendar.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/IntlCalendar.xml 2019-03-13 09:34:17.000000000 +0000 @@ -444,7 +444,7 @@ - + @@ -453,7 +453,7 @@ - + @@ -768,17 +768,17 @@ Object oriented style - + - + - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/IntlCodePointBreakIterator.xml phpdox-0.12.0/dependencies/php/classes/IntlCodePointBreakIterator.xml --- phpdox-0.11.2/dependencies/php/classes/IntlCodePointBreakIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/IntlCodePointBreakIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -99,7 +99,7 @@ - + @@ -111,145 +111,145 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/IntlDateFormatter.xml phpdox-0.12.0/dependencies/php/classes/IntlDateFormatter.xml --- phpdox-0.11.2/dependencies/php/classes/IntlDateFormatter.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/IntlDateFormatter.xml 2019-03-13 09:34:17.000000000 +0000 @@ -60,7 +60,7 @@ - Object oriented style + Object oriented style @@ -154,7 +154,7 @@ Object oriented style - + diff -Nru phpdox-0.11.2/dependencies/php/classes/IntlGregorianCalendar.xml phpdox-0.12.0/dependencies/php/classes/IntlGregorianCalendar.xml --- phpdox-0.11.2/dependencies/php/classes/IntlGregorianCalendar.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/IntlGregorianCalendar.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,900 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/IntlIterator.xml phpdox-0.12.0/dependencies/php/classes/IntlIterator.xml --- phpdox-0.11.2/dependencies/php/classes/IntlIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/IntlIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -4,31 +4,31 @@ - + - + - + - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/IntlPartsIterator.xml phpdox-0.12.0/dependencies/php/classes/IntlPartsIterator.xml --- phpdox-0.11.2/dependencies/php/classes/IntlPartsIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/IntlPartsIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -19,37 +19,37 @@ - + - + - + - + - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/IntlRuleBasedBreakIterator.xml phpdox-0.12.0/dependencies/php/classes/IntlRuleBasedBreakIterator.xml --- phpdox-0.11.2/dependencies/php/classes/IntlRuleBasedBreakIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/IntlRuleBasedBreakIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -107,25 +107,25 @@ - + - + - + - + @@ -137,145 +137,145 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/IntlTimeZone.xml phpdox-0.12.0/dependencies/php/classes/IntlTimeZone.xml --- phpdox-0.11.2/dependencies/php/classes/IntlTimeZone.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/IntlTimeZone.xml 2019-03-13 09:34:17.000000000 +0000 @@ -13,7 +13,7 @@ - + @@ -37,6 +37,15 @@ + + + + + + + + + @@ -58,13 +67,13 @@ - + - + @@ -73,12 +82,12 @@ - + Object oriented style (method): - + @@ -99,28 +108,56 @@ + + + + + + + + - + - - + + - + + + + + + + + + + + + + + + + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/JsonException.xml phpdox-0.12.0/dependencies/php/classes/JsonException.xml --- phpdox-0.11.2/dependencies/php/classes/JsonException.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/JsonException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,86 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/KTaglib_Tag.xml phpdox-0.12.0/dependencies/php/classes/KTaglib_Tag.xml --- phpdox-0.11.2/dependencies/php/classes/KTaglib_Tag.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/KTaglib_Tag.xml 2019-03-13 09:34:17.000000000 +0000 @@ -2,7 +2,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Locale.xml phpdox-0.12.0/dependencies/php/classes/Locale.xml --- phpdox-0.11.2/dependencies/php/classes/Locale.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Locale.xml 2019-03-13 09:34:17.000000000 +0000 @@ -123,14 +123,14 @@ - Object oriented style + Object oriented style - Object oriented style + Object oriented style diff -Nru phpdox-0.11.2/dependencies/php/classes/LuaClosure.xml phpdox-0.12.0/dependencies/php/classes/LuaClosure.xml --- phpdox-0.11.2/dependencies/php/classes/LuaClosure.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/LuaClosure.xml 2019-03-13 09:34:17.000000000 +0000 @@ -2,10 +2,9 @@ - + - \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Memcached.xml phpdox-0.12.0/dependencies/php/classes/Memcached.xml --- phpdox-0.11.2/dependencies/php/classes/Memcached.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Memcached.xml 2019-03-13 09:34:17.000000000 +0000 @@ -156,12 +156,12 @@ - Memcached::get returns the item that was previously stored under the key. If the item is found and cas_token variable is provided, it will contain the CAS token value for the item. See Memcached::cas for how to use CAS tokens. Read-through caching callback may be specified via cache_cb parameter. + Memcached::get returns the item that was previously stored under the key. If the item is found and the flags is given Memcached::GET_EXTENDED, it will also return the CAS token value for the item. See Memcached::cas for how to use CAS tokens. Read-through caching callback may be specified via cache_cb parameter. - + @@ -177,7 +177,7 @@ - + @@ -200,11 +200,10 @@ - Memcached::getMulti is similar to Memcached::get, but instead of a single key item, it retrieves multiple items the keys of which are specified in the keys array. If cas_tokens variable is provided, it is filled with the CAS token values for the found items. Unlike Memcached::get it is not possible to specify a read-through cache callback for Memcached::getMulti, because the memcache protocol does not provide information on which keys were not found in the multi-key request. + Memcached::getMulti is similar to Memcached::get, but instead of a single key item, it retrieves multiple items the keys of which are specified in the keys array. Before v3.0 a second argument cas_tokens was in use. It was filled with the CAS token values for the found items. The cas_tokens parameter was removed in v3.0 of the extension. It was replaced with a new flag Memcached::GET_EXTENDED that needs is to be used as the value for flags. - @@ -214,7 +213,6 @@ - diff -Nru phpdox-0.11.2/dependencies/php/classes/MessageFormatter.xml phpdox-0.12.0/dependencies/php/classes/MessageFormatter.xml --- phpdox-0.11.2/dependencies/php/classes/MessageFormatter.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MessageFormatter.xml 2019-03-13 09:34:17.000000000 +0000 @@ -46,7 +46,7 @@ - Object oriented style + Object oriented style diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoBinData.xml phpdox-0.12.0/dependencies/php/classes/MongoBinData.xml --- phpdox-0.11.2/dependencies/php/classes/MongoBinData.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoBinData.xml 2019-03-13 09:34:17.000000000 +0000 @@ -49,7 +49,7 @@ - Creates a new binary data object. + Creates a new binary data object. @@ -57,7 +57,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoClient.xml phpdox-0.12.0/dependencies/php/classes/MongoClient.xml --- phpdox-0.11.2/dependencies/php/classes/MongoClient.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoClient.xml 2019-03-13 09:34:17.000000000 +0000 @@ -136,7 +136,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoCollection.xml phpdox-0.12.0/dependencies/php/classes/MongoCollection.xml --- phpdox-0.11.2/dependencies/php/classes/MongoCollection.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoCollection.xml 2019-03-13 09:34:17.000000000 +0000 @@ -80,7 +80,7 @@ - Creates an index on the specified field(s) if it does not already exist. Fields may be indexed with a direction (e.g. ascending or descending) or a special type (e.g. text, geospatial, hashed). + Creates an index on the specified field(s) if it does not already exist. Fields may be indexed with a direction (e.g. ascending or descending) or a special type (e.g. text, geospatial, hashed). @@ -101,7 +101,7 @@ - + @@ -115,7 +115,7 @@ - This method is deprecated since version 1.5.0. Please use MongoCollection::createIndex instead. + This method is deprecated since version 1.5.0. Please use MongoCollection::createIndex instead. diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoCommandCursor.xml phpdox-0.12.0/dependencies/php/classes/MongoCommandCursor.xml --- phpdox-0.11.2/dependencies/php/classes/MongoCommandCursor.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoCommandCursor.xml 2019-03-13 09:34:17.000000000 +0000 @@ -3,7 +3,7 @@ - + @@ -85,7 +85,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoCursor.xml phpdox-0.12.0/dependencies/php/classes/MongoCursor.xml --- phpdox-0.11.2/dependencies/php/classes/MongoCursor.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoCursor.xml 2019-03-13 09:34:17.000000000 +0000 @@ -32,7 +32,7 @@ - + @@ -68,7 +68,7 @@ - Please do not use me. + Please do not use me. @@ -227,7 +227,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDate.xml phpdox-0.12.0/dependencies/php/classes/MongoDate.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDate.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDate.xml 2019-03-13 09:34:17.000000000 +0000 @@ -14,7 +14,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Binary.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Binary.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Binary.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Binary.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,6 @@ - - + + @@ -42,7 +42,7 @@ - + @@ -53,7 +53,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_DBPointer.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_DBPointer.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_DBPointer.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_DBPointer.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Decimal128.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Decimal128.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Decimal128.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Decimal128.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,6 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Int64.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Int64.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Int64.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Int64.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Javascript.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Javascript.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Javascript.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Javascript.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,6 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_MaxKey.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_MaxKey.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_MaxKey.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_MaxKey.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,6 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_MinKey.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_MinKey.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_MinKey.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_MinKey.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,6 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_ObjectId.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_ObjectId.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_ObjectId.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_ObjectId.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_ObjectID.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_ObjectID.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_ObjectID.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_ObjectID.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Persistable.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Persistable.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Persistable.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Persistable.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Regex.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Regex.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Regex.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Regex.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,6 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Symbol.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Symbol.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Symbol.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Symbol.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Timestamp.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Timestamp.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Timestamp.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Timestamp.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,14 +1,26 @@ - - + + - - + + + + + + + + + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Undefined.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Undefined.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_Undefined.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_Undefined.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_UTCDateTime.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_UTCDateTime.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_BSON_UTCDateTime.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_BSON_UTCDateTime.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,6 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_BulkWrite.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_BulkWrite.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_BulkWrite.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_BulkWrite.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Command.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Command.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Command.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Command.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,10 +1,11 @@ - + - + Constructs a new MongoDB\Driver\Command, which is an immutable value object that represents a database command. The command may then be executed with MongoDB\Driver\Manager::executeCommand. + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_CursorId.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_CursorId.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_CursorId.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_CursorId.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Cursor.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Cursor.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Cursor.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Cursor.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -21,7 +21,7 @@ - Returns whether the cursor is still open on the server (i.e. the server has more results that have yet to be sent to the client). + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_AuthenticationException.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_AuthenticationException.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_AuthenticationException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_AuthenticationException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,13 @@ - + + + null + + + + + null @@ -29,6 +36,13 @@ + + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_BulkWriteException.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_BulkWriteException.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_BulkWriteException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_BulkWriteException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + null @@ -8,6 +8,13 @@ + + null + + + + + null @@ -42,6 +49,13 @@ + + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_CommandException.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_CommandException.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_CommandException.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_CommandException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,113 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_ConnectionException.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_ConnectionException.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_ConnectionException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_ConnectionException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,13 @@ - + + + null + + + + + null @@ -29,6 +36,13 @@ + + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_ConnectionTimeoutException.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_ConnectionTimeoutException.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_ConnectionTimeoutException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_ConnectionTimeoutException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,13 @@ - + + + null + + + + + null @@ -29,6 +36,13 @@ + + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_ExecutionTimeoutException.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_ExecutionTimeoutException.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_ExecutionTimeoutException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_ExecutionTimeoutException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,13 @@ - + + + null + + + + + null @@ -29,6 +36,13 @@ + + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_InvalidArgumentException.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_InvalidArgumentException.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_InvalidArgumentException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_InvalidArgumentException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + null diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_LogicException.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_LogicException.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_LogicException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_LogicException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + null diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_RuntimeException.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_RuntimeException.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_RuntimeException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_RuntimeException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,13 @@ - + + + null + + + + + null @@ -29,6 +36,13 @@ + + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_ServerException.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_ServerException.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_ServerException.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_ServerException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,100 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_SSLConnectionException.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_SSLConnectionException.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_SSLConnectionException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_SSLConnectionException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,13 @@ - + + + null + + + + + null @@ -29,6 +36,13 @@ + + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_UnexpectedValueException.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_UnexpectedValueException.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_UnexpectedValueException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_UnexpectedValueException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + null diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_WriteException.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_WriteException.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Exception_WriteException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Exception_WriteException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + null @@ -8,6 +8,13 @@ + + null + + + + + null @@ -42,6 +49,13 @@ + + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Manager.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Manager.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Manager.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Manager.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -16,16 +16,16 @@ - + - + Selects a server according to the "readPreference" option and executes the command on that server. By default, the read preference from the MongoDB Connection URI will be used. - + @@ -34,7 +34,34 @@ - + + + + + Selects a server according to the "readPreference" option and executes the command on that server. By default, the read preference from the MongoDB Connection URI will be used. + + + + + + + + + Executes the command on the primary server. + + + + + + + + + Executes the command on the primary server. + + + + + @@ -50,7 +77,7 @@ - Returns an array of MongoDB\Driver\Server instances to which this manager is connected. + @@ -62,9 +89,16 @@ - Selects a MongoDB\Driver\Server matching readPreference. This may be used to preselect a server in order to perform version checking before executing an operation. + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Monitoring_CommandFailedEvent.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Monitoring_CommandFailedEvent.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Monitoring_CommandFailedEvent.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Monitoring_CommandFailedEvent.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Monitoring_CommandStartedEvent.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Monitoring_CommandStartedEvent.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Monitoring_CommandStartedEvent.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Monitoring_CommandStartedEvent.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Monitoring_CommandSucceededEvent.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Monitoring_CommandSucceededEvent.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Monitoring_CommandSucceededEvent.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Monitoring_CommandSucceededEvent.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Query.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Query.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Query.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Query.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,8 +1,8 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_ReadConcern.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_ReadConcern.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_ReadConcern.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_ReadConcern.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,11 @@ - + + + + + + @@ -24,7 +29,7 @@ - + @@ -35,4 +40,10 @@ + + + Returns whether this is the default read concern (i.e. no options are specified). This method is primarily intended to be used in conjunction with MongoDB\Driver\Manager::getReadConcern to determine whether the Manager has been constructed without any read concern options. + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_ReadPreference.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_ReadPreference.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_ReadPreference.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_ReadPreference.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -44,23 +44,23 @@ - + - + - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Server.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Server.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Server.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Server.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -58,25 +58,52 @@ - + - Executes command on this server. + Executes the command on this server. - + - Executes query on this server. + - + + + + + Executes the command on this server. + + + + + + + + + Executes the command on this server. + + + + + + + + + Executes the command on this server. + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Session.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Session.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_Session.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_Session.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,66 @@ + + + + + + + + + + + Advances the cluster time for this session. If the cluster time is less than or equal to the session's current cluster time, this function is a no-op. + + + + + + + Advances the operation time for this session. If the operation time is less than or equal to the session's current operation time, this function is a no-op. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This method starts a new transaction within this session. When the session is attached to operations through the "session" argument, these operations become of the started transaction. + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_WriteConcernError.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_WriteConcernError.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_WriteConcernError.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_WriteConcernError.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_WriteConcern.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_WriteConcern.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_WriteConcern.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_WriteConcern.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -14,23 +14,23 @@ - + - - - + + + - + - + @@ -39,4 +39,10 @@ + + + Returns whether this is the default write concern (i.e. no options are specified). This method is primarily intended to be used in conjunction with MongoDB\Driver\Manager::getWriteConcern to determine whether the Manager has been constructed without any write concern options. + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_WriteError.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_WriteError.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_WriteError.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_WriteError.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_WriteResult.xml phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_WriteResult.xml --- phpdox-0.11.2/dependencies/php/classes/MongoDB_Driver_WriteResult.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoDB_Driver_WriteResult.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,27 +1,27 @@ - + - + - + - + - + @@ -33,7 +33,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoInt32.xml phpdox-0.12.0/dependencies/php/classes/MongoInt32.xml --- phpdox-0.11.2/dependencies/php/classes/MongoInt32.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoInt32.xml 2019-03-13 09:34:17.000000000 +0000 @@ -9,14 +9,14 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoInt64.xml phpdox-0.12.0/dependencies/php/classes/MongoInt64.xml --- phpdox-0.11.2/dependencies/php/classes/MongoInt64.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoInt64.xml 2019-03-13 09:34:17.000000000 +0000 @@ -9,14 +9,14 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoPool.xml phpdox-0.12.0/dependencies/php/classes/MongoPool.xml --- phpdox-0.11.2/dependencies/php/classes/MongoPool.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoPool.xml 2019-03-13 09:34:17.000000000 +0000 @@ -8,13 +8,13 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/MongoTimestamp.xml phpdox-0.12.0/dependencies/php/classes/MongoTimestamp.xml --- phpdox-0.11.2/dependencies/php/classes/MongoTimestamp.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MongoTimestamp.xml 2019-03-13 09:34:17.000000000 +0000 @@ -14,7 +14,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Mongo.xml phpdox-0.12.0/dependencies/php/classes/Mongo.xml --- phpdox-0.11.2/dependencies/php/classes/Mongo.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Mongo.xml 2019-03-13 09:34:17.000000000 +0000 @@ -27,13 +27,13 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Mutex.xml phpdox-0.12.0/dependencies/php/classes/Mutex.xml --- phpdox-0.11.2/dependencies/php/classes/Mutex.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Mutex.xml 2019-03-13 09:34:17.000000000 +0000 @@ -3,37 +3,37 @@ - + - + - + - + Attempt to lock the Mutex for the caller. - + - + - + - + - + - - + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysqli_driver.xml phpdox-0.12.0/dependencies/php/classes/mysqli_driver.xml --- phpdox-0.11.2/dependencies/php/classes/mysqli_driver.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysqli_driver.xml 2019-03-13 09:34:17.000000000 +0000 @@ -53,7 +53,7 @@ Object oriented style - + diff -Nru phpdox-0.11.2/dependencies/php/classes/mysqli_stmt.xml phpdox-0.12.0/dependencies/php/classes/mysqli_stmt.xml --- phpdox-0.11.2/dependencies/php/classes/mysqli_stmt.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysqli_stmt.xml 2019-03-13 09:34:17.000000000 +0000 @@ -147,6 +147,12 @@ + + + Object oriented style + + + Object oriented style diff -Nru phpdox-0.11.2/dependencies/php/classes/mysqli.xml phpdox-0.12.0/dependencies/php/classes/mysqli.xml --- phpdox-0.11.2/dependencies/php/classes/mysqli.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysqli.xml 2019-03-13 09:34:17.000000000 +0000 @@ -7,20 +7,6 @@ - - null - - Object oriented style - - - - - null - - Object oriented style - - - null @@ -63,6 +49,13 @@ + + null + + Object oriented style + + + null @@ -181,6 +174,18 @@ + + + Object oriented style + + + + + + + + + Object oriented style @@ -212,6 +217,12 @@ + + + + + + Object oriented style @@ -305,7 +316,14 @@ - + Object oriented style + + + + + + + Object oriented style diff -Nru phpdox-0.11.2/dependencies/php/classes/MysqlndUhConnection.xml phpdox-0.12.0/dependencies/php/classes/MysqlndUhConnection.xml --- phpdox-0.11.2/dependencies/php/classes/MysqlndUhConnection.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/MysqlndUhConnection.xml 2019-03-13 09:34:17.000000000 +0000 @@ -99,7 +99,7 @@ - + @@ -148,7 +148,7 @@ - + @@ -329,7 +329,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_CollectionAdd.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_CollectionAdd.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_CollectionAdd.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_CollectionAdd.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_CollectionFind.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_CollectionFind.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_CollectionFind.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_CollectionFind.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_CollectionModify.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_CollectionModify.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_CollectionModify.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_CollectionModify.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_CollectionRemove.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_CollectionRemove.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_CollectionRemove.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_CollectionRemove.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Collection.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Collection.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Collection.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Collection.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,113 @@ + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_ColumnResult.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_ColumnResult.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_ColumnResult.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_ColumnResult.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_DocResult.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_DocResult.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_DocResult.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_DocResult.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Driver.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Driver.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Driver.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Driver.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Exception.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Exception.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Exception.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Exception.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_ExecutionStatus.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_ExecutionStatus.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_ExecutionStatus.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_ExecutionStatus.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,39 @@ + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Expression.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Expression.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Expression.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Expression.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,16 @@ + + + + null + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_FieldMetadata.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_FieldMetadata.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_FieldMetadata.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_FieldMetadata.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,87 @@ + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Result.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Result.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Result.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Result.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_RowResult.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_RowResult.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_RowResult.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_RowResult.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Schema.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Schema.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Schema.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Schema.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,75 @@ + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Session.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Session.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Session.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Session.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_SqlStatementResult.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_SqlStatementResult.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_SqlStatementResult.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_SqlStatementResult.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_SqlStatement.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_SqlStatement.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_SqlStatement.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_SqlStatement.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Statement.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Statement.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Statement.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Statement.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_TableDelete.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_TableDelete.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_TableDelete.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_TableDelete.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_TableInsert.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_TableInsert.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_TableInsert.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_TableInsert.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_TableSelect.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_TableSelect.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_TableSelect.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_TableSelect.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_TableUpdate.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_TableUpdate.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_TableUpdate.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_TableUpdate.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Table.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Table.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Table.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Table.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,74 @@ + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Warning.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Warning.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_Warning.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_Warning.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,27 @@ + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_XSession.xml phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_XSession.xml --- phpdox-0.11.2/dependencies/php/classes/mysql_xdevapi_XSession.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/mysql_xdevapi_XSession.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/NoRewindIterator.xml phpdox-0.12.0/dependencies/php/classes/NoRewindIterator.xml --- phpdox-0.11.2/dependencies/php/classes/NoRewindIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/NoRewindIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -34,7 +34,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Normalizer.xml phpdox-0.12.0/dependencies/php/classes/Normalizer.xml --- phpdox-0.11.2/dependencies/php/classes/Normalizer.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Normalizer.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,8 +1,15 @@ + + + Object oriented style + + + + - Object oriented style + Object oriented style diff -Nru phpdox-0.11.2/dependencies/php/classes/NumberFormatter.xml phpdox-0.12.0/dependencies/php/classes/NumberFormatter.xml --- phpdox-0.11.2/dependencies/php/classes/NumberFormatter.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/NumberFormatter.xml 2019-03-13 09:34:17.000000000 +0000 @@ -43,13 +43,13 @@ - Object oriented style + Object oriented style - Object oriented style + Object oriented style diff -Nru phpdox-0.11.2/dependencies/php/classes/OAuth.xml phpdox-0.12.0/dependencies/php/classes/OAuth.xml --- phpdox-0.11.2/dependencies/php/classes/OAuth.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/OAuth.xml 2019-03-13 09:34:17.000000000 +0000 @@ -144,7 +144,7 @@ - + @@ -179,7 +179,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/ParentIterator.xml phpdox-0.12.0/dependencies/php/classes/ParentIterator.xml --- phpdox-0.11.2/dependencies/php/classes/ParentIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ParentIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -38,4 +38,10 @@ + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Parle_ErrorInfo.xml phpdox-0.12.0/dependencies/php/classes/Parle_ErrorInfo.xml --- phpdox-0.11.2/dependencies/php/classes/Parle_ErrorInfo.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Parle_ErrorInfo.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,24 @@ + + + + null + + + + + + + null + + + + + + + null + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Parle_LexerException.xml phpdox-0.12.0/dependencies/php/classes/Parle_LexerException.xml --- phpdox-0.11.2/dependencies/php/classes/Parle_LexerException.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Parle_LexerException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,86 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Parle_Lexer.xml phpdox-0.12.0/dependencies/php/classes/Parle_Lexer.xml --- phpdox-0.11.2/dependencies/php/classes/Parle_Lexer.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Parle_Lexer.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Parle_ParserException.xml phpdox-0.12.0/dependencies/php/classes/Parle_ParserException.xml --- phpdox-0.11.2/dependencies/php/classes/Parle_ParserException.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Parle_ParserException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,86 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Parle_Parser.xml phpdox-0.12.0/dependencies/php/classes/Parle_Parser.xml --- phpdox-0.11.2/dependencies/php/classes/Parle_Parser.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Parle_Parser.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Parle_RLexer.xml phpdox-0.12.0/dependencies/php/classes/Parle_RLexer.xml --- phpdox-0.11.2/dependencies/php/classes/Parle_RLexer.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Parle_RLexer.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Push a pattern for lexeme recognition. + + + + + + + + Push a pattern for lexeme recognition. + + + + + + + + + + Push a pattern for lexeme recognition. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Parle_RParser.xml phpdox-0.12.0/dependencies/php/classes/Parle_RParser.xml --- phpdox-0.11.2/dependencies/php/classes/Parle_RParser.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Parle_RParser.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Parle_Stack.xml phpdox-0.12.0/dependencies/php/classes/Parle_Stack.xml --- phpdox-0.11.2/dependencies/php/classes/Parle_Stack.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Parle_Stack.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,37 @@ + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Parle_Token.xml phpdox-0.12.0/dependencies/php/classes/Parle_Token.xml --- phpdox-0.11.2/dependencies/php/classes/Parle_Token.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Parle_Token.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + null + + + + + + + null + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ParseError.xml phpdox-0.12.0/dependencies/php/classes/ParseError.xml --- phpdox-0.11.2/dependencies/php/classes/ParseError.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ParseError.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,34 @@ - + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/PDOStatement.xml phpdox-0.12.0/dependencies/php/classes/PDOStatement.xml --- phpdox-0.11.2/dependencies/php/classes/PDOStatement.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/PDOStatement.xml 2019-03-13 09:34:17.000000000 +0000 @@ -41,7 +41,7 @@ - PDOStatement::closeCursor frees up the connection to the server so that other SQL statements may be issued, but leaves the statement in a state that enables it to be executed again. + PDOStatement::closeCursor frees up the connection to the server so that other SQL statements may be issued, but leaves the statement in a state that enables it to be executed again. @@ -103,7 +103,7 @@ - Fetches the next row and returns it as an object. This function is an alternative to PDOStatement::fetch with PDO::FETCH_CLASS or PDO::FETCH_OBJ style. + Fetches the next row and returns it as an object. This function is an alternative to PDOStatement::fetch with PDO::FETCH_CLASS or PDO::FETCH_OBJ style. diff -Nru phpdox-0.11.2/dependencies/php/classes/PDO.xml phpdox-0.12.0/dependencies/php/classes/PDO.xml --- phpdox-0.11.2/dependencies/php/classes/PDO.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/PDO.xml 2019-03-13 09:34:17.000000000 +0000 @@ -7,7 +7,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -69,7 +69,7 @@ - Prepares an SQL statement to be executed by the PDOStatement::execute method. The SQL statement can contain zero or more named (:name) or question mark (?) parameter markers for which real values will be substituted when the statement is executed. You cannot use both named and question mark parameter markers within the same SQL statement; pick one or the other parameter style. Use these parameters to bind any user-input, do not include the user-input directly in the query. + Prepares an SQL statement to be executed by the PDOStatement::execute method. The statement template can contain zero or more named (:name) or question mark (?) parameter markers for which real values will be substituted when the statement is executed. Both named and question mark parameter markers cannot be used within the same statement template; only one or the other parameter style. Use these parameters to bind any user-input, do not include the user-input directly in the query. @@ -84,7 +84,7 @@ - PDO::quote places quotes around the input string (if required) and escapes special characters within the input string, using a quoting style appropriate to the underlying driver. + PDO::quote places quotes around the input string (if required) and escapes special characters within the input string, using a quoting style appropriate to the underlying driver. diff -Nru phpdox-0.11.2/dependencies/php/classes/PharData.xml phpdox-0.12.0/dependencies/php/classes/PharData.xml --- phpdox-0.11.2/dependencies/php/classes/PharData.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/PharData.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,10 +1,65 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -19,7 +74,7 @@ - + @@ -34,7 +89,7 @@ - + @@ -51,7 +106,7 @@ For tar-based archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use PharData::compress to compress an entire tar-based archive. - + @@ -134,7 +189,7 @@ - + @@ -142,21 +197,21 @@ - + - + - + @@ -171,14 +226,14 @@ - This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. + This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. - + @@ -353,6 +408,12 @@ + + + + + + @@ -365,6 +426,12 @@ + + + + + + @@ -531,7 +598,7 @@ - This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. + This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. diff -Nru phpdox-0.11.2/dependencies/php/classes/PharFileInfo.xml phpdox-0.12.0/dependencies/php/classes/PharFileInfo.xml --- phpdox-0.11.2/dependencies/php/classes/PharFileInfo.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/PharFileInfo.xml 2019-03-13 09:34:17.000000000 +0000 @@ -46,6 +46,12 @@ + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/Phar.xml phpdox-0.12.0/dependencies/php/classes/Phar.xml --- phpdox-0.11.2/dependencies/php/classes/Phar.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Phar.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. @@ -32,7 +87,7 @@ - This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. + This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. @@ -40,7 +95,7 @@ - This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. + This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. @@ -170,6 +225,12 @@ + + + + + + @@ -182,6 +243,12 @@ + + + + + + @@ -220,7 +287,7 @@ - instructs phar to intercept fopen, readfile, file_get_contents, opendir, and all of the stat-related functions. If any of these functions is called from within a phar archive with a relative path, the call is modified to access a file within the phar archive. Absolute paths are assumed to be attempts to load external files from the filesystem. + instructs phar to intercept fopen, readfile, file_get_contents, opendir, and all of the stat-related functions. If any of these functions is called from within a phar archive with a relative path, the call is modified to access a file within the phar archive. Absolute paths are assumed to be attempts to load external files from the filesystem. @@ -290,7 +357,7 @@ - This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. + This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. @@ -304,7 +371,7 @@ - This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. + This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. @@ -312,7 +379,7 @@ - This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. + This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. @@ -348,7 +415,7 @@ - This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. + This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown. diff -Nru phpdox-0.11.2/dependencies/php/classes/phdfs.xml phpdox-0.12.0/dependencies/php/classes/phdfs.xml --- phpdox-0.11.2/dependencies/php/classes/phdfs.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/phdfs.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,118 @@ + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/pht_AtomicInteger.xml phpdox-0.12.0/dependencies/php/classes/pht_AtomicInteger.xml --- phpdox-0.11.2/dependencies/php/classes/pht_AtomicInteger.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/pht_AtomicInteger.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This method will acquire the mutex lock associated with the atomic integer. The mutex lock only needs to be acquired when needing to group together multiple operations. + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/pht_HashTable.xml phpdox-0.12.0/dependencies/php/classes/pht_HashTable.xml --- phpdox-0.11.2/dependencies/php/classes/pht_HashTable.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/pht_HashTable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,22 @@ + + + + + + This method will acquire the mutex lock associated with the hash table. The mutex lock should always be acquired when manipulating the hash table if it is being used by multiple threads. + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/pht_Queue.xml phpdox-0.12.0/dependencies/php/classes/pht_Queue.xml --- phpdox-0.11.2/dependencies/php/classes/pht_Queue.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/pht_Queue.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,41 @@ + + + + + + This method will remove a value from the front of the queue (in constant time). Attempting to return the front value from an empty queue will result in an Error exception. + + + + + + This method will acquire the mutex lock associated with the queue. The mutex lock should always be acquired when manipulating the queue if it is being used by multiple threads. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/pht_Thread.xml phpdox-0.12.0/dependencies/php/classes/pht_Thread.xml --- phpdox-0.11.2/dependencies/php/classes/pht_Thread.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/pht_Thread.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/pht_Vector.xml phpdox-0.12.0/dependencies/php/classes/pht_Vector.xml --- phpdox-0.11.2/dependencies/php/classes/pht_Vector.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/pht_Vector.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + This method deletes a value at the specified offset in the vector (in linear time). + + + + + + + + + + + + + + + This method will acquire the mutex lock associated with the vector. The mutex lock should always be acquired when manipulating the vector if it is being used by multiple threads. + + + + + + + + + + + + This method pushes a value onto the end of a vector (in constant time). The vector will automatically be resized if it is not large enough. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This method updates a value at the specified offset in the vector (in linear time). The vector will automatically be resized if it is not large enough. + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Pool.xml phpdox-0.12.0/dependencies/php/classes/Pool.xml --- phpdox-0.11.2/dependencies/php/classes/Pool.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Pool.xml 2019-03-13 09:34:17.000000000 +0000 @@ -18,12 +18,6 @@ - - null - - - - null @@ -48,7 +42,7 @@ - + @@ -57,7 +51,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/RecursiveArrayIterator.xml phpdox-0.12.0/dependencies/php/classes/RecursiveArrayIterator.xml --- phpdox-0.11.2/dependencies/php/classes/RecursiveArrayIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/RecursiveArrayIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,16 @@ + + + + + + + + + + @@ -8,13 +18,13 @@ - + - + @@ -96,31 +106,31 @@ - + - + - + - - + + - + @@ -153,14 +163,14 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/RecursiveCachingIterator.xml phpdox-0.12.0/dependencies/php/classes/RecursiveCachingIterator.xml --- phpdox-0.11.2/dependencies/php/classes/RecursiveCachingIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/RecursiveCachingIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,13 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -82,7 +112,7 @@ - + @@ -96,8 +126,8 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/RecursiveCallbackFilterIterator.xml phpdox-0.12.0/dependencies/php/classes/RecursiveCallbackFilterIterator.xml --- phpdox-0.11.2/dependencies/php/classes/RecursiveCallbackFilterIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/RecursiveCallbackFilterIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -24,7 +24,7 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/RecursiveDirectoryIterator.xml phpdox-0.12.0/dependencies/php/classes/RecursiveDirectoryIterator.xml --- phpdox-0.11.2/dependencies/php/classes/RecursiveDirectoryIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/RecursiveDirectoryIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/RecursiveIteratorIterator.xml phpdox-0.12.0/dependencies/php/classes/RecursiveIteratorIterator.xml --- phpdox-0.11.2/dependencies/php/classes/RecursiveIteratorIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/RecursiveIteratorIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -126,7 +126,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/RecursiveRegexIterator.xml phpdox-0.12.0/dependencies/php/classes/RecursiveRegexIterator.xml --- phpdox-0.11.2/dependencies/php/classes/RecursiveRegexIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/RecursiveRegexIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,9 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -14,13 +44,13 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/RecursiveTreeIterator.xml phpdox-0.12.0/dependencies/php/classes/RecursiveTreeIterator.xml --- phpdox-0.11.2/dependencies/php/classes/RecursiveTreeIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/RecursiveTreeIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -102,7 +122,7 @@ - + @@ -135,6 +155,13 @@ + + + + + + + @@ -254,7 +281,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/ReflectionClassConstant.xml phpdox-0.12.0/dependencies/php/classes/ReflectionClassConstant.xml --- phpdox-0.11.2/dependencies/php/classes/ReflectionClassConstant.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ReflectionClassConstant.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,87 @@ + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ReflectionClass.xml phpdox-0.12.0/dependencies/php/classes/ReflectionClass.xml --- phpdox-0.11.2/dependencies/php/classes/ReflectionClass.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ReflectionClass.xml 2019-03-13 09:34:17.000000000 +0000 @@ -106,7 +106,7 @@ - + @@ -156,6 +156,19 @@ + + + + + + + + + + + + + @@ -283,6 +296,12 @@ + + + + + + @@ -310,22 +329,21 @@ - + - - + - + @@ -335,11 +353,11 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/ReflectionFunction.xml phpdox-0.12.0/dependencies/php/classes/ReflectionFunction.xml --- phpdox-0.11.2/dependencies/php/classes/ReflectionFunction.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ReflectionFunction.xml 2019-03-13 09:34:17.000000000 +0000 @@ -38,7 +38,6 @@ - diff -Nru phpdox-0.11.2/dependencies/php/classes/ReflectionMethod.xml phpdox-0.12.0/dependencies/php/classes/ReflectionMethod.xml --- phpdox-0.11.2/dependencies/php/classes/ReflectionMethod.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ReflectionMethod.xml 2019-03-13 09:34:17.000000000 +0000 @@ -53,7 +53,7 @@ - + @@ -69,7 +69,7 @@ - + @@ -81,7 +81,7 @@ - + @@ -91,7 +91,6 @@ - @@ -159,7 +158,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/ReflectionNamedType.xml phpdox-0.12.0/dependencies/php/classes/ReflectionNamedType.xml --- phpdox-0.11.2/dependencies/php/classes/ReflectionNamedType.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ReflectionNamedType.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ReflectionObject.xml phpdox-0.12.0/dependencies/php/classes/ReflectionObject.xml --- phpdox-0.11.2/dependencies/php/classes/ReflectionObject.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ReflectionObject.xml 2019-03-13 09:34:17.000000000 +0000 @@ -171,6 +171,19 @@ + + + + + + + + + + + + + @@ -298,6 +311,12 @@ + + + + + + @@ -328,7 +347,6 @@ - @@ -350,7 +368,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/ReflectionParameter.xml phpdox-0.12.0/dependencies/php/classes/ReflectionParameter.xml --- phpdox-0.11.2/dependencies/php/classes/ReflectionParameter.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ReflectionParameter.xml 2019-03-13 09:34:17.000000000 +0000 @@ -116,7 +116,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/ReflectionZendExtension.xml phpdox-0.12.0/dependencies/php/classes/ReflectionZendExtension.xml --- phpdox-0.11.2/dependencies/php/classes/ReflectionZendExtension.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ReflectionZendExtension.xml 2019-03-13 09:34:17.000000000 +0000 @@ -26,7 +26,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/RegexIterator.xml phpdox-0.12.0/dependencies/php/classes/RegexIterator.xml --- phpdox-0.11.2/dependencies/php/classes/RegexIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/RegexIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -56,13 +56,13 @@ - + - + @@ -74,21 +74,21 @@ - + - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/ResourceBundle.xml phpdox-0.12.0/dependencies/php/classes/ResourceBundle.xml --- phpdox-0.11.2/dependencies/php/classes/ResourceBundle.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ResourceBundle.xml 2019-03-13 09:34:17.000000000 +0000 @@ -26,13 +26,13 @@ - Object oriented style + Object oriented style - Object oriented style + Object oriented style diff -Nru phpdox-0.11.2/dependencies/php/classes/RRDCreator.xml phpdox-0.12.0/dependencies/php/classes/RRDCreator.xml --- phpdox-0.11.2/dependencies/php/classes/RRDCreator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/RRDCreator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -2,14 +2,14 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/RRDGraph.xml phpdox-0.12.0/dependencies/php/classes/RRDGraph.xml --- phpdox-0.11.2/dependencies/php/classes/RRDGraph.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/RRDGraph.xml 2019-03-13 09:34:17.000000000 +0000 @@ -15,7 +15,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SeasLog.xml phpdox-0.12.0/dependencies/php/classes/SeasLog.xml --- phpdox-0.11.2/dependencies/php/classes/SeasLog.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SeasLog.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,205 @@ + + + + + Record alert log information. "ALERT" - Action must be taken immediately. Immediate attention should be given to relevant personnel for emergency repairs. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Record critical log information. "CRITICAL" - Critical conditions.Need to be repaired immediately, and the program component is unavailable. + + + + + + + + + Record debug log information. "DEBUG" - Detailed debug information.Fine-grained information events. + + + + + + + + + + + + + + + Record emergency log information. "EMERGENCY" - System is unusable. + + + + + + + + + Record error log information. "ERROR" - Runtime errors that do not require immediate action but should typically. + + + + + + + + + Flush logs buffer by seaslog.appender: dump to file, or send to remote api with tcp/udp. See also: seaslog.appender_retry seaslog.remote_host seaslog.remote_port + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Record info log information. "INFO" - Interesting events.Emphasizes the running process of the application. + + + + + + + + + + + + + + + + + + + Record notice log information. "NOTICE" - Normal but significant events.Information that is more important than the INFO level during execution. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Record warning log information. "WARNING" - Exceptional occurrences that are not errors. Potentially aberrant information that needs attention and needs to be repaired. + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/SessionHandler.xml phpdox-0.12.0/dependencies/php/classes/SessionHandler.xml --- phpdox-0.11.2/dependencies/php/classes/SessionHandler.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SessionHandler.xml 2019-03-13 09:34:17.000000000 +0000 @@ -23,7 +23,7 @@ Cleans up expired sessions. Called randomly by PHP internally when a session starts or when session_start is invoked. The frequency this is called is based on the session.gc_divisor and session.gc_probability configuration directives. - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SimpleXMLIterator.xml phpdox-0.12.0/dependencies/php/classes/SimpleXMLIterator.xml --- phpdox-0.11.2/dependencies/php/classes/SimpleXMLIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SimpleXMLIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -15,7 +15,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SoapClient.xml phpdox-0.12.0/dependencies/php/classes/SoapClient.xml --- phpdox-0.11.2/dependencies/php/classes/SoapClient.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SoapClient.xml 2019-03-13 09:34:17.000000000 +0000 @@ -6,16 +6,16 @@ - + - + - + Performs SOAP request over HTTP. @@ -27,6 +27,12 @@ + + + + + + Returns an array of functions described in the WSDL for the Web service. diff -Nru phpdox-0.11.2/dependencies/php/classes/SoapServer.xml phpdox-0.12.0/dependencies/php/classes/SoapServer.xml --- phpdox-0.11.2/dependencies/php/classes/SoapServer.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SoapServer.xml 2019-03-13 09:34:17.000000000 +0000 @@ -52,7 +52,6 @@ - diff -Nru phpdox-0.11.2/dependencies/php/classes/SolrClient.xml phpdox-0.12.0/dependencies/php/classes/SolrClient.xml --- phpdox-0.11.2/dependencies/php/classes/SolrClient.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SolrClient.xml 2019-03-13 09:34:17.000000000 +0000 @@ -130,14 +130,14 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SolrCollapseFunction.xml phpdox-0.12.0/dependencies/php/classes/SolrCollapseFunction.xml --- phpdox-0.11.2/dependencies/php/classes/SolrCollapseFunction.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SolrCollapseFunction.xml 2019-03-13 09:34:17.000000000 +0000 @@ -24,7 +24,7 @@ - + @@ -55,7 +55,7 @@ - + @@ -74,7 +74,7 @@ - + @@ -95,10 +95,10 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SolrDisMaxQuery.xml phpdox-0.12.0/dependencies/php/classes/SolrDisMaxQuery.xml --- phpdox-0.11.2/dependencies/php/classes/SolrDisMaxQuery.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SolrDisMaxQuery.xml 2019-03-13 09:34:17.000000000 +0000 @@ -147,7 +147,7 @@ - Sets Boost Function (bf parameter). + Sets Boost Function (bf parameter). @@ -189,7 +189,7 @@ - The Query Phrase Slop is the amount of slop permitted on phrase queries explicitly included in the user's query string with the qf parameter. + The Query Phrase Slop is the amount of slop permitted on phrase queries explicitly included in the user's query string with the qf parameter. @@ -319,7 +319,7 @@ - + @@ -406,7 +406,7 @@ - + @@ -544,7 +544,7 @@ - + @@ -574,7 +574,7 @@ - + @@ -592,7 +592,7 @@ - + @@ -1048,7 +1048,7 @@ - + @@ -1172,7 +1172,7 @@ - + @@ -1193,7 +1193,7 @@ - + @@ -1214,7 +1214,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SolrDocument.xml phpdox-0.12.0/dependencies/php/classes/SolrDocument.xml --- phpdox-0.11.2/dependencies/php/classes/SolrDocument.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SolrDocument.xml 2019-03-13 09:34:17.000000000 +0000 @@ -99,7 +99,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SolrInputDocument.xml phpdox-0.12.0/dependencies/php/classes/SolrInputDocument.xml --- phpdox-0.11.2/dependencies/php/classes/SolrInputDocument.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SolrInputDocument.xml 2019-03-13 09:34:17.000000000 +0000 @@ -106,7 +106,7 @@ - + @@ -138,7 +138,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SolrQuery.xml phpdox-0.12.0/dependencies/php/classes/SolrQuery.xml --- phpdox-0.11.2/dependencies/php/classes/SolrQuery.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SolrQuery.xml 2019-03-13 09:34:17.000000000 +0000 @@ -33,14 +33,14 @@ - + - + @@ -91,32 +91,32 @@ - + - + - + - + - + @@ -203,7 +203,7 @@ - + @@ -341,7 +341,7 @@ - + @@ -371,7 +371,7 @@ - + @@ -389,7 +389,7 @@ - + @@ -722,7 +722,7 @@ - + @@ -845,7 +845,7 @@ - + @@ -969,7 +969,7 @@ - + @@ -980,42 +980,42 @@ - + - + - + - + - + - + - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SplBool.xml phpdox-0.12.0/dependencies/php/classes/SplBool.xml --- phpdox-0.11.2/dependencies/php/classes/SplBool.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SplBool.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,17 +1,17 @@ - + - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SplDoublyLinkedList.xml phpdox-0.12.0/dependencies/php/classes/SplDoublyLinkedList.xml --- phpdox-0.11.2/dependencies/php/classes/SplDoublyLinkedList.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SplDoublyLinkedList.xml 2019-03-13 09:34:17.000000000 +0000 @@ -23,7 +23,7 @@ - + @@ -41,7 +41,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SplEnum.xml phpdox-0.12.0/dependencies/php/classes/SplEnum.xml --- phpdox-0.11.2/dependencies/php/classes/SplEnum.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SplEnum.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,14 +1,14 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SplFileInfo.xml phpdox-0.12.0/dependencies/php/classes/SplFileInfo.xml --- phpdox-0.11.2/dependencies/php/classes/SplFileInfo.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SplFileInfo.xml 2019-03-13 09:34:17.000000000 +0000 @@ -15,7 +15,7 @@ - + This method returns the base name of the file, directory, or link without path info. diff -Nru phpdox-0.11.2/dependencies/php/classes/SplFileObject.xml phpdox-0.12.0/dependencies/php/classes/SplFileObject.xml --- phpdox-0.11.2/dependencies/php/classes/SplFileObject.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SplFileObject.xml 2019-03-13 09:34:17.000000000 +0000 @@ -21,6 +21,16 @@ + + + + + + + + + + @@ -47,7 +57,7 @@ - + Gets a line from the file which is in CSV format and returns an array containing the fields read. @@ -219,25 +229,12 @@ - - - - - - - - - - - - - diff -Nru phpdox-0.11.2/dependencies/php/classes/SplFixedArray.xml phpdox-0.12.0/dependencies/php/classes/SplFixedArray.xml --- phpdox-0.11.2/dependencies/php/classes/SplFixedArray.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SplFixedArray.xml 2019-03-13 09:34:17.000000000 +0000 @@ -84,7 +84,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SplHeap.xml phpdox-0.12.0/dependencies/php/classes/SplHeap.xml --- phpdox-0.11.2/dependencies/php/classes/SplHeap.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SplHeap.xml 2019-03-13 09:34:17.000000000 +0000 @@ -9,7 +9,7 @@ - Compare value1 with value2. + Compare value1 with value2. @@ -17,7 +17,7 @@ - + @@ -29,20 +29,26 @@ - + - + + + + + + + - + @@ -60,7 +66,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SplMaxHeap.xml phpdox-0.12.0/dependencies/php/classes/SplMaxHeap.xml --- phpdox-0.11.2/dependencies/php/classes/SplMaxHeap.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SplMaxHeap.xml 2019-03-13 09:34:17.000000000 +0000 @@ -3,7 +3,7 @@ - + @@ -42,6 +42,12 @@ + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/SplMinHeap.xml phpdox-0.12.0/dependencies/php/classes/SplMinHeap.xml --- phpdox-0.11.2/dependencies/php/classes/SplMinHeap.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SplMinHeap.xml 2019-03-13 09:34:17.000000000 +0000 @@ -3,7 +3,7 @@ - + @@ -42,6 +42,12 @@ + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/SplPriorityQueue.xml phpdox-0.12.0/dependencies/php/classes/SplPriorityQueue.xml --- phpdox-0.11.2/dependencies/php/classes/SplPriorityQueue.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SplPriorityQueue.xml 2019-03-13 09:34:17.000000000 +0000 @@ -9,7 +9,7 @@ - + @@ -17,7 +17,7 @@ - + @@ -29,21 +29,33 @@ - + + + + + + + - + + + + + + + - + @@ -61,7 +73,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SplQueue.xml phpdox-0.12.0/dependencies/php/classes/SplQueue.xml --- phpdox-0.11.2/dependencies/php/classes/SplQueue.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SplQueue.xml 2019-03-13 09:34:17.000000000 +0000 @@ -15,7 +15,7 @@ - Enqueues value at the end of the queue. + Enqueues value at the end of the queue. diff -Nru phpdox-0.11.2/dependencies/php/classes/SplTempFileObject.xml phpdox-0.12.0/dependencies/php/classes/SplTempFileObject.xml --- phpdox-0.11.2/dependencies/php/classes/SplTempFileObject.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SplTempFileObject.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -206,12 +226,6 @@ - - - - - - diff -Nru phpdox-0.11.2/dependencies/php/classes/SplType.xml phpdox-0.12.0/dependencies/php/classes/SplType.xml --- phpdox-0.11.2/dependencies/php/classes/SplType.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SplType.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,6 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Spoofchecker.xml phpdox-0.12.0/dependencies/php/classes/Spoofchecker.xml --- phpdox-0.11.2/dependencies/php/classes/Spoofchecker.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Spoofchecker.xml 2019-03-13 09:34:17.000000000 +0000 @@ -70,6 +70,6 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/SQLite3Stmt.xml phpdox-0.12.0/dependencies/php/classes/SQLite3Stmt.xml --- phpdox-0.11.2/dependencies/php/classes/SQLite3Stmt.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SQLite3Stmt.xml 2019-03-13 09:34:17.000000000 +0000 @@ -11,7 +11,7 @@ - + Binds the value of a parameter to a statement variable. @@ -20,7 +20,7 @@ - + Clears all current bound parameters (sets them to NULL). @@ -36,6 +36,13 @@ + + + + + + + @@ -44,7 +51,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SQLite3.xml phpdox-0.12.0/dependencies/php/classes/SQLite3.xml --- phpdox-0.11.2/dependencies/php/classes/SQLite3.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SQLite3.xml 2019-03-13 09:34:17.000000000 +0000 @@ -111,15 +111,16 @@ - + - + Opens a stream resource to read or write a BLOB, which would be selected by: + diff -Nru phpdox-0.11.2/dependencies/php/classes/SWFButton.xml phpdox-0.12.0/dependencies/php/classes/SWFButton.xml --- phpdox-0.11.2/dependencies/php/classes/SWFButton.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SWFButton.xml 2019-03-13 09:34:17.000000000 +0000 @@ -53,7 +53,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SWFTextField.xml phpdox-0.12.0/dependencies/php/classes/SWFTextField.xml --- phpdox-0.11.2/dependencies/php/classes/SWFTextField.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SWFTextField.xml 2019-03-13 09:34:17.000000000 +0000 @@ -2,7 +2,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SWFText.xml phpdox-0.12.0/dependencies/php/classes/SWFText.xml --- phpdox-0.11.2/dependencies/php/classes/SWFText.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SWFText.xml 2019-03-13 09:34:17.000000000 +0000 @@ -40,7 +40,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Async.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Async.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Async.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Async.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Atomic.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Atomic.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Atomic.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Atomic.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Buffer.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Buffer.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Buffer.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Buffer.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Channel.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Channel.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Channel.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Channel.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + Data can be any non-empty PHP variable, the variable will be serialized if it is not string type. + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Client.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Client.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Client.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Client.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + null + + + + + + null + + + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Connection_Iterator.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Connection_Iterator.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Connection_Iterator.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Connection_Iterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Coroutine.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Coroutine.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Coroutine.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Coroutine.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Event.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Event.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Event.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Event.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Exception.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Exception.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Exception.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Exception.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,32 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Http_Client.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Http_Client.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Http_Client.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Http_Client.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,139 @@ + + + + null + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Http_Request.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Http_Request.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Http_Request.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Http_Request.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Http_Response.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Http_Response.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Http_Response.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Http_Response.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Http_Server.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Http_Server.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Http_Server.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Http_Server.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,301 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Lock.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Lock.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Lock.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Lock.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Mmap.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Mmap.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Mmap.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Mmap.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_MySQL_Exception.xml phpdox-0.12.0/dependencies/php/classes/Swoole_MySQL_Exception.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_MySQL_Exception.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_MySQL_Exception.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,32 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_MySQL.xml phpdox-0.12.0/dependencies/php/classes/Swoole_MySQL.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_MySQL.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_MySQL.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Process.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Process.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Process.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Process.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Redis_Server.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Redis_Server.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Redis_Server.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Redis_Server.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,346 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Serialize.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Serialize.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Serialize.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Serialize.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Server.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Server.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Server.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Server.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Object oriented style (method): + + + + + + + Object oriented style (method): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Table.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Table.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Table.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Table.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_Timer.xml phpdox-0.12.0/dependencies/php/classes/Swoole_Timer.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_Timer.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_Timer.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_WebSocket_Frame.xml phpdox-0.12.0/dependencies/php/classes/Swoole_WebSocket_Frame.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_WebSocket_Frame.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_WebSocket_Frame.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,2 @@ + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Swoole_WebSocket_Server.xml phpdox-0.12.0/dependencies/php/classes/Swoole_WebSocket_Server.xml --- phpdox-0.11.2/dependencies/php/classes/Swoole_WebSocket_Server.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Swoole_WebSocket_Server.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/SyncEvent.xml phpdox-0.12.0/dependencies/php/classes/SyncEvent.xml --- phpdox-0.11.2/dependencies/php/classes/SyncEvent.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SyncEvent.xml 2019-03-13 09:34:17.000000000 +0000 @@ -26,6 +26,6 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/SyncMutex.xml phpdox-0.12.0/dependencies/php/classes/SyncMutex.xml --- phpdox-0.11.2/dependencies/php/classes/SyncMutex.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SyncMutex.xml 2019-03-13 09:34:17.000000000 +0000 @@ -12,7 +12,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SyncReaderWriter.xml phpdox-0.12.0/dependencies/php/classes/SyncReaderWriter.xml --- phpdox-0.11.2/dependencies/php/classes/SyncReaderWriter.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SyncReaderWriter.xml 2019-03-13 09:34:17.000000000 +0000 @@ -13,7 +13,7 @@ - + @@ -26,7 +26,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/SyncSemaphore.xml phpdox-0.12.0/dependencies/php/classes/SyncSemaphore.xml --- phpdox-0.11.2/dependencies/php/classes/SyncSemaphore.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SyncSemaphore.xml 2019-03-13 09:34:17.000000000 +0000 @@ -6,7 +6,7 @@ - + @@ -14,13 +14,13 @@ - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/SyncSharedMemory.xml phpdox-0.12.0/dependencies/php/classes/SyncSharedMemory.xml --- phpdox-0.11.2/dependencies/php/classes/SyncSharedMemory.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/SyncSharedMemory.xml 2019-03-13 09:34:17.000000000 +0000 @@ -6,7 +6,7 @@ - + @@ -19,8 +19,8 @@ - - + + @@ -34,6 +34,6 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Threaded.xml phpdox-0.12.0/dependencies/php/classes/Threaded.xml --- phpdox-0.11.2/dependencies/php/classes/Threaded.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Threaded.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,18 +1,18 @@ - + - - + + - + @@ -40,31 +40,31 @@ - + - + - + - + - + @@ -72,13 +72,19 @@ - + + + + + + + - + @@ -104,14 +110,14 @@ - + - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Thread.xml phpdox-0.12.0/dependencies/php/classes/Thread.xml --- phpdox-0.11.2/dependencies/php/classes/Thread.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Thread.xml 2019-03-13 09:34:17.000000000 +0000 @@ -10,7 +10,7 @@ - + @@ -22,13 +22,13 @@ - + - + @@ -40,19 +40,19 @@ - + - + - + @@ -64,22 +64,22 @@ - + - + - - + + - + @@ -107,31 +107,31 @@ - + - + - + - + - + @@ -139,13 +139,19 @@ - + + + + + + + - + @@ -171,14 +177,14 @@ - + - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/tidyNode.xml phpdox-0.12.0/dependencies/php/classes/tidyNode.xml --- phpdox-0.11.2/dependencies/php/classes/tidyNode.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/tidyNode.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,117 +1,123 @@ - + null - + null - + null - + - + null - + null - + null - + null - + - + null - + null - + + + + + + + - + - + - + - + - + - + - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/tidy.xml phpdox-0.12.0/dependencies/php/classes/tidy.xml --- phpdox-0.11.2/dependencies/php/classes/tidy.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/tidy.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,25 +1,25 @@ - + null Object oriented style (property): - + Object oriented style - + Object oriented style - + @@ -29,75 +29,75 @@ - + Object oriented style - + Object oriented style - + Object oriented style - + Object oriented style - + Object oriented style - + Object oriented style - + Object oriented style - + Object oriented style - + Object oriented style - + Object oriented style - + Object oriented style - + Object oriented style @@ -107,7 +107,7 @@ - + Object oriented style @@ -116,7 +116,7 @@ - + Object oriented style @@ -126,7 +126,7 @@ - + Object oriented style @@ -135,7 +135,7 @@ - + Object oriented style diff -Nru phpdox-0.11.2/dependencies/php/classes/TypeError.xml phpdox-0.12.0/dependencies/php/classes/TypeError.xml --- phpdox-0.11.2/dependencies/php/classes/TypeError.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/TypeError.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,34 @@ + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/UConverter.xml phpdox-0.12.0/dependencies/php/classes/UConverter.xml --- phpdox-0.11.2/dependencies/php/classes/UConverter.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UConverter.xml 2019-03-13 09:34:17.000000000 +0000 @@ -226,17 +226,17 @@ - + - + - + @@ -253,13 +253,13 @@ - + - + @@ -277,7 +277,7 @@ - + @@ -297,7 +297,7 @@ - + @@ -325,10 +325,10 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Area.xml phpdox-0.12.0/dependencies/php/classes/UI_Area.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Area.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Area.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -47,8 +47,8 @@ - - + + @@ -57,7 +57,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Box.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Box.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Box.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Box.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -22,27 +22,27 @@ - + - + - + - + - + - + @@ -56,7 +56,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Button.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Button.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Button.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Button.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Check.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Check.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Check.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Check.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -31,7 +31,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_ColorButton.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_ColorButton.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_ColorButton.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_ColorButton.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -25,7 +25,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Combo.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Combo.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Combo.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Combo.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@ - + @@ -25,7 +25,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_EditableCombo.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_EditableCombo.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_EditableCombo.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_EditableCombo.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Entry.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Entry.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Entry.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Entry.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -21,7 +21,7 @@ - + @@ -46,7 +46,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Form.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Form.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Form.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Form.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + null @@ -10,18 +10,18 @@ - + - + - + - + @@ -34,7 +34,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Grid.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Grid.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Grid.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Grid.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -53,14 +53,14 @@ - - - - - - - - + + + + + + + + @@ -73,7 +73,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Group.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Group.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Group.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Group.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + null @@ -38,7 +38,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Label.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Label.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Label.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Label.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_MultilineEntry.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_MultilineEntry.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_MultilineEntry.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_MultilineEntry.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -16,7 +16,7 @@ - + @@ -48,7 +48,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Picker.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Picker.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Picker.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Picker.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -21,7 +21,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Progress.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Progress.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Progress.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Progress.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Radio.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Radio.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Radio.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Radio.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@ - + @@ -25,7 +25,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Separator.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Separator.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Separator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Separator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -16,7 +16,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Slider.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Slider.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Slider.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Slider.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,18 +1,18 @@ - + - - + + - + @@ -26,7 +26,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Spin.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Spin.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Spin.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Spin.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,13 +1,13 @@ - + - - + + @@ -26,7 +26,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Controls_Tab.xml phpdox-0.12.0/dependencies/php/classes/UI_Controls_Tab.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Controls_Tab.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Controls_Tab.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + null @@ -10,7 +10,7 @@ - + @@ -18,16 +18,16 @@ - + - + - + @@ -35,13 +35,13 @@ - + - + @@ -49,8 +49,8 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Control.xml phpdox-0.12.0/dependencies/php/classes/UI_Control.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Control.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Control.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Brush_Gradient.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Brush_Gradient.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Brush_Gradient.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Brush_Gradient.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,10 +1,10 @@ - + - + @@ -12,35 +12,35 @@ - + - + - + - + - + - + - + - + - + @@ -60,6 +60,6 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Brush_LinearGradient.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Brush_LinearGradient.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Brush_LinearGradient.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Brush_LinearGradient.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@ - + @@ -20,34 +20,34 @@ - + - + - + - + - + - + - + - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Brush_RadialGradient.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Brush_RadialGradient.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Brush_RadialGradient.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Brush_RadialGradient.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ - + @@ -21,34 +21,34 @@ - + - + - + - + - + - + - + - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Brush.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Brush.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Brush.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Brush.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@ - + @@ -32,6 +32,6 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Color.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Color.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Color.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Color.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -56,21 +56,21 @@ - + - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Line_Cap.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Line_Cap.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Line_Cap.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Line_Cap.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Line_Join.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Line_Join.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Line_Join.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Line_Join.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Matrix.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Matrix.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Matrix.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Matrix.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Path.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Path.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Path.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Path.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -15,7 +15,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Pen.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Pen.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Pen.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Pen.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -29,7 +29,7 @@ - + @@ -67,7 +67,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Stroke.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Stroke.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Stroke.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Stroke.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,25 +1,25 @@ - + - - + + - + - + @@ -39,14 +39,14 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Text_Font_Descriptor.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Text_Font_Descriptor.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Text_Font_Descriptor.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Text_Font_Descriptor.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -7,9 +7,9 @@ - - - + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Text_Font_Italic.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Text_Font_Italic.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Text_Font_Italic.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Text_Font_Italic.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Text_Font_Stretch.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Text_Font_Stretch.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Text_Font_Stretch.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Text_Font_Stretch.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Text_Font_Weight.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Text_Font_Weight.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Text_Font_Weight.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Text_Font_Weight.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Text_Font.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Text_Font.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Text_Font.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Text_Font.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Draw_Text_Layout.xml phpdox-0.12.0/dependencies/php/classes/UI_Draw_Text_Layout.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Draw_Text_Layout.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Draw_Text_Layout.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -15,17 +15,17 @@ - - + + - - - + + + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Exception_InvalidArgumentException.xml phpdox-0.12.0/dependencies/php/classes/UI_Exception_InvalidArgumentException.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Exception_InvalidArgumentException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Exception_InvalidArgumentException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + null diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Exception_RuntimeException.xml phpdox-0.12.0/dependencies/php/classes/UI_Exception_RuntimeException.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Exception_RuntimeException.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Exception_RuntimeException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + null diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Executor.xml phpdox-0.12.0/dependencies/php/classes/UI_Executor.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Executor.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Executor.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -11,15 +11,15 @@ - + - - + + @@ -38,14 +38,14 @@ - + - - + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Key.xml phpdox-0.12.0/dependencies/php/classes/UI_Key.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Key.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Key.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_MenuItem.xml phpdox-0.12.0/dependencies/php/classes/UI_MenuItem.xml --- phpdox-0.11.2/dependencies/php/classes/UI_MenuItem.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_MenuItem.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + @@ -29,6 +29,6 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Menu.xml phpdox-0.12.0/dependencies/php/classes/UI_Menu.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Menu.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Menu.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Point.xml phpdox-0.12.0/dependencies/php/classes/UI_Point.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Point.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Point.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + null diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Size.xml phpdox-0.12.0/dependencies/php/classes/UI_Size.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Size.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Size.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + null diff -Nru phpdox-0.11.2/dependencies/php/classes/UI_Window.xml phpdox-0.12.0/dependencies/php/classes/UI_Window.xml --- phpdox-0.11.2/dependencies/php/classes/UI_Window.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/UI_Window.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + null @@ -14,7 +14,7 @@ - + @@ -92,21 +92,21 @@ - + - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Volatile.xml phpdox-0.12.0/dependencies/php/classes/Volatile.xml --- phpdox-0.11.2/dependencies/php/classes/Volatile.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Volatile.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Vtiful_Kernel_Excel.xml phpdox-0.12.0/dependencies/php/classes/Vtiful_Kernel_Excel.xml --- phpdox-0.11.2/dependencies/php/classes/Vtiful_Kernel_Excel.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Vtiful_Kernel_Excel.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Vtiful_Kernel_Format.xml phpdox-0.12.0/dependencies/php/classes/Vtiful_Kernel_Format.xml --- phpdox-0.11.2/dependencies/php/classes/Vtiful_Kernel_Format.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Vtiful_Kernel_Format.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/WeakMap.xml phpdox-0.12.0/dependencies/php/classes/WeakMap.xml --- phpdox-0.11.2/dependencies/php/classes/WeakMap.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/WeakMap.xml 2019-03-13 09:34:17.000000000 +0000 @@ -21,7 +21,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/wkhtmltox_Image_Converter.xml phpdox-0.12.0/dependencies/php/classes/wkhtmltox_Image_Converter.xml --- phpdox-0.11.2/dependencies/php/classes/wkhtmltox_Image_Converter.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/wkhtmltox_Image_Converter.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/wkhtmltox_PDF_Converter.xml phpdox-0.12.0/dependencies/php/classes/wkhtmltox_PDF_Converter.xml --- phpdox-0.11.2/dependencies/php/classes/wkhtmltox_PDF_Converter.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/wkhtmltox_PDF_Converter.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/wkhtmltox_PDF_Object.xml phpdox-0.12.0/dependencies/php/classes/wkhtmltox_PDF_Object.xml --- phpdox-0.11.2/dependencies/php/classes/wkhtmltox_PDF_Object.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/wkhtmltox_PDF_Object.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Worker.xml phpdox-0.12.0/dependencies/php/classes/Worker.xml --- phpdox-0.11.2/dependencies/php/classes/Worker.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Worker.xml 2019-03-13 09:34:17.000000000 +0000 @@ -23,7 +23,7 @@ - + @@ -54,7 +54,7 @@ - + @@ -66,13 +66,13 @@ - + - + @@ -84,19 +84,19 @@ - + - + - + @@ -108,8 +108,8 @@ - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/XMLDiff_Base.xml phpdox-0.12.0/dependencies/php/classes/XMLDiff_Base.xml --- phpdox-0.11.2/dependencies/php/classes/XMLDiff_Base.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/XMLDiff_Base.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/XMLDiff_DOM.xml phpdox-0.12.0/dependencies/php/classes/XMLDiff_DOM.xml --- phpdox-0.11.2/dependencies/php/classes/XMLDiff_DOM.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/XMLDiff_DOM.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/XMLDiff_File.xml phpdox-0.12.0/dependencies/php/classes/XMLDiff_File.xml --- phpdox-0.11.2/dependencies/php/classes/XMLDiff_File.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/XMLDiff_File.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/XMLDiff_Memory.xml phpdox-0.12.0/dependencies/php/classes/XMLDiff_Memory.xml --- phpdox-0.11.2/dependencies/php/classes/XMLDiff_Memory.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/XMLDiff_Memory.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/XMLReader.xml phpdox-0.12.0/dependencies/php/classes/XMLReader.xml --- phpdox-0.11.2/dependencies/php/classes/XMLReader.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/XMLReader.xml 2019-03-13 09:34:17.000000000 +0000 @@ -325,13 +325,13 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/XSLTProcessor.xml phpdox-0.12.0/dependencies/php/classes/XSLTProcessor.xml --- phpdox-0.11.2/dependencies/php/classes/XSLTProcessor.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/XSLTProcessor.xml 2019-03-13 09:34:17.000000000 +0000 @@ -80,7 +80,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Yaconf.xml phpdox-0.12.0/dependencies/php/classes/Yaconf.xml --- phpdox-0.11.2/dependencies/php/classes/Yaconf.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yaconf.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Yaf_Action_Abstract.xml phpdox-0.12.0/dependencies/php/classes/Yaf_Action_Abstract.xml --- phpdox-0.11.2/dependencies/php/classes/Yaf_Action_Abstract.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yaf_Action_Abstract.xml 2019-03-13 09:34:17.000000000 +0000 @@ -89,7 +89,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Yaf_Application.xml phpdox-0.12.0/dependencies/php/classes/Yaf_Application.xml --- phpdox-0.11.2/dependencies/php/classes/Yaf_Application.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yaf_Application.xml 2019-03-13 09:34:17.000000000 +0000 @@ -39,7 +39,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Yaf_Config_Ini.xml phpdox-0.12.0/dependencies/php/classes/Yaf_Config_Ini.xml --- phpdox-0.11.2/dependencies/php/classes/Yaf_Config_Ini.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yaf_Config_Ini.xml 2019-03-13 09:34:17.000000000 +0000 @@ -11,39 +11,39 @@ - + - + - + - + - + - + @@ -98,7 +98,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Yaf_Controller_Abstract.xml phpdox-0.12.0/dependencies/php/classes/Yaf_Controller_Abstract.xml --- phpdox-0.11.2/dependencies/php/classes/Yaf_Controller_Abstract.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yaf_Controller_Abstract.xml 2019-03-13 09:34:17.000000000 +0000 @@ -64,7 +64,7 @@ - forward current execution process to other action. this method doesn't switch to the destination action immediately, it will take place after current flow finish. + forward current execution process to other action. this method doesn't switch to the destination action immediately, it will take place after current flow finish. @@ -110,7 +110,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Yaf_Dispatcher.xml phpdox-0.12.0/dependencies/php/classes/Yaf_Dispatcher.xml --- phpdox-0.11.2/dependencies/php/classes/Yaf_Dispatcher.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yaf_Dispatcher.xml 2019-03-13 09:34:17.000000000 +0000 @@ -107,7 +107,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Yaf_Loader.xml phpdox-0.12.0/dependencies/php/classes/Yaf_Loader.xml --- phpdox-0.11.2/dependencies/php/classes/Yaf_Loader.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yaf_Loader.xml 2019-03-13 09:34:17.000000000 +0000 @@ -56,7 +56,7 @@ - + @@ -81,7 +81,7 @@ - Register local class prefix name, Yaf_Loader search classes in two library directories, the one is configured via application.library.directory(in application.ini) which is called local libraray directory; the other is configured via yaf.library (in php.ini) which is callled global library directory, since it can be shared by many applications in the same server. + Register local class prefix name, Yaf_Loader search classes in two library directories, the one is configured via application.library.directory(in application.ini) which is called local libraray directory; the other is configured via yaf.library (in php.ini) which is callled global library directory, since it can be shared by many applications in the same server. diff -Nru phpdox-0.11.2/dependencies/php/classes/Yaf_Plugin_Abstract.xml phpdox-0.12.0/dependencies/php/classes/Yaf_Plugin_Abstract.xml --- phpdox-0.11.2/dependencies/php/classes/Yaf_Plugin_Abstract.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yaf_Plugin_Abstract.xml 2019-03-13 09:34:17.000000000 +0000 @@ -10,7 +10,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Yaf_Request_Abstract.xml phpdox-0.12.0/dependencies/php/classes/Yaf_Request_Abstract.xml --- phpdox-0.11.2/dependencies/php/classes/Yaf_Request_Abstract.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yaf_Request_Abstract.xml 2019-03-13 09:34:17.000000000 +0000 @@ -110,14 +110,14 @@ - + - - + + @@ -128,16 +128,16 @@ - - + + - - + + @@ -156,56 +156,56 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -217,7 +217,7 @@ - Set base URI, base URI is used when doing routing, in routing phase request URI is used to route a request, while base URI is used to skip the leadding part(base URI) of request URI. That is, if comes a request with request URI a/b/c, then if you set base URI to "a/b", only "/c" will be used in routing phase. generally, you don't need to set this, Yaf will determine it automatically. + Set base URI, base URI is used when doing routing, in routing phase request URI is used to route a request, while base URI is used to skip the leadding part(base URI) of request URI. That is, if comes a request with request URI a/b/c, then if you set base URI to "a/b", only "/c" will be used in routing phase. generally, you don't need to set this, Yaf will determine it automatically. @@ -244,8 +244,8 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/Yaf_Request_Http.xml phpdox-0.12.0/dependencies/php/classes/Yaf_Request_Http.xml --- phpdox-0.11.2/dependencies/php/classes/Yaf_Request_Http.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yaf_Request_Http.xml 2019-03-13 09:34:17.000000000 +0000 @@ -3,7 +3,7 @@ - + @@ -53,6 +53,12 @@ + + + + + + @@ -61,7 +67,7 @@ - Check the request whether it is a Ajax Request. This method depends on the request header: HTTP_X_REQUESTED_WITH, some Javascript library doesn't set this header while doing Ajax request + Check the request whether it is a Ajax Request. This method depends on the request header: HTTP_X_REQUESTED_WITH, some Javascript library doesn't set this header while doing Ajax request @@ -106,7 +112,7 @@ - + @@ -118,7 +124,7 @@ - + @@ -126,7 +132,7 @@ - + @@ -146,55 +152,55 @@ - + - + - + - + - + - + - + - + - + @@ -234,7 +240,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Yaf_Request_Simple.xml phpdox-0.12.0/dependencies/php/classes/Yaf_Request_Simple.xml --- phpdox-0.11.2/dependencies/php/classes/Yaf_Request_Simple.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yaf_Request_Simple.xml 2019-03-13 09:34:17.000000000 +0000 @@ -66,7 +66,7 @@ - + @@ -111,7 +111,7 @@ - + @@ -123,7 +123,7 @@ - + @@ -131,7 +131,7 @@ - + @@ -151,55 +151,55 @@ - + - + - + - + - + - + - + - + - + @@ -239,7 +239,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Yaf_Response_Abstract.xml phpdox-0.12.0/dependencies/php/classes/Yaf_Response_Abstract.xml --- phpdox-0.11.2/dependencies/php/classes/Yaf_Response_Abstract.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yaf_Response_Abstract.xml 2019-03-13 09:34:17.000000000 +0000 @@ -25,7 +25,7 @@ - + @@ -33,14 +33,14 @@ - + - + @@ -85,7 +85,7 @@ - + @@ -105,9 +105,12 @@ - - + + + + + @@ -117,8 +120,8 @@ - - + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Yar_Client_Exception.xml phpdox-0.12.0/dependencies/php/classes/Yar_Client_Exception.xml --- phpdox-0.11.2/dependencies/php/classes/Yar_Client_Exception.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yar_Client_Exception.xml 2019-03-13 09:34:17.000000000 +0000 @@ -3,8 +3,8 @@ - - + + diff -Nru phpdox-0.11.2/dependencies/php/classes/Yar_Client.xml phpdox-0.12.0/dependencies/php/classes/Yar_Client.xml --- phpdox-0.11.2/dependencies/php/classes/Yar_Client.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yar_Client.xml 2019-03-13 09:34:17.000000000 +0000 @@ -38,13 +38,14 @@ + - + - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Yar_Concurrent_Client.xml phpdox-0.12.0/dependencies/php/classes/Yar_Concurrent_Client.xml --- phpdox-0.11.2/dependencies/php/classes/Yar_Concurrent_Client.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yar_Concurrent_Client.xml 2019-03-13 09:34:17.000000000 +0000 @@ -25,13 +25,15 @@ - + + + - + @@ -39,7 +41,7 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Yar_Server_Exception.xml phpdox-0.12.0/dependencies/php/classes/Yar_Server_Exception.xml --- phpdox-0.11.2/dependencies/php/classes/Yar_Server_Exception.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yar_Server_Exception.xml 2019-03-13 09:34:17.000000000 +0000 @@ -9,7 +9,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/Yar_Server.xml phpdox-0.12.0/dependencies/php/classes/Yar_Server.xml --- phpdox-0.11.2/dependencies/php/classes/Yar_Server.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Yar_Server.xml 2019-03-13 09:34:17.000000000 +0000 @@ -16,7 +16,7 @@ Start a RPC HTTP server, and ready for accpet RPC requests. Usual RPC calls will be issued as HTTP POST requests. If a HTTP GET request is issued to the uri, the service information (commented section above) will be printed on the page - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ZipArchive.xml phpdox-0.12.0/dependencies/php/classes/ZipArchive.xml --- phpdox-0.11.2/dependencies/php/classes/ZipArchive.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ZipArchive.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,6 @@ + null @@ -84,16 +85,22 @@ + + + + + + - + - + @@ -183,7 +190,7 @@ - + @@ -308,7 +315,7 @@ - + @@ -316,7 +323,7 @@ - + @@ -330,7 +337,7 @@ - + @@ -343,7 +350,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/classes/ZMQContext.xml phpdox-0.12.0/dependencies/php/classes/ZMQContext.xml --- phpdox-0.11.2/dependencies/php/classes/ZMQContext.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ZMQContext.xml 2019-03-13 09:34:17.000000000 +0000 @@ -5,8 +5,8 @@ - - + + @@ -20,14 +20,14 @@ - + - + @@ -35,7 +35,7 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ZMQDevice.xml phpdox-0.12.0/dependencies/php/classes/ZMQDevice.xml --- phpdox-0.11.2/dependencies/php/classes/ZMQDevice.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ZMQDevice.xml 2019-03-13 09:34:17.000000000 +0000 @@ -33,7 +33,7 @@ - + @@ -41,7 +41,7 @@ - + @@ -49,7 +49,7 @@ - + @@ -57,6 +57,6 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ZMQPoll.xml phpdox-0.12.0/dependencies/php/classes/ZMQPoll.xml --- phpdox-0.11.2/dependencies/php/classes/ZMQPoll.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ZMQPoll.xml 2019-03-13 09:34:17.000000000 +0000 @@ -6,7 +6,7 @@ - + @@ -17,7 +17,7 @@ - + @@ -29,16 +29,16 @@ - + - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/ZMQSocket.xml phpdox-0.12.0/dependencies/php/classes/ZMQSocket.xml --- phpdox-0.11.2/dependencies/php/classes/ZMQSocket.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ZMQSocket.xml 2019-03-13 09:34:17.000000000 +0000 @@ -6,7 +6,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -61,7 +61,7 @@ - + @@ -69,14 +69,14 @@ - + - + - + @@ -84,7 +84,7 @@ - + @@ -92,14 +92,14 @@ - + - + diff -Nru phpdox-0.11.2/dependencies/php/classes/ZookeeperAuthenticationException.xml phpdox-0.12.0/dependencies/php/classes/ZookeeperAuthenticationException.xml --- phpdox-0.11.2/dependencies/php/classes/ZookeeperAuthenticationException.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ZookeeperAuthenticationException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,86 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ZookeeperConfig.xml phpdox-0.12.0/dependencies/php/classes/ZookeeperConfig.xml --- phpdox-0.11.2/dependencies/php/classes/ZookeeperConfig.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ZookeeperConfig.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ZookeeperConnectionException.xml phpdox-0.12.0/dependencies/php/classes/ZookeeperConnectionException.xml --- phpdox-0.11.2/dependencies/php/classes/ZookeeperConnectionException.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ZookeeperConnectionException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,86 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ZookeeperException.xml phpdox-0.12.0/dependencies/php/classes/ZookeeperException.xml --- phpdox-0.11.2/dependencies/php/classes/ZookeeperException.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ZookeeperException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,86 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ZookeeperMarshallingException.xml phpdox-0.12.0/dependencies/php/classes/ZookeeperMarshallingException.xml --- phpdox-0.11.2/dependencies/php/classes/ZookeeperMarshallingException.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ZookeeperMarshallingException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,86 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ZookeeperNoNodeException.xml phpdox-0.12.0/dependencies/php/classes/ZookeeperNoNodeException.xml --- phpdox-0.11.2/dependencies/php/classes/ZookeeperNoNodeException.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ZookeeperNoNodeException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,86 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ZookeeperOperationTimeoutException.xml phpdox-0.12.0/dependencies/php/classes/ZookeeperOperationTimeoutException.xml --- phpdox-0.11.2/dependencies/php/classes/ZookeeperOperationTimeoutException.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ZookeeperOperationTimeoutException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,86 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/ZookeeperSessionException.xml phpdox-0.12.0/dependencies/php/classes/ZookeeperSessionException.xml --- phpdox-0.11.2/dependencies/php/classes/ZookeeperSessionException.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/ZookeeperSessionException.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,86 @@ + + + + + null + + + + + + + null + + + + + + + null + + + + + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/classes/Zookeeper.xml phpdox-0.12.0/dependencies/php/classes/Zookeeper.xml --- phpdox-0.11.2/dependencies/php/classes/Zookeeper.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/classes/Zookeeper.xml 2019-03-13 09:34:17.000000000 +0000 @@ -2,7 +2,7 @@ - + @@ -11,16 +11,22 @@ - + + + + + + + - + @@ -29,7 +35,7 @@ - + @@ -39,7 +45,7 @@ - + @@ -47,7 +53,7 @@ - + @@ -55,7 +61,7 @@ - + @@ -65,38 +71,52 @@ - + + + + + + + + + - + + + + + + + - + - + - + - + @@ -106,7 +126,7 @@ - + @@ -115,28 +135,28 @@ - + - + - + - + @@ -181,6 +201,16 @@ + + + + + + + + + + @@ -225,5 +255,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/index.xml phpdox-0.12.0/dependencies/php/index.xml --- phpdox-0.11.2/dependencies/php/index.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/index.xml 2019-03-13 09:34:17.000000000 +0000 @@ -4,9 +4,11 @@ + + @@ -29,6 +31,7 @@ + @@ -68,40 +71,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -125,18 +94,16 @@ - - - - + + @@ -248,15 +215,18 @@ + + + @@ -352,6 +322,7 @@ + @@ -393,6 +364,14 @@ + + + + + + + + @@ -417,25 +396,19 @@ - - - - - - - - + + @@ -478,59 +451,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -539,10 +461,6 @@ - - - - @@ -556,9 +474,312 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru phpdox-0.11.2/dependencies/php/interfaces/ArrayAccess.xml phpdox-0.12.0/dependencies/php/interfaces/ArrayAccess.xml --- phpdox-0.11.2/dependencies/php/interfaces/ArrayAccess.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/ArrayAccess.xml 2019-03-13 09:34:17.000000000 +0000 @@ -3,7 +3,7 @@ Whether or not an offset exists. - + diff -Nru phpdox-0.11.2/dependencies/php/interfaces/Collectable.xml phpdox-0.12.0/dependencies/php/interfaces/Collectable.xml --- phpdox-0.11.2/dependencies/php/interfaces/Collectable.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/Collectable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,5 @@ - diff -Nru phpdox-0.11.2/dependencies/php/interfaces/CommonMark_Interfaces_IVisitable.xml phpdox-0.12.0/dependencies/php/interfaces/CommonMark_Interfaces_IVisitable.xml --- phpdox-0.11.2/dependencies/php/interfaces/CommonMark_Interfaces_IVisitable.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/CommonMark_Interfaces_IVisitable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/DateTimeInterface.xml phpdox-0.12.0/dependencies/php/interfaces/DateTimeInterface.xml --- phpdox-0.11.2/dependencies/php/interfaces/DateTimeInterface.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/DateTimeInterface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Object oriented style diff -Nru phpdox-0.11.2/dependencies/php/interfaces/Ds_Collection.xml phpdox-0.12.0/dependencies/php/interfaces/Ds_Collection.xml --- phpdox-0.11.2/dependencies/php/interfaces/Ds_Collection.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/Ds_Collection.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,15 +1,15 @@ - + - + - + @@ -21,7 +21,7 @@ - Converts the collection to an array. + Converts the collection to an array. diff -Nru phpdox-0.11.2/dependencies/php/interfaces/Ds_Hashable.xml phpdox-0.12.0/dependencies/php/interfaces/Ds_Hashable.xml --- phpdox-0.11.2/dependencies/php/interfaces/Ds_Hashable.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/Ds_Hashable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,15 +1,15 @@ - + - Determines whether another object is equal to the current instance. + Determines whether another object is equal to the current instance. - Returns a scalar value to be used as the hash value of the objects. + Returns a scalar value to be used as the hash value of the objects. diff -Nru phpdox-0.11.2/dependencies/php/interfaces/Ds_Sequence.xml phpdox-0.12.0/dependencies/php/interfaces/Ds_Sequence.xml --- phpdox-0.11.2/dependencies/php/interfaces/Ds_Sequence.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/Ds_Sequence.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,63 +1,63 @@ - + - + - + - + - + - + - + - + - + - + @@ -65,47 +65,47 @@ - + - + - + - + - + - + - + @@ -113,33 +113,33 @@ - + - + - + - + - + @@ -147,13 +147,13 @@ - + - + @@ -161,27 +161,27 @@ - + - + - Returns the sum of all values in the sequence. + Returns the sum of all values in the sequence. - + diff -Nru phpdox-0.11.2/dependencies/php/interfaces/Iterator.xml phpdox-0.12.0/dependencies/php/interfaces/Iterator.xml --- phpdox-0.11.2/dependencies/php/interfaces/Iterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/Iterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -28,7 +28,7 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoCursorInterface.xml phpdox-0.12.0/dependencies/php/interfaces/MongoCursorInterface.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoCursorInterface.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoCursorInterface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -3,7 +3,7 @@ - + @@ -68,7 +68,7 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_BinaryInterface.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_BinaryInterface.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_BinaryInterface.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_BinaryInterface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_Decimal128Interface.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_Decimal128Interface.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_Decimal128Interface.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_Decimal128Interface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_JavascriptInterface.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_JavascriptInterface.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_JavascriptInterface.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_JavascriptInterface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_MaxKeyInterface.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_MaxKeyInterface.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_MaxKeyInterface.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_MaxKeyInterface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,2 @@ + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_MinKeyInterface.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_MinKeyInterface.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_MinKeyInterface.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_MinKeyInterface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,2 @@ + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_ObjectIdInterface.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_ObjectIdInterface.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_ObjectIdInterface.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_ObjectIdInterface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_Persistable.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_Persistable.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_Persistable.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_Persistable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_RegexInterface.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_RegexInterface.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_RegexInterface.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_RegexInterface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_Serializable.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_Serializable.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_Serializable.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_Serializable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_TimestampInterface.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_TimestampInterface.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_TimestampInterface.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_TimestampInterface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_Type.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_Type.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_Type.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_Type.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_Unserializable.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_Unserializable.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_Unserializable.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_Unserializable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,5 +1,5 @@ - + Called during unserialization of the object from BSON. The properties of the BSON array or document will be passed to the method as an array. diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_UTCDateTimeInterface.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_UTCDateTimeInterface.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_BSON_UTCDateTimeInterface.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_BSON_UTCDateTimeInterface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_Driver_Exception_Exception.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_Driver_Exception_Exception.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_Driver_Exception_Exception.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_Driver_Exception_Exception.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_Driver_Monitoring_CommandSubscriber.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_Driver_Monitoring_CommandSubscriber.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_Driver_Monitoring_CommandSubscriber.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_Driver_Monitoring_CommandSubscriber.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/MongoDB_Driver_Monitoring_Subscriber.xml phpdox-0.12.0/dependencies/php/interfaces/MongoDB_Driver_Monitoring_Subscriber.xml --- phpdox-0.11.2/dependencies/php/interfaces/MongoDB_Driver_Monitoring_Subscriber.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/MongoDB_Driver_Monitoring_Subscriber.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,2 @@ + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_BaseResult.xml phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_BaseResult.xml --- phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_BaseResult.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_BaseResult.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_CrudOperationBindable.xml phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_CrudOperationBindable.xml --- phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_CrudOperationBindable.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_CrudOperationBindable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_CrudOperationLimitable.xml phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_CrudOperationLimitable.xml --- phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_CrudOperationLimitable.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_CrudOperationLimitable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_CrudOperationSkippable.xml phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_CrudOperationSkippable.xml --- phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_CrudOperationSkippable.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_CrudOperationSkippable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_CrudOperationSortable.xml phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_CrudOperationSortable.xml --- phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_CrudOperationSortable.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_CrudOperationSortable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_DatabaseObject.xml phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_DatabaseObject.xml --- phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_DatabaseObject.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_DatabaseObject.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_Executable.xml phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_Executable.xml --- phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_Executable.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_Executable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_SchemaObject.xml phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_SchemaObject.xml --- phpdox-0.11.2/dependencies/php/interfaces/mysql_xdevapi_SchemaObject.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/mysql_xdevapi_SchemaObject.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/OuterIterator.xml phpdox-0.12.0/dependencies/php/interfaces/OuterIterator.xml --- phpdox-0.11.2/dependencies/php/interfaces/OuterIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/OuterIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -3,7 +3,7 @@ - + @@ -34,7 +34,7 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/pht_Runnable.xml phpdox-0.12.0/dependencies/php/interfaces/pht_Runnable.xml --- phpdox-0.11.2/dependencies/php/interfaces/pht_Runnable.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/pht_Runnable.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/pht_Threaded.xml phpdox-0.12.0/dependencies/php/interfaces/pht_Threaded.xml --- phpdox-0.11.2/dependencies/php/interfaces/pht_Threaded.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/pht_Threaded.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/RecursiveIterator.xml phpdox-0.12.0/dependencies/php/interfaces/RecursiveIterator.xml --- phpdox-0.11.2/dependencies/php/interfaces/RecursiveIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/RecursiveIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -3,7 +3,7 @@ - + @@ -40,7 +40,7 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/SeekableIterator.xml phpdox-0.12.0/dependencies/php/interfaces/SeekableIterator.xml --- phpdox-0.11.2/dependencies/php/interfaces/SeekableIterator.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/SeekableIterator.xml 2019-03-13 09:34:17.000000000 +0000 @@ -35,7 +35,7 @@ - + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/SessionHandlerInterface.xml phpdox-0.12.0/dependencies/php/interfaces/SessionHandlerInterface.xml --- phpdox-0.11.2/dependencies/php/interfaces/SessionHandlerInterface.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/SessionHandlerInterface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -16,7 +16,7 @@ - + diff -Nru phpdox-0.11.2/dependencies/php/interfaces/SessionIdInterface.xml phpdox-0.12.0/dependencies/php/interfaces/SessionIdInterface.xml --- phpdox-0.11.2/dependencies/php/interfaces/SessionIdInterface.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/SessionIdInterface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/SessionUpdateTimestampHandlerInterface.xml phpdox-0.12.0/dependencies/php/interfaces/SessionUpdateTimestampHandlerInterface.xml --- phpdox-0.11.2/dependencies/php/interfaces/SessionUpdateTimestampHandlerInterface.xml 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/SessionUpdateTimestampHandlerInterface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -Nru phpdox-0.11.2/dependencies/php/interfaces/Yaf_Route_Interface.xml phpdox-0.12.0/dependencies/php/interfaces/Yaf_Route_Interface.xml --- phpdox-0.11.2/dependencies/php/interfaces/Yaf_Route_Interface.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/dependencies/php/interfaces/Yaf_Route_Interface.xml 2019-03-13 09:34:17.000000000 +0000 @@ -2,7 +2,7 @@ - this method returns a url according to the argument info, and append query strings to the url according to the argument query. + this method returns a url according to the argument info, and append query strings to the url according to the argument query. @@ -10,7 +10,7 @@ - Yaf_Route_Interface::route is the only method that a custom route should implement. since of 2.3.0, there is another method should also be implemented, see Yaf_Route_Interface::assemble. + Yaf_Route_Interface::route is the only method that a custom route should implement. since of 2.3.0, there is another method should also be implemented, see Yaf_Route_Interface::assemble. diff -Nru phpdox-0.11.2/.gitignore phpdox-0.12.0/.gitignore --- phpdox-0.11.2/.gitignore 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/.gitignore 2019-03-13 09:34:17.000000000 +0000 @@ -10,3 +10,4 @@ /tests/data/*/xml /tests/data/*/docs /tools +.php_cs.cache diff -Nru phpdox-0.11.2/LICENSE phpdox-0.12.0/LICENSE --- phpdox-0.11.2/LICENSE 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/LICENSE 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,6 @@ phpDox -Copyright (c) 2010-2015 Arne Blankerts +Copyright (c) 2010-2019 Arne Blankerts and contributors All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -28,4 +28,3 @@ 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 -Nru phpdox-0.11.2/phive.xml phpdox-0.12.0/phive.xml --- phpdox-0.11.2/phive.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/phive.xml 2019-03-13 09:34:17.000000000 +0000 @@ -1,6 +1,6 @@ - - - + + + diff -Nru phpdox-0.11.2/.php_cs.dist phpdox-0.12.0/.php_cs.dist --- phpdox-0.11.2/.php_cs.dist 1970-01-01 00:00:00.000000000 +0000 +++ phpdox-0.12.0/.php_cs.dist 2019-03-13 09:34:17.000000000 +0000 @@ -0,0 +1,206 @@ +setRiskyAllowed(true) + ->setUsingCache(false) + ->setRules( + [ + 'align_multiline_comment' => true, + 'array_indentation' => true, + 'array_syntax' => ['syntax' => 'short'], + 'binary_operator_spaces' => [ + 'operators' => [ + '=' => 'align', + '=>' => 'align', + ], + ], + 'blank_line_after_namespace' => true, + 'blank_line_after_opening_tag' => false, + 'blank_line_before_statement' => [ + 'statements' => [ + 'break', + 'continue', + 'declare', + 'do', + 'for', + 'foreach', + 'if', + 'include', + 'include_once', + 'require', + 'require_once', + 'return', + 'switch', + 'throw', + 'try', + 'while', + 'yield', + ], + ], + 'braces' => [ + 'allow_single_line_closure' => false, + 'position_after_anonymous_constructs' => 'same', + 'position_after_control_structures' => 'same', + 'position_after_functions_and_oop_constructs' => 'same' + ], + 'cast_spaces' => ['space' => 'none'], + 'class_attributes_separation' => ['elements' => ['const', 'method', 'property']], + 'combine_consecutive_issets' => true, + 'combine_consecutive_unsets' => true, + 'compact_nullable_typehint' => true, + 'concat_space' => ['spacing' => 'one'], + 'date_time_immutable' => true, + 'declare_equal_normalize' => ['space' => 'single'], + 'declare_strict_types' => true, + 'dir_constant' => true, + 'elseif' => true, + 'encoding' => true, + 'full_opening_tag' => true, + 'fully_qualified_strict_types' => true, + 'function_declaration' => [ + 'closure_function_spacing' => 'one' + ], + 'header_comment' => [ + 'header' => '' + ], + 'indentation_type' => true, + 'is_null' => true, + 'line_ending' => true, + 'list_syntax' => ['syntax' => 'short'], + 'logical_operators' => true, + 'lowercase_cast' => true, + 'lowercase_constants' => true, + 'lowercase_keywords' => true, + 'lowercase_static_reference' => true, + 'magic_constant_casing' => true, + 'method_argument_space' => ['ensure_fully_multiline' => true], + 'modernize_types_casting' => true, + 'multiline_comment_opening_closing' => true, + 'multiline_whitespace_before_semicolons' => true, + 'native_constant_invocation' => true, + 'native_function_casing' => true, + 'native_function_invocation' => true, + 'new_with_braces' => false, + 'no_alias_functions' => true, + 'no_alternative_syntax' => true, + 'no_blank_lines_after_class_opening' => false, + 'no_blank_lines_after_phpdoc' => true, + 'no_blank_lines_before_namespace' => true, + 'no_closing_tag' => true, + 'no_empty_comment' => true, + 'no_empty_phpdoc' => true, + 'no_empty_statement' => true, + 'no_extra_blank_lines' => true, + 'no_homoglyph_names' => true, + 'no_leading_import_slash' => true, + 'no_leading_namespace_whitespace' => true, + 'no_mixed_echo_print' => ['use' => 'print'], + 'no_multiline_whitespace_around_double_arrow' => true, + 'no_null_property_initialization' => true, + 'no_php4_constructor' => true, + 'no_short_bool_cast' => true, + 'no_short_echo_tag' => true, + 'no_singleline_whitespace_before_semicolons' => true, + 'no_spaces_after_function_name' => true, + 'no_spaces_inside_parenthesis' => true, + 'no_superfluous_elseif' => true, + 'no_superfluous_phpdoc_tags' => true, + 'no_trailing_comma_in_list_call' => true, + 'no_trailing_comma_in_singleline_array' => true, + 'no_trailing_whitespace' => true, + 'no_trailing_whitespace_in_comment' => true, + 'no_unneeded_control_parentheses' => false, + 'no_unneeded_curly_braces' => false, + 'no_unneeded_final_method' => true, + 'no_unreachable_default_argument_value' => true, + 'no_unset_on_property' => true, + 'no_unused_imports' => true, + 'no_useless_else' => true, + 'no_useless_return' => true, + 'no_whitespace_before_comma_in_array' => true, + 'no_whitespace_in_blank_line' => true, + 'non_printable_character' => true, + 'normalize_index_brace' => true, + 'object_operator_without_whitespace' => true, + 'ordered_class_elements' => [ + 'order' => [ + 'use_trait', + 'constant_public', + 'constant_protected', + 'constant_private', + 'property_public_static', + 'property_protected_static', + 'property_private_static', + 'property_public', + 'property_protected', + 'property_private', + 'method_public_static', + 'construct', + 'destruct', + 'magic', + 'phpunit', + 'method_public', + 'method_protected', + 'method_private', + 'method_protected_static', + 'method_private_static', + ], + ], + 'ordered_imports' => true, + 'phpdoc_add_missing_param_annotation' => true, + 'phpdoc_align' => true, + 'phpdoc_annotation_without_dot' => true, + 'phpdoc_indent' => true, + 'phpdoc_no_access' => true, + 'phpdoc_no_empty_return' => true, + 'phpdoc_no_package' => true, + 'phpdoc_order' => true, + 'phpdoc_return_self_reference' => true, + 'phpdoc_scalar' => true, + 'phpdoc_separation' => true, + 'phpdoc_single_line_var_spacing' => true, + 'phpdoc_to_comment' => true, + 'phpdoc_trim' => true, + 'phpdoc_trim_consecutive_blank_line_separation' => true, + 'phpdoc_types' => ['groups' => ['simple', 'meta']], + 'phpdoc_types_order' => true, + 'phpdoc_to_return_type' => true, + 'phpdoc_var_without_name' => true, + 'pow_to_exponentiation' => true, + 'protected_to_private' => true, + 'return_assignment' => true, + 'return_type_declaration' => ['space_before' => 'none'], + 'self_accessor' => true, + 'semicolon_after_instruction' => true, + 'set_type_to_cast' => true, + 'short_scalar_cast' => true, + 'simplified_null_return' => true, + 'single_blank_line_at_eof' => true, + 'single_import_per_statement' => true, + 'single_line_after_imports' => true, + 'single_quote' => true, + 'standardize_not_equals' => true, + 'ternary_to_null_coalescing' => true, + 'trailing_comma_in_multiline_array' => false, + 'trim_array_spaces' => true, + 'unary_operator_spaces' => true, + 'visibility_required' => [ + 'elements' => [ + 'const', + 'method', + 'property', + ], + ], + 'void_return' => true, + 'whitespace_after_comma_in_array' => true, + 'yoda_style' => false + ] + ) + ->setFinder( + PhpCsFixer\Finder::create() + ->files() + ->in(__DIR__ . '/build') + ->in(__DIR__ . '/src') + ->in(__DIR__ . '/tests') + ->notName('*.phpt') + ); diff -Nru phpdox-0.11.2/phpdox phpdox-0.12.0/phpdox --- phpdox-0.11.2/phpdox 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/phpdox 2019-03-13 09:34:17.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/env php + * Copyright (c) 2010-2019 Arne Blankerts * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, @@ -61,8 +61,9 @@ $factory = new TheSeer\phpDox\Factory( new \TheSeer\phpDox\FileInfo(__DIR__), - new \TheSeer\phpDox\Version('0.11.0-dev') + new \TheSeer\phpDox\Version('0.12.0-dev') ); + exit($factory->getCLI()->run( new TheSeer\phpDox\CLIOptions($_SERVER['argv']) )); diff -Nru phpdox-0.11.2/phpunit.xml.dist phpdox-0.12.0/phpunit.xml.dist --- phpdox-0.11.2/phpunit.xml.dist 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/phpunit.xml.dist 2019-03-13 09:34:17.000000000 +0000 @@ -1,34 +1,35 @@ - - - - - - tests/Unit - tests/Integration - - + beStrictAboutCoversAnnotation="true" + beStrictAboutOutputDuringTests="true" + beStrictAboutTestsThatDoNotTestAnything="true" + beStrictAboutTodoAnnotatedTests="true" + beStrictAboutChangesToGlobalState="true" + bootstrap="tests/bootstrap.php"> + + + tests/Unit + tests/Integration + + - - - - - - + + + + + + - - - src - - src/bootstrap - - - + + + src + + src/bootstrap + + + diff -Nru phpdox-0.11.2/README.md phpdox-0.12.0/README.md --- phpdox-0.11.2/README.md 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/README.md 2019-03-13 09:34:17.000000000 +0000 @@ -12,7 +12,7 @@ Requirements ------------ -- PHP Version 5.5+ (PHP 7.x recommended) +- PHP Version 7.1+ (For PHP 5.5+, use phpDox 0.11.2) - ext/dom - ext/xsl - ext/iconv and [libiconv version >= 2.12](http://www.gnu.org/software/libiconv/documentation/libiconv/iconv.1.html) diff -Nru phpdox-0.11.2/src/ApplicationException.php phpdox-0.12.0/src/ApplicationException.php --- phpdox-0.11.2/src/ApplicationException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/ApplicationException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,13 +1,14 @@ - - * 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 main Application class * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. + * @author Arne Blankerts + * @copyright Arne Blankerts , All rights reserved. + * @license BSD License * + * @link http://phpDox.net */ -namespace TheSeer\phpDox { +class Application { + /** + * Logger for progress and error reporting + * + * @var ProgressLogger + */ + private $logger; - use TheSeer\DirectoryScanner\DirectoryScanner; - use TheSeer\phpDox\Collector\InheritanceResolver; - use TheSeer\phpDox\Generator\Enricher\EnricherException; - - /** - * The main Application class - * - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * @link http://phpDox.net - */ - class Application { - - /** - * Logger for progress and error reporting - * - * @var ProgressLogger - */ - private $logger; - - /** - * Factory instance - * @var Factory - */ - private $factory; - - /** - * Constructor of PHPDox Application - * - * @param Factory $factory Factory instance - * @param ProgressLogger $logger Instance of the SilentProgressLogger class - */ - public function __construct(Factory $factory, ProgressLogger $logger) { - $this->factory = $factory; - $this->logger = $logger; - } - - /** - * Run Bootstrap code for given list of bootstrap files - * - * @param FileInfoCollection $requires - * - * @return Bootstrap - */ - public function runBootstrap(FileInfoCollection $requires) { - $bootstrap = $this->factory->getBootstrap(); - $bootstrap->load($requires, true); - return $bootstrap; - } + /** + * Factory instance + * + * @var Factory + */ + private $factory; + /** + * Constructor of PHPDox Application + * + * @param Factory $factory Factory instance + * @param ProgressLogger $logger Instance of the SilentProgressLogger class + */ + public function __construct(Factory $factory, ProgressLogger $logger) { + $this->factory = $factory; + $this->logger = $logger; + } - public function runConfigChangeDetection(FileInfo $workDirectory, FileInfo $configFile) { - $index = new FileInfo( (string)$workDirectory . '/index.xml'); - if (!$index->exists() || ($index->getMTime() >= $configFile->getMTime())) { - return; - } - $this->logger->log("Configuration change detected - cleaning cache"); - $cleaner = $this->factory->getDirectoryCleaner(); - $cleaner->process($workDirectory); - } - - /** - * Run collection process on given directory tree - * - * @param CollectorConfig $config Configuration options - * - * @throws ApplicationException - * @return void - */ - public function runCollector(CollectorConfig $config) { - $this->logger->log("Starting collector"); - - $srcDir = $config->getSourceDirectory(); - if (!$srcDir->isDir()) { - throw new ApplicationException( - sprintf('Invalid src directory "%s" specified', $srcDir), - ApplicationException::InvalidSrcDirectory - ); - } + /** + * Run Bootstrap code for given list of bootstrap files + */ + public function runBootstrap(FileInfoCollection $requires): Bootstrap { + $bootstrap = $this->factory->getBootstrap(); + $bootstrap->load($requires, true); + + return $bootstrap; + } + + public function runConfigChangeDetection(FileInfo $workDirectory, FileInfo $configFile): void { + $index = new FileInfo((string)$workDirectory . '/index.xml'); - $collector = $this->factory->getCollector($config); + if (!$index->exists() || ($index->getMTime() >= $configFile->getMTime())) { + return; + } + $this->logger->log('Configuration change detected - cleaning cache'); + $cleaner = $this->factory->getDirectoryCleaner(); + $cleaner->process($workDirectory); + } - $scanner = $this->factory->getScanner( - $config->getIncludeMasks(), - $config->getExcludeMasks() + /** + * Run collection process on given directory tree + * + * @param CollectorConfig $config Configuration options + * + * @throws ApplicationException + */ + public function runCollector(CollectorConfig $config): void { + $this->logger->log('Starting collector'); + + $srcDir = $config->getSourceDirectory(); + + if (!$srcDir->isDir()) { + throw new ApplicationException( + \sprintf('Invalid src directory "%s" specified', $srcDir), + ApplicationException::InvalidSrcDirectory ); - $project = $collector->run($scanner); + } - if ($collector->hasParseErrors()) { - $this->logger->log('The following file(s) had errors during processing and were excluded:'); - foreach($collector->getParseErrors() as $file => $message) { - $this->logger->log(' - ' . $file . ' (' . $message . ')'); - } + $collector = $this->factory->getCollector($config); + + $scanner = $this->factory->getScanner( + $config->getIncludeMasks(), + $config->getExcludeMasks() + ); + $project = $collector->run($scanner); + + if ($collector->hasParseErrors()) { + $this->logger->log('The following file(s) had errors during processing and were excluded:'); + + foreach ($collector->getParseErrors() as $file => $message) { + $this->logger->log(' - ' . $file . ' (' . $message . ')'); } + } - $this->logger->log( - sprintf("Saving results to directory '%s'", $config->getWorkDirectory()) - ); - $vanished = $project->cleanVanishedFiles(); - if (count($vanished) > 0) { - $this->logger->log(sprintf("Removed %d vanished file(s) from project:", count($vanished))); - foreach($vanished as $file) { - $this->logger->log(' - ' . $file); - } + $this->logger->log( + \sprintf("Saving results to directory '%s'", $config->getWorkDirectory()) + ); + $vanished = $project->cleanVanishedFiles(); + + if (\count($vanished) > 0) { + $this->logger->log(\sprintf('Removed %d vanished file(s) from project:', \count($vanished))); + + foreach ($vanished as $file) { + $this->logger->log(' - ' . $file); } - $changed = $project->save(); - if ($config->doResolveInheritance()) { - /** @var $resolver InheritanceResolver */ - $resolver = $this->factory->getInheritanceResolver(); - $resolver->resolve($changed, $project, $config->getInheritanceConfig()); - - if ($resolver->hasUnresolved()) { - $this->logger->log('The following unit(s) had missing dependencies during inheritance resolution:'); - foreach($resolver->getUnresolved() as $class => $missing) { - if (is_array($missing)) { - $missing = join(', ', $missing); - } - $this->logger->log(' - ' . $class . ' (missing ' . $missing . ')'); + } + $changed = $project->save(); + + if ($config->doResolveInheritance()) { + /** @var $resolver InheritanceResolver */ + $resolver = $this->factory->getInheritanceResolver(); + $resolver->resolve($changed, $project, $config->getInheritanceConfig()); + + if ($resolver->hasUnresolved()) { + $this->logger->log('The following unit(s) had missing dependencies during inheritance resolution:'); + + foreach ($resolver->getUnresolved() as $class => $missing) { + if (\is_array($missing)) { + $missing = \implode(', ', $missing); } + $this->logger->log(' - ' . $class . ' (missing ' . $missing . ')'); } + } - if ($resolver->hasErrors()) { - $this->logger->log('The following unit(s) caused errors during inheritance resolution:'); - foreach($resolver->getErrors() as $class => $error) { - $this->logger->log(' - ' . $class . ': ' . implode(', ', $error)); - } + if ($resolver->hasErrors()) { + $this->logger->log('The following unit(s) caused errors during inheritance resolution:'); + + foreach ($resolver->getErrors() as $class => $error) { + $this->logger->log(' - ' . $class . ': ' . \implode(', ', $error)); } } - $this->logger->log("Collector process completed\n"); } + $this->logger->log("Collector process completed\n"); + } - /** - * Run Documentation generation process - * - * @param GeneratorConfig $config - * - * @throws ApplicationException - * @return void - */ - public function runGenerator(GeneratorConfig $config) { - $this->logger->reset(); - $this->logger->log("Starting generator"); - - $engineFactory = $this->factory->getEngineFactory(); - $enricherFactory = $this->factory->getEnricherFactory(); - - $failed = array_diff($config->getRequiredEngines(), $engineFactory->getEngineList()); - if (count($failed)) { - $list = join("', '", $failed); - throw new ApplicationException("The engine(s) '$list' is/are not registered", ApplicationException::UnknownEngine); - } + /** + * Run Documentation generation process + * + * @throws ApplicationException + */ + public function runGenerator(GeneratorConfig $config): void { + $this->logger->reset(); + $this->logger->log('Starting generator'); - $failed = array_diff($config->getRequiredEnrichers(), $enricherFactory->getEnricherList()); - if (count($failed)) { - $list = join("', '", $failed); - throw new ApplicationException("The enricher(s) '$list' is/are not registered", ApplicationException::UnknownEnricher); - } + $engineFactory = $this->factory->getEngineFactory(); + $enricherFactory = $this->factory->getEnricherFactory(); - $generator = $this->factory->getGenerator(); + $failed = \array_diff($config->getRequiredEngines(), $engineFactory->getEngineList()); - foreach($config->getActiveBuilds() as $buildCfg) { - $generator->addEngine( $engineFactory->getInstanceFor($buildCfg) ); - } + if (\count($failed)) { + $list = \implode("', '", $failed); - $this->logger->log('Loading enrichers'); - foreach($config->getActiveEnrichSources() as $type => $enrichCfg) { - try { - $enricher = $enricherFactory->getInstanceFor($enrichCfg); - $generator->addEnricher($enricher); - $this->logger->log( - sprintf('Enricher %s initialized successfully', $enricher->getName()) - ); - } catch (EnricherException $e) { - $this->logger->log( - sprintf("Exception while initializing enricher %s:\n\n %s\n", - $type, - $e->getMessage() - ) - ); - } - } + throw new ApplicationException("The engine(s) '$list' is/are not registered", ApplicationException::UnknownEngine); + } - $pconfig = $config->getProjectConfig(); + $failed = \array_diff($config->getRequiredEnrichers(), $enricherFactory->getEnricherList()); - if (!file_exists($pconfig->getWorkDirectory() . '/index.xml')) { - throw new ApplicationException( - 'Workdirectory does not contain an index.xml file. Did you run the collector?', - ApplicationException::IndexMissing - ); - } + if (\count($failed)) { + $list = \implode("', '", $failed); - if (!file_exists($pconfig->getWorkDirectory() . '/source.xml')) { - throw new ApplicationException( - 'Workdirectory does not contain an source.xml file. Did you run the collector?', - ApplicationException::SourceMissing - ); - } + throw new ApplicationException("The enricher(s) '$list' is/are not registered", ApplicationException::UnknownEnricher); + } + + $generator = $this->factory->getGenerator(); - $srcDir = $pconfig->getSourceDirectory(); - if (!file_exists($srcDir) || !is_dir($srcDir)) { - throw new ApplicationException( - sprintf('Invalid src directory "%s" specified', $srcDir), - ApplicationException::InvalidSrcDirectory + foreach ($config->getActiveBuilds() as $buildCfg) { + $generator->addEngine($engineFactory->getInstanceFor($buildCfg)); + } + + $this->logger->log('Loading enrichers'); + + foreach ($config->getActiveEnrichSources() as $type => $enrichCfg) { + try { + $enricher = $enricherFactory->getInstanceFor($enrichCfg); + $generator->addEnricher($enricher); + $this->logger->log( + \sprintf('Enricher %s initialized successfully', $enricher->getName()) + ); + } catch (EnricherException $e) { + $this->logger->log( + \sprintf( + "Exception while initializing enricher %s:\n\n %s\n", + $type, + $e->getMessage() + ) ); } + } - $this->logger->log("Starting event loop.\n"); - $generator->run( - new \TheSeer\phpDox\Generator\Project( - $srcDir, - $pconfig->getWorkDirectory() - ) + $pconfig = $config->getProjectConfig(); + + if (!\file_exists($pconfig->getWorkDirectory() . '/index.xml')) { + throw new ApplicationException( + 'Workdirectory does not contain an index.xml file. Did you run the collector?', + ApplicationException::IndexMissing ); - $this->logger->log("Generator process completed"); } - } + if (!\file_exists($pconfig->getWorkDirectory() . '/source.xml')) { + throw new ApplicationException( + 'Workdirectory does not contain an source.xml file. Did you run the collector?', + ApplicationException::SourceMissing + ); + } + + $srcDir = $pconfig->getSourceDirectory(); + if (!$srcDir->exists() || !$srcDir->isDir()) { + throw new ApplicationException( + \sprintf('Invalid src directory "%s" specified', $srcDir), + ApplicationException::InvalidSrcDirectory + ); + } + + $this->logger->log("Starting event loop.\n"); + $generator->run( + new \TheSeer\phpDox\Generator\Project( + $srcDir, + $pconfig->getWorkDirectory() + ) + ); + $this->logger->log('Generator process completed'); + } } diff -Nru phpdox-0.11.2/src/autoload.php phpdox-0.12.0/src/autoload.php --- phpdox-0.11.2/src/autoload.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/autoload.php 2019-03-13 09:34:17.000000000 +0000 @@ -95,6 +95,7 @@ 'theseer\\phpdox\\factoryinterface' => '/shared/FactoryInterface.php', 'theseer\\phpdox\\fileinfo' => '/shared/FileInfo.php', 'theseer\\phpdox\\fileinfocollection' => '/shared/FileInfoCollection.php', + 'theseer\\phpdox\\fileinfocollectionexception' => '/shared/FileInfoCollectionException.php', 'theseer\\phpdox\\fileinfoexception' => '/shared/FileInfoException.php', 'theseer\\phpdox\\generator\\abstractclassevent' => '/generator/events/AbstractClassEvent.php', 'theseer\\phpdox\\generator\\abstractcollection' => '/generator/project/collections/AbstractCollection.php', diff -Nru phpdox-0.11.2/src/bootstrap/BackendBootstrapApi.php phpdox-0.12.0/src/bootstrap/BackendBootstrapApi.php --- phpdox-0.11.2/src/bootstrap/BackendBootstrapApi.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/bootstrap/BackendBootstrapApi.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,63 +1,27 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ -namespace TheSeer\phpDox { - - use TheSeer\phpDox\Collector\Backend\Factory as BackendFactory; - - class BackendBootstrapApi { - - protected $name; - protected $factory; - - public function __construct($name, BackendFactory $factory) { - $this->name = $name; - $this->factory = $factory; - } - - public function implementedByClass($class) { - $this->factory->addBackendClass($this->name, $class); - return $this; - } - - public function instantiatedByFactory(FactoryInterface $factory) { - $this->factory->addBackendFactory($this->name, $factory); - return $this; - } +name = $name; + $this->factory = $factory; + } + + public function implementedByClass($class) { + $this->factory->addBackendClass($this->name, $class); + + return $this; + } + + public function instantiatedByFactory(FactoryInterface $factory) { + $this->factory->addBackendFactory($this->name, $factory); + + return $this; } } diff -Nru phpdox-0.11.2/src/bootstrap/BootstrapApi.php phpdox-0.12.0/src/bootstrap/BootstrapApi.php --- phpdox-0.11.2/src/bootstrap/BootstrapApi.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/bootstrap/BootstrapApi.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,195 +1,147 @@ - - * 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. + * Bootstrapping API for registering backends, generator engines and parsers * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. + * This class provides the API for use within the bootstrap process to register + * collecting backends, additional parsers for annotations, generator engines for + * additional output formats as well as enrichment plugins * * @author Arne Blankerts * @copyright Arne Blankerts , All rights reserved. * @license BSD License - * */ -namespace TheSeer\phpDox { +class BootstrapApi { + /** + * Reference to the BackendFactory instance + * + * @var BackendFactory + */ + private $backendFactory; + + /** + * Reference to the EngineFactory instance + * + * @var EngineFactory + */ + private $engineFactory; + + /** + * Reference to the DocblockParserFactory instance + * + * @var DocBlockFactory + */ + private $parserFactory; + + /** + * @var EnricherFactory + */ + private $enricherFactory; + + /** + * Array of registered engines + * + * @var array + */ + private $engines = []; + + /** + * Array of registered enrichers + * + * @var array + */ + private $enrichers = []; + + /** + * Array of registered backends + * + * @var array + */ + private $backends = []; + + /** + * Constructor + */ + public function __construct(BackendFactory $bf, DocBlockFactory $df, EnricherFactory $erf, EngineFactory $enf, ProgressLogger $logger) { + $this->backendFactory = $bf; + $this->engineFactory = $enf; + $this->parserFactory = $df; + $this->enricherFactory = $erf; + $this->logger = $logger; + } + + /** + * Get list of all registered generator engines + */ + public function getEngines(): array { + return $this->engines; + } + + /** + * Get list of all registered enrichers + */ + public function getEnrichers(): array { + return $this->enrichers; + } + + /** + * Get list of all registered collector backends + */ + public function getBackends(): array { + return $this->backends; + } + + /** + * Register a new backend + * + * @param string $name Name of the collector backend + * @param string $description A describing text + */ + public function registerBackend($name, $description = 'no description set'): BackendBootstrapApi { + $this->logger->log("Registered collector backend '$name'"); + $this->backends[$name] = $description; + + return new BackendBootstrapApi($name, $this->backendFactory); + } + + /** + * Register a new generator enginge + * + * @param string $name Name of the generator engine + * @param string $description A describing text + */ + public function registerEngine($name, $description): EngineBootstrapApi { + $this->logger->log("Registered output engine '$name'"); + $this->engines[$name] = $description; + + return new EngineBootstrapApi($name, $this->engineFactory); + } + + /** + * @param $annotation + */ + public function registerParser($annotation): ParserBootstrapApi { + $this->logger->log("Registered parser for '$annotation' annotation"); + + return new ParserBootstrapApi($annotation, $this->parserFactory); + } + + /** + * Register a new enricher + * + * @param string $name Name of the enricher + * @param string $description A describing text + */ + public function registerEnricher($name, $description): EnricherBootstrapApi { + $this->logger->log("Registered enricher '$name'"); + $this->enrichers[$name] = $description; - use \TheSeer\phpDox\Collector\Backend\Factory as BackendFactory; - use \TheSeer\phpDox\DocBlock\Factory as DocBlockFactory; - use \TheSeer\phpDox\Generator\Engine\Factory as EngineFactory; - use \TheSeer\phpDox\Generator\Enricher\Factory as EnricherFactory; - - /** - * Bootstrapping API for registering backends, generator engines and parsers - * - * This class provides the API for use within the bootstrap process to register - * collecting backends, additional parsers for annotations, generator engines for - * additional output formats as well as enrichment plugins - * - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ - class BootstrapApi { - - /** - * Reference to the BackendFactory instance - * - * @var BackendFactory - */ - private $backendFactory; - - /** - * Reference to the EngineFactory instance - * - * @var EngineFactory - */ - private $engineFactory; - - /** - * Reference to the DocblockParserFactory instance - * - * @var DocBlockFactory - */ - private $parserFactory; - - /** - * @var EnricherFactory - */ - private $enricherFactory; - - /** - * Array of registered engines - * - * @var array - */ - private $engines = array(); - - /** - * Array of registered enrichers - * - * @var array - */ - private $enrichers = array(); - /** - * Array of registered backends - * - * @var array - */ - private $backends = array(); - - /** - * Constructor - * - * @param FactoryInterface $factory - */ - public function __construct(BackendFactory $bf, DocBlockFactory $df, EnricherFactory $erf, EngineFactory $enf, ProgressLogger $logger) { - $this->backendFactory = $bf; - $this->engineFactory = $enf; - $this->parserFactory = $df; - $this->enricherFactory = $erf; - $this->logger = $logger; - } - - /** - * Get list of all registered generator engines - * - * @return array - */ - public function getEngines() { - return $this->engines; - } - - /** - * Get list of all registered enrichers - * - * @return array - */ - public function getEnrichers() { - return $this->enrichers; - } - - /** - * Get list of all registered collector backends - * - * @return array - */ - public function getBackends() { - return $this->backends; - } - - /** - * Register a new backend - * - * @param string $name Name of the collector backend - * @param string $description A describing text - * - * @return BackendBootstrapApi - */ - public function registerBackend($name, $description = 'no description set') { - $this->logger->log("Registered collector backend '$name'"); - $this->backends[$name] = $description; - return new BackendBootstrapApi($name, $this->backendFactory); - } - - /** - * Register a new generator enginge - * - * @param string $name Name of the generator engine - * @param string $description A describing text - * - * @return EngineBootstrapApi - */ - public function registerEngine($name, $description) { - $this->logger->log("Registered output engine '$name'"); - $this->engines[$name] = $description; - return new EngineBootstrapApi($name, $this->engineFactory); - } - - /** - * @param $annotation - * @return ParserBootstrapApi - */ - public function registerParser($annotation) { - $this->logger->log("Registered parser for '$annotation' annotation"); - return new ParserBootstrapApi($annotation, $this->parserFactory); - } - - /** - * Register a new enricher - * - * @param string $name Name of the enricher - * @param string $description A describing text - * - * @return EnricherBootstrapApi - */ - public function registerEnricher($name, $description) { - $this->logger->log("Registered enricher '$name'"); - $this->enrichers[$name] = $description; - return new EnricherBootstrapApi($name, $this->enricherFactory); - } + return new EnricherBootstrapApi($name, $this->enricherFactory); } } diff -Nru phpdox-0.11.2/src/bootstrap/BootstrapException.php phpdox-0.12.0/src/bootstrap/BootstrapException.php --- phpdox-0.11.2/src/bootstrap/BootstrapException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/bootstrap/BootstrapException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,10 +1,6 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ - -namespace TheSeer\phpDox { - - class Bootstrap { - - public function __construct(ProgressLogger $logger, BootstrapApi $api) { - $this->logger = $logger; - $this->api = $api; - } +logger = $logger; + $this->api = $api; + } - /** - * Load bootstrap files to register components and builder - * - * @param FileInfoCollection $require list of files to require - * - * @throws BootstrapException - */ - public function load(FileInfoCollection $require, $silent = TRUE) { - foreach($require as $file) { - /** @var FileInfo $file */ - if (!$file->exists()) { - throw new BootstrapException( - sprintf("Require file '%s' not found or not a file", $file->getRealPath()), - BootstrapException::RequireFailed - ); - } - if (!$silent) { - $this->logger->log( - sprintf("Loading bootstrap file '%s'", $file->getRealPath()) - ); - } - $this->loadBootstrap($file); + /** + * Load bootstrap files to register components and builder + * + * @param FileInfoCollection $require list of files to require + * + * @throws BootstrapException + */ + public function load(FileInfoCollection $require, $silent = true): void { + foreach ($require as $file) { + /** @var FileInfo $file */ + if (!$file->exists()) { + throw new BootstrapException( + \sprintf("Require file '%s' not found or not a file", $file->getRealPath()), + BootstrapException::RequireFailed + ); } - } - public function getBackends() { - return $this->api->getBackends(); + if (!$silent) { + $this->logger->log( + \sprintf("Loading bootstrap file '%s'", $file->getRealPath()) + ); + } + $this->loadBootstrap($file); } + } - public function getEngines() { - return $this->api->getEngines(); - } + public function getBackends() { + return $this->api->getBackends(); + } - public function getEnrichers() { - return $this->api->getEnrichers(); - } + public function getEngines() { + return $this->api->getEngines(); + } - private function loadBootstrap($filename) { - /** @noinspection PhpUnusedLocalVariableInspection */ - $phpDox = $this->api; - /** @noinspection PhpIncludeInspection */ - require $filename; - } + public function getEnrichers() { + return $this->api->getEnrichers(); } + private function loadBootstrap($filename): void { + /** @noinspection PhpUnusedLocalVariableInspection */ + $phpDox = $this->api; + /** @noinspection PhpIncludeInspection */ + require $filename; + } } diff -Nru phpdox-0.11.2/src/bootstrap/EngineBootstrapApi.php phpdox-0.12.0/src/bootstrap/EngineBootstrapApi.php --- phpdox-0.11.2/src/bootstrap/EngineBootstrapApi.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/bootstrap/EngineBootstrapApi.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,68 +1,33 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ -namespace TheSeer\phpDox { - - use TheSeer\phpDox\Generator\Engine\Factory as EngineFactory; - - class EngineBootstrapApi { - - private $name; - private $factory; - - public function __construct($name, EngineFactory $factory) { - $this->name = $name; - $this->factory = $factory; - } - - public function implementedByClass($class) { - $this->factory->addEngineClass($this->name, $class); - return $this; - } - - public function instantiatedByFactory(FactoryInterface $factory) { - $this->factory->addEngineFactory($this->name, $factory); - return $this; - } - - public function withConfigClass($class) { - $this->factory->setConfigClass($this->name, $class); - return $this; - } +name = $name; + $this->factory = $factory; + } + + public function implementedByClass($class) { + $this->factory->addEngineClass($this->name, $class); + + return $this; + } + + public function instantiatedByFactory(FactoryInterface $factory) { + $this->factory->addEngineFactory($this->name, $factory); + + return $this; + } + + public function withConfigClass($class) { + $this->factory->setConfigClass($this->name, $class); + + return $this; } } diff -Nru phpdox-0.11.2/src/bootstrap/EnricherBootstrapApi.php phpdox-0.12.0/src/bootstrap/EnricherBootstrapApi.php --- phpdox-0.11.2/src/bootstrap/EnricherBootstrapApi.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/bootstrap/EnricherBootstrapApi.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,68 +1,33 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ -namespace TheSeer\phpDox { - - use TheSeer\phpDox\Generator\Enricher\Factory as EnricherFactory; - - class EnricherBootstrapApi { - - private $name; - private $factory; - - public function __construct($name, EnricherFactory $factory) { - $this->name = $name; - $this->factory = $factory; - } - - public function implementedByClass($class) { - $this->factory->addEnricherClass($this->name, $class); - return $this; - } - - public function instantiatedByFactory(FactoryInterface $factory) { - $this->factory->addEnricherFactory($this->name, $factory); - return $this; - } - - public function withConfigClass($class) { - $this->factory->setConfigClass($this->name, $class); - return $this; - } +name = $name; + $this->factory = $factory; + } + + public function implementedByClass($class) { + $this->factory->addEnricherClass($this->name, $class); + + return $this; + } + + public function instantiatedByFactory(FactoryInterface $factory) { + $this->factory->addEnricherFactory($this->name, $factory); + + return $this; + } + + public function withConfigClass($class) { + $this->factory->setConfigClass($this->name, $class); + + return $this; } } diff -Nru phpdox-0.11.2/src/bootstrap/ParserBootstrapApi.php phpdox-0.12.0/src/bootstrap/ParserBootstrapApi.php --- phpdox-0.11.2/src/bootstrap/ParserBootstrapApi.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/bootstrap/ParserBootstrapApi.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,61 +1,23 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ -namespace TheSeer\phpDox { - - use TheSeer\phpDox\DocBlock\Factory as DocBlockFactory; - - class ParserBootstrapApi { - - private $annotation; - private $factory; - - public function __construct($annotation, DocBlockFactory $factory) { - $this->annotation = $annotation; - $this->factory = $factory; - } - - public function implementedByClass($class) { - $this->factory->addParserClass($this->annotation, $class); - } - - public function instantiatedByFactory(FactoryInterface $factory) { - $this->factory->addParserFactory($this->annotation, $factory); - } +annotation = $annotation; + $this->factory = $factory; + } + + public function implementedByClass($class): void { + $this->factory->addParserClass($this->annotation, $class); + } + + public function instantiatedByFactory(FactoryInterface $factory): void { + $this->factory->addParserFactory($this->annotation, $factory); } } diff -Nru phpdox-0.11.2/src/CLIOptionsException.php phpdox-0.12.0/src/CLIOptionsException.php --- phpdox-0.11.2/src/CLIOptionsException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/CLIOptionsException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,8 +1,5 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ - -namespace TheSeer\phpDox { +argv = $argv; - } + public function __construct(array $argv) { + $this->argv = $argv; + } - public function getHelpScreen() { - return <<parse(); - public function showHelp() { - $this->parse(); - return $this->parsed['help']; - } + return $this->parsed['help']; + } - public function showVersion() { - $this->parse(); - return $this->parsed['version']; - } + public function showVersion() { + $this->parse(); - public function listBackends() { - $this->parse(); - return $this->parsed['backends']; - } + return $this->parsed['version']; + } - public function listEngines() { - $this->parse(); - return $this->parsed['engines']; - } + public function listBackends() { + $this->parse(); - public function listEnrichers() { - $this->parse(); - return $this->parsed['enrichers']; - } + return $this->parsed['backends']; + } - public function generateSkel() { - $this->parse(); - return $this->parsed['skel']; - } + public function listEngines() { + $this->parse(); - public function generateStrippedSkel() { - $this->parse(); - return $this->parsed['strip']; - } + return $this->parsed['engines']; + } - public function configFile() { - $this->parse(); - if (!is_string($this->parsed['file'])) { - return ''; - } - return $this->parsed['file']; - } + public function listEnrichers() { + $this->parse(); - public function generatorOnly() { - $this->parse(); - return $this->parsed['generator']; - } + return $this->parsed['enrichers']; + } + + public function generateSkel() { + $this->parse(); + + return $this->parsed['skel']; + } + + public function generateStrippedSkel() { + $this->parse(); + + return $this->parsed['strip']; + } - public function collectorOnly() { - $this->parse(); - return $this->parsed['collector']; + public function configFile() { + $this->parse(); + + if (!\is_string($this->parsed['file'])) { + return ''; } - private function parse() { - $options = array( - 'file','help','version','collector','generator', 'engines', 'enrichers', 'backends', 'skel', 'strip' - ); - $shortMap = array( - 'f' => 'file', - 'h' => 'help', - 'c' => 'collector', - 'g' => 'generator', - 'v' => 'version' - ); - $valueOptions = array( - 'file' - ); - - $conflictingOptions = array( - 'collector' => array('generator'), - 'generator' => array('collector') - ); + return $this->parsed['file']; + } - $argv = $this->argv; - array_map('trim', $argv); + public function generatorOnly() { + $this->parse(); - if (isset($argv[0][0]) && $argv[0][0] != '-') { - array_shift($argv); - } + return $this->parsed['generator']; + } - foreach($options as $opt) { - $this->parsed[$opt] = FALSE; - } + public function collectorOnly() { + $this->parse(); + + return $this->parsed['collector']; + } + + private function parse(): void { + $options = [ + 'file', 'help', 'version', 'collector', 'generator', 'engines', 'enrichers', 'backends', 'skel', 'strip' + ]; + $shortMap = [ + 'f' => 'file', + 'h' => 'help', + 'c' => 'collector', + 'g' => 'generator', + 'v' => 'version' + ]; + $valueOptions = [ + 'file' + ]; + + $conflictingOptions = [ + 'collector' => ['generator'], + 'generator' => ['collector'] + ]; + + $argv = $this->argv; + \array_map('trim', $argv); + + if (isset($argv[0][0]) && $argv[0][0] != '-') { + \array_shift($argv); + } + + foreach ($options as $opt) { + $this->parsed[$opt] = false; + } + + $valueExcepted = false; + $argName = ''; + + foreach ($argv as $arg) { + if ($arg[0] == '-') { + if (\strlen($arg) == 1) { + throw new CLIOptionsException( + \sprintf('Syntax error while parsing option (unnamed switch or option)') + ); + } + + if ($arg[1] == '-') { + $argName = \mb_substr($arg, 2); - $valueExcepted = false; - $argName = ''; - foreach($argv as $arg) { - if ($arg[0] == '-') { - if (strlen($arg) == 1) { + if (!\in_array($argName, $options)) { throw new CLIOptionsException( - sprintf('Syntax error while parsing option (unnamed switch or option)') + \sprintf('Option "%s" is not defined', $argName) ); } - if ($arg[1] == '-') { - $argName = mb_substr($arg, 2); - if (!in_array($argName, $options)) { - throw new CLIOptionsException( - sprintf('Option "%s" is not defined', $argName) - ); - } - } else { - $argChar = mb_substr($arg, 1); - if (!isset($shortMap[$argChar])) { + } else { + $argChar = \mb_substr($arg, 1); + + if (!isset($shortMap[$argChar])) { + throw new CLIOptionsException( + \sprintf('Option "%s" is not defined', $argChar) + ); + } + $argName = $shortMap[$argChar]; + } + + if (isset($conflictingOptions[$argName])) { + foreach ($conflictingOptions[$argName] as $conflict) { + if ($this->parsed[$conflict]) { throw new CLIOptionsException( - sprintf('Option "%s" is not defined', $argChar) + \sprintf('Option "%s" conflicts with already set option "%s"', $argName, $conflict) ); } - $argName = $shortMap[$argChar]; } - if (isset($conflictingOptions[$argName])) { - foreach($conflictingOptions[$argName] as $conflict) { - if ($this->parsed[$conflict]) { - throw new CLIOptionsException( - sprintf('Option "%s" conflicts with already set option "%s"', $argName, $conflict) - ); - } - } - } - $this->parsed[$argName] = TRUE; - $valueExcepted = in_array($argName, $valueOptions); - continue; } - if (!$valueExcepted) { - throw new CLIOptionsException( - sprintf('Value for option "%s" provided but none expected', $argName) - ); - } - $this->parsed[$argName] = $arg; + $this->parsed[$argName] = true; + $valueExcepted = \in_array($argName, $valueOptions); + + continue; } + if (!$valueExcepted) { + throw new CLIOptionsException( + \sprintf('Value for option "%s" provided but none expected', $argName) + ); + } + $this->parsed[$argName] = $arg; } - } - } diff -Nru phpdox-0.11.2/src/CLI.php phpdox-0.12.0/src/CLI.php --- phpdox-0.11.2/src/CLI.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/CLI.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,255 +1,219 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * Exit codes: - * 0 - No error - * 1 - Execution Error - * 3 - Parameter Error - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ -namespace TheSeer\phpDox { - - use TheSeer\fDOM\fDOMDocument; - use TheSeer\fDOM\fDOMException; - - class CLI { - - const ExitOK = 0; - const ExitExecError = 1; - const ExitEnvError = 2; - const ExitParamError = 3; - const ExitConfigError = 4; - const ExitException = 5; - - /** - * @var Environment - */ - private $environment; - - /** - * @var Version - */ - private $version; - - /** - * Factory instance - * - * @var Factory - */ - private $factory; - - /** - * @param Environment $env - * @param Factory $factory - */ - public function __construct(Environment $env, Version $version, Factory $factory) { - $this->environment = $env; - $this->version = $version; - $this->factory = $factory; - } +factory->getErrorHandler(); - $errorHandler->register(); - - try { - - $this->environment->ensureFitness(); - - if ($options->showHelp() === TRUE) { - $this->showVersion(); - echo $options->getHelpScreen(); - return self::ExitOK; - } +use TheSeer\fDOM\fDOMException; - if ($options->showVersion() === TRUE) { - $this->showVersion(); - return self::ExitOK; - } +class CLI { + public const ExitOK = 0; - if ($options->generateSkel() === TRUE) { - $this->showSkeletonConfig($options->generateStrippedSkel()); - return self::ExitOK; - } + public const ExitExecError = 1; - $config = $this->loadConfig($options); + public const ExitEnvError = 2; - if ($config->isSilentMode()) { - $this->factory->activateSilentMode(); - } else { - $this->showVersion(); - } + public const ExitParamError = 3; - $logger = $this->factory->getLogger(); - $logger->log("Using config file '". $config->getConfigFile()->getPathname() . "'"); + public const ExitConfigError = 4; - $app = $this->factory->getApplication(); + public const ExitException = 5; - $defBootstrapFiles = new FileInfoCollection(); - $defBootstrapFiles->add(new FileInfo(__DIR__ . '/../bootstrap/backends.php')); - $defBootstrapFiles->add(new FileInfo(__DIR__ . '/../bootstrap/enrichers.php')); - $defBootstrapFiles->add(new FileInfo(__DIR__ . '/../bootstrap/engines.php')); - - $bootstrap = $app->runBootstrap($defBootstrapFiles); - $bootstrap->load($config->getCustomBootstrapFiles(), false); - - if ($options->listEngines()) { - $this->showVersion(); - $this->showList('engines', $bootstrap->getEngines()); - } + /** + * @var Environment + */ + private $environment; - if ($options->listEnrichers()) { - $this->showVersion(); - $this->showList('enrichers', $bootstrap->getEnrichers()); - } + /** + * @var Version + */ + private $version; - if ($options->listBackends()) { - $this->showVersion(); - $this->showList('backends', $bootstrap->getBackends()); - } + /** + * Factory instance + * + * @var Factory + */ + private $factory; - if ($options->listBackends() || $options->listEngines() || $options->listEnrichers()) { - return self::ExitOK; - } + public function __construct(Environment $env, Version $version, Factory $factory) { + $this->environment = $env; + $this->version = $version; + $this->factory = $factory; + } - foreach($config->getProjects() as $projectName => $projectConfig) { + /** + * Main executor for CLI process. + */ + public function run(CLIOptions $options) { + $errorHandler = $this->factory->getErrorHandler(); + $errorHandler->register(); - $logger->log("Starting to process project '$projectName'"); + try { + $this->environment->ensureFitness(); - $app->runConfigChangeDetection( - $projectConfig->getWorkDirectory(), - $config->getConfigFile() - ); + if ($options->showHelp() === true) { + $this->showVersion(); + print $options->getHelpScreen(); - if (!$options->generatorOnly()) { - $app->runCollector( $projectConfig->getCollectorConfig() ); - } + return self::ExitOK; + } - if (!$options->collectorOnly()) { - $app->runGenerator( $projectConfig->getGeneratorConfig() ); - } + if ($options->showVersion() === true) { + $this->showVersion(); - $logger->log("Processing project '$projectName' completed."); + return self::ExitOK; + } - } + if ($options->generateSkel() === true) { + $this->showSkeletonConfig($options->generateStrippedSkel()); - $logger->buildSummary(); return self::ExitOK; + } - } catch (EnvironmentException $e) { + $config = $this->loadConfig($options); + + if ($config->isSilentMode()) { + $this->factory->activateSilentMode(); + } else { $this->showVersion(); - fwrite(STDERR, 'Sorry, but your PHP environment is currently not able to run phpDox due to'); - fwrite(STDERR, "\nthe following issue(s):\n\n" . $e->getMessage() . "\n\n"); - fwrite(STDERR, "Please adjust your PHP configuration and try again.\n\n"); - return self::ExitEnvError; - } catch (CLIOptionsException $e) { - $this->showVersion(); - fwrite(STDERR, $e->getMessage()."\n\n"); - fwrite(STDERR, $options->getHelpScreen()); - return self::ExitParamError; - } catch (ConfigLoaderException $e) { - $this->showVersion(); - fwrite(STDERR, "\nAn error occured while trying to load the configuration file:\n\n" . $e->getMessage(). "\n\n"); - if ($e->getCode() == ConfigLoaderException::NeitherCandidateExists) { - fwrite(STDERR, "Using --skel might get you started.\n\n"); - } - return self::ExitConfigError; - } catch (ConfigException $e) { - fwrite(STDERR, "\nYour configuration seems to be corrupted:\n\n\t" . $e->getMessage()."\n\nPlease verify your configuration xml file.\n\n"); - return self::ExitConfigError; - } catch (ApplicationException $e) { - fwrite(STDERR, "\nAn application error occured while processing:\n\n\t" . $e->getMessage()."\n\nPlease verify your configuration.\n\n"); - return self::ExitExecError; - } catch (\Exception $e) { - if ($e instanceof fDOMException) { - $e->toggleFullMessage(TRUE); - } + } + + $logger = $this->factory->getLogger(); + $logger->log("Using config file '" . $config->getConfigFile()->getPathname() . "'"); + + $app = $this->factory->getApplication(); + + $defBootstrapFiles = new FileInfoCollection(); + $defBootstrapFiles->add(new FileInfo(__DIR__ . '/../bootstrap/backends.php')); + $defBootstrapFiles->add(new FileInfo(__DIR__ . '/../bootstrap/enrichers.php')); + $defBootstrapFiles->add(new FileInfo(__DIR__ . '/../bootstrap/engines.php')); + + $bootstrap = $app->runBootstrap($defBootstrapFiles); + $bootstrap->load($config->getCustomBootstrapFiles(), false); + + if ($options->listEngines()) { $this->showVersion(); - $errorHandler->handleException($e); - return self::ExitException; - } catch (\Throwable $e) { + $this->showList('engines', $bootstrap->getEngines()); + } + + if ($options->listEnrichers()) { $this->showVersion(); - $errorHandler->handleException($e); - return self::ExitException; + $this->showList('enrichers', $bootstrap->getEnrichers()); } - } - /** - * Helper to output version information. - */ - private function showVersion() { - static $shown = FALSE; - if ($shown) { - return; + if ($options->listBackends()) { + $this->showVersion(); + $this->showList('backends', $bootstrap->getBackends()); } - $shown = TRUE; - echo $this->version->getInfoString() . "\n\n"; - } - private function showSkeletonConfig($strip) { - $skel = $this->factory->getConfigSkeleton(); - echo $strip ? $skel->renderStripped() : $skel->render(); - } + if ($options->listBackends() || $options->listEngines() || $options->listEnrichers()) { + return self::ExitOK; + } + + foreach ($config->getProjects() as $projectName => $projectConfig) { + $logger->log("Starting to process project '$projectName'"); + + $app->runConfigChangeDetection( + $projectConfig->getWorkDirectory(), + $config->getConfigFile() + ); + + if (!$options->generatorOnly()) { + $app->runCollector($projectConfig->getCollectorConfig()); + } - private function showList($title, Array $list) { - echo "\nThe following $title are registered:\n\n"; - foreach($list as $name => $desc) { - printf(" %s \t %s\n", $name, $desc); + if (!$options->collectorOnly()) { + $app->runGenerator($projectConfig->getGeneratorConfig()); + } + + $logger->log("Processing project '$projectName' completed."); + } + + $logger->buildSummary(); + + return self::ExitOK; + } catch (EnvironmentException $e) { + $this->showVersion(); + \fwrite(\STDERR, 'Sorry, but your PHP environment is currently not able to run phpDox due to'); + \fwrite(\STDERR, "\nthe following issue(s):\n\n" . $e->getMessage() . "\n\n"); + \fwrite(\STDERR, "Please adjust your PHP configuration and try again.\n\n"); + + return self::ExitEnvError; + } catch (CLIOptionsException $e) { + $this->showVersion(); + \fwrite(\STDERR, $e->getMessage() . "\n\n"); + \fwrite(\STDERR, $options->getHelpScreen()); + + return self::ExitParamError; + } catch (ConfigLoaderException $e) { + $this->showVersion(); + \fwrite(\STDERR, "\nAn error occured while trying to load the configuration file:\n\n" . $e->getMessage() . "\n\n"); + + if ($e->getCode() == ConfigLoaderException::NeitherCandidateExists) { + \fwrite(\STDERR, "Using --skel might get you started.\n\n"); } - echo "\n\n"; - } - /** - * @param CLIOptions $options - * - * @return GlobalConfig - * @throws ConfigLoaderException - */ - private function loadConfig(CLIOptions $options) { - $cfgLoader = $this->factory->getConfigLoader(); - $cfgFile = $options->configFile(); - if ($cfgFile != '') { - return $cfgLoader->load($cfgFile); + return self::ExitConfigError; + } catch (ConfigException $e) { + \fwrite(\STDERR, "\nYour configuration seems to be corrupted:\n\n\t" . $e->getMessage() . "\n\nPlease verify your configuration xml file.\n\n"); + + return self::ExitConfigError; + } catch (ApplicationException $e) { + \fwrite(\STDERR, "\nAn application error occured while processing:\n\n\t" . $e->getMessage() . "\n\nPlease verify your configuration.\n\n"); + + return self::ExitExecError; + } catch (\Exception $e) { + if ($e instanceof fDOMException) { + $e->toggleFullMessage(true); } - return $cfgLoader->autodetect(); + $this->showVersion(); + $errorHandler->handleException($e); + + return self::ExitException; + } catch (\Throwable $e) { + $this->showVersion(); + $errorHandler->handleException($e); + + return self::ExitException; + } + } + + /** + * Helper to output version information. + */ + private function showVersion(): void { + static $shown = false; + + if ($shown) { + return; } + $shown = true; + print $this->version->getInfoString() . "\n\n"; + } + private function showSkeletonConfig($strip): void { + $skel = $this->factory->getConfigSkeleton(); + print $strip ? $skel->renderStripped() : $skel->render(); } + private function showList($title, array $list): void { + print "\nThe following $title are registered:\n\n"; + + foreach ($list as $name => $desc) { + \printf(" %s \t %s\n", $name, $desc); + } + print "\n\n"; + } + + /** + * @throws ConfigLoaderException + */ + private function loadConfig(CLIOptions $options): GlobalConfig { + $cfgLoader = $this->factory->getConfigLoader(); + $cfgFile = $options->configFile(); + + if ($cfgFile != '') { + return $cfgLoader->load($cfgFile); + } + + return $cfgLoader->autodetect(); + } } diff -Nru phpdox-0.11.2/src/collector/backend/BackendInterface.php phpdox-0.12.0/src/collector/backend/BackendInterface.php --- phpdox-0.11.2/src/collector/backend/BackendInterface.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/backend/BackendInterface.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,54 +1,11 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector\Backend { - use TheSeer\phpDox\Collector\SourceFile; + - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector\Backend { +master = $factory; - } + public function __construct(MasterFactory $factory) { + $this->master = $factory; + } - public function getInstanceFor($type) { - switch ($type) { - case 'parser': { + public function getInstanceFor($type) { + switch ($type) { + case 'parser': + { return new PHPParser( $this->master->getDocblockParser(), $this->master->getErrorHandler() ); } - default: { + default: + { throw new FactoryException("'$type' is not a known backend."); } - } } - } +} - class FactoryException extends \Exception {} - +class FactoryException extends \Exception { } diff -Nru phpdox-0.11.2/src/collector/backend/ParseErrorException.php phpdox-0.12.0/src/collector/backend/ParseErrorException.php --- phpdox-0.11.2/src/collector/backend/ParseErrorException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/backend/ParseErrorException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,44 +1,8 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector\Backend { + - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector\Backend { + - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License + * @var \PhpParser\Parser */ -namespace TheSeer\phpDox\Collector\Backend { + private $parser; - use TheSeer\phpDox\Collector\SourceFile; - use TheSeer\phpDox\DocBlock\Parser as DocblockParser; - use PhpParser\ParserFactory; - use TheSeer\phpDox\ErrorHandler; + /** + * @var DocblockParser + */ + private $docblockParser; /** - * + * @var ErrorHandler */ - class PHPParser implements BackendInterface { + private $errorHandler; - /** - * @var \PhpParser\Parser - */ - private $parser = NULL; - - /** - * @var DocblockParser - */ - private $docblockParser = NULL; - - /** - * @var ErrorHandler - */ - private $errorHandler; - - /** - * @param DocblockParser $parser - */ - public function __construct(DocblockParser $parser, ErrorHandler $errorHandler) { - $this->docblockParser = $parser; - $this->errorHandler = $errorHandler; - } + public function __construct(DocblockParser $parser, ErrorHandler $errorHandler) { + $this->docblockParser = $parser; + $this->errorHandler = $errorHandler; + } - /** - * - * @param SourceFile $sourceFile - * @param bool $publicOnly - * - * @throws ParseErrorException - * @return ParseResult - */ - public function parse(SourceFile $sourceFile, $publicOnly) { - - try { - $result = new ParseResult($sourceFile); - $parser = $this->getParserInstance(); - $nodes = $parser->parse($sourceFile->getSource()); - if (!$nodes) { - throw new ParseErrorException("Parser didn't return any nodes", ParseErrorException::GeneralParseError); - } - $this->getTraverserInstance($result, $publicOnly)->traverse($nodes); - return $result; - } catch (\Exception $e) { - $this->errorHandler->clearLastError(); - throw new ParseErrorException('Internal Error during parsing', ParseErrorException::GeneralParseError, $e); - } - } + /** + * @param bool $publicOnly + * + * @throws ParseErrorException + */ + public function parse(SourceFile $sourceFile, $publicOnly): ParseResult { + try { + $result = new ParseResult($sourceFile); + $parser = $this->getParserInstance(); + $nodes = $parser->parse($sourceFile->getSource()); - /** - * @return \PhpParser\Parser - */ - private function getParserInstance() { - if ($this->parser === NULL) { - $this->parser = (new ParserFactory)->create(ParserFactory::PREFER_PHP7, new CustomLexer()); + if (!$nodes) { + throw new ParseErrorException("Parser didn't return any nodes", ParseErrorException::GeneralParseError); } - return $this->parser; + $this->getTraverserInstance($result, $publicOnly)->traverse($nodes); + + return $result; + } catch (\Exception $e) { + $this->errorHandler->clearLastError(); + + throw new ParseErrorException('Internal Error during parsing', ParseErrorException::GeneralParseError, $e); } + } - /** - * @param ParseResult $result - * @param bool $publicOnly - * - * @return \PhpParser\NodeTraverser - */ - private function getTraverserInstance(ParseResult $result, $publicOnly) { - $traverser = new \PhpParser\NodeTraverser(); - $traverser->addVisitor(new \PhpParser\NodeVisitor\NameResolver()); - if ($publicOnly === true) { - $traverser->addVisitor(new PublicOnlyVisitor()); - } - $traverser->addVisitor(new UnitCollectingVisitor($this->docblockParser, $result)); - return $traverser; + private function getParserInstance(): \PhpParser\Parser { + if ($this->parser === null) { + $this->parser = (new ParserFactory)->create(ParserFactory::PREFER_PHP7, new CustomLexer()); } + + return $this->parser; } + /** + * @param bool $publicOnly + */ + private function getTraverserInstance(ParseResult $result, $publicOnly): \PhpParser\NodeTraverser { + $traverser = new \PhpParser\NodeTraverser(); + $traverser->addVisitor(new \PhpParser\NodeVisitor\NameResolver()); + + if ($publicOnly === true) { + $traverser->addVisitor(new PublicOnlyVisitor()); + } + $traverser->addVisitor(new UnitCollectingVisitor($this->docblockParser, $result)); + + return $traverser; + } } diff -Nru phpdox-0.11.2/src/collector/backend/parser/PublicOnlyVisitor.php phpdox-0.12.0/src/collector/backend/parser/PublicOnlyVisitor.php --- phpdox-0.11.2/src/collector/backend/parser/PublicOnlyVisitor.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/backend/parser/PublicOnlyVisitor.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,62 +1,21 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector\Backend { +isPublic()) { - - return new NodeType\Nop(); - } - - return $node; + return new NodeType\Nop(); } + return $node; } } diff -Nru phpdox-0.11.2/src/collector/backend/parser/UnitCollectingVisitor.php phpdox-0.12.0/src/collector/backend/parser/UnitCollectingVisitor.php --- phpdox-0.11.2/src/collector/backend/parser/UnitCollectingVisitor.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/backend/parser/UnitCollectingVisitor.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,539 +1,530 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License + * @var \TheSeer\phpDox\DocBlock\Parser */ -namespace TheSeer\phpDox\Collector\Backend { + private $docBlockParser; - use PhpParser\Node\Expr; - use PhpParser\Node\Expr\Array_; - use PhpParser\Node\Expr\BinaryOp; - use PhpParser\Node\Expr\ClassConstFetch; - use PhpParser\Node\Expr\ConstFetch; - use PhpParser\Node\Expr\UnaryMinus; - use PhpParser\Node\Expr\UnaryPlus; - use PhpParser\Node\Name\FullyQualified; - use PhpParser\Node\NullableType; - use PhpParser\Node\Scalar\DNumber; - use PhpParser\Node\Scalar\LNumber; - use PhpParser\Node\Scalar\MagicConst; - use PhpParser\Node\Scalar\String_; - use TheSeer\phpDox\Collector\AbstractUnitObject; - use TheSeer\phpDox\Collector\AbstractVariableObject; - use TheSeer\phpDox\Collector\InlineComment; - use TheSeer\phpDox\Collector\MethodObject; - use TheSeer\phpDox\DocBlock\Parser as DocBlockParser; - use PhpParser\NodeVisitorAbstract; - use PhpParser\Node\Stmt as NodeType; + /** + * @var array + */ + private $aliasMap = []; /** - * + * @var string */ - class UnitCollectingVisitor extends NodeVisitorAbstract { + private $namespace = '\\'; - /** - * @var \TheSeer\phpDox\DocBlock\Parser - */ - private $docBlockParser; - - /** - * @var array - */ - private $aliasMap = array(); - - /** - * @var string - */ - private $namespace = '\\'; - - /** - * @var ParseResult - */ - private $result; - - /** - * @var AbstractUnitObject - */ - private $unit; - - private $modifier = array( - NodeType\Class_::MODIFIER_PUBLIC => 'public', - NodeType\Class_::MODIFIER_PROTECTED => 'protected', - NodeType\Class_::MODIFIER_PRIVATE => 'private', - ); + /** + * @var ParseResult + */ + private $result; - /** - * @param \TheSeer\phpDox\DocBlock\Parser $parser - * @param ParseResult $result - */ - public function __construct(DocBlockParser $parser, ParseResult $result) { - $this->docBlockParser = $parser; - $this->result = $result; - } - - /** - * @param \PhpParser\Node $node - * - * @return int|null|\PhpParser\Node|void - */ - public function enterNode(\PhpParser\Node $node) { - if ($node instanceof NodeType\Namespace_ && $node->name != NULL) { - $this->namespace = implode('\\', $node->name->parts); - $this->aliasMap['::context'] = $this->namespace; - } else if ($node instanceof NodeType\UseUse) { - $this->aliasMap[$node->alias] = implode('\\', $node->name->parts); - } else if ($node instanceof NodeType\Class_) { - $this->aliasMap['::unit'] = (string)$node->namespacedName; - $this->unit = $this->result->addClass((string)$node->namespacedName); - $this->processUnit($node); - return; - } else if ($node instanceof NodeType\Interface_) { - $this->aliasMap['::unit'] = (string)$node->namespacedName; - $this->unit = $this->result->addInterface((string)$node->namespacedName); - $this->processUnit($node); - return; - } else if ($node instanceof NodeType\Trait_) { - $this->aliasMap['::unit'] = (string)$node->namespacedName; - $this->unit = $this->result->addTrait((string)$node->namespacedName); - $this->processUnit($node); - return; - } else if ($node instanceof NodeType\Property) { - $this->processProperty($node); - return; - } else if ($node instanceof NodeType\ClassMethod) { - $this->processMethod($node); - return; - } elseif ($node instanceof NodeType\ClassConst) { - $this->processClassConstant($node); - } elseif ($node instanceof NodeType\TraitUse) { - $this->processTraitUse($node); - } - } + /** + * @var AbstractUnitObject + */ + private $unit; - /** - * @param \PhpParser\Node $node - * - * @return false|int|null|\PhpParser\Node|\PhpParser\Node[]|void - */ - public function leaveNode(\PhpParser\Node $node) { - if ($node instanceof NodeType\Class_ - || $node instanceof NodeType\Interface_ - || $node instanceof NodeType\Trait_) { - $this->unit = NULL; - return; - } - } + private $modifier = [ + NodeType\Class_::MODIFIER_PUBLIC => 'public', + NodeType\Class_::MODIFIER_PROTECTED => 'protected', + NodeType\Class_::MODIFIER_PRIVATE => 'private', + ]; + + public function __construct(DocBlockParser $parser, ParseResult $result) { + $this->docBlockParser = $parser; + $this->result = $result; + } - /** - * @param $node - */ - private function processUnit($node) { - $this->unit->setStartLine($node->getAttribute('startLine')); - $this->unit->setEndLine($node->getAttribute('endLine')); - if ($node instanceof NodeType\Class_) { - $this->unit->setAbstract($node->isAbstract()); - $this->unit->setFinal($node->isFinal()); + /** + * @return null|int|\PhpParser\Node|void + */ + public function enterNode(\PhpParser\Node $node) { + if ($node instanceof NodeType\Namespace_ && $node->name != null) { + $this->namespace = \implode('\\', $node->name->parts); + $this->aliasMap['::context'] = $this->namespace; + } else { + if ($node instanceof NodeType\UseUse) { + $this->aliasMap[$node->getAlias()->name] = \implode('\\', $node->name->parts); } else { - $this->unit->setAbstract(FALSE); - $this->unit->setFinal(FALSE); - } - - $docComment = $node->getDocComment(); - if ($docComment !== NULL) { - $block = $this->docBlockParser->parse($docComment, $this->aliasMap); - $this->unit->setDocBlock($block); - } + if ($node instanceof NodeType\Class_) { + $this->aliasMap['::unit'] = (string)$node->namespacedName; + $this->unit = $this->result->addClass((string)$node->namespacedName); + $this->processUnit($node); - if ($node->getType() != 'Stmt_Trait' && $node->extends !== NULL) { - if (is_array($node->extends)) { - $extendsArray = $node->extends; - foreach ($extendsArray as $extends) { - $this->unit->addExtends(implode('\\', $extends->parts)); - } - } else { - $this->unit->addExtends(implode('\\', $node->extends->parts)); + return; } - } - if ($node->getType() === 'Stmt_Class') { - foreach($node->implements as $implements) { - $this->unit->addImplements(implode('\\', $implements->parts)); + if ($node instanceof NodeType\Interface_) { + $this->aliasMap['::unit'] = (string)$node->namespacedName; + $this->unit = $this->result->addInterface((string)$node->namespacedName); + $this->processUnit($node); + + return; } - } - } - private function processTraitUse(NodeType\TraitUse $node) { - foreach($node->traits as $trait) { - $traitUse = $this->unit->addTrait( (string)$trait ); - $traitUse->setStartLine($node->getAttribute('startLine')); - $traitUse->setEndLine($node->getAttribute('endLine')); - } + if ($node instanceof NodeType\Trait_) { + $this->aliasMap['::unit'] = (string)$node->namespacedName; + $this->unit = $this->result->addTrait((string)$node->namespacedName); + $this->processUnit($node); - foreach($node->adaptations as $adaptation) { - if ($adaptation instanceof NodeType\TraitUseAdaptation\Alias) { - if ($adaptation->trait instanceof FullyQualified) { - $traitUse = $this->getTraitUse((string)$adaptation->trait); - } else if (count($node->traits) === 1) { - $traitUse = $this->getTraitUse( (string)$node->traits[0]); - } else { - $traitUse = $this->unit->getAmbiguousTraitUse(); - } + return; + } - $traitUse->addAlias( - $adaptation->method, - $adaptation->newName, - $adaptation->newModifier ? $this->modifier[$adaptation->newModifier] : NULL - ); + if ($node instanceof NodeType\Property) { + $this->processProperty($node); - continue; + return; } - if ($adaptation instanceof NodeType\TraitUseAdaptation\Precedence) { - $traitUse = $this->getTraitUse((string)$adaptation->insteadof[0]); - $traitUse->addExclude($adaptation->method); + if ($node instanceof NodeType\ClassMethod) { + $this->processMethod($node); - continue; + return; } - throw new ParseErrorException( - sprintf('Unexpected adaption type %s', get_class($adaptation)), - ParseErrorException::UnexpectedExpr - ); + if ($node instanceof NodeType\ClassConst) { + $this->processClassConstant($node); + } elseif ($node instanceof NodeType\TraitUse) { + $this->processTraitUse($node); + } } - } + } - private function getTraitUse($traitName) { - if (!$this->unit->usesTrait($traitName)) { - throw new ParseErrorException( - sprintf('Referenced trait "%s" not used', $traitName), - ParseErrorException::GeneralParseError - ); - } - return $this->unit->getTraitUse($traitName); + /** + * @return null|false|int|\PhpParser\Node|\PhpParser\Node[]|void + */ + public function leaveNode(\PhpParser\Node $node) { + if ($node instanceof NodeType\Class_ + || $node instanceof NodeType\Interface_ + || $node instanceof NodeType\Trait_) { + $this->unit = null; + + return; } + } - /** - * @param NodeType\ClassMethod $node - */ - private function processMethod(NodeType\ClassMethod $node) { - - /** @var $method \TheSeer\phpDox\Collector\MethodObject */ - $method = $this->unit->addMethod($node->name); - $method->setStartLine($node->getAttribute('startLine')); - $method->setEndLine($node->getAttribute('endLine')); - $method->setAbstract($node->isAbstract()); - $method->setFinal($node->isFinal()); - $method->setStatic($node->isStatic()); - - $this->processMethodReturnType($method, $node->getReturnType()); - - $visibility = 'public'; - if ($node->isPrivate()) { - $visibility = 'private'; - } elseif ($node->isProtected()) { - $visibility = 'protected'; - } - $method->setVisibility($visibility); + /** + * @param $node + */ + private function processUnit($node): void { + $this->unit->setStartLine($node->getAttribute('startLine')); + $this->unit->setEndLine($node->getAttribute('endLine')); - $docComment = $node->getDocComment(); - if ($docComment !== NULL) { - $block = $this->docBlockParser->parse($docComment, $this->aliasMap); - $method->setDocBlock($block); - } + if ($node instanceof NodeType\Class_) { + $this->unit->setAbstract($node->isAbstract()); + $this->unit->setFinal($node->isFinal()); + } else { + $this->unit->setAbstract(false); + $this->unit->setFinal(false); + } - $this->processMethodParams($method, $node->params); + $docComment = $node->getDocComment(); - if ($node->stmts) { - $this->processInlineComments($method, $node->stmts); - } + if ($docComment !== null) { + $block = $this->docBlockParser->parse($docComment, $this->aliasMap); + $this->unit->setDocBlock($block); } - private function processMethodReturnType(MethodObject $method, $returnType) { - if ($returnType === null) { - return; - } + if ($node->getType() != 'Stmt_Trait' && $node->extends !== null) { + if (\is_array($node->extends)) { + $extendsArray = $node->extends; - if (in_array($returnType, ['void','float','int','string','bool','callable','array'])) { - $returnTypeObject = $method->setReturnType($returnType); - $returnTypeObject->setNullable(false); - return; + foreach ($extendsArray as $extends) { + $this->unit->addExtends(\implode('\\', $extends->parts)); + } + } else { + $this->unit->addExtends(\implode('\\', $node->extends->parts)); } + } - if ($returnType instanceof \PhpParser\Node\Name\FullyQualified) { - $returnTypeObject = $method->setReturnType($returnType->toString()); - $returnTypeObject->setNullable(false); - return; + if ($node->getType() === 'Stmt_Class') { + foreach ($node->implements as $implements) { + $this->unit->addImplements(\implode('\\', $implements->parts)); } + } + } + + private function processTraitUse(NodeType\TraitUse $node): void { + foreach ($node->traits as $trait) { + $traitUse = $this->unit->addTrait((string)$trait); + $traitUse->setStartLine($node->getAttribute('startLine')); + $traitUse->setEndLine($node->getAttribute('endLine')); + } - if ($returnType instanceof NullableType) { - if ((string)$returnType->type === 'self') { - $returnTypeObject = $method->setReturnType($this->unit->getName()); + foreach ($node->adaptations as $adaptation) { + if ($adaptation instanceof NodeType\TraitUseAdaptation\Alias) { + if ($adaptation->trait instanceof FullyQualified) { + $traitUse = $this->getTraitUse((string)$adaptation->trait); } else { - $returnTypeObject = $method->setReturnType($returnType->type); + if (\count($node->traits) === 1) { + $traitUse = $this->getTraitUse((string)$node->traits[0]); + } else { + $traitUse = $this->unit->getAmbiguousTraitUse(); + } } - $returnTypeObject->setNullable(true); - return; - } - if ($returnType instanceof \PhpParser\Node\Name) { - $returnTypeObject = $method->setReturnType( - $this->unit->getName() + $traitUse->addAlias( + $adaptation->method, + $adaptation->newName, + $adaptation->newModifier ? $this->modifier[$adaptation->newModifier] : null ); - $returnTypeObject->setNullable(false); - return; + + continue; + } + + if ($adaptation instanceof NodeType\TraitUseAdaptation\Precedence) { + $traitUse = $this->getTraitUse((string)$adaptation->insteadof[0]); + $traitUse->addExclude($adaptation->method); + + continue; } throw new ParseErrorException( - sprintf("Unexpected return type definition %s", - get_class($returnType) - ),ParseErrorException::UnexpectedExpr); + \sprintf('Unexpected adaption type %s', \get_class($adaptation)), + ParseErrorException::UnexpectedExpr + ); + } + } + + private function getTraitUse($traitName) { + if (!$this->unit->usesTrait($traitName)) { + throw new ParseErrorException( + \sprintf('Referenced trait "%s" not used', $traitName), + ParseErrorException::GeneralParseError + ); + } + + return $this->unit->getTraitUse($traitName); + } + + private function processMethod(NodeType\ClassMethod $node): void { + + /** @var $method \TheSeer\phpDox\Collector\MethodObject */ + $method = $this->unit->addMethod($node->name); + $method->setStartLine($node->getAttribute('startLine')); + $method->setEndLine($node->getAttribute('endLine')); + $method->setAbstract($node->isAbstract()); + $method->setFinal($node->isFinal()); + $method->setStatic($node->isStatic()); + + $this->processMethodReturnType($method, $node->getReturnType()); + + $visibility = 'public'; + + if ($node->isPrivate()) { + $visibility = 'private'; + } elseif ($node->isProtected()) { + $visibility = 'protected'; + } + $method->setVisibility($visibility); + + $docComment = $node->getDocComment(); + + if ($docComment !== null) { + $block = $this->docBlockParser->parse($docComment, $this->aliasMap); + $method->setDocBlock($block); + } + + $this->processMethodParams($method, $node->params); + + if ($node->stmts) { + $this->processInlineComments($method, $node->stmts); + } + } + + private function processMethodReturnType(MethodObject $method, $returnType): void { + if ($returnType === null) { + return; + } + + if (\in_array($returnType, ['void', 'float', 'int', 'string', 'bool', 'callable', 'array'])) { + $returnTypeObject = $method->setReturnType($returnType); + $returnTypeObject->setNullable(false); + + return; + } + + if ($returnType instanceof \PhpParser\Node\Name\FullyQualified) { + $returnTypeObject = $method->setReturnType($returnType->toString()); + $returnTypeObject->setNullable(false); + + return; + } + + if ($returnType instanceof NullableType) { + if ((string)$returnType->type === 'self') { + $returnTypeObject = $method->setReturnType($this->unit->getName()); + } else { + $returnTypeObject = $method->setReturnType($returnType->type); + } + $returnTypeObject->setNullable(true); + + return; } - private function processInlineComments(MethodObject $method, array $stmts) { - foreach($stmts as $stmt) { - if ($stmt->hasAttribute('comments')) { - foreach($stmt->getAttribute('comments') as $comment) { - $inline = new InlineComment($comment->getLine(), $comment->getText()); - if ($inline->getCount() != 0) { - $method->addInlineComment($inline); - } + if ($returnType instanceof \PhpParser\Node\Name) { + $returnTypeObject = $method->setReturnType( + $this->unit->getName() + ); + $returnTypeObject->setNullable(false); + + return; + } + + throw new ParseErrorException( + \sprintf( + 'Unexpected return type definition %s', + \get_class($returnType) + ), + ParseErrorException::UnexpectedExpr + ); + } + + private function processInlineComments(MethodObject $method, array $stmts): void { + foreach ($stmts as $stmt) { + if ($stmt->hasAttribute('comments')) { + foreach ($stmt->getAttribute('comments') as $comment) { + $inline = new InlineComment($comment->getLine(), $comment->getText()); + + if ($inline->getCount() != 0) { + $method->addInlineComment($inline); } } } } + } - /** - * @param MethodObject $method - * @param array $params - */ - private function processMethodParams(MethodObject $method, array $params) { - foreach($params as $param) { - /** @var $param \PhpParser\Node\Param */ - $parameter = $method->addParameter($param->name); - $parameter->setByReference($param->byRef); - $this->setVariableType($parameter, $param->type); - $this->setVariableDefaultValue($parameter, $param->default); - } + private function processMethodParams(MethodObject $method, array $params): void { + foreach ($params as $param) { + /** @var $param \PhpParser\Node\Param */ + $parameter = $method->addParameter($param->var->name); + $parameter->setByReference($param->byRef); + $this->setVariableType($parameter, $param->type); + $this->setVariableDefaultValue($parameter, $param->default); } + } - private function processClassConstant(NodeType\ClassConst $node) { - $constNode = $node->consts[0]; - $const = $this->unit->addConstant($constNode->name); - - $resolved = $this->resolveExpressionValue($constNode->value); - - $const->setValue($resolved['value']); - if (isset($resolved['constant'])) { - $const->setConstantReference($resolved['constant']); - } - if (isset($resolved['type'])) { - $const->setType($resolved['type']); - } + private function processClassConstant(NodeType\ClassConst $node): void { + $constNode = $node->consts[0]; + $const = $this->unit->addConstant($constNode->name); - $docComment = $node->getDocComment(); - if ($docComment !== NULL) { - $block = $this->docBlockParser->parse($docComment, $this->aliasMap); - $const->setDocBlock($block); - } + $resolved = $this->resolveExpressionValue($constNode->value); + + $const->setValue($resolved['value']); + + if (isset($resolved['constant'])) { + $const->setConstantReference($resolved['constant']); } - private function processProperty(NodeType\Property $node) { - $property = $node->props[0]; - $member = $this->unit->addMember($property->name); - if ($node->props[0]->default) { - $this->setVariableDefaultValue($member, $node->props[0]->default); - } - $visibility = 'public'; - if ($node->isPrivate()) { - $visibility = 'private'; - } elseif ($node->isProtected()) { - $visibility = 'protected'; - } - $member->setVisibility($visibility); - $member->setStatic($node->isStatic()); - $docComment = $node->getDocComment(); - if ($docComment !== NULL) { - $block = $this->docBlockParser->parse($docComment, $this->aliasMap); - $member->setDocBlock($block); - } - $member->setLine($node->getLine()); + if (isset($resolved['type'])) { + $const->setType($resolved['type']); } - private function setVariableType(AbstractVariableObject $variable, $type = NULL) { - if ($type instanceof NullableType) { - $variable->setNullable(true); - $type = $type->type; - } + $docComment = $node->getDocComment(); - if ($type === NULL) { - $variable->setType('{unknown}'); - return; - } + if ($docComment !== null) { + $block = $this->docBlockParser->parse($docComment, $this->aliasMap); + $const->setDocBlock($block); + } + } - if ($variable->isInternalType($type)) { - $variable->setType($type); - return; - } + private function processProperty(NodeType\Property $node): void { + $property = $node->props[0]; + $member = $this->unit->addMember($property->name); - if ($type instanceof \PhpParser\Node\Name\FullyQualified) { - $variable->setType( (string)$type); - return; - } + if ($node->props[0]->default) { + $this->setVariableDefaultValue($member, $node->props[0]->default); + } + $visibility = 'public'; - $type = (string)$type; - if (isset($this->aliasMap[$type])) { - $type = $this->aliasMap[$type]; - } elseif ($type[0]!=='\\') { - $type = $this->namespace . '\\' . $type; - } + if ($node->isPrivate()) { + $visibility = 'private'; + } elseif ($node->isProtected()) { + $visibility = 'protected'; + } + $member->setVisibility($visibility); + $member->setStatic($node->isStatic()); + $docComment = $node->getDocComment(); + + if ($docComment !== null) { + $block = $this->docBlockParser->parse($docComment, $this->aliasMap); + $member->setDocBlock($block); + } + $member->setLine($node->getLine()); + } + + private function setVariableType(AbstractVariableObject $variable, $type = null): void { + if ($type instanceof NullableType) { + $variable->setNullable(true); + $type = $type->type; + } + + if ($type === null) { + $variable->setType('{unknown}'); + + return; + } + + if ($variable->isInternalType($type)) { $variable->setType($type); + + return; } - private function resolveExpressionValue(Expr $expr) { - if ($expr instanceof String_) { - return array( - 'type' => 'string', - 'value' => $expr->getAttribute('originalValue') - ); - } + if ($type instanceof \PhpParser\Node\Name\FullyQualified) { + $variable->setType((string)$type); - if ($expr instanceof LNumber || - $expr instanceof UnaryMinus || - $expr instanceof UnaryPlus) { - return array( - 'type' => 'integer', - 'value' => $expr->getAttribute('originalValue') - ); - } + return; + } - if ($expr instanceof DNumber) { - return array( - 'type' => 'float', - 'value' => $expr->getAttribute('originalValue') - ); - } + $type = (string)$type; - if ($expr instanceof Array_) { - return array( - 'type' => 'array', - 'value' => '' // @todo add array2xml? - ); - } + if (isset($this->aliasMap[$type])) { + $type = $this->aliasMap[$type]; + } elseif ($type[0] !== '\\') { + $type = $this->namespace . '\\' . $type; + } + $variable->setType($type); + } - if ($expr instanceof ClassConstFetch) { - return array( - 'type' => '{unknown}', - 'value' => '', - 'constant' => implode('\\', $expr->class->parts) . '::' . $expr->name - ); - } + private function resolveExpressionValue(Expr $expr) { + if ($expr instanceof String_) { + return [ + 'type' => 'string', + 'value' => $expr->getAttribute('originalValue') + ]; + } - if ($expr instanceof ConstFetch) { - $reference = implode('\\', $expr->name->parts); - if (strtolower($reference) === 'null') { - return array( - 'value' => 'NULL' - ); - } - if (in_array(strtolower($reference), array('true', 'false'))) { - return array( - 'type' => 'boolean', - 'value' => $reference - ); - } - return array( - 'type' => '{unknown}', - 'value' => '', - 'constant' => implode('\\', $expr->name->parts) - ); - } + if ($expr instanceof LNumber || + $expr instanceof UnaryMinus || + $expr instanceof UnaryPlus) { + return [ + 'type' => 'integer', + 'value' => $expr->getAttribute('originalValue') + ]; + } - if ($expr instanceof MagicConst\Line) { - return array( - 'type' => 'integer', - 'value' => '', - 'constant' => $expr->getName() - ); + if ($expr instanceof DNumber) { + return [ + 'type' => 'float', + 'value' => $expr->getAttribute('originalValue') + ]; + } + + if ($expr instanceof Array_) { + return [ + 'type' => 'array', + 'value' => '' // @todo add array2xml? + ]; + } + + if ($expr instanceof ClassConstFetch) { + return [ + 'type' => '{unknown}', + 'value' => '', + 'constant' => \implode('\\', $expr->class->parts) . '::' . $expr->name + ]; + } + + if ($expr instanceof ConstFetch) { + $reference = \implode('\\', $expr->name->parts); + + if (\strtolower($reference) === 'null') { + return [ + 'value' => 'NULL' + ]; } - if ($expr instanceof MagicConst) { - return array( - 'type' => 'string', - 'value' => '', - 'constant' => $expr->getName() - ); + if (\in_array(\strtolower($reference), ['true', 'false'])) { + return [ + 'type' => 'boolean', + 'value' => $reference + ]; } - if ($expr instanceof BinaryOp) { - $code = (new \PhpParser\PrettyPrinter\Standard)->prettyPrint([$expr]); + return [ + 'type' => '{unknown}', + 'value' => '', + 'constant' => \implode('\\', $expr->name->parts) + ]; + } - return array( - 'type' => 'expression', - 'value' => substr($code,0,-1) - ); + if ($expr instanceof MagicConst\Line) { + return [ + 'type' => 'integer', + 'value' => '', + 'constant' => $expr->getName() + ]; + } - } + if ($expr instanceof MagicConst) { + return [ + 'type' => 'string', + 'value' => '', + 'constant' => $expr->getName() + ]; + } - $type = get_class($expr); - $line = $expr->getLine(); - $file = $this->result->getFileName(); - throw new ParseErrorException("Unexpected expression type '$type' for value in line $line of file '$file'", ParseErrorException::UnexpectedExpr); + if ($expr instanceof BinaryOp) { + $code = (new \PhpParser\PrettyPrinter\Standard)->prettyPrint([$expr]); + return [ + 'type' => 'expression', + 'value' => \substr($code, 0, -1) + ]; } - /** - * @param AbstractVariableObject $variable - * @param Expr $default - * - * @throws ParseErrorException - */ - private function setVariableDefaultValue(AbstractVariableObject $variable, Expr $default = NULL) { - if ($default === NULL) { - return; - } + $type = \get_class($expr); + $line = $expr->getLine(); + $file = $this->result->getFileName(); - $resolved = $this->resolveExpressionValue($default); - $variable->setDefault($resolved['value']); + throw new ParseErrorException("Unexpected expression type '$type' for value in line $line of file '$file'", ParseErrorException::UnexpectedExpr); + } - if (isset($resolved['type'])) { - $variable->setType($resolved['type']); - } + /** + * @param Expr $default + * + * @throws ParseErrorException + */ + private function setVariableDefaultValue(AbstractVariableObject $variable, Expr $default = null): void { + if ($default === null) { + return; + } - if (isset($resolved['constant'])) { - $variable->setConstant($resolved['constant']); - } + $resolved = $this->resolveExpressionValue($default); + $variable->setDefault($resolved['value']); + + if (isset($resolved['type'])) { + $variable->setType($resolved['type']); + } + + if (isset($resolved['constant'])) { + $variable->setConstant($resolved['constant']); } } } diff -Nru phpdox-0.11.2/src/collector/backend/ParseResultException.php phpdox-0.12.0/src/collector/backend/ParseResultException.php --- phpdox-0.11.2/src/collector/backend/ParseResultException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/backend/ParseResultException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,8 +1,6 @@ -file = $file; + } + + public function getFileName() { + return $this->file->getRealPath(); + } + /** - * Copyright (c) 2010-2018 Arne Blankerts - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector\Backend { - - use TheSeer\fDOM\fDOMDocument; - use TheSeer\phpDox\Collector\TraitObject; - use TheSeer\phpDox\Collector\InterfaceObject; - use TheSeer\phpDox\Collector\ClassObject; - - /** - * - */ - class ParseResult { - - /** - * @var \SplFileInfo - */ - private $file; - - /** - * @var ClassObject[] - */ - private $classes = array(); - - /** - * @var InterfaceObject[] - */ - private $interfaces = array(); - - /** - * @var TraitObject[] - */ - private $traits = array(); - - /** - * @param \SplFileInfo $file - */ - public function __construct(\SplFileInfo $file) { - $this->file = $file; - } - - public function getFileName() { - return $this->file->getRealPath(); - } - - /** - * @param $name - * @return ClassObject - */ - public function addClass($name) { - $obj = new ClassObject($name, $this->file); - $this->classes[$name] = $obj; - return $obj; - } - - /** - * @param $name - * @return InterfaceObject - */ - public function addInterface($name) { - $obj = new InterfaceObject($name, $this->file); - $this->interfaces[$name] = $obj; - return $obj; - } - - /** - * @param $name - * @return TraitObject - */ - public function addTrait($name) { - $obj = new TraitObject($name, $this->file); - $this->traits[$name] = $obj; - return $obj; - } - - /** - * @return bool - */ - public function hasClasses() { - return count($this->classes) > 0; - } - - /** - * @return bool - */ - public function hasInterfaces() { - return count($this->interfaces) > 0; - } - - /** - * @return bool - */ - public function hasTraits() { - return count($this->traits) > 0; - } - - /** - * @return ClassObject[] - */ - public function getClasses() { - return $this->classes; - } - - /** - * @return InterfaceObject[] - */ - public function getInterfaces() { - return $this->interfaces; - } - - /** - * @return TraitObject[] - */ - public function getTraits() { - return $this->traits; - } + * @param $name + */ + public function addClass($name): ClassObject { + $obj = new ClassObject($name, $this->file); + $this->classes[$name] = $obj; + + return $obj; } + /** + * @param $name + */ + public function addInterface($name): InterfaceObject { + $obj = new InterfaceObject($name, $this->file); + $this->interfaces[$name] = $obj; + + return $obj; + } + + /** + * @param $name + */ + public function addTrait($name): TraitObject { + $obj = new TraitObject($name, $this->file); + $this->traits[$name] = $obj; + + return $obj; + } + + public function hasClasses(): bool { + return \count($this->classes) > 0; + } + + public function hasInterfaces(): bool { + return \count($this->interfaces) > 0; + } + + public function hasTraits(): bool { + return \count($this->traits) > 0; + } + + /** + * @return ClassObject[] + */ + public function getClasses(): array { + return $this->classes; + } + + /** + * @return InterfaceObject[] + */ + public function getInterfaces(): array { + return $this->interfaces; + } + + /** + * @return TraitObject[] + */ + public function getTraits(): array { + return $this->traits; + } } diff -Nru phpdox-0.11.2/src/collector/backend/SourceFileException.php phpdox-0.12.0/src/collector/backend/SourceFileException.php --- phpdox-0.11.2/src/collector/backend/SourceFileException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/backend/SourceFileException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,10 +1,8 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector { - - class CollectorException extends \TheSeer\phpDox\HasFileInfoException { - const ProcessingError = 1; - } + - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License + * Collector processing class */ -namespace TheSeer\phpDox\Collector { +class Collector { + /** + * @var ProgressLogger + */ + private $logger; - use TheSeer\DirectoryScanner\DirectoryScanner; - use TheSeer\phpDox\FileInfo; - use TheSeer\phpDox\ProgressLogger; - use TheSeer\phpDox\Collector\Backend\BackendInterface; - use TheSeer\phpDox\Collector\Backend\ParseErrorException; - - /** - * Collector processing class - */ - class Collector { - - /** - * @var ProgressLogger - */ - private $logger; - - /** - * @var Project - */ - private $project; - - /** - * @var array - */ - private $parseErrors = array(); - - /** - * @var BackendInterface - */ - private $backend; - - /** - * @var string - */ - private $encoding; - - /** - * @var bool - */ - private $publicOnly; - - /** - * @param ProgressLogger $logger - * @param Project $project - * @param BackendInterface $backend - * @param string $encoding - * @param bool $publicOnly - */ - public function __construct(ProgressLogger $logger, Project $project, BackendInterface $backend, $encoding, $publicOnly) { - $this->logger = $logger; - $this->project = $project; - $this->backend = $backend; - $this->encoding = $encoding; - $this->publicOnly = $publicOnly; - } + /** + * @var Project + */ + private $project; - /** - * @param DirectoryScanner $scanner - * - * @return Project - */ - public function run(DirectoryScanner $scanner) { - - $srcDir = $this->project->getSourceDir(); - $this->logger->log("Scanning directory '{$srcDir}' for files to process\n"); - - $iterator = new SourceFileIterator($scanner($srcDir), $srcDir, $this->encoding); - foreach($iterator as $file) { - $needsProcessing = $this->project->addFile($file); - if (!$needsProcessing) { - $this->logger->progress('cached'); - continue; - } - if (!$this->processFile($file)) { - $this->project->removeFile($file); - } + /** + * @var array + */ + private $parseErrors = []; + + /** + * @var BackendInterface + */ + private $backend; + + /** + * @var string + */ + private $encoding; + + /** + * @var bool + */ + private $publicOnly; + + /** + * @param string $encoding + * @param bool $publicOnly + */ + public function __construct(ProgressLogger $logger, Project $project, BackendInterface $backend, $encoding, $publicOnly) { + $this->logger = $logger; + $this->project = $project; + $this->backend = $backend; + $this->encoding = $encoding; + $this->publicOnly = $publicOnly; + } + + public function run(DirectoryScanner $scanner): Project { + $srcDir = $this->project->getSourceDir(); + $this->logger->log("Scanning directory '{$srcDir}' for files to process\n"); + + $iterator = new SourceFileIterator($scanner($srcDir), $srcDir, $this->encoding); + + foreach ($iterator as $file) { + $needsProcessing = $this->project->addFile($file); + + if (!$needsProcessing) { + $this->logger->progress('cached'); + + continue; } - $this->logger->completed(); - return $this->project; - } - /** - * @return bool - */ - public function hasParseErrors() { - return count($this->parseErrors) > 0; + if (!$this->processFile($file)) { + $this->project->removeFile($file); + } } + $this->logger->completed(); - /** - * @return array - */ - public function getParseErrors() { - return $this->parseErrors; - } + return $this->project; + } - /** - * @param FileInfo $file - * - * @throws CollectorException - * @throws \TheSeer\phpDox\ProgressLoggerException - * - * @return bool - */ - private function processFile(SourceFile $file) { - try { - if ($file->getSize() === 0) { - $this->logger->progress('processed'); - return true; - } - $result = $this->backend->parse($file, $this->publicOnly); + public function hasParseErrors(): bool { + return \count($this->parseErrors) > 0; + } + + public function getParseErrors(): array { + return $this->parseErrors; + } + + /** + * @param FileInfo $file + * + * @throws CollectorException + * @throws \TheSeer\phpDox\ProgressLoggerException + */ + private function processFile(SourceFile $file): bool { + try { + if ($file->getSize() === 0) { + $this->logger->progress('processed'); - if ($result->hasClasses()) { - foreach($result->getClasses() as $class) { - $this->project->addClass($class); - } + return true; + } + $result = $this->backend->parse($file, $this->publicOnly); + + if ($result->hasClasses()) { + foreach ($result->getClasses() as $class) { + $this->project->addClass($class); } - if ($result->hasInterfaces()) { - foreach($result->getInterfaces() as $interface) { - $this->project->addInterface($interface); - } + } + + if ($result->hasInterfaces()) { + foreach ($result->getInterfaces() as $interface) { + $this->project->addInterface($interface); } - if ($result->hasTraits()) { - foreach($result->getTraits() as $trait) { - $this->project->addTrait($trait); - } + } + + if ($result->hasTraits()) { + foreach ($result->getTraits() as $trait) { + $this->project->addTrait($trait); } - $this->logger->progress('processed'); - return true; - } catch (ParseErrorException $e) { - $previous = $e->getPrevious(); - $this->parseErrors[$file->getPathname()] = sprintf( - '%s [%s:%d]', - $previous->getMessage(), - basename($previous->getFile()), - $previous->getLine() - ); - $this->logger->progress('failed'); - return false; - } catch (\Exception $e) { - throw new CollectorException('Error while processing source file', CollectorException::ProcessingError, $e, $file); } - } + $this->logger->progress('processed'); + return true; + } catch (ParseErrorException $e) { + $previous = $e->getPrevious(); + $this->parseErrors[$file->getPathname()] = \sprintf( + '%s [%s:%d]', + $previous->getMessage(), + \basename($previous->getFile()), + $previous->getLine() + ); + $this->logger->progress('failed'); + + return false; + } catch (\Exception $e) { + throw new CollectorException('Error while processing source file', CollectorException::ProcessingError, $e, $file); + } } } diff -Nru phpdox-0.11.2/src/collector/InheritanceResolver.php phpdox-0.12.0/src/collector/InheritanceResolver.php --- phpdox-0.11.2/src/collector/InheritanceResolver.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/InheritanceResolver.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,224 +1,92 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License + * @var ProgressLogger */ -namespace TheSeer\phpDox\Collector { - - use TheSeer\fDOM\fDOMDocument; - use TheSeer\phpDox\InheritanceConfig; - use TheSeer\phpDox\ProgressLogger; + private $logger; /** - * Inheritance resolving class + * @var \TheSeer\phpDox\Collector\Project */ - class InheritanceResolver { - - /** - * @var ProgressLogger - */ - private $logger; - - /** - * @var \TheSeer\phpDox\Collector\Project - */ - private $project; - - /** - * @var InheritanceConfig - */ - private $config; - - private $dependencyStack = array(); - - /** - * @var array - */ - private $unresolved = array(); - - /** - * @var array - */ - private $errors = array(); - - /** - * @param ProgressLogger $logger - */ - public function __construct(ProgressLogger $logger) { - $this->logger = $logger; - } - - /** - * @param array $changed - * @param Project $project - * @param InheritanceConfig $config - * - * @throws ProjectException - * @throws UnitObjectException - */ - public function resolve(Array $changed, Project $project, InheritanceConfig $config) { - if (count($changed) == 0) { - return; - } - $this->logger->reset(); - $this->logger->log("Resolving inheritance\n"); - - $this->project = $project; - $this->config = $config; - - $this->setupDependencies(); - - foreach($changed as $unit) { - /** @var AbstractUnitObject $unit */ - if ($unit->hasExtends()) { - foreach($unit->getExtends() as $name) { - try { - $extendedUnit = $this->getUnitByName($name); - $this->processExtends($unit, $extendedUnit); - } catch (ProjectException $e) { - $this->addUnresolved($unit, $name); - } - } - } - if ($unit->hasImplements()) { - foreach($unit->getImplements() as $implements) { - try { - $implementsUnit = $this->getUnitByName($implements); - $this->processImplements($unit, $implementsUnit); - } catch (ProjectException $e) { - $this->addUnresolved($unit, $implements); - } - } - } - if ($unit->usesTraits()) { - foreach($unit->getUsedTraits() as $traitName) { - try { - $traitUnit = $this->getUnitByName($traitName); - $this->processTraitUse( - $unit, - $unit->getTraitUse($traitName), - $traitUnit - ); - } catch (ProjectException $e) { - $this->addUnresolved($unit, $traitName); - } - } - } + private $project; - $unitName = $unit->getName(); - if (isset($this->unresolved[$unitName])) { - foreach($this->unresolved[$unitName] as $missingUnit) { - $unit->markDependencyAsUnresolved($missingUnit); - } - } - - $this->logger->progress('processed'); - } - - $this->project->save(); - $this->logger->completed(); - } - - public function hasUnresolved() { - return count($this->unresolved) > 0; - } - - public function getUnresolved() { - return $this->unresolved; - } - - public function hasErrors() { - return count($this->errors) > 0; - } - - public function getErrors() { - return $this->errors; - } + /** + * @var InheritanceConfig + */ + private $config; - private function addError(AbstractUnitObject $unit, $errorInfo) { - $unitName = $unit->getName(); - if (!isset($this->errors[$unitName])) { - $this->errors[$unitName] = array(); - } - $this->errors[$unitName][] = $errorInfo; - } + private $dependencyStack = []; - private function addUnresolved(AbstractUnitObject $unit, $missingUnit) { - $unitName = $unit->getName(); - if (!isset($this->unresolved[$unitName])) { - $this->unresolved[$unitName] = array(); - } - $this->unresolved[$unitName][] = $missingUnit; - $this->project->registerForSaving($unit); - } + /** + * @var array + */ + private $unresolved = []; - private function processExtends(AbstractUnitObject $unit, AbstractUnitObject $extends) { - $this->project->registerForSaving($unit); - $this->project->registerForSaving($extends); + /** + * @var array + */ + private $errors = []; - $extends->addExtender($unit); - $unit->importExports($extends, 'parent'); + public function __construct(ProgressLogger $logger) { + $this->logger = $logger; + } - if ($extends->hasExtends()) { - foreach($extends->getExtends() as $name) { + /** + * @throws ProjectException + * @throws UnitObjectException + */ + public function resolve(array $changed, Project $project, InheritanceConfig $config): void { + if (\count($changed) == 0) { + return; + } + $this->logger->reset(); + $this->logger->log("Resolving inheritance\n"); + + $this->project = $project; + $this->config = $config; + + $this->setupDependencies(); + + foreach ($changed as $unit) { + /** @var AbstractUnitObject $unit */ + if ($unit->hasExtends()) { + foreach ($unit->getExtends() as $name) { try { $extendedUnit = $this->getUnitByName($name); - $this->processExtends($unit, $extendedUnit, $extendedUnit); + $this->processExtends($unit, $extendedUnit); } catch (ProjectException $e) { $this->addUnresolved($unit, $name); } } } - if ($extends->hasImplements()) { - foreach($extends->getImplements() as $implements) { + if ($unit->hasImplements()) { + foreach ($unit->getImplements() as $implements) { try { $implementsUnit = $this->getUnitByName($implements); - $this->processImplements($unit, $implementsUnit, $implementsUnit); + $this->processImplements($unit, $implementsUnit); } catch (ProjectException $e) { $this->addUnresolved($unit, $implements); } } } - if ($extends->usesTraits()) { - foreach($extends->getUsedTraits() as $traitName) { + if ($unit->usesTraits()) { + foreach ($unit->getUsedTraits() as $traitName) { try { $traitUnit = $this->getUnitByName($traitName); $this->processTraitUse( $unit, - $extends->getTraitUse($traitName), + $unit->getTraitUse($traitName), $traitUnit ); } catch (ProjectException $e) { @@ -227,106 +95,200 @@ } } - } - - private function processImplements(AbstractUnitObject $unit, AbstractUnitObject $implements) { - $this->project->registerForSaving($unit); - $this->project->registerForSaving($implements); - - if (!$implements instanceof InterfaceObject) { - $this->addError( - $unit, - sprintf( - 'Trying to implement "%s" which is a %s', - $implements->getName(), - $implements->getType() - ) - ); - return; - } - $implements->addImplementor($unit); - $unit->importExports($implements, 'interface'); + $unitName = $unit->getName(); - if ($implements->hasImplements()) { - foreach($implements->getImplements() as $implementing) { - try { - $implementsUnit = $this->getUnitByName($implementing); - $this->processExtends($unit, $implementsUnit, $implementsUnit); - } catch (ProjectException $e) { - $this->addUnresolved($unit, $implementing); - } + if (isset($this->unresolved[$unitName])) { + foreach ($this->unresolved[$unitName] as $missingUnit) { + $unit->markDependencyAsUnresolved($missingUnit); } } + + $this->logger->progress('processed'); } - private function processTraitUse(AbstractUnitObject $unit, TraitUseObject $use, AbstractUnitObject $trait) { - $this->project->registerForSaving($unit); - $this->project->registerForSaving($trait); + $this->project->save(); + $this->logger->completed(); + } - $trait->addUser($unit); - $unit->importTraitExports($trait, $use); + public function hasUnresolved() { + return \count($this->unresolved) > 0; + } - if ($trait->hasExtends()) { - foreach($trait->getExtends() as $name) { - try { - $extendedUnit = $this->getUnitByName($name); - $this->processExtends($unit, $extendedUnit, $extendedUnit); - } catch (ProjectException $e) { - $this->addUnresolved($unit, $name); - } + public function getUnresolved() { + return $this->unresolved; + } + + public function hasErrors() { + return \count($this->errors) > 0; + } + + public function getErrors() { + return $this->errors; + } + + private function addError(AbstractUnitObject $unit, $errorInfo): void { + $unitName = $unit->getName(); + + if (!isset($this->errors[$unitName])) { + $this->errors[$unitName] = []; + } + $this->errors[$unitName][] = $errorInfo; + } + + private function addUnresolved(AbstractUnitObject $unit, $missingUnit): void { + $unitName = $unit->getName(); + + if (!isset($this->unresolved[$unitName])) { + $this->unresolved[$unitName] = []; + } + $this->unresolved[$unitName][] = $missingUnit; + $this->project->registerForSaving($unit); + } + + private function processExtends(AbstractUnitObject $unit, AbstractUnitObject $extends): void { + $this->project->registerForSaving($unit); + $this->project->registerForSaving($extends); + + $extends->addExtender($unit); + $unit->importExports($extends, 'parent'); + + if ($extends->hasExtends()) { + foreach ($extends->getExtends() as $name) { + try { + $extendedUnit = $this->getUnitByName($name); + $this->processExtends($unit, $extendedUnit, $extendedUnit); + } catch (ProjectException $e) { + $this->addUnresolved($unit, $name); } } + } - if ($trait->usesTraits()) { - foreach($trait->getUsedTraits() as $traitName) { - try { - $traitUnit = $this->getUnitByName($traitName); - $this->processTraitUse( - $unit, - $trait->getTraitUse($traitName), - $traitUnit - ); - } catch (ProjectException $e) { - $this->addUnresolved($unit, $traitName); - } + if ($extends->hasImplements()) { + foreach ($extends->getImplements() as $implements) { + try { + $implementsUnit = $this->getUnitByName($implements); + $this->processImplements($unit, $implementsUnit, $implementsUnit); + } catch (ProjectException $e) { + $this->addUnresolved($unit, $implements); } } + } + if ($extends->usesTraits()) { + foreach ($extends->getUsedTraits() as $traitName) { + try { + $traitUnit = $this->getUnitByName($traitName); + $this->processTraitUse( + $unit, + $extends->getTraitUse($traitName), + $traitUnit + ); + } catch (ProjectException $e) { + $this->addUnresolved($unit, $traitName); + } + } } + } - private function setupDependencies() { - $this->dependencyStack = array( - $this->project, + private function processImplements(AbstractUnitObject $unit, AbstractUnitObject $implements): void { + $this->project->registerForSaving($unit); + $this->project->registerForSaving($implements); + + if (!$implements instanceof InterfaceObject) { + $this->addError( + $unit, + \sprintf( + 'Trying to implement "%s" which is a %s', + $implements->getName(), + $implements->getType() + ) ); - $publicOnlyMode = $this->config->isPublicOnlyMode(); - foreach($this->config->getDependencyDirectories() as $depDir) { - $idxName = $depDir . '/index.xml'; - if (!file_exists($idxName)) { - $this->logger->log("'$idxName' not found - skipping dependency"); - continue; + return; + } + $implements->addImplementor($unit); + $unit->importExports($implements, 'interface'); + + if ($implements->hasImplements()) { + foreach ($implements->getImplements() as $implementing) { + try { + $implementsUnit = $this->getUnitByName($implementing); + $this->processExtends($unit, $implementsUnit, $implementsUnit); + } catch (ProjectException $e) { + $this->addUnresolved($unit, $implementing); } - $dom = new fDOMDocument(); - $dom->load($idxName); - $this->dependencyStack[] = new Dependency($dom, $this->project, $publicOnlyMode); } } + } + + private function processTraitUse(AbstractUnitObject $unit, TraitUseObject $use, AbstractUnitObject $trait): void { + $this->project->registerForSaving($unit); + $this->project->registerForSaving($trait); - /** - * @param $name - * - * @return AbstractUnitObject - * @throws ProjectException - */ - private function getUnitByName($name) { - foreach($this->dependencyStack as $dependency) { + $trait->addUser($unit); + $unit->importTraitExports($trait, $use); + + if ($trait->hasExtends()) { + foreach ($trait->getExtends() as $name) { try { - return $dependency->getUnitByName($name); - } catch (\Exception $e) {} + $extendedUnit = $this->getUnitByName($name); + $this->processExtends($unit, $extendedUnit, $extendedUnit); + } catch (ProjectException $e) { + $this->addUnresolved($unit, $name); + } } - throw new ProjectException("No unit with name '$name' found"); } + if ($trait->usesTraits()) { + foreach ($trait->getUsedTraits() as $traitName) { + try { + $traitUnit = $this->getUnitByName($traitName); + $this->processTraitUse( + $unit, + $trait->getTraitUse($traitName), + $traitUnit + ); + } catch (ProjectException $e) { + $this->addUnresolved($unit, $traitName); + } + } + } } + private function setupDependencies(): void { + $this->dependencyStack = [ + $this->project, + ]; + + $publicOnlyMode = $this->config->isPublicOnlyMode(); + + foreach ($this->config->getDependencyDirectories() as $depDir) { + $idxName = $depDir . '/index.xml'; + + if (!\file_exists($idxName)) { + $this->logger->log("'$idxName' not found - skipping dependency"); + + continue; + } + $dom = new fDOMDocument(); + $dom->load($idxName); + $this->dependencyStack[] = new Dependency($dom, $this->project, $publicOnlyMode); + } + } + + /** + * @param $name + * + * @throws ProjectException + */ + private function getUnitByName($name): AbstractUnitObject { + foreach ($this->dependencyStack as $dependency) { + try { + return $dependency->getUnitByName($name); + } catch (\Exception $e) { + } + } + + throw new ProjectException("No unit with name '$name' found"); + } } diff -Nru phpdox-0.11.2/src/collector/project/AbstractUnitObject.php phpdox-0.12.0/src/collector/project/AbstractUnitObject.php --- phpdox-0.11.2/src/collector/project/AbstractUnitObject.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/AbstractUnitObject.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,633 +1,570 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector { - - use TheSeer\fDOM\fDOMDocument; - use TheSeer\fDOM\fDOMElement; - use TheSeer\phpDox\DocBlock\DocBlock; - use TheSeer\phpDox\FileInfo; +rootName === NULL) { - throw new UnitObjectException('No or invalid rootname set', UnitObjectException::InvalidRootname); - } - $this->dom = new fDOMDocument('1.0', 'UTF-8'); - $this->dom->registerNamespace('phpdox', self::XMLNS); - $this->rootNode = $this->dom->createElementNS(self::XMLNS, $this->rootName); - $this->dom->appendChild($this->rootNode); - if ($name !== NULL) { - $this->setName($name, $this->rootNode); - } - if ($file !== NULL) { - $this->rootNode->appendChild($file->asNode($this->rootNode)); - } - $this->setAbstract(FALSE); - $this->setFinal(FALSE); - } + /** + * @var string + */ + protected $rootName; - /** - * @param $name - */ - protected function setName($name, fDOMElement $ctx) { - $parts = explode('\\', $name); - $local = array_pop($parts); - $namespace = join('\\', $parts); - $ctx->setAttribute('full', $name); - $ctx->setAttribute('namespace', $namespace); - $ctx->setAttribute('name', $local); - } + /** + * @var fDOMDocument + */ + private $dom; + /** + * @var fDOMElement + */ + private $rootNode; - protected function getRootNode() { - return $this->rootNode; + /** + * @param string $name + * @param \SplFileInfo $file + */ + public function __construct($name = null, SourceFile $file = null) { + if ($this->rootName === null) { + throw new UnitObjectException('No or invalid rootname set', UnitObjectException::InvalidRootname); } + $this->dom = new fDOMDocument('1.0', 'UTF-8'); + $this->dom->registerNamespace('phpdox', self::XMLNS); + $this->rootNode = $this->dom->createElementNS(self::XMLNS, $this->rootName); + $this->dom->appendChild($this->rootNode); - /** - * @return \TheSeer\fDOM\fDOMDocument - */ - public function export() { - return $this->dom; + if ($name !== null) { + $this->setName($name, $this->rootNode); } - /** - * @param \TheSeer\fDOM\fDOMDocument $dom - */ - public function import(fDOMDocument $dom) { - $this->dom = $dom; - $this->rootNode = $dom->documentElement; - $this->dom->registerNamespace('phpdox', self::XMLNS); + if ($file !== null) { + $this->rootNode->appendChild($file->asNode($this->rootNode)); } + $this->setAbstract(false); + $this->setFinal(false); + } - public function getType() { - return $this->rootNode->localName; - } + public function export(): fDOMDocument { + return $this->dom; + } - /** - * @return string - */ - public function getLocalName() { - return $this->rootNode->getAttribute('name'); - } + public function import(fDOMDocument $dom): void { + $this->dom = $dom; + $this->rootNode = $dom->documentElement; + $this->dom->registerNamespace('phpdox', self::XMLNS); + } - /** - * @return string - */ - public function getName() { - return $this->rootNode->getAttribute('full'); - } + public function getType() { + return $this->rootNode->localName; + } - /** - * @return string - */ - public function getNamespace() { - return $this->rootNode->getAttribute('namespace'); - } + public function getLocalName(): string { + return $this->rootNode->getAttribute('name'); + } - /** - * @return FileInfo - */ - public function getSourceFilename() { - $file = $this->rootNode->queryOne('phpdox:file'); - if (!$file) { - return ''; - } - return new FileInfo($file->getAttribute('path') . '/' . $file->getAttribute('file')); - } + public function getName(): string { + return $this->rootNode->getAttribute('full'); + } - /** - * @return string - */ - public function getCompactDescription() { - $desc = $this->rootNode->queryOne('phpdox:docblock/phpdox:description'); - if (!$desc || !$desc->hasAttribute('compact')) { - return ''; - } - return $desc->getAttribute('compact'); - } + public function getNamespace(): string { + return $this->rootNode->getAttribute('namespace'); + } - /** - * @param int $endLine - */ - public function setEndLine($endLine) { - $this->rootNode->setAttribute('end', $endLine); - } + public function getSourceFilename(): ?FileInfo { + $file = $this->rootNode->queryOne('phpdox:file'); - /** - * @param int $startLine - */ - public function setStartLine($startLine) { - $this->rootNode->setAttribute('start', $startLine); + if (!$file) { + return null; } - /** - * @param boolean $isAbstract - */ - public function setAbstract($isAbstract) { - $this->rootNode->setAttribute('abstract', $isAbstract ? 'true' : 'false'); - } + return new FileInfo($file->getAttribute('path') . '/' . $file->getAttribute('file')); + } - /** - * @param boolean $isFinal - */ - public function setFinal($isFinal) { - $this->rootNode->setAttribute('final', $isFinal ? 'true' : 'false'); + public function getCompactDescription(): string { + $desc = $this->rootNode->queryOne('phpdox:docblock/phpdox:description'); + + if (!$desc || !$desc->hasAttribute('compact')) { + return ''; } - /** - * @param \TheSeer\phpDox\DocBlock\DocBlock $docblock - */ - public function setDocBlock(DocBlock $docblock) { - $docNode = $docblock->asDom($this->dom); - $this->rootNode->appendChild($docNode); + return $desc->getAttribute('compact'); + } + + /** + * @param int $endLine + */ + public function setEndLine($endLine): void { + $this->rootNode->setAttribute('end', $endLine); + } + + /** + * @param int $startLine + */ + public function setStartLine($startLine): void { + $this->rootNode->setAttribute('start', $startLine); + } + + /** + * @param bool $isAbstract + */ + public function setAbstract($isAbstract): void { + $this->rootNode->setAttribute('abstract', $isAbstract ? 'true' : 'false'); + } + + /** + * @param bool $isFinal + */ + public function setFinal($isFinal): void { + $this->rootNode->setAttribute('final', $isFinal ? 'true' : 'false'); + } + + public function setDocBlock(DocBlock $docblock): void { + $docNode = $docblock->asDom($this->dom); + $this->rootNode->appendChild($docNode); + } + + /** + * @param $name + */ + public function addExtends($name): void { + $extends = $this->rootNode->appendElementNS(self::XMLNS, 'extends'); + $this->setName($name, $extends); + } + + public function hasExtends(): bool { + return $this->rootNode->queryOne('phpdox:extends') !== null; + } + + /** + * @throws UnitObjectException + */ + public function getExtends() { + if (!$this->hasExtends()) { + throw new UnitObjectException('This unit does not extend any unit', UnitObjectException::NoExtends); } + $result = []; - /** - * @param $name - */ - public function addExtends($name) { - $extends = $this->rootNode->appendElementNS(self::XMLNS, 'extends'); - $this->setName($name, $extends); + foreach ($this->rootNode->query('phpdox:extends') as $ext) { + $result[] = $ext->getAttribute('full'); } - /** - * @return bool - */ - public function hasExtends() { - return $this->rootNode->queryOne('phpdox:extends') !== NULL; + return $result; + } + + public function addExtender(self $unit): void { + if ($this->rootNode->queryOne(\sprintf('phpdox:extenders/phpdox:*[@full = "%s"]', $unit->getName())) !== null) { + return; } + $extender = $this->addToContainer('extenders', 'extender'); + $this->setName($unit->getName(), $extender); + } - /** - * @return mixed - * @throws UnitObjectException - */ - public function getExtends() { - if(!$this->hasExtends()) { - throw new UnitObjectException('This unit does not extend any unit', UnitObjectException::NoExtends); - } - $result = array(); - foreach($this->rootNode->query('phpdox:extends') as $ext) { - $result[] = $ext->getAttribute('full'); - } - return $result; + /** + * @param $name + */ + public function addImplements($name): void { + $implements = $this->rootNode->appendElementNS(self::XMLNS, 'implements'); + $this->setName($name, $implements); + } + + public function hasImplements(): bool { + return $this->rootNode->query('phpdox:implements')->length > 0; + } + + /** + * @throws UnitObjectException + */ + public function getImplements(): array { + if (!$this->hasImplements()) { + throw new UnitObjectException('This unit does not implement any interfaces', UnitObjectException::NoImplements); } + $result = []; - /** - * @param AbstractUnitObject $unit - */ - public function addExtender(AbstractUnitObject $unit) { - if ($this->rootNode->queryOne(sprintf('phpdox:extenders/phpdox:*[@full = "%s"]', $unit->getName())) !== NULL) { - return; - } - $extender = $this->addToContainer('extenders', 'extender'); - $this->setName($unit->getName(), $extender); + foreach ($this->rootNode->query('phpdox:implements') as $impl) { + $result[] = $impl->getAttribute('full'); } - /** - * @param $name - */ - public function addImplements($name) { - $implements = $this->rootNode->appendElementNS(self::XMLNS, 'implements'); - $this->setName($name, $implements); - } - - /** - * @return bool - */ - public function hasImplements() { - return $this->rootNode->query('phpdox:implements')->length > 0; - } - - /** - * @return array - * @throws UnitObjectException - */ - public function getImplements() { - if (!$this->hasImplements()) { - throw new UnitObjectException('This unit does not implement any interfaces', UnitObjectException::NoImplements); - } - $result = array(); - foreach($this->rootNode->query('phpdox:implements') as $impl) { - $result[] = $impl->getAttribute('full'); - } - return $result; + return $result; + } + + public function usesTraits(): bool { + return $this->rootNode->query('phpdox:uses')->length > 0; + } + + /** + * @param $name + */ + public function usesTrait($name): bool { + return $this->rootNode->query(\sprintf('phpdox:uses[@full="%s"]', $name))->length > 0; + } + + /** + * @param string $name + */ + public function addTrait($name): TraitUseObject { + $traituse = new TraitUseObject($this->rootNode->appendElementNS(self::XMLNS, 'uses')); + $traituse->setName($name); + + return $traituse; + } + + /** + * @throws UnitObjectException + */ + public function getUsedTraits(): array { + if (!$this->usesTraits()) { + throw new UnitObjectException('This unit does not use any traits', UnitObjectException::NoTraitsUsed); } + $result = []; - /** - * @return bool - */ - public function usesTraits() { - return $this->rootNode->query('phpdox:uses')->length > 0; - } - - /** - * @param $name - * - * @return bool - */ - public function usesTrait($name) { - return $this->rootNode->query(sprintf('phpdox:uses[@full="%s"]', $name))->length > 0; - } - - /** - * @param string $name - * - * @return TraitUseObject - */ - public function addTrait($name) { - $traituse = new TraitUseObject($this->rootNode->appendElementNS(self::XMLNS, 'uses')); - $traituse->setName($name); - return $traituse; - } - - /** - * @return array - * @throws UnitObjectException - */ - public function getUsedTraits() { - if (!$this->usesTraits()) { - throw new UnitObjectException('This unit does not use any traits', UnitObjectException::NoTraitsUsed); - } - $result = array(); - foreach($this->rootNode->query('phpdox:uses') as $trait) { - $result[] = $trait->getAttribute('full'); - } - return $result; + foreach ($this->rootNode->query('phpdox:uses') as $trait) { + $result[] = $trait->getAttribute('full'); } - /** - * @param $name - * - * @return TraitUseObject - * @throws UnitObjectException - */ - public function getTraitUse($name) { - $node = $this->rootNode->queryOne( - sprintf('phpdox:uses[@full="%s"]', $name) + return $result; + } + + /** + * @param $name + * + * @throws UnitObjectException + */ + public function getTraitUse($name): TraitUseObject { + $node = $this->rootNode->queryOne( + \sprintf('phpdox:uses[@full="%s"]', $name) + ); + + if (!$node) { + throw new UnitObjectException( + \sprintf('Trait "%s" not used', $name), + UnitObjectException::NoSuchTrait ); - if (!$node) { - throw new UnitObjectException( - sprintf('Trait "%s" not used', $name), - UnitObjectException::NoSuchTrait - ); - } - return new TraitUseObject($node); } - public function getAmbiguousTraitUse() { - $node = $this->rootNode->queryOne('phpdox:ambiguous[@type="trait-alias"]'); - if (!$node) { - $node = $this->rootNode->appendElementNS(self::XMLNS, 'ambiguous'); - $node->setAttribute('type','trait-alias'); - } - return new TraitUseObject($node); + return new TraitUseObject($node); + } + + public function getAmbiguousTraitUse() { + $node = $this->rootNode->queryOne('phpdox:ambiguous[@type="trait-alias"]'); + + if (!$node) { + $node = $this->rootNode->appendElementNS(self::XMLNS, 'ambiguous'); + $node->setAttribute('type', 'trait-alias'); } - /** - * @param string $dependency - */ - public function markDependencyAsUnresolved($dependency) { - $depNode = $this->rootNode->queryOne( - sprintf('//phpdox:implements[@full="%1$s"]|//phpdox:extends[@full="%1$s"]|//phpdox:uses[@full="%1$s"]', $dependency) + return new TraitUseObject($node); + } + + /** + * @param string $dependency + */ + public function markDependencyAsUnresolved($dependency): void { + $depNode = $this->rootNode->queryOne( + \sprintf('//phpdox:implements[@full="%1$s"]|//phpdox:extends[@full="%1$s"]|//phpdox:uses[@full="%1$s"]', $dependency) + ); + + if (!$depNode) { + throw new UnitObjectException( + \sprintf('No dependency "%s" found in unit %s', $dependency, $this->getName()), + UnitObjectException::NoSuchDependency ); - if (!$depNode) { - throw new UnitObjectException( - sprintf('No dependency "%s" found in unit %s', $dependency, $this->getName()), - UnitObjectException::NoSuchDependency - ); - } - $depNode->setAttribute('unresolved', 'true'); } + $depNode->setAttribute('unresolved', 'true'); + } - /** - * - */ - public function addMethod($name) { - switch ($name) { - case '__construct': + public function addMethod($name) { + switch ($name) { + case '__construct': { $nodeName = 'constructor'; + break; } - case '__destruct': + case '__destruct': { $nodeName = 'destructor'; + break; } - default: - $nodeName = 'method'; - } - $method = new MethodObject($this, $this->rootNode->appendElementNS(self::XMLNS, $nodeName)); - $method->setName($name); - return $method; + default: + $nodeName = 'method'; } + $method = new MethodObject($this, $this->rootNode->appendElementNS(self::XMLNS, $nodeName)); + $method->setName($name); - /** - * @return MethodObject[] - */ - public function getExportedMethods() { - $result = array(); - $xpath = '(phpdox:constructor|phpdox:destructor|phpdox:method)[@visibility="public" or @visibility="protected"]'; - foreach($this->rootNode->query($xpath) as $node) { - $result[] = new MethodObject($this, $node); - } - return $result; + return $method; + } + + /** + * @return MethodObject[] + */ + public function getExportedMethods(): array { + $result = []; + $xpath = '(phpdox:constructor|phpdox:destructor|phpdox:method)[@visibility="public" or @visibility="protected"]'; + + foreach ($this->rootNode->query($xpath) as $node) { + $result[] = new MethodObject($this, $node); } - /** - * @param $name - * - * @return MemberObject - */ - public function addMember($name) { - $member = new MemberObject($this->rootNode->appendElementNS(self::XMLNS, 'member')); - $member->setName($name); - return $member; - } - - /** - * @return array - */ - public function getExportedMembers() { - $result = array(); - $xpath = 'phpdox:member[@visibility="public" or @visibility="protected"]'; - foreach($this->rootNode->query($xpath) as $node) { - $result[] = new MemberObject($node); - } - return $result; + return $result; + } + + /** + * @param $name + */ + public function addMember($name): MemberObject { + $member = new MemberObject($this->rootNode->appendElementNS(self::XMLNS, 'member')); + $member->setName($name); + + return $member; + } + + public function getExportedMembers(): array { + $result = []; + $xpath = 'phpdox:member[@visibility="public" or @visibility="protected"]'; + + foreach ($this->rootNode->query($xpath) as $node) { + $result[] = new MemberObject($node); } - /** - * @param $name - * - * @return ConstantObject - */ - public function addConstant($name) { - $const = new ConstantObject($this->rootNode->appendElementNS(self::XMLNS, 'constant')); - $const->setName($name); - return $const; - } - - /** - * @return array - */ - public function getConstants() { - $result = array(); - $xpath = 'phpdox:constant'; - foreach($this->rootNode->query($xpath) as $node) { - $result[] = new ConstantObject($node); - } - return $result; + return $result; + } + + /** + * @param $name + */ + public function addConstant($name): ConstantObject { + $const = new ConstantObject($this->rootNode->appendElementNS(self::XMLNS, 'constant')); + $const->setName($name); + + return $const; + } + + public function getConstants(): array { + $result = []; + $xpath = 'phpdox:constant'; + + foreach ($this->rootNode->query($xpath) as $node) { + $result[] = new ConstantObject($node); } - /** - * @param AbstractUnitObject $unit - */ - public function importExports(AbstractUnitObject $unit, $container = 'parent') { + return $result; + } - $parent = $this->rootNode->queryOne(sprintf('//phpdox:%s[@full="%s"]', $container, $unit->getName())); - if ($parent instanceof fDOMElement) { - $parent->parentNode->removeChild($parent); - } + public function importExports(self $unit, $container = 'parent'): void { + $parent = $this->rootNode->queryOne(\sprintf('//phpdox:%s[@full="%s"]', $container, $unit->getName())); - $parent = $this->rootNode->appendElementNS( self::XMLNS, $container); - $parent->setAttribute('full', $unit->getName()); - $parent->setAttribute('namespace', $unit->getNamespace()); - $parent->setAttribute('name', $unit->getLocalName()); - - if ($unit->hasExtends()) { - foreach($unit->getExtends() as $name) { - $extends = $parent->appendElementNS( self::XMLNS, 'extends'); - $this->setName($name, $extends); - } - } + if ($parent instanceof fDOMElement) { + $parent->parentNode->removeChild($parent); + } - if ($unit->hasImplements()) { - foreach($unit->getImplements() as $name) { - $implements = $parent->appendElementNS( self::XMLNS, 'implements'); - $this->setName($name, $implements); - } - } + $parent = $this->rootNode->appendElementNS(self::XMLNS, $container); + $parent->setAttribute('full', $unit->getName()); + $parent->setAttribute('namespace', $unit->getNamespace()); + $parent->setAttribute('name', $unit->getLocalName()); - if ($unit->usesTraits()) { - foreach($unit->getUsedTraits() as $name) { - $uses = $parent->appendElementNS( self::XMLNS, 'uses'); - $this->setName($name, $uses); - } + if ($unit->hasExtends()) { + foreach ($unit->getExtends() as $name) { + $extends = $parent->appendElementNS(self::XMLNS, 'extends'); + $this->setName($name, $extends); } + } - foreach($unit->getConstants() as $constant) { - $parent->appendChild( $this->dom->importNode($constant->export(), TRUE) ); + if ($unit->hasImplements()) { + foreach ($unit->getImplements() as $name) { + $implements = $parent->appendElementNS(self::XMLNS, 'implements'); + $this->setName($name, $implements); } + } - foreach($unit->getExportedMembers() as $member) { - $memberNode = $this->dom->importNode($member->export(), TRUE); - $this->adjustStaticResolution($memberNode); - $parent->appendChild($memberNode); + if ($unit->usesTraits()) { + foreach ($unit->getUsedTraits() as $name) { + $uses = $parent->appendElementNS(self::XMLNS, 'uses'); + $this->setName($name, $uses); } + } - foreach($unit->getExportedMethods() as $method) { - $methodNode = $this->dom->importNode($method->export(), TRUE); - $this->adjustStaticResolution($methodNode); - $parent->appendChild( $methodNode ); - if ($this->hasMethod($method->getName())) { - $unitMethod = $this->getMethod($method->getName()); - if ($unitMethod->hasInheritDoc()) { - $unitMethod->inhertDocBlock($method); - } - } - } + foreach ($unit->getConstants() as $constant) { + $parent->appendChild($this->dom->importNode($constant->export(), true)); } - public function importTraitExports(AbstractUnitObject $trait, TraitUseObject $use) { + foreach ($unit->getExportedMembers() as $member) { + $memberNode = $this->dom->importNode($member->export(), true); + $this->adjustStaticResolution($memberNode); + $parent->appendChild($memberNode); + } - $container = $this->rootNode->queryOne( - sprintf( - 'phpdox:trait[@full="%s"]', - $trait->getName() - ) - ); - if ($container instanceof fDOMElement) { - $container->parentNode->removeChild($container); - } + foreach ($unit->getExportedMethods() as $method) { + $methodNode = $this->dom->importNode($method->export(), true); + $this->adjustStaticResolution($methodNode); + $parent->appendChild($methodNode); - $container = $this->rootNode->appendElementNS( self::XMLNS, 'trait'); - $this->setName($trait->getName(), $container); + if ($this->hasMethod($method->getName())) { + $unitMethod = $this->getMethod($method->getName()); - if ($trait->hasExtends()) { - foreach($trait->getExtends() as $name) { - $extends = $container->appendElementNS( self::XMLNS, 'extends'); - $this->setName($name, $extends); + if ($unitMethod->hasInheritDoc()) { + $unitMethod->inhertDocBlock($method); } } + } + } - if ($trait->usesTraits()) { - foreach($trait->getUsedTraits() as $name) { - $used = $container->appendElementNS( self::XMLNS, 'uses'); - $this->setName($name, $used); - } - } + public function importTraitExports(self $trait, TraitUseObject $use): void { + $container = $this->rootNode->queryOne( + \sprintf( + 'phpdox:trait[@full="%s"]', + $trait->getName() + ) + ); - foreach($trait->getConstants() as $constant) { - $container->appendChild( $this->dom->importNode($constant->export(), TRUE) ); + if ($container instanceof fDOMElement) { + $container->parentNode->removeChild($container); + } + + $container = $this->rootNode->appendElementNS(self::XMLNS, 'trait'); + $this->setName($trait->getName(), $container); + + if ($trait->hasExtends()) { + foreach ($trait->getExtends() as $name) { + $extends = $container->appendElementNS(self::XMLNS, 'extends'); + $this->setName($name, $extends); } + } - foreach($trait->getExportedMembers() as $member) { - $memberNode = $this->dom->importNode($member->export(), TRUE); - $this->adjustStaticResolution($memberNode); - $container->appendChild($memberNode); + if ($trait->usesTraits()) { + foreach ($trait->getUsedTraits() as $name) { + $used = $container->appendElementNS(self::XMLNS, 'uses'); + $this->setName($name, $used); } + } - $ambiguousContainer = $this->dom->queryOne('//phpdox:ambiguous[@type="trait-alias"]'); - foreach($trait->getExportedMethods() as $method) { - $methodName = $method->getName(); - $methodNode = $this->dom->importNode($method->export(), TRUE); + foreach ($trait->getConstants() as $constant) { + $container->appendChild($this->dom->importNode($constant->export(), true)); + } - if (!$use->isExcluded($methodName)) { - $container->appendChild($methodNode); - } + foreach ($trait->getExportedMembers() as $member) { + $memberNode = $this->dom->importNode($member->export(), true); + $this->adjustStaticResolution($memberNode); + $container->appendChild($memberNode); + } + + $ambiguousContainer = $this->dom->queryOne('//phpdox:ambiguous[@type="trait-alias"]'); - $this->adjustStaticResolution($methodNode); + foreach ($trait->getExportedMethods() as $method) { + $methodName = $method->getName(); + $methodNode = $this->dom->importNode($method->export(), true); + + if (!$use->isExcluded($methodName)) { + $container->appendChild($methodNode); + } + + $this->adjustStaticResolution($methodNode); + + if ($ambiguousContainer !== null) { + $ambiguousMethod = $ambiguousContainer->queryOne( + \sprintf('phpdox:alias[@method="%s"]', $methodName) + ); - if ($ambiguousContainer !== NULL) { - $ambiguousMethod = $ambiguousContainer->queryOne( - sprintf('phpdox:alias[@method="%s"]', $methodName) + if ($ambiguousMethod !== null) { + $usesNode = $this->dom->queryOne( + \sprintf('//phpdox:uses[@full="%s"]', $trait->getName()) ); - if ($ambiguousMethod !== null) { - $usesNode = $this->dom->queryOne( - sprintf('//phpdox:uses[@full="%s"]', $trait->getName()) - ); - $usesNode->appendChild($ambiguousMethod); - if ($ambiguousContainer->query('phpdox:alias')->length === 0) { - $ambiguousContainer->parentNode->removeChild($ambiguousContainer); - $ambiguousContainer = NULL; - } + $usesNode->appendChild($ambiguousMethod); + + if ($ambiguousContainer->query('phpdox:alias')->length === 0) { + $ambiguousContainer->parentNode->removeChild($ambiguousContainer); + $ambiguousContainer = null; } } + } - $aliasNode = NULL; - if ($use->isAliased($methodName)) { - $aliasNode = $methodNode->cloneNode(true); - $aliasNode->setAttribute('original', $aliasNode->getAttribute('name')); - $aliasNode->setAttribute('name', $use->getAliasedName($methodName)); - if ($use->hasAliasedModifier($methodName)) { - $aliasNode->setAttribute('visibility', $use->getAliasedModifier($methodName)); - } - $container->appendChild($aliasNode); + $aliasNode = null; + + if ($use->isAliased($methodName)) { + $aliasNode = $methodNode->cloneNode(true); + $aliasNode->setAttribute('original', $aliasNode->getAttribute('name')); + $aliasNode->setAttribute('name', $use->getAliasedName($methodName)); + + if ($use->hasAliasedModifier($methodName)) { + $aliasNode->setAttribute('visibility', $use->getAliasedModifier($methodName)); } + $container->appendChild($aliasNode); } + } + } + + /** + * @param $name + */ + protected function setName($name, fDOMElement $ctx): void { + $parts = \explode('\\', $name); + $local = \array_pop($parts); + $namespace = \implode('\\', $parts); + $ctx->setAttribute('full', $name); + $ctx->setAttribute('namespace', $namespace); + $ctx->setAttribute('name', $local); + } + + protected function getRootNode() { + return $this->rootNode; + } + /** + * @param $containerName + * @param $elementName + */ + protected function addToContainer($containerName, $elementName): fDOMElement { + $container = $this->rootNode->queryOne('phpdox:' . $containerName); + + if (!$container) { + $container = $this->rootNode->appendElementNS(self::XMLNS, $containerName); } - private function hasMethod($name) { - return $this->dom->query( - sprintf('phpdox:method[@name="%s"]', $name) + return $container->appendElementNS(self::XMLNS, $elementName); + } + + private function hasMethod($name) { + return $this->dom->query( + \sprintf('phpdox:method[@name="%s"]', $name) )->length > 0; - } + } - private function getMethod($name) { - $ctx = $this->dom->queryOne( - sprintf('phpdox:method[@name="%s"]', $name) + private function getMethod($name) { + $ctx = $this->dom->queryOne( + \sprintf('phpdox:method[@name="%s"]', $name) + ); + + if (!$ctx) { + throw new UnitObjectException( + \sprintf('Method "%s" not found', $name), + UnitObjectException::NoSuchMethod ); - if (!$ctx) { - throw new UnitObjectException( - sprintf('Method "%s" not found', $name), - UnitObjectException::NoSuchMethod - ); - } - return new MethodObject($this, $ctx); } - private function adjustStaticResolution(fDOMElement $ctx) { - $container = $ctx->queryOne('.//phpdox:docblock/phpdox:return|.//phpdox:docblock/phpdox:var'); - if (!$container || $container->getAttribute('resolution') !== 'static') { - return; - } - $type = $container->queryOne('phpdox:type'); - if (!$type) { - return; - } - foreach(array('full','namespace','name') as $attribute) { - $type->setAttribute($attribute, $this->rootNode->getAttribute($attribute)); - } + return new MethodObject($this, $ctx); + } + + private function adjustStaticResolution(fDOMElement $ctx): void { + $container = $ctx->queryOne('.//phpdox:docblock/phpdox:return|.//phpdox:docblock/phpdox:var'); + + if (!$container || $container->getAttribute('resolution') !== 'static') { + return; } + $type = $container->queryOne('phpdox:type'); - /** - * @param $containerName - * @param $elementName - * - * @return fDOMElement - */ - protected function addToContainer($containerName, $elementName) { - $container = $this->rootNode->queryOne('phpdox:' . $containerName); - if (!$container) { - $container = $this->rootNode->appendElementNS(self::XMLNS, $containerName); - } - return $container->appendElementNS(self::XMLNS, $elementName); + if (!$type) { + return; } + foreach (['full', 'namespace', 'name'] as $attribute) { + $type->setAttribute($attribute, $this->rootNode->getAttribute($attribute)); + } } - } diff -Nru phpdox-0.11.2/src/collector/project/AbstractVariableObject.php phpdox-0.12.0/src/collector/project/AbstractVariableObject.php --- phpdox-0.11.2/src/collector/project/AbstractVariableObject.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/AbstractVariableObject.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,150 +1,96 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector { - - use TheSeer\fDOM\fDOMElement; - - /** - * Class AbstractVariableObject - * - * @package TheSeer\phpDox\Collector - */ - abstract class AbstractVariableObject { - - const XMLNS = 'http://xml.phpdox.net/src'; - - /** - * @var \TheSeer\fDOM\fDOMElement - */ - protected $ctx; - - /** - * @var array - */ - private $types = array('{unknown}', 'object', 'array', 'int', 'integer','float','string','bool','boolean','resource','callable'); - - /** - * @param fDOMElement $ctx - */ - public function __construct(fDOMElement $ctx) { - $this->ctx = $ctx; - } + * @var \TheSeer\fDOM\fDOMElement + */ + protected $ctx; - /** - * @return fDOMElement - */ - public function export() { - return $this->ctx; - } + /** + * @var array + */ + private $types = ['{unknown}', 'object', 'array', 'int', 'integer', 'float', 'string', 'bool', 'boolean', 'resource', 'callable']; - /** - * @param $line - */ - public function setLine($line) { - $this->ctx->setAttribute('line', $line); - } + public function __construct(fDOMElement $ctx) { + $this->ctx = $ctx; + } - /** - * @return string - */ - public function getLine() { - return $this->ctx->getAttribute('line'); - } + public function export(): fDOMElement { + return $this->ctx; + } - /** - * @param $name - */ - public function setName($name) { - $this->ctx->setAttribute('name', $name); - } + /** + * @param $line + */ + public function setLine($line): void { + $this->ctx->setAttribute('line', $line); + } - /** - * @return \DOMAttr - */ - public function getName() { - return $this->ctx->getAttributeNode('name'); - } + public function getLine(): string { + return $this->ctx->getAttribute('line'); + } - /** - * @param $value - */ - public function setDefault($value) { - $this->ctx->setAttribute('default', $value); - } + /** + * @param $name + */ + public function setName($name): void { + $this->ctx->setAttribute('name', $name); + } - public function setConstant($const) { - $this->ctx->setAttribute('constant', $const); - } + public function getName(): \DOMAttr { + return $this->ctx->getAttributeNode('name'); + } - public function isInternalType($type) { - return in_array(mb_strtolower($type), $this->types); - } + /** + * @param $value + */ + public function setDefault($value): void { + $this->ctx->setAttribute('default', $value); + } - /** - * @param $type - */ - public function setType($type) { - if (!$this->isInternalType($type)) { - $parts = explode('\\', $type); - $local = array_pop($parts); - $namespace = join('\\', $parts); - - $unit = $this->ctx->appendElementNS(self::XMLNS, 'type'); - $unit->setAttribute('full', $type); - $unit->setAttribute('namespace', $namespace); - $unit->setAttribute('name', $local); - $type = 'object'; - } - $this->ctx->setAttribute('type', $type); - } + public function setConstant($const): void { + $this->ctx->setAttribute('constant', $const); + } - /** - * @return string - */ - public function getType() { - return $this->ctx->getAttribute('type'); - } + public function isInternalType($type) { + return \in_array(\mb_strtolower((string)$type), $this->types); + } - public function setNullable($isNullable) { - $this->ctx->setAttribute('nullable', $isNullable ? 'true' : 'false'); + /** + * @param $type + */ + public function setType($type): void { + if (!$this->isInternalType($type)) { + $parts = \explode('\\', (string)$type); + $local = \array_pop($parts); + $namespace = \implode('\\', $parts); + + $unit = $this->ctx->appendElementNS(self::XMLNS, 'type'); + $unit->setAttribute('full', $type); + $unit->setAttribute('namespace', $namespace); + $unit->setAttribute('name', $local); + $type = 'object'; } + $this->ctx->setAttribute('type', $type); + } - protected function addInternalType($type) { - $this->types[] = $type; - } + public function getType(): string { + return $this->ctx->getAttribute('type'); + } + + public function setNullable($isNullable): void { + $this->ctx->setAttribute('nullable', $isNullable ? 'true' : 'false'); + } + + protected function addInternalType($type): void { + $this->types[] = $type; } } diff -Nru phpdox-0.11.2/src/collector/project/ClassObject.php phpdox-0.12.0/src/collector/project/ClassObject.php --- phpdox-0.11.2/src/collector/project/ClassObject.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/ClassObject.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,43 +1,6 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector { - - class ClassObject extends AbstractUnitObject { - protected $rootName = 'class'; - } + - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector { - - use TheSeer\fDOM\fDOMElement; - use TheSeer\phpDox\DocBlock\DocBlock; - - class ConstantObject { - - protected $ctx; - - public function __construct(fDOMElement $ctx) { - $this->ctx = $ctx; - $this->setType('{unknown}'); - } +ctx; - } +use TheSeer\fDOM\fDOMElement; +use TheSeer\phpDox\DocBlock\DocBlock; - public function setName($name) { - $this->ctx->setAttribute('name', $name); - } +class ConstantObject { + protected $ctx; - public function setValue($value) { - $this->ctx->setAttribute('value', $value); - } + public function __construct(fDOMElement $ctx) { + $this->ctx = $ctx; + $this->setType('{unknown}'); + } - public function setType($type) { - $this->ctx->setAttribute('type', $type); - } + public function export() { + return $this->ctx; + } - public function setConstantReference($const) { - $this->ctx->setAttribute('constant', $const); - } + public function setName($name): void { + $this->ctx->setAttribute('name', $name); + } - public function setDocBlock(DocBlock $docblock) { - $docNode = $docblock->asDom($this->ctx->ownerDocument); - if ($this->ctx->hasChildNodes()) { - $this->ctx->insertBefore($docblock, $this->ctx->firstChild); - return; - } - $this->ctx->appendChild($docNode); - } + public function setValue($value): void { + $this->ctx->setAttribute('value', $value); + } + public function setType($type): void { + $this->ctx->setAttribute('type', $type); + } + + public function setConstantReference($const): void { + $this->ctx->setAttribute('constant', $const); + } + + public function setDocBlock(DocBlock $docblock): void { + $docNode = $docblock->asDom($this->ctx->ownerDocument); + + if ($this->ctx->hasChildNodes()) { + $this->ctx->insertBefore($docblock, $this->ctx->firstChild); + + return; + } + $this->ctx->appendChild($docNode); } } diff -Nru phpdox-0.11.2/src/collector/project/DependencyException.php phpdox-0.12.0/src/collector/project/DependencyException.php --- phpdox-0.11.2/src/collector/project/DependencyException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/DependencyException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,10 +1,8 @@ -index = $dom; + $this->baseDir = \dirname(\str_replace('file:/', '', \urldecode($dom->documentURI))); + $this->index->registerNamespace('phpdox', 'http://xml.phpdox.net/src'); + $this->project = $project; + $this->publicOnlyMode = $publicOnlyMode; + } - /** - * @var fDOMDocument - */ - private $index; - - /** - * @var Project - */ - private $project; - - /** - * @var string - */ - private $baseDir; - - /** - * @var bool - */ - private $publicOnlyMode; - - public function __construct(fDOMDocument $dom, Project $project, $publicOnlyMode) { - $this->index = $dom; - $this->baseDir = dirname(urldecode($dom->documentURI)); - $this->index->registerNamespace('phpdox', 'http://xml.phpdox.net/src'); - $this->project = $project; - $this->publicOnlyMode = $publicOnlyMode; + public function getUnitByName($name) { + $parts = \explode('\\', $name); + $local = \array_pop($parts); + $namespace = \implode('\\', $parts); + $indexNode = $this->index->queryOne( + \sprintf('//phpdox:namespace[@name="%s"]/*[@name="%s"]', $namespace, $local) + ); + + if (!$indexNode) { + throw new DependencyException( + \sprintf("Unit '%s' not found", $name), + DependencyException::UnitNotFound + ); } - public function getUnitByName($name) { - $parts = explode('\\', $name); - $local = array_pop($parts); - $namespace = join('\\', $parts); - $indexNode = $this->index->queryOne( - sprintf('//phpdox:namespace[@name="%s"]/*[@name="%s"]', $namespace, $local)); - - if (!$indexNode) { - throw new DependencyException( - sprintf("Unit '%s' not found", $name), - DependencyException::UnitNotFound - ); - } - - $dom = new fDOMDocument(); - $dom->load( $this->baseDir . '/' . $indexNode->getAttribute('xml')); + $dom = new fDOMDocument(); + $dom->load($this->baseDir . '/' . $indexNode->getAttribute('xml')); - if ($this->publicOnlyMode) { - foreach($dom->query('//*[@visibility and not(@visibility = "public")]') as $node) { - $node->parentNode->removeChild($node); - } + if ($this->publicOnlyMode) { + foreach ($dom->query('//*[@visibility and not(@visibility = "public")]') as $node) { + $node->parentNode->removeChild($node); } + } - switch ($indexNode->localName) { - case 'interface': { + switch ($indexNode->localName) { + case 'interface': + { $unit = new InterfaceObject(); $unit->import($dom); $this->project->addInterface($unit); + break; } - case 'trait': { + case 'trait': + { $unit = new TraitObject(); $unit->import($dom); $this->project->addTrait($unit); + break; } - case 'class': { + case 'class': + { $unit = new ClassObject(); $unit->import($dom); $this->project->addClass($unit); + break; } - default: { + default: + { throw new DependencyException( - sprintf("Invalid unit type '%s'", $indexNode->localName), + \sprintf("Invalid unit type '%s'", $indexNode->localName), DependencyException::InvalidUnitType ); } - } - - return $unit; } + return $unit; } - } diff -Nru phpdox-0.11.2/src/collector/project/IndexCollection.php phpdox-0.12.0/src/collector/project/IndexCollection.php --- phpdox-0.11.2/src/collector/project/IndexCollection.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/IndexCollection.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,170 +1,109 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License + * @var FileInfo */ -namespace TheSeer\phpDox\Collector { + private $srcDir; + + public function __construct(FileInfo $srcDir) { + $this->srcDir = $srcDir; + } - use TheSeer\fDOM\fDOMDocument; - use TheSeer\fDOM\fDOMElement; - use TheSeer\phpDox\FileInfo; + public function import(fDOMDocument $dom): void { + $this->dom = $dom; + $this->dom->registerNamespace('phpdox', 'http://xml.phpdox.net/src'); + } /** - * + * This method exports all newly registered units into their respective files + * and updates the collection file accordingly */ - class IndexCollection { + public function export(): fDOMDocument { + if (!$this->dom instanceof fDOMDocument) { + $this->initDomDocument(); + } - private $dom; + return $this->dom; + } - /** - * @var FileInfo - */ - private $srcDir; + public function addClass(ClassObject $class): void { + $this->addUnit($class, 'class'); + } - public function __construct(FileInfo $srcDir) { - $this->srcDir = $srcDir; - } + public function addInterface(InterfaceObject $interface): void { + $this->addUnit($interface, 'interface'); + } - private function getRootElement() { - if (!$this->dom instanceof fDOMDocument) { - $this->initDomDocument(); - } - return $this->dom->documentElement; - } + public function addTrait(TraitObject $trait): void { + $this->addUnit($trait, 'trait'); + } - private function initDomDocument() { - $this->dom = new fDOMDocument('1.0', 'UTF-8'); - $this->dom->registerNamespace('phpdox', 'http://xml.phpdox.net/src'); - $index = $this->dom->appendElementNS('http://xml.phpdox.net/src', 'index'); - $index->setAttribute('basedir', $this->srcDir->getRealPath()); - } + public function findUnitNodesBySrcFile(string $path): \DOMNodeList { + $src = \mb_substr($path, \mb_strlen((string)$this->srcDir) + 1); - /** - * @param \TheSeer\fDOM\fDOMDocument $dom - * @return void - */ - public function import(fDOMDocument $dom) { - $this->dom = $dom; - $this->dom->registerNamespace('phpdox', 'http://xml.phpdox.net/src'); - } + return $this->getRootElement()->query(\sprintf('//*[@src="%s"]', $src)); + } - /** - * This method exports all newly registered units into their respective files - * and updates the collection file accordingly - * - * @param string $xmlDir - * - * @return \TheSeer\fDOM\fDOMDocument - */ - public function export() { - if (!$this->dom instanceof fDOMDocument) { - $this->initDomDocument(); - } - return $this->dom; - } + /** + * @param $namespace + * @param $name + */ + public function findUnitNodeByName($namespace, $name): ?fDOMElement { + return $this->getRootElement()->queryOne( + \sprintf('//phpdox:namespace[@name="%s"]/*[@name="%s"]', $namespace, $name) + ); + } - /** - * @param ClassObject $class - */ - public function addClass(ClassObject $class) { - $this->addUnit($class, 'class'); + private function getRootElement() { + if (!$this->dom instanceof fDOMDocument) { + $this->initDomDocument(); } - /** - * @param InterfaceObject $interface - */ - public function addInterface(InterfaceObject $interface) { - $this->addUnit($interface, 'interface'); - } + return $this->dom->documentElement; + } - /** - * @param TraitObject $trait - */ - public function addTrait(TraitObject $trait) { - $this->addUnit($trait, 'trait'); - } + private function initDomDocument(): void { + $this->dom = new fDOMDocument('1.0', 'UTF-8'); + $this->dom->registerNamespace('phpdox', 'http://xml.phpdox.net/src'); + $index = $this->dom->appendElementNS('http://xml.phpdox.net/src', 'index'); + $index->setAttribute('basedir', $this->srcDir->getRealPath()); + } - /** - * @param $path - * @return \DOMNodeList - */ - public function findUnitNodesBySrcFile($path) { - $src = mb_substr($path, mb_strlen($this->srcDir) + 1); - return $this->getRootElement()->query(sprintf('//*[@src="%s"]', $src)); - } + private function addUnit(AbstractUnitObject $unit, $type): void { + $root = $this->getRootElement(); - /** - * @param $namespace - * @param $name - * - * @return fDOMElement - */ - public function findUnitNodeByName($namespace, $name) { - return $this->getRootElement()->queryOne( - sprintf('//phpdox:namespace[@name="%s"]/*[@name="%s"]', $namespace, $name)); - } + if (!$this->findUnitNodeByName($unit->getNamespace(), $unit->getLocalName())) { + $unitNode = $root->appendElementNS('http://xml.phpdox.net/src', $type); + $unitNode->setAttribute('name', $unit->getLocalName()); - /** - * @param AbstractUnitObject $unit - */ - private function addUnit(AbstractUnitObject $unit, $type) { - $root = $this->getRootElement(); - - if (!$this->findUnitNodeByName($unit->getNamespace(), $unit->getLocalName())) { - $unitNode = $root->appendElementNS('http://xml.phpdox.net/src', $type); - $unitNode->setAttribute('name', $unit->getLocalName()); - - $src = $unit->getSourceFilename(); - if ($src != '') { - $unitNode->setAttribute('src', $src->getRelative($this->srcDir, FALSE)); - } - - $desc = $unit->getCompactDescription(); - if ($desc != '') { - $unitNode->setAttribute('description', $desc); - } - - $xpath = 'phpdox:namespace[@name="' . $unit->getNamespace() . '"]'; - $ctx = $root->queryOne($xpath); - if (!$ctx) { - $ctx = $root->appendElementNS('http://xml.phpdox.net/src', 'namespace'); - $ctx->setAttribute('name', $unit->getNamespace()); - } - $ctx->appendChild($unitNode); + $src = $unit->getSourceFilename(); + + if ($src !== null) { + $unitNode->setAttribute('src', $src->getRelative($this->srcDir, false)); } - } - } + $desc = $unit->getCompactDescription(); + + if ($desc != '') { + $unitNode->setAttribute('description', $desc); + } + $xpath = 'phpdox:namespace[@name="' . $unit->getNamespace() . '"]'; + $ctx = $root->queryOne($xpath); + + if (!$ctx) { + $ctx = $root->appendElementNS('http://xml.phpdox.net/src', 'namespace'); + $ctx->setAttribute('name', $unit->getNamespace()); + } + $ctx->appendChild($unitNode); + } + } } diff -Nru phpdox-0.11.2/src/collector/project/InlineComment.php phpdox-0.12.0/src/collector/project/InlineComment.php --- phpdox-0.11.2/src/collector/project/InlineComment.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/InlineComment.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,78 +1,82 @@ -startLine = $line; + public function __construct($line, $comment) { + $this->startLine = $line; - $dom = new fDOMDocument(); - $this->fragment = $dom->createDocumentFragment(); - $this->parse( - $this->normalizeSplit($comment) - ); - } + $this->fragment = (new fDOMDocument())->createDocumentFragment(); + $this->parse( + $this->normalizeSplit($comment) + ); + } - public function getCount() { - return $this->fragment->childNodes->length; - } + public function getCount() { + return $this->fragment->childNodes->length; + } - public function asDom(fDOMDocument $dom) { - return $dom->importNode($this->fragment, true); - } + public function asDom(fDOMDocument $dom) { + return $dom->importNode($this->fragment, true); + } - private function normalizeSplit($comment) { - $comment = str_replace(array("\r\n", "\n"), "\n", $comment); - $res = array(); - foreach(explode("\n", trim($comment)) as $line) { - $line = trim($line); - preg_match('=//(.*)$|/\*{1,}(.*)\*/$|/\*{1,}(.*)$|^(.*)\*/$|#(.*)$|\*{1}(.*)$|^(.*)$=', $line, $matches); - $normalized = trim(end($matches)); - if ($normalized != '') { - $res[] = $normalized; - } + private function normalizeSplit($comment) { + $comment = \str_replace(["\r\n", "\n"], "\n", $comment); + $res = []; + + foreach (\explode("\n", \trim($comment)) as $line) { + $line = \trim($line); + \preg_match('=//(.*)$|/\*{1,}(.*)\*/$|/\*{1,}(.*)$|^(.*)\*/$|#(.*)$|\*{1}(.*)$|^(.*)$=', $line, $matches); + $normalized = \trim(\end($matches)); + + if ($normalized != '') { + $res[] = $normalized; } - return $res; } - private function parse(array $comments) { - foreach($comments as $pos => $comment) { - preg_match('=^@{0,1}(todo|var|fixme):{0,1}(.*)=i', $comment, $matches); - if (count($matches) != 0) { - switch(mb_strtolower($matches[1])) { - case 'var': { + return $res; + } + + private function parse(array $comments): void { + foreach ($comments as $pos => $comment) { + \preg_match('=^@{0,1}(todo|var|fixme):{0,1}(.*)=i', $comment, $matches); + + if (\count($matches) != 0) { + switch (\mb_strtolower($matches[1])) { + case 'var': + { // we ignore @var comments as they are IDE support only - continue; + continue 2; } - case 'fixme': - case 'todo': { + case 'fixme': + case 'todo': + { $node = $this->fragment->appendChild( - $this->fragment->ownerDocument->createElementNS(self::XMLNS, mb_strtolower($matches[1])) + $this->fragment->ownerDocument->createElementNS(self::XMLNS, \mb_strtolower($matches[1])) ); - $node->setAttribute('value', trim($matches[2])); + $node->setAttribute('value', \trim($matches[2])); + break; } - } - } else { - $node = $this->fragment->appendChild( - $this->fragment->ownerDocument->createElementNS(self::XMLNS, 'comment') - ); - $node->setAttribute('value', trim($comment)); - } - if (isset($node) && $node instanceof fDOMElement) { - $node->setAttribute('line', $this->startLine + $pos); } + } else { + $node = $this->fragment->appendChild( + $this->fragment->ownerDocument->createElementNS(self::XMLNS, 'comment') + ); + $node->setAttribute('value', \trim($comment)); } - } + if (isset($node) && $node instanceof fDOMElement) { + $node->setAttribute('line', $this->startLine + $pos); + } + } } - } diff -Nru phpdox-0.11.2/src/collector/project/InterfaceObject.php phpdox-0.12.0/src/collector/project/InterfaceObject.php --- phpdox-0.11.2/src/collector/project/InterfaceObject.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/InterfaceObject.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,52 +1,14 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector { +getRootNode()->queryOne(sprintf('phpdox:implementor[@full = "%s"]', $unit->getName())) !== NULL) { - return; - } - $implementor = $this->addToContainer('implementors', $unit->getType()); - $this->setName($unit->getName(), $implementor); +class InterfaceObject extends AbstractUnitObject { + protected $rootName = 'interface'; + public function addImplementor(AbstractUnitObject $unit): void { + if ($this->getRootNode()->queryOne(\sprintf('phpdox:implementor[@full = "%s"]', $unit->getName())) !== null) { + return; } + $implementor = $this->addToContainer('implementors', $unit->getType()); + $this->setName($unit->getName(), $implementor); } - } diff -Nru phpdox-0.11.2/src/collector/project/MemberObject.php phpdox-0.12.0/src/collector/project/MemberObject.php --- phpdox-0.11.2/src/collector/project/MemberObject.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/MemberObject.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,70 +1,34 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector { +ctx->setAttribute('static', $isStatic ? 'true' : 'false'); + } - /** - * @param boolean $isStatic - */ - public function setStatic($isStatic) { - $this->ctx->setAttribute('static', $isStatic ? 'true' : 'false'); + /** + * @param string $visibility + */ + public function setVisibility($visibility): void { + if (!\in_array($visibility, ['public', 'private', 'protected'])) { + throw new MethodObjectException("'$visibility' is not valid'", MethodObjectException::InvalidVisibility); } + $this->ctx->setAttribute('visibility', $visibility); + } - /** - * @param string $visibility - */ - public function setVisibility($visibility) { - if (!in_array($visibility, array('public','private','protected'))) { - throw new MethodObjectException("'$visibility' is not valid'", MethodObjectException::InvalidVisibility); - } - $this->ctx->setAttribute('visibility', $visibility); - } + public function setDocBlock(DocBlock $docblock): void { + $docNode = $docblock->asDom($this->ctx->ownerDocument); - public function setDocBlock(DocBlock $docblock) { - $docNode = $docblock->asDom($this->ctx->ownerDocument); - if ($this->ctx->hasChildNodes()) { - $this->ctx->insertBefore($docNode, $this->ctx->firstChild); - return; - } - $this->ctx->appendChild($docNode); - } + if ($this->ctx->hasChildNodes()) { + $this->ctx->insertBefore($docNode, $this->ctx->firstChild); + return; + } + $this->ctx->appendChild($docNode); } } diff -Nru phpdox-0.11.2/src/collector/project/MethodObjectException.php phpdox-0.12.0/src/collector/project/MethodObjectException.php --- phpdox-0.11.2/src/collector/project/MethodObjectException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/MethodObjectException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,9 +1,6 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector { - - use TheSeer\fDOM\fDOMElement; - use TheSeer\phpDox\DocBlock\DocBlock; - - /** - * - */ - class MethodObject { - - const XMLNS = 'http://xml.phpdox.net/src'; - - /** - * @var \TheSeer\fDOM\fDOMElement - */ - private $ctx; - - /** - * @var AbstractUnitObject - */ - private $unit; - - /** - * @param AbstractUnitObject $unit - * @param fDOMElement $ctx - */ - public function __construct(AbstractUnitObject $unit, fDOMElement $ctx) { - $this->unit = $unit; - $this->ctx = $ctx; - } + * @var \TheSeer\fDOM\fDOMElement + */ + private $ctx; - public function getOwner() { - return $this->unit; - } + /** + * @var AbstractUnitObject + */ + private $unit; - public function export() { - return $this->ctx; - } + public function __construct(AbstractUnitObject $unit, fDOMElement $ctx) { + $this->unit = $unit; + $this->ctx = $ctx; + } - /** - * @param string $name - */ - public function setName($name) { - $this->ctx->setAttribute('name', $name); - } + public function getOwner() { + return $this->unit; + } - public function getName() { - return $this->ctx->getAttribute('name'); - } - /** - * @param int $startLine - */ - public function setStartLine($startLine) { - $this->ctx->setAttribute('start', $startLine); - } + public function export() { + return $this->ctx; + } - /** - * @param int $endLine - */ - public function setEndLine($endLine) { - $this->ctx->setAttribute('end', $endLine); - } + /** + * @param string $name + */ + public function setName($name): void { + $this->ctx->setAttribute('name', $name); + } - /** - * @param boolean $isFinal - */ - public function setFinal($isFinal) { - $this->ctx->setAttribute('final', $isFinal ? 'true' : 'false'); - } + public function getName() { + return $this->ctx->getAttribute('name'); + } - /** - * @param boolean $isAbstract - */ - public function setAbstract($isAbstract) { - $this->ctx->setAttribute('abstract', $isAbstract ? 'true' : 'false'); - } + /** + * @param int $startLine + */ + public function setStartLine($startLine): void { + $this->ctx->setAttribute('start', $startLine); + } - /** - * @param boolean $isStatic - */ - public function setStatic($isStatic) { - $this->ctx->setAttribute('static', $isStatic ? 'true' : 'false'); - } + /** + * @param int $endLine + */ + public function setEndLine($endLine): void { + $this->ctx->setAttribute('end', $endLine); + } - /** - * @param string $visibility - */ - public function setVisibility($visibility) { - if (!in_array($visibility, array('public','private','protected'))) { - throw new MethodObjectException("'$visibility' is not valid'", MethodObjectException::InvalidVisibility); - } - $this->ctx->setAttribute('visibility', $visibility); - } + /** + * @param bool $isFinal + */ + public function setFinal($isFinal): void { + $this->ctx->setAttribute('final', $isFinal ? 'true' : 'false'); + } - /** - * @param DocBlock $docblock - */ - public function setDocBlock(DocBlock $docblock) { - $docNode = $docblock->asDom($this->ctx->ownerDocument); - - if ($this->ctx->hasChildNodes()) { - $this->ctx->insertBefore($docNode, $this->ctx->firstChild); - return; - } - $this->ctx->appendChild($docNode); - } + /** + * @param bool $isAbstract + */ + public function setAbstract($isAbstract): void { + $this->ctx->setAttribute('abstract', $isAbstract ? 'true' : 'false'); + } - public function hasInheritDoc() { - return $this->ctx->query('phpdox:docblock[@inherit="true"]')->length > 0; + /** + * @param bool $isStatic + */ + public function setStatic($isStatic): void { + $this->ctx->setAttribute('static', $isStatic ? 'true' : 'false'); + } + + /** + * @param string $visibility + */ + public function setVisibility($visibility): void { + if (!\in_array($visibility, ['public', 'private', 'protected'])) { + throw new MethodObjectException("'$visibility' is not valid'", MethodObjectException::InvalidVisibility); } + $this->ctx->setAttribute('visibility', $visibility); + } - public function inhertDocBlock(MethodObject $method) { - $inherit = $method->export()->queryOne('phpdox:docblock'); - if (!$inherit) { // no docblock, no work ;) - return; - } - $docNode = $this->ctx->queryOne('phpdox:docblock'); - if (!$docNode) { - $this->setDocBlock(new DocBlock()); - $docNode = $this->ctx->queryOne('phpdox:docblock'); - } - - $container = $docNode->appendElementNS(self::XMLNS, 'inherited'); - $container->setAttribute( - $method->getOwner()->getType(), - $method->getOwner()->getName() - ); - $container->appendChild($this->ctx->ownerDocument->importNode($inherit, true)); + public function setDocBlock(DocBlock $docblock): void { + $docNode = $docblock->asDom($this->ctx->ownerDocument); - } + if ($this->ctx->hasChildNodes()) { + $this->ctx->insertBefore($docNode, $this->ctx->firstChild); - /** - * @param string $name - * - * @return ReturnTypeObject - */ - public function setReturnType($name) { - $returnType = new ReturnTypeObject($this->ctx->appendElementNS(self::XMLNS, 'return')); - $returnType->setType($name); - return $returnType; + return; } + $this->ctx->appendChild($docNode); + } - /** - * @param string $name - * - * @return ParameterObject - */ - public function addParameter($name) { - $parameter = new ParameterObject($this->ctx->appendElementNS(self::XMLNS, 'parameter')); - $parameter->setName($name); - return $parameter; - } + public function hasInheritDoc() { + return $this->ctx->query('phpdox:docblock[@inherit="true"]')->length > 0; + } - /** - * @param InlineComment $InlineComment - */ - public function addInlineComment(InlineComment $InlineComment) { - $this->getInlineContainer()->appendChild( - $InlineComment->asDom($this->ctx->ownerDocument) - ); + public function inhertDocBlock(self $method): void { + $inherit = $method->export()->queryOne('phpdox:docblock'); + + if (!$inherit) { // no docblock, no work ;) + return; } + $docNode = $this->ctx->queryOne('phpdox:docblock'); - /** - * @return fDOMElement - */ - private function getInlineContainer() { - $node = $this->ctx->queryOne('phpdox:inline'); - if ($node !== NULL) { - return $node; - } - return $this->ctx->appendElementNS(self::XMLNS, 'inline'); + if (!$docNode) { + $this->setDocBlock(new DocBlock()); + $docNode = $this->ctx->queryOne('phpdox:docblock'); } + $container = $docNode->appendElementNS(self::XMLNS, 'inherited'); + $container->setAttribute( + $method->getOwner()->getType(), + $method->getOwner()->getName() + ); + $container->appendChild($this->ctx->ownerDocument->importNode($inherit, true)); } + /** + * @param string $name + */ + public function setReturnType($name): ReturnTypeObject { + $returnType = new ReturnTypeObject($this->ctx->appendElementNS(self::XMLNS, 'return')); + $returnType->setType($name); + + return $returnType; + } + + /** + * @param string $name + */ + public function addParameter($name): ParameterObject { + $parameter = new ParameterObject($this->ctx->appendElementNS(self::XMLNS, 'parameter')); + $parameter->setName($name); + + return $parameter; + } + + public function addInlineComment(InlineComment $InlineComment): void { + $this->getInlineContainer()->appendChild( + $InlineComment->asDom($this->ctx->ownerDocument) + ); + } + + private function getInlineContainer(): fDOMElement { + $node = $this->ctx->queryOne('phpdox:inline'); + + if ($node !== null) { + return $node; + } + + return $this->ctx->appendElementNS(self::XMLNS, 'inline'); + } } diff -Nru phpdox-0.11.2/src/collector/project/ParameterObject.php phpdox-0.12.0/src/collector/project/ParameterObject.php --- phpdox-0.11.2/src/collector/project/ParameterObject.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/ParameterObject.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,49 +1,8 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector { +ctx->setAttribute('byreference', $isRef ? 'true' : 'false'); - } +class ParameterObject extends AbstractVariableObject { + public function setByReference($isRef): void { + $this->ctx->setAttribute('byreference', $isRef ? 'true' : 'false'); } - } diff -Nru phpdox-0.11.2/src/collector/project/ProjectException.php phpdox-0.12.0/src/collector/project/ProjectException.php --- phpdox-0.11.2/src/collector/project/ProjectException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/ProjectException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,13 +1,12 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector { - - use TheSeer\fDOM\fDOMDocument; - use TheSeer\fDOM\fDOMElement; - use TheSeer\fDOM\fDOMException; - use TheSeer\phpDox\FileInfo; +xmlDir = $xmlDir; - $this->srcDir = $srcDir; - $this->initCollections(); - } - - /** - * @return FileInfo - */ - public function getSourceDir() { - return $this->srcDir; - } - - /** - * @return FileInfo - */ - public function getXmlDir() { - return $this->xmlDir; - } - - /** - * @param FileInfo $file - * @return bool - */ - public function addFile(SourceFile $file) { - $isNew = $this->source->addFile($file); - if ($isNew) { - $this->removeFileReferences($file->getPathname()); - $this->files[$file->getPathname()] = $file; - } - return $isNew; - } + /** + * @var FileInfo + */ + private $srcDir; + + /** + * @var SourceCollection + */ + private $source; + + /** + * @var IndexCollection + */ + private $index; + + /** + * @var SourceFile[] + */ + private $files = []; + + private $saveUnits = []; + + private $loadedUnits = []; - /** - * @param FileInfo $file - */ - public function removeFile(FileInfo $file) { + /** + * @param $srcDir + * @param $xmlDir + */ + public function __construct(FileInfo $srcDir, FileInfo $xmlDir) { + $this->xmlDir = $xmlDir; + $this->srcDir = $srcDir; + $this->initCollections(); + } + + public function getSourceDir(): FileInfo { + return $this->srcDir; + } + + public function getXmlDir(): FileInfo { + return $this->xmlDir; + } + + /** + * @param FileInfo $file + */ + public function addFile(SourceFile $file): bool { + $isNew = $this->source->addFile($file); + + if ($isNew) { $this->removeFileReferences($file->getPathname()); - unset($this->files[$file->getPathname()]); - $this->source->removeFile($file); + $this->files[$file->getPathname()] = $file; } - /** - * @param ClassObject $class - */ - public function addClass(ClassObject $class) { - $this->loadedUnits[$class->getName()] = $class; - $this->registerForSaving($class); - $this->index->addClass($class); - } - - /** - * - */ - public function addInterface(InterfaceObject $interface) { - $this->loadedUnits[$interface->getName()] = $interface; - $this->registerForSaving($interface); - $this->index->addInterface($interface); - } - - /** - * - */ - public function addTrait(TraitObject $trait) { - $this->loadedUnits[$trait->getName()] = $trait; - $this->registerForSaving($trait); - $this->index->addTrait($trait); - } - - /** - * @return fDOMDocument - */ - public function getIndex() { - return $this->index->export(); - } - - /** - * @return fDOMDocument - */ - public function getSourceTree() { - return $this->source->export(); - } - - /** - * @return bool - */ - public function hasNamespaces() { - return $this->index->export()->query('count(//phpdox:namespace[not(@name="/")])') > 0; - } - - /** - * @param $namespace - * @param $name - * @return fDOMElement - */ - public function getUnitByName($name) { - if (isset($this->loadedUnits[$name])) { - return $this->loadedUnits[$name]; - } + return $isNew; + } - $parts = explode('\\', $name); - $local = array_pop($parts); - $namespace = join('\\', $parts); - $indexNode = $this->index->findUnitNodeByName($namespace, $local); - if (!$indexNode) { - throw new ProjectException("No unit with name '$name' found"); - } + public function removeFile(FileInfo $file): void { + $this->removeFileReferences($file->getPathname()); + unset($this->files[$file->getPathname()]); + $this->source->removeFile($file); + } + + public function addClass(ClassObject $class): void { + $this->loadedUnits[$class->getName()] = $class; + $this->registerForSaving($class); + $this->index->addClass($class); + } + + public function addInterface(InterfaceObject $interface): void { + $this->loadedUnits[$interface->getName()] = $interface; + $this->registerForSaving($interface); + $this->index->addInterface($interface); + } + + public function addTrait(TraitObject $trait): void { + $this->loadedUnits[$trait->getName()] = $trait; + $this->registerForSaving($trait); + $this->index->addTrait($trait); + } + + public function getIndex(): fDOMDocument { + return $this->index->export(); + } + + public function getSourceTree(): fDOMDocument { + return $this->source->export(); + } + + public function hasNamespaces(): bool { + return $this->index->export()->query('count(//phpdox:namespace[not(@name="/")])') > 0; + } + + public function getUnitByName(string $name) { + if (isset($this->loadedUnits[$name])) { + return $this->loadedUnits[$name]; + } + + $parts = \explode('\\', $name); + $local = \array_pop($parts); + $namespace = \implode('\\', $parts); + $indexNode = $this->index->findUnitNodeByName($namespace, $local); + + if (!$indexNode) { + throw new ProjectException("No unit with name '$name' found"); + } - switch ($indexNode->localName) { - case 'interface': { + switch ($indexNode->localName) { + case 'interface': + { $unit = new InterfaceObject(); + break; } - case 'trait': { + case 'trait': + { $unit = new TraitObject(); + break; } - case 'class': { + case 'class': + { $unit = new ClassObject(); + break; } - default: { + default: + { throw new ProjectException( - sprintf('Unexpected type "%s"', $indexNode->localName), + \sprintf('Unexpected type "%s"', $indexNode->localName), ProjectException::UnexpectedType ); } - } - - $dom = new fDOMDocument(); - $dom->load($this->xmlDir . '/' . $indexNode->getAttribute('xml')); - $unit->import($dom); - - return $unit; } - /** - * @return array - */ - public function cleanVanishedFiles() { - $files = $this->source->getVanishedFiles(); - foreach ($files as $path) { - $this->removeFileReferences($path); - } - return $files; - } + $dom = new fDOMDocument(); + $dom->load($this->xmlDir . '/' . $indexNode->getAttribute('xml')); + $unit->import($dom); + + return $unit; + } + public function cleanVanishedFiles(): array { + $files = $this->source->getVanishedFiles(); - public function registerForSaving(AbstractUnitObject $unit) { - $this->saveUnits[$unit->getName()] = $unit; + foreach ($files as $path) { + $this->removeFileReferences($path); } - /** - * @return array - */ - public function save() { - try { - $map = $this->initDirectories(); + return $files; + } - $indexDom = $this->index->export(); - $reportUnits = $this->saveUnits; - foreach($this->saveUnits as $unit) { - $reportUnits = $this->saveUnit($map, $reportUnits, $unit); - } - $indexDom->formatOutput = TRUE; - $indexDom->preserveWhiteSpace = FALSE; - $indexDom->save($this->xmlDir . '/index.xml'); + public function registerForSaving(AbstractUnitObject $unit): void { + $this->saveUnits[$unit->getName()] = $unit; + } - $this->saveSources(); + public function save(): array { + try { + $map = $this->initDirectories(); - $this->saveUnits = array(); - $this->files = array(); + $indexDom = $this->index->export(); + $reportUnits = $this->saveUnits; - return $reportUnits; - } catch (\Exception $e) { - throw new ProjectException( - sprintf('An error occured while saving the collected data: %s', $e->getMessage()), - ProjectException::ErrorWhileSaving, - $e - ); + foreach ($this->saveUnits as $unit) { + $reportUnits = $this->saveUnit($map, $reportUnits, $unit); } + $indexDom->formatOutput = true; + $indexDom->preserveWhiteSpace = false; + $indexDom->save($this->xmlDir . '/index.xml'); + + $this->saveSources(); + + $this->saveUnits = []; + $this->files = []; + + return $reportUnits; + } catch (\Exception $e) { + throw new ProjectException( + \sprintf('An error occured while saving the collected data: %s', $e->getMessage()), + ProjectException::ErrorWhileSaving, + $e + ); } + } - /** - * @param $fname - * - * @return array - */ - private function findAffectedUnits($fname) { - $affected = array(); - $dom = new fDOMDocument(); - $dom->load($this->xmlDir . '/' . $fname); - $dom->registerNamespace('phpdox', 'http://xml.phpdox.net/src'); - $extends = $dom->queryOne('//phpdox:extends'); - if ($extends instanceof fDOMElement) { - try { - $affected[$extends->getAttribute('full')] = $this->getUnitByName($extends->getAttribute('full')); - } catch (ProjectException $e) {} - } - $implements = $dom->query('//phpdox:implements'); - foreach($implements as $implement) { - try { - $affected[$implement->getAttribute('full')] = $this->getUnitByName($implement->getAttribute('full')); - } catch (ProjectException $e) {} + /** + * @param $fname + */ + private function findAffectedUnits($fname): array { + $affected = []; + $dom = new fDOMDocument(); + $dom->load($this->xmlDir . '/' . $fname); + $dom->registerNamespace('phpdox', 'http://xml.phpdox.net/src'); + $extends = $dom->queryOne('//phpdox:extends'); + + if ($extends instanceof fDOMElement) { + try { + $affected[$extends->getAttribute('full')] = $this->getUnitByName($extends->getAttribute('full')); + } catch (ProjectException $e) { } - return $affected; } + $implements = $dom->query('//phpdox:implements'); - private function saveUnit(array $map, array $reportUnits, AbstractUnitObject $unit) { - $indexNode = $this->index->findUnitNodeByName($unit->getNamespace(), $unit->getLocalName()); - if (!$indexNode) { - throw new ProjectException( - sprintf( - "Internal Error: Unit '%s' not found in index (ns: %s, n: %s).", - $unit->getName(), - $unit->getNamespace(), - $unit->getLocalName() - ), - ProjectException::UnitNotFoundInIndex - ); - } - $name = str_replace('\\', '_', $unit->getName()); - $dom = $unit->export(); - $dom->formatOutput = TRUE; - $dom->preserveWhiteSpace = FALSE; - $fname = $map[$dom->documentElement->localName] . '/' . $name . '.xml'; + foreach ($implements as $implement) { try { - $dom->save($this->xmlDir . '/' . $fname); - } catch (fDOMException $e) { - throw new ProjectException( - sprintf( - "Internal Error: Unit '%s' could not be saved (ns: %s, n: %s).", - $unit->getName(), - $unit->getNamespace(), - $unit->getLocalName() - ), - ProjectException::UnitCouldNotBeSaved, - $e - ); - } - if ($indexNode->hasAttribute('xml')) { - $reportUnits = array_merge($reportUnits, $this->findAffectedUnits($fname)); - } else { - $indexNode->setAttribute('xml', $fname); + $affected[$implement->getAttribute('full')] = $this->getUnitByName($implement->getAttribute('full')); + } catch (ProjectException $e) { } + } - return $reportUnits; + return $affected; + } + + private function saveUnit(array $map, array $reportUnits, AbstractUnitObject $unit) { + $indexNode = $this->index->findUnitNodeByName($unit->getNamespace(), $unit->getLocalName()); + + if (!$indexNode) { + throw new ProjectException( + \sprintf( + "Internal Error: Unit '%s' not found in index (ns: %s, n: %s).", + $unit->getName(), + $unit->getNamespace(), + $unit->getLocalName() + ), + ProjectException::UnitNotFoundInIndex + ); + } + $name = \str_replace('\\', '_', $unit->getName()); + $dom = $unit->export(); + $dom->formatOutput = true; + $dom->preserveWhiteSpace = false; + $fname = $map[$dom->documentElement->localName] . '/' . $name . '.xml'; + + try { + $dom->save($this->xmlDir . '/' . $fname); + } catch (fDOMException $e) { + throw new ProjectException( + \sprintf( + "Internal Error: Unit '%s' could not be saved (ns: %s, n: %s).", + $unit->getName(), + $unit->getNamespace(), + $unit->getLocalName() + ), + ProjectException::UnitCouldNotBeSaved, + $e + ); + } + + if ($indexNode->hasAttribute('xml')) { + $reportUnits = \array_merge($reportUnits, $this->findAffectedUnits($fname)); + } else { + $indexNode->setAttribute('xml', $fname); } - private function initDirectories() { - $map = array('class' => 'classes', 'trait' => 'traits', 'interface' => 'interfaces'); - foreach ($map as $col) { - $path = $this->xmlDir . '/' . $col; - if (!file_exists($path)) { - mkdir($path, 0777, TRUE); - } + return $reportUnits; + } + + private function initDirectories() { + $map = ['class' => 'classes', 'trait' => 'traits', 'interface' => 'interfaces']; + + foreach ($map as $col) { + $path = $this->xmlDir . '/' . $col; + + if (!\file_exists($path)) { + \mkdir($path, 0777, true); } - return $map; } - /** - * @return void - */ - private function initCollections() { - $this->source = new SourceCollection($this->srcDir); - $srcFile = $this->xmlDir . '/source.xml'; - if (file_exists($srcFile)) { - $dom = new fDOMDocument(); - $dom->load($srcFile); - $this->source->import($dom); - } - $this->index = new IndexCollection($this->srcDir); - $srcFile = $this->xmlDir . '/index.xml'; - if (file_exists($srcFile)) { - $dom = new fDOMDocument(); - $dom->load($srcFile); - $this->index->import($dom); - } + return $map; + } + + private function initCollections(): void { + $this->source = new SourceCollection($this->srcDir); + $srcFile = $this->xmlDir . '/source.xml'; + if (\file_exists($srcFile)) { + $dom = new fDOMDocument(); + $dom->load($srcFile); + $this->source->import($dom); } - /** - * @param string $path - */ - private function removeFileReferences($path) { - foreach($this->index->findUnitNodesBySrcFile($path) as $node) { - /** @var $node \DOMElement */ - $fname = $this->xmlDir . '/' . $node->getAttribute('xml'); - if (file_exists($fname)) { - unlink($fname); - } - $node->parentNode->removeChild($node); + $this->index = new IndexCollection($this->srcDir); + $srcFile = $this->xmlDir . '/index.xml'; + + if (\file_exists($srcFile)) { + $dom = new fDOMDocument(); + $dom->load($srcFile); + $this->index->import($dom); + } + } + + /** + * @param string $path + */ + private function removeFileReferences($path): void { + foreach ($this->index->findUnitNodesBySrcFile($path) as $node) { + /** @var $node \DOMElement */ + $fname = $this->xmlDir . '/' . $node->getAttribute('xml'); + + if (\file_exists($fname)) { + \unlink($fname); } + $node->parentNode->removeChild($node); } + } - private function saveSources() { - foreach($this->files as $file) { - $tokenDom = $file->getTokens(); - $tokenDom->formatOutput = TRUE; - $tokenDom->preserveWhiteSpace = FALSE; - $relName = 'tokens/' . $file->getRelative($this->srcDir, FALSE) . '.xml'; - $fname = $this->xmlDir . '/' . $relName; - $dir = dirname($fname); - if (!file_exists($dir)) { - mkdir($dir, 0777, true); - } - try { - $tokenDom->save($fname); - } catch (fDOMException $e) { - throw new ProjectException( - sprintf( - "Internal Error: Token xml file '%s' could not be saved.", - $fname - ), - ProjectException::UnitCouldNotBeSaved, - $e - ); - } - $this->source->setTokenFileReference($file, $relName); + private function saveSources(): void { + foreach ($this->files as $file) { + $tokenDom = $file->getTokens(); + $tokenDom->formatOutput = true; + $tokenDom->preserveWhiteSpace = false; + $relName = 'tokens/' . $file->getRelative($this->srcDir, false) . '.xml'; + $fname = $this->xmlDir . '/' . $relName; + $dir = \dirname($fname); + + if (!\file_exists($dir)) { + \mkdir($dir, 0777, true); } - $sourceDom = $this->source->export(); - $sourceDom->formatOutput = TRUE; - $sourceDom->preserveWhiteSpace = FALSE; - $sourceDom->save($this->xmlDir . '/source.xml'); + try { + $tokenDom->save($fname); + } catch (fDOMException $e) { + throw new ProjectException( + \sprintf( + "Internal Error: Token xml file '%s' could not be saved.", + $fname + ), + ProjectException::UnitCouldNotBeSaved, + $e + ); + } + $this->source->setTokenFileReference($file, $relName); } + $sourceDom = $this->source->export(); + $sourceDom->formatOutput = true; + $sourceDom->preserveWhiteSpace = false; + $sourceDom->save($this->xmlDir . '/source.xml'); } - } diff -Nru phpdox-0.11.2/src/collector/project/ReturnTypeObject.php phpdox-0.12.0/src/collector/project/ReturnTypeObject.php --- phpdox-0.11.2/src/collector/project/ReturnTypeObject.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/ReturnTypeObject.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,50 +1,11 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector { +addInternalType('void'); - } +use TheSeer\fDOM\fDOMElement; +class ReturnTypeObject extends AbstractVariableObject { + public function __construct(fDOMElement $ctx) { + parent::__construct($ctx); + $this->addInternalType('void'); } - } diff -Nru phpdox-0.11.2/src/collector/project/SourceCollectionException.php phpdox-0.12.0/src/collector/project/SourceCollectionException.php --- phpdox-0.11.2/src/collector/project/SourceCollectionException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/SourceCollectionException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,9 +1,6 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * + * @var FileInfo */ -namespace TheSeer\phpDox\Collector { + private $srcDir; - use TheSeer\phpDox\FileInfo; - use TheSeer\fDOM\fDOMDocument; - use TheSeer\fDOM\fDOMElement; - - class SourceCollection { - - /** - * @var FileInfo - */ - private $srcDir; - - /** - * @var fDOMElement[] - */ - private $original = array(); - - /** - * @var fDOMElement[] - */ - private $collection = array(); - - private $workDom; - - public function __construct(FileInfo $srcDir) { - $this->srcDir = $srcDir; - $this->workDom = new fDOMDocument(); - $this->workDom->registerNamespace('phpdox', 'http://xml.phpdox.net/src'); - $this->workDom->appendElementNS('http://xml.phpdox.net/src', 'source'); - } - - public function import(fDOMDocument $dom) { - $dom->registerNamespace('phpdox', 'http://xml.phpdox.net/src'); - $dir = $dom->queryOne('/phpdox:source/phpdox:dir'); - if (!$dir) { - return; - } - $this->importDirNode($dir, ''); + /** + * @var fDOMElement[] + */ + private $original = []; + + /** + * @var fDOMElement[] + */ + private $collection = []; + + private $workDom; + + public function __construct(FileInfo $srcDir) { + $this->srcDir = $srcDir; + $this->workDom = new fDOMDocument(); + $this->workDom->registerNamespace('phpdox', 'http://xml.phpdox.net/src'); + $this->workDom->appendElementNS('http://xml.phpdox.net/src', 'source'); + } + + public function import(fDOMDocument $dom): void { + $dom->registerNamespace('phpdox', 'http://xml.phpdox.net/src'); + $dir = $dom->queryOne('/phpdox:source/phpdox:dir'); + + if (!$dir) { + return; } + $this->importDirNode($dir, ''); + } - public function addFile(SourceFile $file) { - $path = $file->getRealPath(); - $node = $this->workDom->createElementNS('http://xml.phpdox.net/src', 'file'); - $node->setAttribute('name', basename($file->getBasename())); - $node->setAttribute('size', $file->getSize()); - $node->setAttribute('time', date('c', $file->getMTime())); - $node->setAttribute('unixtime', $file->getMTime()); - $node->setAttribute('sha1', sha1_file($file->getPathname())); - $this->collection[$path] = $node; - $changed = $this->isChanged($path); - if (!$changed) { - $node->setAttribute('xml', $this->original[$path]->getAttribute('xml')); - } - return $changed; + public function addFile(SourceFile $file) { + $path = $file->getRealPath(); + $node = $this->workDom->createElementNS('http://xml.phpdox.net/src', 'file'); + $node->setAttribute('name', \basename($file->getBasename())); + $node->setAttribute('size', $file->getSize()); + $node->setAttribute('time', \date('c', $file->getMTime())); + $node->setAttribute('unixtime', $file->getMTime()); + $node->setAttribute('sha1', \sha1_file($file->getPathname())); + $this->collection[$path] = $node; + $changed = $this->isChanged($path); + + if (!$changed) { + $node->setAttribute('xml', $this->original[$path]->getAttribute('xml')); + } + + return $changed; + } + + public function setTokenFileReference(SourceFile $file, $tokenPath): void { + $path = $file->getRealPath(); + + if (!isset($this->collection[$path])) { + throw new SourceCollectionException( + \sprintf('File %s not found in collection', $path), + SourceCollectionException::SourceNotFound + ); + } + $this->collection[$path]->setAttribute('xml', $tokenPath); + } + + public function removeFile(FileInfo $file): void { + if (!isset($this->collection[$file->getRealPath()])) { + throw new SourceCollectionException( + \sprintf('File %s not found in collection', $file->getRealPath()), + SourceCollectionException::SourceNotFound + ); } + unset($this->collection[$file->getRealPath()]); + } - public function setTokenFileReference(SourceFile $file, $tokenPath) { - $path = $file->getRealPath(); + public function getVanishedFiles() { + $list = []; + + foreach (\array_keys($this->original) as $path) { if (!isset($this->collection[$path])) { - throw new SourceCollectionException( - sprintf("File %s not found in collection", $path), - SourceCollectionException::SourceNotFound - ); + $list[] = $path; } - $this->collection[$path]->setAttribute('xml', $tokenPath); } - public function removeFile(FileInfo $file) { - if (!isset($this->collection[$file->getRealPath()])) { - throw new SourceCollectionException( - sprintf("File %s not found in collection", $file->getRealPath()), - SourceCollectionException::SourceNotFound - ); - } - unset($this->collection[$file->getRealPath()]); + return $list; + } + + public function export($collapse = false) { + if (\count($this->collection) == 0) { + return $this->workDom; } - public function getVanishedFiles() { - $list = array(); - foreach(array_keys($this->original) as $path) { - if (!isset($this->collection[$path])) { - $list[] = $path; - } - } - return $list; + $root = $this->workDom->documentElement; + + while ($root->hasChildNodes()) { + $root->nodeValue = null; } - public function export($collapse = false) { - if (count($this->collection) == 0) { - return $this->workDom; - } + foreach ($this->collection as $path => $file) { + $pathInfo = new FileInfo($path); + $dirs = \explode('/', \dirname((string)$pathInfo->getRelative($this->srcDir))); + $dirs[0] = $this->srcDir->getRealPath(); + $ctx = $root; - $root = $this->workDom->documentElement; - while($root->hasChildNodes()) { - $root->nodeValue = null; - } + foreach ($dirs as $dir) { + $node = $ctx->queryOne('phpdox:dir[@name="' . $dir . '"]'); - foreach ($this->collection as $path => $file) { - $pathInfo = new FileInfo($path); - $dirs = explode('/', dirname($pathInfo->getRelative($this->srcDir))); - $dirs[0] = $this->srcDir->getRealPath(); - $ctx = $root; - foreach ($dirs as $dir) { - $node = $ctx->queryOne('phpdox:dir[@name="' . $dir . '"]'); - if (!$node) { - $node = $ctx->appendElementNS('http://xml.phpdox.net/src', 'dir'); - $node->setAttribute('name', $dir); - } - $ctx = $node; + if (!$node) { + $node = $ctx->appendElementNS('http://xml.phpdox.net/src', 'dir'); + $node->setAttribute('name', $dir); } - $ctx->appendChild($this->workDom->importNode($file, TRUE)); + $ctx = $node; } + $ctx->appendChild($this->workDom->importNode($file, true)); + } - $this->collection = array(); + $this->collection = []; - if ($collapse) { - $this->collapseDirectory(); - } - return $this->workDom; + if ($collapse) { + $this->collapseDirectory(); } - private function importDirNode(fDOMElement $dir, $path) { - $path .= $dir->getAttribute('name'); - foreach($dir->query('phpdox:file') as $file) { - $this->original[ $path . '/' . $file->getAttribute('name')] = $file; - } - foreach($dir->query('phpdox:dir') as $child) { - $this->importDirNode($child, $path . '/'); - } + return $this->workDom; + } + + private function importDirNode(fDOMElement $dir, $path): void { + $path .= $dir->getAttribute('name'); + + foreach ($dir->query('phpdox:file') as $file) { + $this->original[$path . '/' . $file->getAttribute('name')] = $file; } - private function isChanged($path) { - if (!isset($this->original[$path])) { - return true; - } - $org = $this->original[$path]; - $new = $this->collection[$path]; - return $org->getAttribute('sha1') != $new->getAttribute('sha1'); + foreach ($dir->query('phpdox:dir') as $child) { + $this->importDirNode($child, $path . '/'); } + } - private function collapseDirectory() { - $first = $this->workDom->queryOne('/phpdox:source/phpdox:dir'); - if ($first->query('phpdox:file')->length == 0 && - $first->query('phpdox:dir')->length == 1) { - $dir = $first->queryOne('phpdox:dir'); - foreach($dir->query('*') as $child) { - $first->appendChild($child); - } - $first->setAttribute('name', $first->getAttribute('name') . '/' . $dir->getAttribute('name')); - $first->removeChild($dir); - $this->collapseDirectory(); - } + private function isChanged($path) { + if (!isset($this->original[$path])) { + return true; } + $org = $this->original[$path]; + $new = $this->collection[$path]; + return $org->getAttribute('sha1') != $new->getAttribute('sha1'); } + private function collapseDirectory(): void { + $first = $this->workDom->queryOne('/phpdox:source/phpdox:dir'); + + if ($first->query('phpdox:file')->length == 0 && + $first->query('phpdox:dir')->length == 1) { + $dir = $first->queryOne('phpdox:dir'); + + foreach ($dir->query('*') as $child) { + $first->appendChild($child); + } + $first->setAttribute('name', $first->getAttribute('name') . '/' . $dir->getAttribute('name')); + $first->removeChild($dir); + $this->collapseDirectory(); + } + } } diff -Nru phpdox-0.11.2/src/collector/project/SourceFile.php phpdox-0.12.0/src/collector/project/SourceFile.php --- phpdox-0.11.2/src/collector/project/SourceFile.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/SourceFile.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,111 +1,108 @@ -srcDir = $srcDir; - $this->encoding = $encoding; +use TheSeer\fDOM\fDOMDocument; +use TheSeer\fDOM\fDOMElement; +use TheSeer\phpDox\Collector\Backend\SourceFileException; +use TheSeer\phpDox\FileInfo; + +class SourceFile extends FileInfo { + /** + * PHPDOX Namespace + */ + public const XMLNS = 'http://xml.phpdox.net/src'; + + /** + * @var string + */ + private $src; + + /** + * @var FileInfo + */ + private $srcDir; + + /** + * @var + */ + private $encoding; + + public function __construct($file_name, FileInfo $srcDir = null, $encoding = 'auto') { + parent::__construct($file_name); + $this->srcDir = $srcDir; + $this->encoding = $encoding; + } + + /** + * @throws Backend\SourceFileException + */ + public function getSource(): string { + if ($this->src !== null) { + return $this->src; } - /** - * @return string - * - * @throws Backend\SourceFileException - */ - public function getSource() { - if ($this->src !== NULL) { - return $this->src; - } - - $source = file_get_contents($this->getPathname()); - if ($source == '') { - $this->src = ''; - return ''; - } - - if ($this->encoding == 'auto') { - $info = new \finfo(); - $this->encoding = $info->file((string)$this, FILEINFO_MIME_ENCODING); - } - try { - $source = iconv($this->encoding, 'UTF-8//TRANSLIT', $source); - } catch (\ErrorException $e) { - throw new SourceFileException('Encoding error - conversion to UTF-8 failed', SourceFileException::BadEncoding, $e); - } - - // Replace xml relevant control characters by surrogates - $this->src = preg_replace_callback( - '/(?![\x{000d}\x{000a}\x{0009}])\p{C}/u', - function(array $matches) { - $unicodeChar = '\u' . (2400 + ord($matches[0])); - return json_decode('"'.$unicodeChar.'"'); - }, - $source - ); + $source = \file_get_contents($this->getPathname()); - return $this->src; + if ($source == '') { + $this->src = ''; + + return ''; } - /** - * @return \TheSeer\fDOM\fDOMDocument - * - * @throws Backend\SourceFileException - */ - public function getTokens() { - $tokenizer = new Tokenizer(); - $dom = $tokenizer->toXML($this->getSource()); - $root = $dom->documentElement; - $root->insertBefore($this->asNode($dom->documentElement), $root->firstChild); - return $dom; + if ($this->encoding == 'auto') { + $info = new \finfo(); + $this->encoding = $info->file((string)$this, \FILEINFO_MIME_ENCODING); } - /** - * @param fDOMDocument $ctx - * - * @return \TheSeer\fDOM\fDOMElement - */ - public function asNode(fDOMElement $ctx) { - $fileNode = $ctx->ownerDocument->createElementNS(self::XMLNS, 'file'); - $fileNode->setAttribute('path', $this->getPath()); - $fileNode->setAttribute('file', $this->getBasename()); - $fileNode->setAttribute('realpath', $this->getRealPath()); - $fileNode->setAttribute('size', $this->getSize()); - $fileNode->setAttribute('time', date('c', $this->getMTime())); - $fileNode->setAttribute('unixtime', $this->getMTime()); - $fileNode->setAttribute('sha1', sha1_file($this->getRealPath())); - if ($this->srcDir instanceof FileInfo) { - $fileNode->setAttribute('relative', $this->getRelative($this->srcDir, FALSE)); - } - return $fileNode; + try { + $source = \iconv($this->encoding, 'UTF-8//TRANSLIT', $source); + } catch (\ErrorException $e) { + throw new SourceFileException('Encoding error - conversion to UTF-8 failed', SourceFileException::BadEncoding, $e); } + // Replace xml relevant control characters by surrogates + $this->src = \preg_replace_callback( + '/(?![\x{000d}\x{000a}\x{0009}])\p{C}/u', + function (array $matches) { + $unicodeChar = '\u' . (2400 + \ord($matches[0])); + + return \json_decode('"' . $unicodeChar . '"'); + }, + $source + ); + + return $this->src; } + /** + * @throws Backend\SourceFileException + */ + public function getTokens(): fDOMDocument { + $tokenizer = new Tokenizer(); + $dom = $tokenizer->toXML($this->getSource()); + $root = $dom->documentElement; + $root->insertBefore($this->asNode($dom->documentElement), $root->firstChild); + + return $dom; + } + + /** + * @param fDOMDocument $ctx + */ + public function asNode(fDOMElement $ctx): fDOMElement { + $fileNode = $ctx->ownerDocument->createElementNS(self::XMLNS, 'file'); + $fileNode->setAttribute('path', $this->getPath()); + $fileNode->setAttribute('file', $this->getBasename()); + $fileNode->setAttribute('realpath', $this->getRealPath()); + $fileNode->setAttribute('size', $this->getSize()); + $fileNode->setAttribute('time', \date('c', $this->getMTime())); + $fileNode->setAttribute('unixtime', $this->getMTime()); + $fileNode->setAttribute('sha1', \sha1_file($this->getRealPath())); + + if ($this->srcDir instanceof FileInfo) { + $fileNode->setAttribute('relative', $this->getRelative($this->srcDir, false)); + } + + return $fileNode; + } } diff -Nru phpdox-0.11.2/src/collector/project/Tokenizer.php phpdox-0.12.0/src/collector/project/Tokenizer.php --- phpdox-0.11.2/src/collector/project/Tokenizer.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/Tokenizer.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,144 +1,142 @@ - 'T_PHPDOX_OPEN_BRACKET', + ')' => 'T_PHPDOX_CLOSE_BRACKET', + '[' => 'T_PHPDOX_OPEN_SQUARE', + ']' => 'T_PHPDOX_CLOSE_SQUARE', + '{' => 'T_PHPDOX_OPEN_CURLY', + '}' => 'T_PHPDOX_CLOSE_CURLY', + ';' => 'T_PHPDOX_SEMICOLON', + '.' => 'T_PHPDOX_DOT', + ',' => 'T_PHPDOX_COMMA', + '=' => 'T_PHPDOX_EQUAL', + '<' => 'T_PHPDOX_LT', + '>' => 'T_PHPDOX_GT', + '+' => 'T_PHPDOX_PLUS', + '-' => 'T_PHPDOX_MINUS', + '*' => 'T_PHPDOX_MULT', + '/' => 'T_PHPDOX_DIV', + '?' => 'T_PHPDOX_QUESTION_MARK', + '!' => 'T_PHPDOX_EXCLAMATION_MARK', + ':' => 'T_PHPDOX_COLON', + '"' => 'T_PHPDOX_DOUBLE_QUOTES', + '@' => 'T_PHPDOX_AT', + '&' => 'T_PHPDOX_AMPERSAND', + '%' => 'T_PHPDOX_PERCENT', + '|' => 'T_PHPDOX_PIPE', + '$' => 'T_PHPDOX_DOLLAR', + '^' => 'T_PHPDOX_CARET', + '~' => 'T_PHPDOX_TILDE', + '`' => 'T_PHPDOX_BACKTICK' + ]; + + /** + * @param string $source + * + * @throws \TheSeer\fDOM\fDOMException + */ + public function toXML($source): fDOMDocument { + $this->writer = new \XMLWriter(); + $this->writer->openMemory(); + $this->writer->setIndent(true); + $this->writer->startDocument(); + $this->writer->startElement('source'); + $this->writer->writeAttribute('xmlns', 'http://xml.phpdox.net/token'); + $this->writer->startElement('line'); + $this->writer->writeAttribute('no', '1'); + + $this->lastLine = 1; + $tokens = \token_get_all($source); + + foreach ($tokens as $pos => $tok) { + if (\is_string($tok)) { + $line = 1; + $step = 1; - /** - * @var \XMLWriter - */ - private $writer; - - /** - * @var int - */ - private $lastLine = 1; - - /** - * Token Map for "non-tokens" - * - * @var array - */ - private $map = array( - '(' => 'T_PHPDOX_OPEN_BRACKET', - ')' => 'T_PHPDOX_CLOSE_BRACKET', - '[' => 'T_PHPDOX_OPEN_SQUARE', - ']' => 'T_PHPDOX_CLOSE_SQUARE', - '{' => 'T_PHPDOX_OPEN_CURLY', - '}' => 'T_PHPDOX_CLOSE_CURLY', - ';' => 'T_PHPDOX_SEMICOLON', - '.' => 'T_PHPDOX_DOT', - ',' => 'T_PHPDOX_COMMA', - '=' => 'T_PHPDOX_EQUAL', - '<' => 'T_PHPDOX_LT', - '>' => 'T_PHPDOX_GT', - '+' => 'T_PHPDOX_PLUS', - '-' => 'T_PHPDOX_MINUS', - '*' => 'T_PHPDOX_MULT', - '/' => 'T_PHPDOX_DIV', - '?' => 'T_PHPDOX_QUESTION_MARK', - '!' => 'T_PHPDOX_EXCLAMATION_MARK', - ':' => 'T_PHPDOX_COLON', - '"' => 'T_PHPDOX_DOUBLE_QUOTES', - '@' => 'T_PHPDOX_AT', - '&' => 'T_PHPDOX_AMPERSAND', - '%' => 'T_PHPDOX_PERCENT', - '|' => 'T_PHPDOX_PIPE', - '$' => 'T_PHPDOX_DOLLAR', - '^' => 'T_PHPDOX_CARET', - '~' => 'T_PHPDOX_TILDE', - '`' => 'T_PHPDOX_BACKTICK' - ); - - /** - * @param string $source - * - * @return fDOMDocument - * - * @throws \TheSeer\fDOM\fDOMException - */ - public function toXML($source) { - - $this->writer = new \XMLWriter(); - $this->writer->openMemory(); - $this->writer->setIndent(true); - $this->writer->startDocument(); - $this->writer->startElement('source'); - $this->writer->writeAttribute('xmlns', 'http://xml.phpdox.net/token'); - $this->writer->startElement('line'); - $this->writer->writeAttribute('no', 1); - - $this->lastLine = 1; - $tokens = token_get_all($source); + while (!\is_array($tokens[$pos - $step])) { + $step++; - foreach($tokens as $pos => $tok) { - if (is_string($tok)) { - $line = 1; - $step = 1; - while (!is_array($tokens[$pos - $step])) { - $step++; - if (($pos - $step) == -1) { - break; - } - } - if ($pos - $step != -1) { - $line = $tokens[$pos - $step][2]; - $line += count(preg_split('/\R+/', $tokens[$pos - $step][1])) - 1; + if (($pos - $step) == -1) { + break; } - $token = array( - 'name' => $this->map[$tok], - 'value' => $tok, - 'line' => $line - ); + } + + if ($pos - $step != -1) { + $line = $tokens[$pos - $step][2]; + $line += \count(\preg_split('/\R+/', $tokens[$pos - $step][1])) - 1; + } + $token = [ + 'name' => $this->map[$tok], + 'value' => $tok, + 'line' => $line + ]; + $this->addToken($token); + } else { + $line = $tok[2]; + $values = \preg_split('/\R+/Uu', $tok[1]); + + foreach ($values as $v) { + $token = [ + 'name' => \token_name($tok[0]), + 'value' => $v, + 'line' => $line + ]; $this->addToken($token); - } else { - $line = $tok[2]; - $values = preg_split('/\R+/Uu', $tok[1]); - - foreach($values as $v) { - $token = array( - 'name' => token_name($tok[0]), - 'value' => $v, - 'line' => $line - ); - $this->addToken($token); - $line++; - } + $line++; } } + } - $this->writer->endElement(); - $this->writer->endElement(); - $this->writer->endDocument(); + $this->writer->endElement(); + $this->writer->endElement(); + $this->writer->endDocument(); + + $dom = new fDOMDocument(); + $dom->preserveWhiteSpace = false; + $dom->loadXML($this->writer->outputMemory()); - $dom = new fDOMDocument(); - $dom->preserveWhiteSpace = false; - $dom->loadXML($this->writer->outputMemory()); - return $dom; - } + return $dom; + } - private function addToken(array $token) { - if ($this->lastLine < $token['line']) { - $this->writer->endElement(); + private function addToken(array $token): void { + if ($this->lastLine < $token['line']) { + $this->writer->endElement(); - for($t=$this->lastLine + 1; $t<$token['line']; $t++) { - $this->writer->startElement('line'); - $this->writer->writeAttribute('no', $t); - $this->writer->endElement(); - } + for ($t = $this->lastLine + 1; $t < $token['line']; $t++) { $this->writer->startElement('line'); - $this->writer->writeAttribute('no', $token['line']); - $this->lastLine = $token['line']; - } - - if ($token['value'] != '') { - $this->writer->startElement('token'); - $this->writer->writeAttribute('name', $token['name']); - $this->writer->writeRaw( htmlspecialchars($token['value'], ENT_NOQUOTES | ENT_DISALLOWED | ENT_XML1) ); + $this->writer->writeAttribute('no', (string)$t); $this->writer->endElement(); } + $this->writer->startElement('line'); + $this->writer->writeAttribute('no', (string)$token['line']); + $this->lastLine = $token['line']; } - } + if ($token['value'] != '') { + $this->writer->startElement('token'); + $this->writer->writeAttribute('name', $token['name']); + $this->writer->writeRaw(\htmlspecialchars($token['value'], \ENT_NOQUOTES | \ENT_DISALLOWED | \ENT_XML1)); + $this->writer->endElement(); + } + } } diff -Nru phpdox-0.11.2/src/collector/project/TraitObject.php phpdox-0.12.0/src/collector/project/TraitObject.php --- phpdox-0.11.2/src/collector/project/TraitObject.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/TraitObject.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,52 +1,14 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ -namespace TheSeer\phpDox\Collector { +getRootNode()->queryOne(sprintf('phpdox:users/phpdox:%s[@full = "%s"]', $unit->getType(), $unit->getName())) !== NULL) { - return; - } - $user = $this->addToContainer('users', $unit->getType()); - $this->setName($unit->getName(), $user); + public function addUser(AbstractUnitObject $unit): void { + if ($this->getRootNode()->queryOne(\sprintf('phpdox:users/phpdox:%s[@full = "%s"]', $unit->getType(), $unit->getName())) !== null) { + return; } - + $user = $this->addToContainer('users', $unit->getType()); + $this->setName($unit->getName(), $user); } - } diff -Nru phpdox-0.11.2/src/collector/project/TraitUseException.php phpdox-0.12.0/src/collector/project/TraitUseException.php --- phpdox-0.11.2/src/collector/project/TraitUseException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/TraitUseException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,7 +1,6 @@ -ctx = $ctx; + } - /** - * @var fDOMElement - * - */ - private $ctx; - - /** - * @param fDOMElement $ctx - */ - public function __construct(fDOMElement $ctx) { - $this->ctx = $ctx; - } + public function export() { + return $this->ctx; + } - public function export() { - return $this->ctx; - } + /** + * @param string $name + */ + public function setName($name): void { + $parts = \explode('\\', $name); + $local = \array_pop($parts); + $namespace = \implode('\\', $parts); + $this->ctx->setAttribute('full', $name); + $this->ctx->setAttribute('namespace', $namespace); + $this->ctx->setAttribute('name', $local); + } - /** - * @param string $name - */ - public function setName($name) { - $parts = explode('\\', $name); - $local = array_pop($parts); - $namespace = join('\\', $parts); - $this->ctx->setAttribute('full', $name); - $this->ctx->setAttribute('namespace', $namespace); - $this->ctx->setAttribute('name', $local); - } + public function getName() { + return $this->ctx->getAttribute('full'); + } - public function getName() { - return $this->ctx->getAttribute('full'); - } - /** - * @param int $startLine - */ - public function setStartLine($startLine) { - $this->ctx->setAttribute('start', $startLine); - } + /** + * @param int $startLine + */ + public function setStartLine($startLine): void { + $this->ctx->setAttribute('start', $startLine); + } - /** - * @param int $endLine - */ - public function setEndLine($endLine) { - $this->ctx->setAttribute('end', $endLine); - } + /** + * @param int $endLine + */ + public function setEndLine($endLine): void { + $this->ctx->setAttribute('end', $endLine); + } + public function addAlias($originalName, $newName, $newModifier = null): void { + $alias = $this->ctx->appendElementNS(self::XMLNS, 'alias'); + $alias->setAttribute('method', $originalName); + $alias->setAttribute('as', $newName); - public function addAlias($originalName, $newName, $newModifier = NULL) { - $alias = $this->ctx->appendElementNS(self::XMLNS, 'alias'); - $alias->setAttribute('method', $originalName); - $alias->setAttribute('as', $newName); - if ($newModifier !== NULL) { - $alias->setAttribute('modifier', $newModifier); - } + if ($newModifier !== null) { + $alias->setAttribute('modifier', $newModifier); } + } - public function addExclude($methodName) { - $exclude = $this->ctx->appendElementNS(self::XMLNS, 'exclude'); - $exclude->setAttribute('method', $methodName); - } + public function addExclude($methodName): void { + $exclude = $this->ctx->appendElementNS(self::XMLNS, 'exclude'); + $exclude->setAttribute('method', $methodName); + } - public function isExcluded($methodName) { - return $this->ctx->query( - sprintf('phpdox:exclude[@method = "%s"]', $methodName) + public function isExcluded($methodName) { + return $this->ctx->query( + \sprintf('phpdox:exclude[@method = "%s"]', $methodName) )->length > 0; - } + } - public function isAliased($methodName) { - return $this->ctx->query( - sprintf('phpdox:alias[@method = "%s"]', $methodName) + public function isAliased($methodName) { + return $this->ctx->query( + \sprintf('phpdox:alias[@method = "%s"]', $methodName) )->length > 0; - } + } - public function getAliasedName($methodName) { - return $this->getAliasNode($methodName)->getAttribute('as'); - } + public function getAliasedName($methodName) { + return $this->getAliasNode($methodName)->getAttribute('as'); + } - public function hasAliasedModifier($methodName) { - return $this->getAliasNode($methodName)->hasAttribute('modifier'); - } + public function hasAliasedModifier($methodName) { + return $this->getAliasNode($methodName)->hasAttribute('modifier'); + } - public function getAliasedModifier($methodName) { - return $this->getAliasNode($methodName)->getAttribute('modifier'); - } + public function getAliasedModifier($methodName) { + return $this->getAliasNode($methodName)->getAttribute('modifier'); + } - /** - * @param $methodName - * - * @return mixed - * @throws TraitUseException - */ - private function getAliasNode($methodName) { - $node = $this->ctx->queryOne( - sprintf('phpdox:alias[@method = "%s"]', $methodName) + /** + * @param $methodName + * + * @throws TraitUseException + */ + private function getAliasNode($methodName) { + $node = $this->ctx->queryOne( + \sprintf('phpdox:alias[@method = "%s"]', $methodName) + ); + + if (!$node) { + throw new TraitUseException( + \sprintf('Method %s not aliased', $methodName), + TraitUseException::NotAliased ); - if (!$node) { - throw new TraitUseException( - sprintf("Method %s not aliased", $methodName), - TraitUseException::NotAliased - ); - } - return $node; } + return $node; } - } diff -Nru phpdox-0.11.2/src/collector/project/UnitObjectException.php phpdox-0.12.0/src/collector/project/UnitObjectException.php --- phpdox-0.11.2/src/collector/project/UnitObjectException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/collector/project/UnitObjectException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,46 +1,18 @@ -iterator = $iterator; - $this->srcDir = $srcDir; - $this->encoding = $encoding; - } - - /** - * @return SourceFile - */ - public function current() { - return new SourceFile($this->iterator->current()->getPathname(), $this->srcDir, $this->encoding); - } - - /** - * (PHP 5 >= 5.0.0)
- * Move forward to next element - * - * @link http://php.net/manual/en/iterator.next.php - * @return void Any returned value is ignored. - */ - public function next() { - $this->iterator->next(); - } - - /** - * (PHP 5 >= 5.0.0)
- * Return the key of the current element - * - * @link http://php.net/manual/en/iterator.key.php - * @return mixed scalar on success, or null on failure. - */ - public function key() { - return $this->iterator->key(); - } - - /** - * (PHP 5 >= 5.0.0)
- * Checks if current position is valid - * - * @link http://php.net/manual/en/iterator.valid.php - * @return boolean The return value will be casted to boolean and then evaluated. - * Returns true on success or false on failure. - */ - public function valid() { - return $this->iterator->valid(); - } - - /** - * (PHP 5 >= 5.0.0)
- * Rewind the Iterator to the first element - * - * @link http://php.net/manual/en/iterator.rewind.php - * @return void Any returned value is ignored. - */ - public function rewind() { - $this->iterator->rewind(); - } + private $srcDir; + private $encoding; + + /** + * @param string $encoding + */ + public function __construct(\Iterator $iterator, FileInfo $srcDir, $encoding) { + $this->iterator = $iterator; + $this->srcDir = $srcDir; + $this->encoding = $encoding; + } + + public function current(): SourceFile { + return new SourceFile($this->iterator->current()->getPathname(), $this->srcDir, $this->encoding); + } + + /** + * (PHP 5 >= 5.0.0)
+ * Move forward to next element + * + * @link http://php.net/manual/en/iterator.next.php + */ + public function next(): void { + $this->iterator->next(); } + /** + * (PHP 5 >= 5.0.0)
+ * Return the key of the current element + * + * @link http://php.net/manual/en/iterator.key.php + * + * @return mixed scalar on success, or null on failure + */ + public function key() { + return $this->iterator->key(); + } + + /** + * (PHP 5 >= 5.0.0)
+ * Checks if current position is valid + * + * @link http://php.net/manual/en/iterator.valid.php + * + * @return bool The return value will be casted to boolean and then evaluated. + * Returns true on success or false on failure. + */ + public function valid(): bool { + return $this->iterator->valid(); + } + + /** + * (PHP 5 >= 5.0.0)
+ * Rewind the Iterator to the first element + * + * @link http://php.net/manual/en/iterator.rewind.php + */ + public function rewind(): void { + $this->iterator->rewind(); + } } diff -Nru phpdox-0.11.2/src/config/BuildConfig.php phpdox-0.12.0/src/config/BuildConfig.php --- phpdox-0.11.2/src/config/BuildConfig.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/config/BuildConfig.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,99 +1,64 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox * @author Arne Blankerts * @copyright Arne Blankerts , All rights reserved. * @license BSD License - * */ +class BuildConfig { + protected $ctx; -namespace TheSeer\phpDox { + protected $generator; - use TheSeer\fDOM\fDOMElement; + protected $project; - /** - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - */ - class BuildConfig { - - protected $ctx; - protected $generator; - protected $project; - - public function __construct(GeneratorConfig $generator, fDOMElement $ctx) { - $this->generator = $generator; - $this->project = $generator->getProjectConfig(); - $this->ctx = $ctx; - } + public function __construct(GeneratorConfig $generator, fDOMElement $ctx) { + $this->generator = $generator; + $this->project = $generator->getProjectConfig(); + $this->ctx = $ctx; + } - public function getGeneratorConfig() { - return $this->generator; - } + public function getGeneratorConfig() { + return $this->generator; + } - public function getBuildNode() { - return $this->ctx; - } + public function getBuildNode() { + return $this->ctx; + } - public function getProjectNode() { - return $this->ctx->parentNode->parentNode; - } + public function getProjectNode() { + return $this->ctx->parentNode->parentNode; + } - public function getEngine() { - return $this->ctx->getAttribute('engine'); - } + public function getEngine() { + return $this->ctx->getAttribute('engine'); + } - public function getWorkDirectory() { - return $this->project->getWorkDirectory(); - } + public function getWorkDirectory() { + return $this->project->getWorkDirectory(); + } - public function getOutputDirectory() { - $path = ''; - if ($this->ctx->parentNode->hasAttribute('output')) { - $path = $this->ctx->parentNode->getAttribute('output', 'docs'); - } - if ($this->ctx->hasAttribute('output')) { - if ($path != '') { $path .= '/'; } - $path .= $this->ctx->getAttribute('output'); - } - return new FileInfo($path); + public function getOutputDirectory() { + $path = ''; + + if ($this->ctx->parentNode->hasAttribute('output')) { + $path = $this->ctx->parentNode->getAttribute('output', 'docs'); } - public function getSourceDirectory() { - return $this->project->getSourceDirectory(); + if ($this->ctx->hasAttribute('output')) { + if ($path != '') { + $path .= '/'; + } + $path .= $this->ctx->getAttribute('output'); } + return new FileInfo($path); } + public function getSourceDirectory() { + return $this->project->getSourceDirectory(); + } } diff -Nru phpdox-0.11.2/src/config/CollectorConfig.php phpdox-0.12.0/src/config/CollectorConfig.php --- phpdox-0.11.2/src/config/CollectorConfig.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/config/CollectorConfig.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,121 +1,79 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ - -namespace TheSeer\phpDox { - - use TheSeer\fDOM\fDOMElement; - - class CollectorConfig { - - protected $ctx; - protected $project; - - public function __construct(ProjectConfig $project, fDOMElement $ctx) { - $this->project = $project; - $this->ctx = $ctx; - } +project; - } +use TheSeer\fDOM\fDOMElement; - public function getBackend() { - if ($this->ctx->hasAttribute('backend')) { - return $this->ctx->getAttribute('backend', 'parser'); - } - return 'parser'; - } +class CollectorConfig { + protected $ctx; - /** - * @return FileInfo - */ - public function getWorkDirectory() { - return $this->project->getWorkDirectory(); - } + protected $project; - /** - * @return FileInfo - */ - public function getSourceDirectory() { - return $this->project->getSourceDirectory(); - } + public function __construct(ProjectConfig $project, fDOMElement $ctx) { + $this->project = $project; + $this->ctx = $ctx; + } - /** - * @return string - */ - public function getFileEncoding() { - return $this->ctx->getAttribute('encoding', 'auto'); - } + public function getProjectConfig() { + return $this->project; + } - public function isPublicOnlyMode() { - if ($this->ctx->hasAttribute('publiconly')) { - return $this->ctx->getAttribute('publiconly', 'false') === 'true'; - } - return $this->project->isPublicOnlyMode(); + public function getBackend() { + if ($this->ctx->hasAttribute('backend')) { + return $this->ctx->getAttribute('backend', 'parser'); } - public function getIncludeMasks() { - return $this->getMasks('include') ?: '*.php'; - } + return 'parser'; + } - public function getExcludeMasks() { - return $this->getMasks('exclude'); - } + public function getWorkDirectory(): FileInfo { + return $this->project->getWorkDirectory(); + } - public function doResolveInheritance() { - $inNode = $this->ctx->queryOne('cfg:inheritance'); - if (!$inNode) { - return true; - } - return $inNode->getAttribute('resolve', 'true')=='true'; - } + public function getSourceDirectory(): FileInfo { + return $this->project->getSourceDirectory(); + } + + public function getFileEncoding(): string { + return $this->ctx->getAttribute('encoding', 'auto'); + } - public function getInheritanceConfig() { - return new InheritanceConfig($this, $this->ctx->queryOne('cfg:inheritance')); + public function isPublicOnlyMode() { + if ($this->ctx->hasAttribute('publiconly')) { + return $this->ctx->getAttribute('publiconly', 'false') === 'true'; } - protected function getMasks($nodename) { - $list = array(); - foreach($this->ctx->query('cfg:'.$nodename) as $node) { - $list[] = $node->getAttribute('mask'); - } - return $list; + return $this->project->isPublicOnlyMode(); + } + + public function getIncludeMasks() { + return $this->getMasks('include') ?: '*.php'; + } + + public function getExcludeMasks() { + return $this->getMasks('exclude'); + } + + public function doResolveInheritance() { + $inNode = $this->ctx->queryOne('cfg:inheritance'); + + if (!$inNode) { + return true; } + + return $inNode->getAttribute('resolve', 'true') == 'true'; + } + + public function getInheritanceConfig() { + return new InheritanceConfig($this, $this->ctx->queryOne('cfg:inheritance')); } + protected function getMasks($nodename) { + $list = []; + + foreach ($this->ctx->query('cfg:' . $nodename) as $node) { + $list[] = $node->getAttribute('mask'); + } + + return $list; + } } diff -Nru phpdox-0.11.2/src/config/ConfigException.php phpdox-0.12.0/src/config/ConfigException.php --- phpdox-0.11.2/src/config/ConfigException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/config/ConfigException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,15 +1,16 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ - -namespace TheSeer\phpDox { - - use TheSeer\fDOM\fDOMDocument; - use TheSeer\fDOM\fDOMException; - - class ConfigLoader { - - const XMLNS = 'http://xml.phpdox.net/config'; - - /** - * @var FileInfo - */ - private $homeDir; - - /** - * @var Version - */ - private $version; - - /** - * @param FileInfo $homeDir - */ - public function __construct(Version $version, FileInfo $homeDir) { - $this->version = $version; - $this->homeDir = $homeDir; - } +createInstanceFor($fname); - } +use TheSeer\fDOM\fDOMDocument; +use TheSeer\fDOM\fDOMException; - /** - * @return GlobalConfig - * @throws ConfigLoaderException - */ - public function autodetect() { - $candidates = array( - './phpdox.xml', - './phpdox.xml.dist' - ); - foreach($candidates as $fname) { - if (!file_exists($fname)) { - continue; - } - return $this->createInstanceFor($fname); - } - throw new ConfigLoaderException("None of the candidate files found", ConfigLoaderException::NeitherCandidateExists); - } +class ConfigLoader { + public const XMLNS = 'http://xml.phpdox.net/config'; - /** - * @param $fname - * - * @return GlobalConfig - * @throws ConfigLoaderException - */ - private function createInstanceFor($fname) { - $dom = $this->loadFile($fname); - $this->ensureCorrectNamespace($dom); - $this->ensureCorrectRootNodeName($dom); - return new GlobalConfig($this->version, $this->homeDir, $dom, new FileInfo($fname)); - } + /** + * @var FileInfo + */ + private $homeDir; + + /** + * @var Version + */ + private $version; + + public function __construct(Version $version, FileInfo $homeDir) { + $this->version = $version; + $this->homeDir = $homeDir; + } - /** - * @param $fname - * - * @return fDOMDocument - * @throws ConfigLoaderException - */ - private function loadFile($fname) { - try { - $dom = new fDOMDocument(); - $dom->load($fname); - $dom->registerNamespace('cfg', self::XMLNS); - return $dom; - } catch (fDOMException $e) { - throw new ConfigLoaderException( - "Parsing config file '$fname' failed.", - ConfigLoaderException::ParseError, - $e - ); - } + /** + * @param $fname + * + * @throws ConfigLoaderException + */ + public function load($fname): GlobalConfig { + if (!\file_exists($fname)) { + throw new ConfigLoaderException("Config file '$fname' not found", ConfigLoaderException::NotFound); } - /** - * @param fDOMDocument $dom - * - * @throws ConfigLoaderException - */ - private function ensureCorrectNamespace(fDOMDocument $dom) { - if ($dom->documentElement->namespaceURI != self::XMLNS) { - throw new ConfigLoaderException( - sprintf( - "The configuratin file '%s' uses a wrong or outdated xml namespace.\n" . - "Please ensure it uses 'http://xml.phpdox.net/config'", - $dom->documentURI - ), ConfigLoaderException::WrongNamespace - ); + return $this->createInstanceFor($fname); + } + + /** + * @throws ConfigLoaderException + */ + public function autodetect(): GlobalConfig { + $candidates = [ + './phpdox.xml', + './phpdox.xml.dist' + ]; + + foreach ($candidates as $fname) { + if (!\file_exists($fname)) { + continue; } + + return $this->createInstanceFor($fname); } - /** - * @param fDOMDocument $dom - * - * @throws ConfigLoaderException - */ - private function ensureCorrectRootNodeName(fDOMDocument $dom) { - if ($dom->documentElement->localName != 'phpdox') { - throw new ConfigLoaderException( - sprintf( - "The file '%s' does not seem to be a phpdox configration file.", - $dom->documentURI - ), ConfigLoaderException::WrongType - ); - } + throw new ConfigLoaderException('None of the candidate files found', ConfigLoaderException::NeitherCandidateExists); + } + + /** + * @param $fname + * + * @throws ConfigLoaderException + */ + private function createInstanceFor($fname): GlobalConfig { + $dom = $this->loadFile($fname); + $this->ensureCorrectNamespace($dom); + $this->ensureCorrectRootNodeName($dom); + + return new GlobalConfig($this->version, $this->homeDir, $dom, new FileInfo($fname)); + } + + /** + * @param $fname + * + * @throws ConfigLoaderException + */ + private function loadFile($fname): fDOMDocument { + try { + $dom = new fDOMDocument(); + $dom->load($fname); + $dom->registerNamespace('cfg', self::XMLNS); + + return $dom; + } catch (fDOMException $e) { + throw new ConfigLoaderException( + "Parsing config file '$fname' failed.", + ConfigLoaderException::ParseError, + $e + ); } + } + /** + * @throws ConfigLoaderException + */ + private function ensureCorrectNamespace(fDOMDocument $dom): void { + if ($dom->documentElement->namespaceURI != self::XMLNS) { + throw new ConfigLoaderException( + \sprintf( + "The configuratin file '%s' uses a wrong or outdated xml namespace.\n" . + "Please ensure it uses 'http://xml.phpdox.net/config'", + $dom->documentURI + ), + ConfigLoaderException::WrongNamespace + ); + } } + /** + * @throws ConfigLoaderException + */ + private function ensureCorrectRootNodeName(fDOMDocument $dom): void { + if ($dom->documentElement->localName != 'phpdox') { + throw new ConfigLoaderException( + \sprintf( + "The file '%s' does not seem to be a phpdox configration file.", + $dom->documentURI + ), + ConfigLoaderException::WrongType + ); + } + } } diff -Nru phpdox-0.11.2/src/config/ConfigSkeleton.php phpdox-0.12.0/src/config/ConfigSkeleton.php --- phpdox-0.11.2/src/config/ConfigSkeleton.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/config/ConfigSkeleton.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,45 +1,34 @@ -file = $file; - } + public function __construct(FileInfo $file) { + $this->file = $file; + } - /** - * @return string - */ - public function render() { - return file_get_contents($this->file->getPathname()); - } + public function render(): string { + return \file_get_contents($this->file->getPathname()); + } + + public function renderStripped(): string { + $dom = new fDOMDocument(); + $dom->preserveWhiteSpace = false; + $dom->loadXML( + \preg_replace("/\s{2,}/u", ' ', $this->render()) + ); - /** - * @return string - */ - public function renderStripped() { - $dom = new fDOMDocument(); - $dom->preserveWhiteSpace = FALSE; - $dom->loadXML( - preg_replace("/\s{2,}/u", " ", $this->render()) - ); - foreach($dom->query('//comment()') as $c) { - $c->parentNode->removeChild($c); - } - $dom->formatOutput = TRUE; - return $dom->saveXML(); + foreach ($dom->query('//comment()') as $c) { + $c->parentNode->removeChild($c); } + $dom->formatOutput = true; + return $dom->saveXML(); } - } diff -Nru phpdox-0.11.2/src/config/EnrichConfig.php phpdox-0.12.0/src/config/EnrichConfig.php --- phpdox-0.11.2/src/config/EnrichConfig.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/config/EnrichConfig.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,88 +1,46 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox * @author Arne Blankerts * @copyright Arne Blankerts , All rights reserved. * @license BSD License - * */ - -namespace TheSeer\phpDox { - - use TheSeer\fDOM\fDOMElement; +class EnrichConfig { + /** + * @var fDOMElement + */ + private $ctx; /** - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License + * @var GeneratorConfig */ - class EnrichConfig { + private $generator; + + public function __construct(GeneratorConfig $generator, fDOMElement $ctx) { + $this->generator = $generator; + $this->ctx = $ctx; + } + + public function getGeneratorConfig() { + return $this->generator; + } - /** - * @var fDOMElement - */ - private $ctx; - - /** - * @var GeneratorConfig - */ - private $generator; - - public function __construct(GeneratorConfig $generator, fDOMElement $ctx) { - $this->generator = $generator; - $this->ctx = $ctx; - } - - public function getGeneratorConfig() { - return $this->generator; - } - - public function getEnrichNode() { - return $this->ctx; - } - - public function getProjectNode() { - return $this->ctx->parentNode->parentNode; - } - - public function getType() { - return $this->ctx->getAttribute('type'); - } - - public function getVersion() { - return $this->getGeneratorConfig()->getProjectConfig()->getVersion(); - } + public function getEnrichNode() { + return $this->ctx; + } + public function getProjectNode() { + return $this->ctx->parentNode->parentNode; } + public function getType() { + return $this->ctx->getAttribute('type'); + } + + public function getVersion() { + return $this->getGeneratorConfig()->getProjectConfig()->getVersion(); + } } diff -Nru phpdox-0.11.2/src/config/GeneratorConfigException.php phpdox-0.12.0/src/config/GeneratorConfigException.php --- phpdox-0.11.2/src/config/GeneratorConfigException.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/config/GeneratorConfigException.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,10 +1,6 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ - -namespace TheSeer\phpDox { - - use TheSeer\fDOM\fDOMElement; - - class GeneratorConfig { - - /** - * @var array - */ - private $builds; - - /** - * @var array - */ - private $enrichers; - - /** - * @var fDOMElement - */ - private $ctx; - - /** - * @var ProjectConfig - */ - private $project; - - public function __construct(ProjectConfig $project, fDOMElement $ctx) { - $this->project = $project; - $this->ctx = $ctx; - } +project; - } +use TheSeer\fDOM\fDOMElement; + +class GeneratorConfig { + /** + * @var array + */ + private $builds; + + /** + * @var array + */ + private $enrichers; + + /** + * @var fDOMElement + */ + private $ctx; + + /** + * @var ProjectConfig + */ + private $project; + + public function __construct(ProjectConfig $project, fDOMElement $ctx) { + $this->project = $project; + $this->ctx = $ctx; + } + + public function getProjectConfig() { + return $this->project; + } - public function getActiveBuilds() { - if (!is_array($this->builds)) { - $this->builds = array(); - foreach($this->ctx->query('cfg:build[@engine and (not(@enabled) or @enabled="true")]') as $ctx) { - $this->builds[] = new BuildConfig($this, $ctx); - } + public function getActiveBuilds() { + if (!\is_array($this->builds)) { + $this->builds = []; + + foreach ($this->ctx->query('cfg:build[@engine and (not(@enabled) or @enabled="true")]') as $ctx) { + $this->builds[] = new BuildConfig($this, $ctx); } - return $this->builds; } - public function getRequiredEngines() { - $engines = array(); - foreach($this->getActiveBuilds() as $build) { - $engines[] = $build->getEngine(); - } - return array_unique($engines); + return $this->builds; + } + + public function getRequiredEngines() { + $engines = []; + + foreach ($this->getActiveBuilds() as $build) { + $engines[] = $build->getEngine(); } - public function getRequiredEnrichers() { - $enrichers = array(); - foreach($this->getActiveEnrichSources() as $source) { - $enrichers[] = $source->getType(); - } - return array_unique($enrichers); + return \array_unique($engines); + } + + public function getRequiredEnrichers() { + $enrichers = []; + + foreach ($this->getActiveEnrichSources() as $source) { + $enrichers[] = $source->getType(); } - public function getActiveEnrichSources() { - if (!is_array($this->enrichers)) { - $this->enrichers = array(); - foreach($this->ctx->query('cfg:enrich/cfg:source[@type and (not(@enabled) or @enabled="true")]') as $ctx) { - $this->enrichers[$ctx->getAttribute('type')] = new EnrichConfig($this, $ctx); - } - if (!isset($this->enrichers['build'])) { - $ctx = $this->ctx->ownerDocument->createElementNS('http://xml.phpdox.net/config', 'source'); - $ctx->setAttribute('type', 'build'); - $this->enrichers['build'] = new EnrichConfig($this, $ctx); - } + return \array_unique($enrichers); + } + + public function getActiveEnrichSources() { + if (!\is_array($this->enrichers)) { + $this->enrichers = []; + + foreach ($this->ctx->query('cfg:enrich/cfg:source[@type and (not(@enabled) or @enabled="true")]') as $ctx) { + $this->enrichers[$ctx->getAttribute('type')] = new EnrichConfig($this, $ctx); + } + + if (!isset($this->enrichers['build'])) { + $ctx = $this->ctx->ownerDocument->createElementNS('http://xml.phpdox.net/config', 'source'); + $ctx->setAttribute('type', 'build'); + $this->enrichers['build'] = new EnrichConfig($this, $ctx); } - return $this->enrichers; } - } + return $this->enrichers; + } } diff -Nru phpdox-0.11.2/src/config/GlobalConfig.php phpdox-0.12.0/src/config/GlobalConfig.php --- phpdox-0.11.2/src/config/GlobalConfig.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/config/GlobalConfig.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,192 +1,148 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ - -namespace TheSeer\phpDox { - - use TheSeer\fDOM\fDOMDocument; - - class GlobalConfig { - - /** - * @var Version - */ - private $version; - - /** - * Directory of phpDox home - * @var Fileinfo - */ - private $homeDir; - - /** - * @var fDOMDocument - */ - private $cfg; - - /** - * File this config is based on - * @var FileInfo - */ - private $file; - - /** - * Constructor for global config - * - * @param Version $version - * @param FileInfo $home - * @param fDOMDocument $cfg A configuration dom - * @param FileInfo $file FileInfo of the cfg file - * - * @throws ConfigException - */ - public function __construct(Version $version, FileInfo $home, fDOMDocument $cfg, FileInfo $file) { - if ($cfg->documentElement->nodeName != 'phpdox' || - $cfg->documentElement->namespaceURI != 'http://xml.phpdox.net/config') { - throw new ConfigException("Not a valid phpDox configuration", ConfigException::InvalidDataStructure); - } - $this->homeDir = $home; - $this->version = $version; - $this->cfg = $cfg; - $this->file = $file; - } - - /** - * @return FileInfo - */ - public function getConfigFile() { - return $this->file; - } - - /** - * @return bool - */ - public function isSilentMode() { - $root = $this->cfg->queryOne('/cfg:phpdox'); - return $root->getAttribute('silent', 'false') === 'true'; - } - - /** - * @return FileInfoCollection - */ - public function getCustomBootstrapFiles() { - $files = new FileInfoCollection(); - foreach($this->cfg->query('//cfg:bootstrap/cfg:require[@file]') as $require) { - $files->add(new FileInfo($require->getAttribute('file'))) ; - } - return $files; +documentElement->nodeName != 'phpdox' || + $cfg->documentElement->namespaceURI != 'http://xml.phpdox.net/config') { + throw new ConfigException('Not a valid phpDox configuration', ConfigException::InvalidDataStructure); + } + $this->homeDir = $home; + $this->version = $version; + $this->cfg = $cfg; + $this->file = $file; + } + + public function getConfigFile(): FileInfo { + return $this->file; + } + + public function isSilentMode(): bool { + $root = $this->cfg->queryOne('/cfg:phpdox'); + + return $root->getAttribute('silent', 'false') === 'true'; + } + + public function getCustomBootstrapFiles(): FileInfoCollection { + $files = new FileInfoCollection(); + + foreach ($this->cfg->query('//cfg:bootstrap/cfg:require[@file]') as $require) { + $files->add(new FileInfo($require->getAttribute('file'))); } - /** - * @return array - */ - public function getProjects() { - $list = array(); - foreach ($this->cfg->query('//cfg:project[@enabled="true" or not(@enabled)]') as $pos => $project) { - $list[$project->getAttribute('name', $pos)] = new ProjectConfig($this->version, $this->homeDir, $this->runResolver($project)); - } - return $list; + return $files; + } + + public function getProjects(): array { + $list = []; + + foreach ($this->cfg->query('//cfg:project[@enabled="true" or not(@enabled)]') as $pos => $project) { + $list[$project->getAttribute('name', $pos)] = new ProjectConfig($this->version, $this->homeDir, $this->runResolver($project)); } - /** - * @param $ctx - * - * @return mixed - * @throws ConfigException - */ - private function runResolver($ctx) { - $vars = array( - 'basedir' => $ctx->getAttribute('basedir', dirname($this->file->getRealPath())), - - 'phpDox.home' => $this->homeDir->getPathname(), - 'phpDox.file' => $this->file->getPathname(), - 'phpDox.version' => $this->version->getVersion(), - - 'phpDox.project.name' => $ctx->getAttribute('name', 'unnamed'), - 'phpDox.project.source' => $ctx->getAttribute('source', 'src'), - 'phpDox.project.workdir' => $ctx->getAttribute('workdir', 'xml'), - - 'phpDox.php.version' => PHP_VERSION, - - ); - $protected = array_keys($vars); - - foreach($ctx->query('cfg:property|/cfg:phpdox/cfg:property') as $property) { - /** @var $property \DOMElement */ - $name = $property->getAttribute('name'); - $line = $property->getLineNo(); + return $list; + } - if (in_array($name, $protected)) { - throw new ConfigException("Cannot overwrite system property in line $line", ConfigException::OverrideNotAllowed); - } - if (isset($vars[$name])) { - throw new ConfigException("Cannot overwrite existing property '$name' in line $line", ConfigException::OverrideNotAllowed); - } - $vars[$name] = $this->resolveValue($property->getAttribute('value'), $vars, $line); - } + /** + * @param $ctx + * + * @throws ConfigException + */ + private function runResolver($ctx) { + $vars = [ + 'basedir' => $ctx->getAttribute('basedir', \dirname($this->file->getRealPath())), + + 'phpDox.home' => $this->homeDir->getPathname(), + 'phpDox.file' => $this->file->getPathname(), + 'phpDox.version' => $this->version->getVersion(), + + 'phpDox.project.name' => $ctx->getAttribute('name', 'unnamed'), + 'phpDox.project.source' => $ctx->getAttribute('source', 'src'), + 'phpDox.project.workdir' => $ctx->getAttribute('workdir', 'xml'), + + 'phpDox.php.version' => \PHP_VERSION, + + ]; + $protected = \array_keys($vars); + + foreach ($ctx->query('cfg:property|/cfg:phpdox/cfg:property') as $property) { + /** @var $property \DOMElement */ + $name = $property->getAttribute('name'); + $line = $property->getLineNo(); - foreach($ctx->query('.//*[not(name()="property")]/@*|@*') as $attr) { - $attr->nodeValue = $this->resolveValue($attr->nodeValue, $vars, $attr->getLineNo()); + if (\in_array($name, $protected)) { + throw new ConfigException("Cannot overwrite system property in line $line", ConfigException::OverrideNotAllowed); } - return $ctx; + if (isset($vars[$name])) { + throw new ConfigException("Cannot overwrite existing property '$name' in line $line", ConfigException::OverrideNotAllowed); + } + $vars[$name] = $this->resolveValue($property->getAttribute('value'), $vars, $line); } - /** - * @param string $value - * @param string[] $vars - * @param int $line - * - * @return string - */ - private function resolveValue($value, Array $vars, $line) { - $result = preg_replace_callback('/\${(.*?)}/', - function($matches) use ($vars, $line) { - if (!isset($vars[$matches[1]])) { - throw new ConfigException("No value for property '{$matches[1]}' found in line $line", ConfigException::PropertyNotFound); - } - return $vars[$matches[1]]; - }, $value); - if (preg_match('/\${(.*?)}/', $result)) { - $result = $this->resolveValue($result, $vars, $line); - } - return $result; + foreach ($ctx->query('.//*[not(name()="property")]/@*|@*') as $attr) { + $attr->nodeValue = $this->resolveValue($attr->nodeValue, $vars, $attr->getLineNo()); } + return $ctx; } + /** + * @param string $value + * @param string[] $vars + * @param int $line + */ + private function resolveValue($value, array $vars, $line): string { + $result = \preg_replace_callback( + '/\${(.*?)}/', + function ($matches) use ($vars, $line) { + if (!isset($vars[$matches[1]])) { + throw new ConfigException("No value for property '{$matches[1]}' found in line $line", ConfigException::PropertyNotFound); + } + + return $vars[$matches[1]]; + }, + $value + ); + + if (\preg_match('/\${(.*?)}/', $result)) { + $result = $this->resolveValue($result, $vars, $line); + } + + return $result; + } } diff -Nru phpdox-0.11.2/src/config/InheritanceConfig.php phpdox-0.12.0/src/config/InheritanceConfig.php --- phpdox-0.11.2/src/config/InheritanceConfig.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/config/InheritanceConfig.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,77 +1,37 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ - -namespace TheSeer\phpDox { - - use TheSeer\fDOM\fDOMElement; - - class InheritanceConfig { - - protected $ctx; - protected $config; - - public function __construct(CollectorConfig $config, fDOMElement $ctx = NULL) { - $this->config = $config; - $this->ctx = $ctx; - } +config->isPublicOnlyMode(); + public function __construct(CollectorConfig $config, fDOMElement $ctx = null) { + $this->config = $config; + $this->ctx = $ctx; + } + + public function isPublicOnlyMode() { + return $this->config->isPublicOnlyMode(); + } + + public function getDependencyDirectories(): array { + $home = $this->config->getProjectConfig()->getHomeDirectory(); + $default = new FileInfo($home->getPathname() . '/dependencies/php'); + $list = [$default]; + + if (!$this->ctx) { + return $list; } - /** - * @return array - */ - public function getDependencyDirectories() { - $home = $this->config->getProjectConfig()->getHomeDirectory(); - $default = new FileInfo($home->getPathname() . '/dependencies/php'); - $list = array($default); - if (!$this->ctx) { - return $list; + foreach ($this->ctx->query('cfg:dependency') as $dep) { + if ($dep->hasAttribute('path')) { + $list[] = new FileInfo($dep->getAttribute('path')); } - foreach($this->ctx->query('cfg:dependency') as $dep) { - if ($dep->hasAttribute('path')) { - $list[] = new FileInfo($dep->getAttribute('path')); - } - } - return $list; } + return $list; } - } diff -Nru phpdox-0.11.2/src/config/ProjectConfig.php phpdox-0.12.0/src/config/ProjectConfig.php --- phpdox-0.11.2/src/config/ProjectConfig.php 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/config/ProjectConfig.php 2019-03-13 09:34:17.000000000 +0000 @@ -1,132 +1,78 @@ - - * 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. - * - * * Neither the name of Arne Blankerts nor the names of contributors - * may 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 HOLDER ORCONTRIBUTORS - * 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. - * - * @package phpDox - * @author Arne Blankerts - * @copyright Arne Blankerts , All rights reserved. - * @license BSD License - * - */ - -namespace TheSeer\phpDox { - - use TheSeer\fDOM\fDOMElement; - - class ProjectConfig { - - /** - * @var Version - */ - private $version; - - /** - * @var fDOMElement; - */ - private $ctx; - - /** - * @var FileInfo - */ - private $homeDir; - - /** - * Constructor for global config - * - * @param fDOMElement $ctx Reference to node - */ - public function __construct(Version $version, FileInfo $homeDir, fDOMElement $ctx) { - $this->version = $version; - $this->homeDir = $homeDir; - $this->ctx = $ctx; - } +version; - } +use TheSeer\fDOM\fDOMElement; - /** - * @return Fileinfo - */ - public function getHomeDirectory() { - return $this->homeDir; - } +class ProjectConfig { + /** + * @var Version + */ + private $version; + + /** + * @var fDOMElement; + */ + private $ctx; + + /** + * @var FileInfo + */ + private $homeDir; + + /** + * Constructor for global config + * + * @param fDOMElement $ctx Reference to node + */ + public function __construct(Version $version, FileInfo $homeDir, fDOMElement $ctx) { + $this->version = $version; + $this->homeDir = $homeDir; + $this->ctx = $ctx; + } - /** - * @return FileInfo - */ - public function getWorkDirectory() { - return new FileInfo($this->ctx->getAttribute('workdir', 'xml')); - } + public function getVersion(): Version { + return $this->version; + } - /** - * @return FileInfo - */ - public function getSourceDirectory() { - return new FileInfo($this->ctx->getAttribute('source', 'src')); - } + public function getHomeDirectory(): Fileinfo { + return $this->homeDir; + } - /** - * @return bool - */ - public function isPublicOnlyMode() { - return $this->ctx->getAttribute('publiconly', 'false') === 'true'; - } + public function getWorkDirectory(): FileInfo { + return new FileInfo($this->ctx->getAttribute('workdir', 'xml')); + } - /** - * @return CollectorConfig - * @throws ConfigException - */ - public function getCollectorConfig() { - $colNode = $this->ctx->queryOne('cfg:collector'); - if (!$colNode) { - throw new ConfigException("Project does not have a collector section", ConfigException::NoCollectorSection); - } - return new CollectorConfig($this, $colNode); - } + public function getSourceDirectory(): FileInfo { + return new FileInfo($this->ctx->getAttribute('source', 'src')); + } + + public function isPublicOnlyMode(): bool { + return $this->ctx->getAttribute('publiconly', 'false') === 'true'; + } + + /** + * @throws ConfigException + */ + public function getCollectorConfig(): CollectorConfig { + $colNode = $this->ctx->queryOne('cfg:collector'); - /** - * @return GeneratorConfig - * @throws ConfigException - */ - public function getGeneratorConfig() { - $genNode = $this->ctx->queryOne('cfg:generator'); - if (!$genNode) { - throw new ConfigException("Project does not have a generator section", ConfigException::NoGeneratorSection); - } - return new GeneratorConfig($this, $genNode); + if (!$colNode) { + throw new ConfigException('Project does not have a collector section', ConfigException::NoCollectorSection); } + return new CollectorConfig($this, $colNode); } + /** + * @throws ConfigException + */ + public function getGeneratorConfig(): GeneratorConfig { + $genNode = $this->ctx->queryOne('cfg:generator'); + + if (!$genNode) { + throw new ConfigException('Project does not have a generator section', ConfigException::NoGeneratorSection); + } + + return new GeneratorConfig($this, $genNode); + } } diff -Nru phpdox-0.11.2/src/config/skeleton.xml phpdox-0.12.0/src/config/skeleton.xml --- phpdox-0.11.2/src/config/skeleton.xml 2018-05-22 16:43:30.000000000 +0000 +++ phpdox-0.12.0/src/config/skeleton.xml 2019-03-13 09:34:17.000000000 +0000 @@ -6,7 +6,7 @@ - + @@ -42,8 +42,8 @@ - - + + @@ -102,8 +102,8 @@ - - + + -