Compare commits

..
15 Commits
Author SHA1 Message Date
Barry vd. Heuvel 64165bd4ba Merge pull request #1 from JeppeKnockaert/allow-deleting-tags-in-docblocks
Allow deleting tags in DocBlocks
2018-10-25 21:09:52 +02:00
Jeppe Knockaert 9b08619fbd Allow deleting tags in DocBlocks 2018-10-23 15:38:27 +02:00
Barry vd. Heuvel 3dcbd98b5d Update namespace 2016-06-13 21:28:20 +02:00
Barry vd. Heuvel d411a2bc7e Merge branch 'release/2.x' of https://github.com/phpDocumentor/ReflectionDocBlock 2016-06-13 21:28:05 +02:00
Mike van Riel e6a969a640 Merge pull request #67 from mbed67/fix-bug-in-collection
fix for bug #1672 in phpDocumentor2
2016-01-25 09:17:30 +01:00
Marieke Bednarczyk 708c2c9253 fix for bug #1672 in phpDocumentor2
When dealing with inline @see or @link tags and having a relative method or property type
like LinkDescriptor::setLink() and a namespace alias like phpDocumentor\Descriptor\Tag\LinkDescriptor
Collection::expand() was checking if LinkDescriptor::setLink() could be found in the namespace aliases.
This would never be true.
In this fix, the method or type (for instance ::setLink()) part is removed for comparison
and later re-added when generating the full name
2015-12-13 15:52:57 +01:00
Barry vd. Heuvel fd9e6bd26d Move around 2013-06-08 23:04:47 +02:00
Barry vd. Heuvel d5e4b2ec73 Also check if it is not already absolute 2013-06-08 23:02:34 +02:00
Barry vd. Heuvel bae8be0dcd Test for false relative paths
Closure -> \Closure etc
2013-06-08 22:53:54 +02:00
Barry vd. Heuvel 3a5d30e027 Use parsed types for content 2013-06-08 22:37:52 +02:00
Barry vd. Heuvel d2414cd3dc Add setType and addType 2013-06-08 22:37:36 +02:00
Barry vd. Heuvel 070b13745a Correct namespace 2013-06-08 12:58:42 +02:00
Barry vd. Heuvel df7807cd73 Add markdown to suggest instead of require 2013-06-08 12:52:45 +02:00
Barry vd. Heuvel b07e3c36b7 Change namespace 2013-06-08 12:45:35 +02:00
Barry vd. Heuvel 163dd7877e Add __toString() methods for Description and Tag
And let the Serializer make use of the (string) $tag
2013-06-08 12:40:01 +02:00
53 changed files with 1386 additions and 746 deletions
-1
View File
@@ -1,3 +1,2 @@
.idea
composer.lock
vendor
-45
View File
@@ -1,45 +0,0 @@
before_commands:
- "composer install --no-dev --prefer-source"
tools:
external_code_coverage:
enabled: false
timeout: 300
filter:
excluded_paths: ["tests", "vendor"]
php_code_coverage:
enabled: false
test_command: phpunit -c phpunit.xml.dist
php_code_sniffer:
enabled: true
config:
standard: PSR2
filter:
paths: ["src/*", "tests/*"]
php_cpd:
enabled: true
excluded_dirs: ["tests", "vendor"]
php_cs_fixer:
enabled: true
config:
level: all
filter:
paths: ["src/*", "tests/*"]
php_loc:
enabled: true
excluded_dirs: ["tests", "vendor"]
php_mess_detector:
enabled: true
config:
ruleset: phpmd.xml.dist
design_rules: { eval_expression: false }
filter:
paths: ["src/*"]
php_pdepend:
enabled: true
excluded_dirs: ["tests", "vendor"]
php_analyzer:
enabled: true
filter:
paths: ["src/*", "tests/*"]
sensiolabs_security_checker: true
-1
View File
@@ -5,7 +5,6 @@ php:
- 5.4
- 5.5
- 5.6
- 7.0
- hhvm
- hhvm-nightly
+5 -5
View File
@@ -1,5 +1,5 @@
{
"name": "phpdocumentor/reflection-docblock",
"name": "barryvdh/reflection-docblock",
"type": "library",
"license": "MIT",
"authors": [
@@ -9,14 +9,14 @@
"php": ">=5.3.3"
},
"autoload": {
"psr-0": {"phpDocumentor": ["src/"]}
"psr-0": {"Barryvdh": ["src/"]}
},
"require-dev": {
"phpunit/phpunit": "~4.0"
"phpunit/phpunit": "~4.0,<4.5"
},
"suggest": {
"erusev/parsedown": "~1.0",
"league/commonmark": "*"
"dflydev/markdown": "~1.0",
"erusev/parsedown": "~1.0"
},
"extra": {
"branch-alias": {
Generated
+864
View File
@@ -0,0 +1,864 @@
{
"_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",
"This file is @generated automatically"
],
"hash": "deff4b2e029043b60cdbe896c5b18d6d",
"content-hash": "7b23fd3607c50c95f9d65e81785cf289",
"packages": [],
"packages-dev": [
{
"name": "doctrine/instantiator",
"version": "1.0.5",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
"shasum": ""
},
"require": {
"php": ">=5.3,<8.0-DEV"
},
"require-dev": {
"athletic/athletic": "~0.1.8",
"ext-pdo": "*",
"ext-phar": "*",
"phpunit/phpunit": "~4.0",
"squizlabs/php_codesniffer": "~2.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "[email protected]",
"homepage": "http://ocramius.github.com/"
}
],
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
"homepage": "https://github.com/doctrine/instantiator",
"keywords": [
"constructor",
"instantiate"
],
"time": "2015-06-14 21:17:01"
},
{
"name": "phpunit/php-code-coverage",
"version": "2.2.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
"reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"phpunit/php-file-iterator": "~1.3",
"phpunit/php-text-template": "~1.2",
"phpunit/php-token-stream": "~1.3",
"sebastian/environment": "^1.3.2",
"sebastian/version": "~1.0"
},
"require-dev": {
"ext-xdebug": ">=2.1.4",
"phpunit/phpunit": "~4"
},
"suggest": {
"ext-dom": "*",
"ext-xdebug": ">=2.2.1",
"ext-xmlwriter": "*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.2.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
"homepage": "https://github.com/sebastianbergmann/php-code-coverage",
"keywords": [
"coverage",
"testing",
"xunit"
],
"time": "2015-10-06 15:47:00"
},
{
"name": "phpunit/php-file-iterator",
"version": "1.3.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "acd690379117b042d1c8af1fafd61bde001bf6bb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb",
"reference": "acd690379117b042d1c8af1fafd61bde001bf6bb",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"autoload": {
"classmap": [
"File/"
]
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
""
],
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
"homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
"keywords": [
"filesystem",
"iterator"
],
"time": "2013-10-10 15:34:57"
},
{
"name": "phpunit/php-text-template",
"version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
"reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
"reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "Simple template engine.",
"homepage": "https://github.com/sebastianbergmann/php-text-template/",
"keywords": [
"template"
],
"time": "2015-06-21 13:50:34"
},
{
"name": "phpunit/php-timer",
"version": "1.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
"reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260",
"reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4|~5"
},
"type": "library",
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "Utility class for timing",
"homepage": "https://github.com/sebastianbergmann/php-timer/",
"keywords": [
"timer"
],
"time": "2016-05-12 18:03:57"
},
{
"name": "phpunit/php-token-stream",
"version": "1.4.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
"reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
"reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.4-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
}
],
"description": "Wrapper around PHP's tokenizer extension.",
"homepage": "https://github.com/sebastianbergmann/php-token-stream/",
"keywords": [
"tokenizer"
],
"time": "2015-09-15 10:49:45"
},
{
"name": "phpunit/phpunit",
"version": "4.4.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "2e8580deebb7d1ac92ac878595e6bffe01069c2a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2e8580deebb7d1ac92ac878595e6bffe01069c2a",
"reference": "2e8580deebb7d1ac92ac878595e6bffe01069c2a",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-json": "*",
"ext-pcre": "*",
"ext-reflection": "*",
"ext-spl": "*",
"php": ">=5.3.3",
"phpunit/php-code-coverage": "~2.0",
"phpunit/php-file-iterator": "~1.3.2",
"phpunit/php-text-template": "~1.2",
"phpunit/php-timer": "~1.0.2",
"phpunit/phpunit-mock-objects": "~2.3",
"sebastian/comparator": "~1.0",
"sebastian/diff": "~1.1",
"sebastian/environment": "~1.1",
"sebastian/exporter": "~1.1",
"sebastian/global-state": "~1.0",
"sebastian/recursion-context": "~1.0",
"sebastian/version": "~1.0",
"symfony/yaml": "~2.0"
},
"suggest": {
"phpunit/php-invoker": "~1.1"
},
"bin": [
"phpunit"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.4.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "The PHP Unit Testing framework.",
"homepage": "https://phpunit.de/",
"keywords": [
"phpunit",
"testing",
"xunit"
],
"time": "2015-01-27 16:06:15"
},
{
"name": "phpunit/phpunit-mock-objects",
"version": "2.3.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
"reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
"reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.0.2",
"php": ">=5.3.3",
"phpunit/php-text-template": "~1.2",
"sebastian/exporter": "~1.2"
},
"require-dev": {
"phpunit/phpunit": "~4.4"
},
"suggest": {
"ext-soap": "*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.3.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "Mock Object library for PHPUnit",
"homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
"keywords": [
"mock",
"xunit"
],
"time": "2015-10-02 06:51:40"
},
{
"name": "sebastian/comparator",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "937efb279bd37a375bcadf584dec0726f84dbf22"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22",
"reference": "937efb279bd37a375bcadf584dec0726f84dbf22",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"sebastian/diff": "~1.2",
"sebastian/exporter": "~1.2"
},
"require-dev": {
"phpunit/phpunit": "~4.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Jeff Welch",
"email": "[email protected]"
},
{
"name": "Volker Dusch",
"email": "[email protected]"
},
{
"name": "Bernhard Schussek",
"email": "[email protected]"
},
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
}
],
"description": "Provides the functionality to compare PHP values for equality",
"homepage": "http://www.github.com/sebastianbergmann/comparator",
"keywords": [
"comparator",
"compare",
"equality"
],
"time": "2015-07-26 15:48:44"
},
{
"name": "sebastian/diff",
"version": "1.4.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
"reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
"reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.8"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.4-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Kore Nordmann",
"email": "[email protected]"
},
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
}
],
"description": "Diff implementation",
"homepage": "https://github.com/sebastianbergmann/diff",
"keywords": [
"diff"
],
"time": "2015-12-08 07:14:41"
},
{
"name": "sebastian/environment",
"version": "1.3.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
"reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716",
"reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
}
],
"description": "Provides functionality to handle HHVM/PHP environments",
"homepage": "http://www.github.com/sebastianbergmann/environment",
"keywords": [
"Xdebug",
"environment",
"hhvm"
],
"time": "2016-05-17 03:18:57"
},
{
"name": "sebastian/exporter",
"version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "7ae5513327cb536431847bcc0c10edba2701064e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e",
"reference": "7ae5513327cb536431847bcc0c10edba2701064e",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"sebastian/recursion-context": "~1.0"
},
"require-dev": {
"phpunit/phpunit": "~4.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Jeff Welch",
"email": "[email protected]"
},
{
"name": "Volker Dusch",
"email": "[email protected]"
},
{
"name": "Bernhard Schussek",
"email": "[email protected]"
},
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
},
{
"name": "Adam Harvey",
"email": "[email protected]"
}
],
"description": "Provides the functionality to export PHP variables for visualization",
"homepage": "http://www.github.com/sebastianbergmann/exporter",
"keywords": [
"export",
"exporter"
],
"time": "2015-06-21 07:55:53"
},
{
"name": "sebastian/global-state",
"version": "1.1.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
"reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
"reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.2"
},
"suggest": {
"ext-uopz": "*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
}
],
"description": "Snapshotting of global state",
"homepage": "http://www.github.com/sebastianbergmann/global-state",
"keywords": [
"global state"
],
"time": "2015-10-12 03:26:01"
},
{
"name": "sebastian/recursion-context",
"version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "913401df809e99e4f47b27cdd781f4a258d58791"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791",
"reference": "913401df809e99e4f47b27cdd781f4a258d58791",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Jeff Welch",
"email": "[email protected]"
},
{
"name": "Sebastian Bergmann",
"email": "[email protected]"
},
{
"name": "Adam Harvey",
"email": "[email protected]"
}
],
"description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
"time": "2015-11-11 19:50:13"
},
{
"name": "sebastian/version",
"version": "1.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
"reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
"reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
"shasum": ""
},
"type": "library",
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "[email protected]",
"role": "lead"
}
],
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
"homepage": "https://github.com/sebastianbergmann/version",
"time": "2015-06-21 13:59:46"
},
{
"name": "symfony/yaml",
"version": "v2.8.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "815fabf3f48c7d1df345a69d1ad1a88f59757b34"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/815fabf3f48c7d1df345a69d1ad1a88f59757b34",
"reference": "815fabf3f48c7d1df345a69d1ad1a88f59757b34",
"shasum": ""
},
"require": {
"php": ">=5.3.9"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.8-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\Yaml\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "[email protected]"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
"time": "2016-06-06 11:11:27"
}
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
"php": ">=5.3.3"
},
"platform-dev": []
}
-23
View File
@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<ruleset
name="ProxyManager rules"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd"
>
<rule ref="rulesets/codesize.xml"/>
<rule ref="rulesets/unusedcode.xml"/>
<rule ref="rulesets/design.xml">
<!-- eval is needed to generate runtime classes -->
<exclude name="EvalExpression"/>
</rule>
<rule ref="rulesets/naming.xml">
<exclude name="LongVariable"/>
</rule>
<rule ref="rulesets/naming.xml/LongVariable">
<properties>
<property name="minimum">40</property>
</properties>
</rule>
</ruleset>
@@ -10,11 +10,11 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection;
namespace Barryvdh\Reflection;
use phpDocumentor\Reflection\DocBlock\Tag;
use phpDocumentor\Reflection\DocBlock\Context;
use phpDocumentor\Reflection\DocBlock\Location;
use Barryvdh\Reflection\DocBlock\Tag;
use Barryvdh\Reflection\DocBlock\Context;
use Barryvdh\Reflection\DocBlock\Location;
/**
* Parses the DocBlock for any structure.
@@ -57,14 +57,17 @@ class DocBlock implements \Reflector
*
* The constructor may also receive namespace information such as the
* current namespace and aliases. This information is used by some tags
* (e.g. return, param, etc.) to turn a relative Type into a FQCN.
* (e.g. @return, @param, etc.) to turn a relative Type into a FQCN.
*
* @param \Reflector|string $docblock A docblock comment (including asterisks) or reflector supporting the
* @param \Reflector|string $docblock A docblock comment (including
* asterisks) or reflector supporting the getDocComment method.
* @param Context $context The context in which the DocBlock
* occurs.
* @param Location $location The location within the file that this
* DocBlock occurs in.
*
* @throws \InvalidArgumentException if the given argument does not have the
* getDocComment method.
* @param Context $context The context in which the DocBlock occurs.
* @param Location $location The location within the file that this DocBlock occurs in.
*
* @throws \InvalidArgumentException if the given argument does not have the getDocComment method.
*/
public function __construct(
$docblock,
@@ -74,7 +77,8 @@ class DocBlock implements \Reflector
if (is_object($docblock)) {
if (!method_exists($docblock, 'getDocComment')) {
throw new \InvalidArgumentException(
'Invalid object passed; the given reflector must support the getDocComment method'
'Invalid object passed; the given reflector must support '
. 'the getDocComment method'
);
}
@@ -262,13 +266,14 @@ class DocBlock implements \Reflector
}
/**
* Set the text portion of the DocBlock.
* Set the text portion of the doc block.
*
* Sets the text portion (short and long description combined) of the DocBlock.
* Sets the text portion (short and long description combined) of the doc
* block.
*
* @param string $comment The new text portion of the DocBlock.
* @param string $docblock The new text portion of the doc block.
*
* @return $this
* @return $this This doc block.
*/
public function setText($comment)
{
@@ -434,6 +439,23 @@ class DocBlock implements \Reflector
return $tag;
}
/**
* Deletes a tag from the list of tags.
*
* @param Tag $tag The tag to be deleted.
*
* @return bool True if the tag was deleted.
*/
public function deleteTag(Tag $tag)
{
if (($key = array_search($tag, $this->tags)) !== false) {
unset($this->tags[$key]);
return true;
}
return false;
}
/**
* Builds a string representation of this object.
@@ -0,0 +1,154 @@
<?php
/**
* phpDocumentor
*
* PHP Version 5.3
*
* @author Vasil Rangelov <[email protected]>
* @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
* @license http://www.opensource.org/licenses/mit-license.php MIT
* @link http://phpdoc.org
*/
namespace Barryvdh\Reflection\DocBlock;
/**
* The context in which a DocBlock occurs.
*
* @author Vasil Rangelov <[email protected]>
* @license http://www.opensource.org/licenses/mit-license.php MIT
* @link http://phpdoc.org
*/
class Context
{
/** @var string The current namespace. */
protected $namespace = '';
/** @var array List of namespace aliases => Fully Qualified Namespace. */
protected $namespace_aliases = array();
/** @var string Name of the structural element, within the namespace. */
protected $lsen = '';
/**
* Cteates a new context.
* @param string $namespace The namespace where this DocBlock
* resides in.
* @param array $namespace_aliases List of namespace aliases => Fully
* Qualified Namespace.
* @param string $lsen Name of the structural element, within
* the namespace.
*/
public function __construct(
$namespace = '',
array $namespace_aliases = array(),
$lsen = ''
) {
if (!empty($namespace)) {
$this->setNamespace($namespace);
}
$this->setNamespaceAliases($namespace_aliases);
$this->setLSEN($lsen);
}
/**
* @return string The namespace where this DocBlock resides in.
*/
public function getNamespace()
{
return $this->namespace;
}
/**
* @return array List of namespace aliases => Fully Qualified Namespace.
*/
public function getNamespaceAliases()
{
return $this->namespace_aliases;
}
/**
* Returns the Local Structural Element Name.
*
* @return string Name of the structural element, within the namespace.
*/
public function getLSEN()
{
return $this->lsen;
}
/**
* Sets a new namespace.
*
* Sets a new namespace for the context. Leading and trailing slashes are
* trimmed, and the keywords "global" and "default" are treated as aliases
* to no namespace.
*
* @param string $namespace The new namespace to set.
*
* @return $this
*/
public function setNamespace($namespace)
{
if ('global' !== $namespace
&& 'default' !== $namespace
) {
// Srip leading and trailing slash
$this->namespace = trim((string)$namespace, '\\');
} else {
$this->namespace = '';
}
return $this;
}
/**
* Sets the namespace aliases, replacing all previous ones.
*
* @param array $namespace_aliases List of namespace aliases => Fully
* Qualified Namespace.
*
* @return $this
*/
public function setNamespaceAliases(array $namespace_aliases)
{
$this->namespace_aliases = array();
foreach ($namespace_aliases as $alias => $fqnn) {
$this->setNamespaceAlias($alias, $fqnn);
}
return $this;
}
/**
* Adds a namespace alias to the context.
*
* @param string $alias The alias name (the part after "as", or the last
* part of the Fully Qualified Namespace Name) to add.
* @param string $fqnn The Fully Qualified Namespace Name for this alias.
* Any form of leading/trailing slashes are accepted, but what will be
* stored is a name, prefixed with a slash, and no trailing slash.
*
* @return $this
*/
public function setNamespaceAlias($alias, $fqnn)
{
$this->namespace_aliases[$alias] = '\\' . trim((string)$fqnn, '\\');
return $this;
}
/**
* Sets a new Local Structural Element Name.
*
* Sets a new Local Structural Element Name. A local name also contains
* punctuation determining the kind of structural element (e.g. trailing "("
* and ")" for functions and methods).
*
* @param string $lsen The new local name of a structural element.
*
* @return $this
*/
public function setLSEN($lsen)
{
$this->lsen = (string)$lsen;
return $this;
}
}
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock;
namespace Barryvdh\Reflection\DocBlock;
use phpDocumentor\Reflection\DocBlock;
use Barryvdh\Reflection\DocBlock;
/**
* Parses a Description of a DocBlock or tag.
@@ -26,7 +26,7 @@ class Description implements \Reflector
/** @var string */
protected $contents = '';
/** @var array|null The contents, as an array of strings and Tag objects or null if it is not parsed yet. */
/** @var array The contents, as an array of strings and Tag objects. */
protected $parsedContents = null;
/** @var DocBlock The DocBlock which this description belongs to. */
@@ -35,7 +35,7 @@ class Description implements \Reflector
/**
* Populates the fields of a description.
*
* @param string $content The description's content.
* @param string $content The description's conetnts.
* @param DocBlock $docblock The DocBlock which this description belongs to.
*/
public function __construct($content, DocBlock $docblock = null)
@@ -167,9 +167,6 @@ class Description implements \Reflector
} elseif (class_exists('dflydev\markdown\MarkdownExtraParser')) {
$markdown = new \dflydev\markdown\MarkdownExtraParser();
$result = $markdown->transformMarkdown($result);
} elseif (class_exists('League\CommonMark\CommonMarkConverter')) {
$markdown = new \League\CommonMark\CommonMarkConverter();
$result = $markdown->convertToHtml($result);
}
return trim($result);
@@ -10,7 +10,7 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock;
namespace Barryvdh\Reflection\DocBlock;
/**
* The location a DocBlock occurs within a file.
@@ -27,15 +27,15 @@ class Location
/** @var int Column where the DocBlock text starts. */
protected $columnNumber = 0;
public function __construct($lineNumber = 0, $columnNumber = 0)
{
public function __construct(
$lineNumber = 0,
$columnNumber = 0
) {
$this->setLineNumber($lineNumber)->setColumnNumber($columnNumber);
}
/**
* Returns the line number that is covered by this location.
*
* @return integer
* @return int Line where the DocBlock text starts.
*/
public function getLineNumber()
{
@@ -43,10 +43,8 @@ class Location
}
/**
* Registers which line number is covered by this location object.
*
* @param integer $lineNumber
*
*
* @param type $lineNumber
* @return $this
*/
public function setLineNumber($lineNumber)
@@ -57,9 +55,7 @@ class Location
}
/**
* Returns the column number (character position on a line) for this location object.
*
* @return integer
* @return int Column where the DocBlock text starts.
*/
public function getColumnNumber()
{
@@ -67,10 +63,8 @@ class Location
}
/**
* Registers the column number (character position on a line) for this location object.
*
* @param integer $columnNumber
*
*
* @param int $columnNumber
* @return $this
*/
public function setColumnNumber($columnNumber)
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock;
namespace Barryvdh\Reflection\DocBlock;
use phpDocumentor\Reflection\DocBlock;
use Barryvdh\Reflection\DocBlock;
/**
* Serializes a DocBlock instance.
@@ -23,6 +23,7 @@ use phpDocumentor\Reflection\DocBlock;
*/
class Serializer
{
/** @var string The string to indent the comment with. */
protected $indentString = ' ';
@@ -60,14 +61,13 @@ class Serializer
/**
* Sets the string to indent comments with.
*
* @param string $indentString The string to indent comments with.
* @param string $indentationString The string to indent comments with.
*
* @return $this This serializer object.
*/
public function setIndentationString($indentString)
{
$this->indentString = (string)$indentString;
return $this;
}
@@ -170,7 +170,6 @@ class Serializer
$indent = str_repeat($this->indentString, $this->indent);
$firstIndent = $this->isFirstLineIndented ? $indent : '';
$wrapLength = 80;
$text = $docblock->getText();
if ($this->lineLength) {
//3 === strlen(' * ')
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock;
namespace Barryvdh\Reflection\DocBlock;
use phpDocumentor\Reflection\DocBlock;
use Barryvdh\Reflection\DocBlock;
/**
* Parses a tag definition for a DocBlock.
@@ -59,43 +59,43 @@ class Tag implements \Reflector
*/
private static $tagHandlerMappings = array(
'author'
=> '\phpDocumentor\Reflection\DocBlock\Tag\AuthorTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\AuthorTag',
'covers'
=> '\phpDocumentor\Reflection\DocBlock\Tag\CoversTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\CoversTag',
'deprecated'
=> '\phpDocumentor\Reflection\DocBlock\Tag\DeprecatedTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\DeprecatedTag',
'example'
=> '\phpDocumentor\Reflection\DocBlock\Tag\ExampleTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\ExampleTag',
'link'
=> '\phpDocumentor\Reflection\DocBlock\Tag\LinkTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\LinkTag',
'method'
=> '\phpDocumentor\Reflection\DocBlock\Tag\MethodTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\MethodTag',
'param'
=> '\phpDocumentor\Reflection\DocBlock\Tag\ParamTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\ParamTag',
'property-read'
=> '\phpDocumentor\Reflection\DocBlock\Tag\PropertyReadTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\PropertyReadTag',
'property'
=> '\phpDocumentor\Reflection\DocBlock\Tag\PropertyTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\PropertyTag',
'property-write'
=> '\phpDocumentor\Reflection\DocBlock\Tag\PropertyWriteTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\PropertyWriteTag',
'return'
=> '\phpDocumentor\Reflection\DocBlock\Tag\ReturnTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\ReturnTag',
'see'
=> '\phpDocumentor\Reflection\DocBlock\Tag\SeeTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\SeeTag',
'since'
=> '\phpDocumentor\Reflection\DocBlock\Tag\SinceTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\SinceTag',
'source'
=> '\phpDocumentor\Reflection\DocBlock\Tag\SourceTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\SourceTag',
'throw'
=> '\phpDocumentor\Reflection\DocBlock\Tag\ThrowsTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\ThrowsTag',
'throws'
=> '\phpDocumentor\Reflection\DocBlock\Tag\ThrowsTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\ThrowsTag',
'uses'
=> '\phpDocumentor\Reflection\DocBlock\Tag\UsesTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\UsesTag',
'var'
=> '\phpDocumentor\Reflection\DocBlock\Tag\VarTag',
=> '\Barryvdh\Reflection\DocBlock\Tag\VarTag',
'version'
=> '\phpDocumentor\Reflection\DocBlock\Tag\VersionTag'
=> '\Barryvdh\Reflection\DocBlock\Tag\VersionTag'
);
/**
@@ -114,7 +114,15 @@ class Tag implements \Reflector
DocBlock $docblock = null,
Location $location = null
) {
$matches = self::extractTagParts($tag_line);
if (!preg_match(
'/^@(' . self::REGEX_TAGNAME . ')(?:\s*([^\s].*)|$)?/us',
$tag_line,
$matches
)) {
throw new \InvalidArgumentException(
'Invalid tag_line detected: ' . $tag_line
);
}
$handler = __CLASS__;
if (isset(self::$tagHandlerMappings[$matches[1]])) {
@@ -209,13 +217,16 @@ class Tag implements \Reflector
*
* @param string $name The new name of this tag.
*
* @throws \InvalidArgumentException When an invalid tag name is provided.
*
* @return $this
* @throws \InvalidArgumentException When an invalid tag name is provided.
*/
public function setName($name)
{
$this->validateTagName($name);
if (!preg_match('/^' . self::REGEX_TAGNAME . '$/u', $name)) {
throw new \InvalidArgumentException(
'Invalid tag name supplied: ' . $name
);
}
$this->tag = $name;
@@ -363,40 +374,4 @@ class Tag implements \Reflector
{
return "@{$this->getName()} {$this->getContent()}";
}
/**
* Extracts all components for a tag.
*
* @param string $tagLine
*
* @return string[]
*/
private static function extractTagParts($tagLine)
{
$matches = array();
if (! preg_match('/^@(' . self::REGEX_TAGNAME . ')(?:\s*([^\s].*)|$)?/us', $tagLine, $matches)) {
throw new \InvalidArgumentException(
'The tag "' . $tagLine . '" does not seem to be wellformed, please check it for errors'
);
}
return $matches;
}
/**
* Validates if the tag name matches the expected format, otherwise throws an exception.
*
* @param string $name
*
* @return void
*/
private function validateTagName($name)
{
if (!preg_match('/^' . self::REGEX_TAGNAME . '$/u', $name)) {
throw new \InvalidArgumentException(
'The tag name "' . $name . '" is not wellformed. Tags may only consist of letters, underscores, '
. 'hyphens and backslashes.'
);
}
}
}
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
use phpDocumentor\Reflection\DocBlock\Tag;
use Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for an @author tag in a Docblock.
@@ -10,7 +10,7 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @covers tag in a Docblock.
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
use phpDocumentor\Reflection\DocBlock\Tag\VersionTag;
use Barryvdh\Reflection\DocBlock\Tag\VersionTag;
/**
* Reflection class for a @deprecated tag in a Docblock.
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
use phpDocumentor\Reflection\DocBlock\Tag;
use Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @example tag in a Docblock.
@@ -41,11 +41,19 @@ class ExampleTag extends SourceTag
public function getContent()
{
if (null === $this->content) {
$filePath = '"' . $this->filePath . '"';
$filePath = '';
if ($this->isURI) {
$filePath = $this->isUriRelative($this->filePath)
? str_replace('%2F', '/', rawurlencode($this->filePath))
:$this->filePath;
if (false === strpos($this->filePath, ':')) {
$filePath = str_replace(
'%2F',
'/',
rawurlencode($this->filePath)
);
} else {
$filePath = $this->filePath;
}
} else {
$filePath = '"' . $this->filePath . '"';
}
$this->content = $filePath . ' ' . parent::getContent();
@@ -53,7 +61,6 @@ class ExampleTag extends SourceTag
return $this->content;
}
/**
* {@inheritdoc}
*/
@@ -124,35 +131,26 @@ class ExampleTag extends SourceTag
* Sets the file path as an URI.
*
* This function is equivalent to {@link setFilePath()}, except that it
* converts an URI to a file path before that.
* convers an URI to a file path before that.
*
* There is no getFileURI(), as {@link getFilePath()} is compatible.
*
* @param string $uri The new file URI to use as an example.
*
* @return $this
* @param type $uri The new file URI to use as an example.
*/
public function setFileURI($uri)
{
$this->isURI = true;
$this->isURI = true;
if (false === strpos($uri, ':')) {
//Relative URL
$this->filePath = rawurldecode(
str_replace(array('/', '\\'), '%2F', $uri)
);
} else {
//Absolute URL or URI.
$this->filePath = $uri;
}
$this->content = null;
$this->filePath = $this->isUriRelative($uri)
? rawurldecode(str_replace(array('/', '\\'), '%2F', $uri))
: $this->filePath = $uri;
return $this;
}
/**
* Returns true if the provided URI is relative or contains a complete scheme (and thus is absolute).
*
* @param string $uri
*
* @return bool
*/
private function isUriRelative($uri)
{
return false === strpos($uri, ':');
}
}
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
use phpDocumentor\Reflection\DocBlock\Tag;
use Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @link tag in a Docblock.
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
use phpDocumentor\Reflection\DocBlock\Tag;
use Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @method in a Docblock.
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
use phpDocumentor\Reflection\DocBlock\Tag;
use Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @param tag in a Docblock.
@@ -10,7 +10,7 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @property-read tag in a Docblock.
@@ -10,7 +10,7 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @property tag in a Docblock.
@@ -10,7 +10,7 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @property-write tag in a Docblock.
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
use phpDocumentor\Reflection\DocBlock\Tag;
use phpDocumentor\Reflection\DocBlock\Type\Collection;
use Barryvdh\Reflection\DocBlock\Tag;
use Barryvdh\Reflection\DocBlock\Type\Collection;
/**
* Reflection class for a @return tag in a Docblock.
@@ -36,7 +36,7 @@ class ReturnTag extends Tag
public function getContent()
{
if (null === $this->content) {
$this->content = "{$this->type} {$this->description}";
$this->content = "{$this->getType()} {$this->description}";
}
return $this->content;
@@ -81,6 +81,35 @@ class ReturnTag extends Tag
return (string) $this->getTypesCollection();
}
/**
* Set the type section of the variable
*
* @param string $type
* @return $this
*/
public function setType($type)
{
$this->type = $type;
$this->types = null;
$this->content = null;
return $this;
}
/**
* Add a type to the type section of the variable
*
* @param string $type
* @return $this
*/
public function addType($type)
{
$this->type = $this->type . Collection::OPERATOR_OR . $type;
$this->types = null;
$this->content = null;
return $this;
}
/**
* Returns the type collection.
*
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
use phpDocumentor\Reflection\DocBlock\Tag;
use Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @see tag in a Docblock.
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
use phpDocumentor\Reflection\DocBlock\Tag\VersionTag;
use Barryvdh\Reflection\DocBlock\Tag\VersionTag;
/**
* Reflection class for a @since tag in a Docblock.
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
use phpDocumentor\Reflection\DocBlock\Tag;
use Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @source tag in a Docblock.
@@ -10,7 +10,7 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @throws tag in a Docblock.
@@ -10,7 +10,7 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @uses tag in a Docblock.
@@ -10,7 +10,7 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @var tag in a Docblock.
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
use phpDocumentor\Reflection\DocBlock\Tag;
use Barryvdh\Reflection\DocBlock\Tag;
/**
* Reflection class for a @version tag in a Docblock.
@@ -10,9 +10,9 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Type;
namespace Barryvdh\Reflection\DocBlock\Type;
use phpDocumentor\Reflection\DocBlock\Context;
use Barryvdh\Reflection\DocBlock\Context;
/**
* Collection
@@ -156,12 +156,18 @@ class Collection extends \ArrayObject
}
if ($this->isRelativeType($type) && !$this->isTypeAKeyword($type)) {
if($this->shouldBeAbsolute($type)){
return self::OPERATOR_NAMESPACE . $type;
}
$type_parts = explode(self::OPERATOR_NAMESPACE, $type, 2);
$namespace_aliases = $this->context->getNamespaceAliases();
// if the first segment is not an alias; prepend namespace name and
// return
if (!isset($namespace_aliases[$type_parts[0]])) {
if (!isset($namespace_aliases[$type_parts[0]]) &&
!isset($namespace_aliases[strstr($type_parts[0], '::', true)])) {
$namespace = $this->context->getNamespace();
if ('' !== $namespace) {
$namespace .= self::OPERATOR_NAMESPACE;
@@ -169,6 +175,12 @@ class Collection extends \ArrayObject
return self::OPERATOR_NAMESPACE . $namespace . $type;
}
if (strpos($type_parts[0], '::')) {
$type_parts[] = strstr($type_parts[0], '::');
$type_parts[0] = $namespace_aliases[strstr($type_parts[0], '::', true)];
return implode('', $type_parts);
}
$type_parts[0] = $namespace_aliases[$type_parts[0]];
$type = implode(self::OPERATOR_NAMESPACE, $type_parts);
}
@@ -218,4 +230,16 @@ class Collection extends \ArrayObject
return ($type[0] !== self::OPERATOR_NAMESPACE)
|| $this->isTypeAKeyword($type);
}
/**
* Detects if the type should actually be absolute, by checking if it exists.
*
* @param string $type A relative or absolute type as defined in the
* phpDocumentor documentation.
*
* @return bool
*/
protected function shouldBeAbsolute($type){
return class_exists($type);
}
}
@@ -1,75 +0,0 @@
<?php
/**
* This file is part of phpDocumentor.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @copyright 2010-2015 Mike van Riel<[email protected]>
* @license http://www.opensource.org/licenses/mit-license.php MIT
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock;
/**
* Provides information about the Context in which the DocBlock occurs that receives this context.
*
* A DocBlock does not know of its own accord in which namespace it occurs and which namespace aliases are applicable
* for the block of code in which it is in. This information is however necessary to resolve Class names in tags since
* you can provide a short form or make use of namespace aliases.
*
* The phpDocumentor Reflection component knows how to create this class but if you use the DocBlock parser from your
* own application it is possible to generate a Context class using the ContextFactory; this will analyze the file in
* which an associated class resides for its namespace and imports.
*
* @see ContextFactory::createFromClassReflector()
* @see ContextFactory::createForNamespace()
*/
final class Context
{
/** @var string The current namespace. */
private $namespace = '';
/** @var array List of namespace aliases => Fully Qualified Namespace. */
private $namespaceAliases = [];
/**
* Initializes the new context and normalizes all passed namespaces to be in Qualified Namespace Name (QNN)
* format (without a preceding `\`).
*
* @param string $namespace The namespace where this DocBlock resides in.
* @param array $namespaceAliases List of namespace aliases => Fully Qualified Namespace.
*/
public function __construct($namespace, array $namespaceAliases = [])
{
$this->namespace = ('global' !== $namespace && 'default' !== $namespace)
? trim((string)$namespace, '\\')
: '';
foreach ($namespaceAliases as $alias => $fqnn) {
$this->namespaceAliases[$alias] = trim((string)$fqnn, '\\');
}
}
/**
* Returns the Qualified Namespace Name (thus without `\` in front) where the associated element is in.
*
* @return string
*/
public function getNamespace()
{
return $this->namespace;
}
/**
* Returns a list of Qualified Namespace Names (thus without `\` in front) that are imported, the keys represent
* the alias for the imported Namespace.
*
* @return string[]
*/
public function getNamespaceAliases()
{
return $this->namespaceAliases;
}
}
@@ -1,174 +0,0 @@
<?php
/**
* This file is part of phpDocumentor.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @copyright 2010-2015 Mike van Riel<[email protected]>
* @license http://www.opensource.org/licenses/mit-license.php MIT
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock;
/**
* Convenience class to create a Context for DocBlocks when not using the Reflection Component of phpDocumentor.
*
* For a DocBlock to be able to resolve types that use partial namespace names or rely on namespace imports we need to
* provide a bit of context so that the DocBlock can read that and based on it decide how to resolve the types to
* Fully Qualified names.
*
* @see Context for more information.
*/
final class ContextFactory
{
/** The literal used at the end of a use statement. */
const T_LITERAL_END_OF_USE = ';';
/** The literal used between sets of use statements */
const T_LITERAL_USE_SEPARATOR = ',';
/**
* Build a Context given a Class Reflection.
*
* @param \ReflectionClass $class
*
* @see Context for more information on Contexts.
*
* @return Context
*/
public function createFromClassReflector(\ReflectionClass $class)
{
return $this->createForNamespace(
$class->getNamespaceName(),
file_get_contents($class->getFileName())
);
}
/**
* Build a Context for a namespace in the provided file contents.
*
* @param string $namespace It does not matter if a `\` precedes the namespace name, this method first normalizes.
* @param string $fileContents the file's contents to retrieve the aliases from with the given namespace.
*
* @see Context for more information on Contexts.
*
* @return Context
*/
public function createForNamespace($namespace, $fileContents)
{
$namespace = trim($namespace, '\\');
$useStatements = [];
$currentNamespace = '';
$tokens = new \ArrayIterator(token_get_all($fileContents));
while ($tokens->valid()) {
switch ($tokens->current()[0]) {
case T_NAMESPACE:
$currentNamespace = $this->parseNamespace($tokens);
break;
case T_USE:
if ($currentNamespace === $namespace) {
$useStatements = array_merge($useStatements, $this->parseUseStatement($tokens));
}
break;
}
$tokens->next();
}
return new Context($namespace, $useStatements);
}
/**
* Deduce the name from tokens when we are at the T_NAMESPACE token.
*
* @param \ArrayIterator $tokens
*
* @return string
*/
private function parseNamespace(\ArrayIterator $tokens)
{
// skip to the first string or namespace separator
$this->skipToNextStringOrNamespaceSeparator($tokens);
$name = '';
while ($tokens->valid() && ($tokens->current()[0] === T_STRING || $tokens->current()[0] === T_NS_SEPARATOR)
) {
$name .= $tokens->current()[1];
$tokens->next();
}
return $name;
}
/**
* Deduce the names of all imports when we are at the T_USE token.
*
* @param \ArrayIterator $tokens
*
* @return string[]
*/
private function parseUseStatement(\ArrayIterator $tokens)
{
$uses = [];
$continue = true;
while ($continue) {
$this->skipToNextStringOrNamespaceSeparator($tokens);
list($alias, $fqnn) = $this->extractUseStatement($tokens);
$uses[$alias] = $fqnn;
if ($tokens->current()[0] === self::T_LITERAL_END_OF_USE) {
$continue = false;
}
}
return $uses;
}
/**
* Fast-forwards the iterator as longs as we don't encounter a T_STRING or T_NS_SEPARATOR token.
*
* @param \ArrayIterator $tokens
*
* @return void
*/
private function skipToNextStringOrNamespaceSeparator(\ArrayIterator $tokens)
{
while ($tokens->valid() && ($tokens->current()[0] !== T_STRING) && ($tokens->current()[0] !== T_NS_SEPARATOR)) {
$tokens->next();
}
}
/**
* Deduce the namespace name and alias of an import when we are at the T_USE token or have not reached the end of
* a USE statement yet.
*
* @param \ArrayIterator $tokens
*
* @return string
*/
private function extractUseStatement(\ArrayIterator $tokens)
{
$result = [''];
while ($tokens->valid()
&& ($tokens->current()[0] !== self::T_LITERAL_USE_SEPARATOR)
&& ($tokens->current()[0] !== self::T_LITERAL_END_OF_USE)
) {
if ($tokens->current()[0] === T_AS) {
$result[] = '';
}
if ($tokens->current()[0] === T_STRING || $tokens->current()[0] === T_NS_SEPARATOR) {
$result[count($result) - 1] .= $tokens->current()[1];
}
$tokens->next();
}
if (count($result) == 1) {
$result[] = substr($result[0], strrpos($result[0], '\\') + 1);
}
return array_reverse($result);
}
}
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock;
namespace Barryvdh\Reflection\DocBlock;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Description
* Test class for \Barryvdh\Reflection\DocBlock\Description
*
* @author Vasil Rangelov <boen.robot@gmail.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Tag\CoversTag
* Test class for \Barryvdh\Reflection\DocBlock\Tag\CoversTag
*
* @author Daniel O'Connor <daniel.oconnor@gmail.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -23,7 +23,7 @@ namespace phpDocumentor\Reflection\DocBlock\Tag;
class CoversTagTest extends \PHPUnit_Framework_TestCase
{
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\CoversTag can create
* Test that the \Barryvdh\Reflection\DocBlock\Tag\CoversTag can create
* a link for the covers doc block.
*
* @param string $type
@@ -31,7 +31,7 @@ class CoversTagTest extends \PHPUnit_Framework_TestCase
* @param string $exContent
* @param string $exReference
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\CoversTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\CoversTag
* @dataProvider provideDataForConstuctor
*
* @return void
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Tag\DeprecatedTag
* Test class for \Barryvdh\Reflection\DocBlock\Tag\DeprecatedTag
*
* @author Vasil Rangelov <boen.robot@gmail.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -23,7 +23,7 @@ namespace phpDocumentor\Reflection\DocBlock\Tag;
class DeprecatedTagTest extends \PHPUnit_Framework_TestCase
{
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\LinkTag can create
* Test that the \Barryvdh\Reflection\DocBlock\Tag\LinkTag can create
* a link for the @deprecated doc block.
*
* @param string $type
@@ -32,7 +32,7 @@ class DeprecatedTagTest extends \PHPUnit_Framework_TestCase
* @param string $exDescription
* @param string $exVersion
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\DeprecatedTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\DeprecatedTag
* @dataProvider provideDataForConstuctor
*
* @return void
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Tag\ExampleTag
* Test class for \Barryvdh\Reflection\DocBlock\Tag\ExampleTag
*
* @author Vasil Rangelov <boen.robot@gmail.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -23,7 +23,7 @@ namespace phpDocumentor\Reflection\DocBlock\Tag;
class ExampleTagTest extends \PHPUnit_Framework_TestCase
{
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\SourceTag can
* Test that the \Barryvdh\Reflection\DocBlock\Tag\SourceTag can
* understand the @source DocBlock.
*
* @param string $type
@@ -33,7 +33,7 @@ class ExampleTagTest extends \PHPUnit_Framework_TestCase
* @param string $exLineCount
* @param string $exFilepath
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\ExampleTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\ExampleTag
* @dataProvider provideDataForConstuctor
*
* @return void
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Tag\LinkTag
* Test class for \Barryvdh\Reflection\DocBlock\Tag\LinkTag
*
* @author Ben Selby <benmatselby@gmail.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -23,7 +23,7 @@ namespace phpDocumentor\Reflection\DocBlock\Tag;
class LinkTagTest extends \PHPUnit_Framework_TestCase
{
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\LinkTag can create
* Test that the \Barryvdh\Reflection\DocBlock\Tag\LinkTag can create
* a link for the @link doc block.
*
* @param string $type
@@ -32,7 +32,7 @@ class LinkTagTest extends \PHPUnit_Framework_TestCase
* @param string $exDescription
* @param string $exLink
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\LinkTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\LinkTag
* @dataProvider provideDataForConstuctor
*
* @return void
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Tag\MethodTag
* Test class for \Barryvdh\Reflection\DocBlock\Tag\MethodTag
*
* @author Mike van Riel <mike.vanriel@naenius.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -34,7 +34,7 @@ class MethodTagTest extends \PHPUnit_Framework_TestCase
* @param string $description The short description mentioned in the
* signature.
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\MethodTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\MethodTag
* @dataProvider getTestSignatures
*
* @return void
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\ParamTag
* Test class for \Barryvdh\Reflection\DocBlock\ParamTag
*
* @author Mike van Riel <mike.vanriel@naenius.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -23,7 +23,7 @@ namespace phpDocumentor\Reflection\DocBlock\Tag;
class ParamTagTest extends \PHPUnit_Framework_TestCase
{
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\ParamTag can
* Test that the \Barryvdh\Reflection\DocBlock\Tag\ParamTag can
* understand the @param DocBlock.
*
* @param string $type
@@ -33,7 +33,7 @@ class ParamTagTest extends \PHPUnit_Framework_TestCase
* @param string $extractedVarName
* @param string $extractedDescription
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\ParamTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\ParamTag
* @dataProvider provideDataForConstructor
*
* @return void
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\ReturnTag
* Test class for \Barryvdh\Reflection\DocBlock\ReturnTag
*
* @author Mike van Riel <mike.vanriel@naenius.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -23,7 +23,7 @@ namespace phpDocumentor\Reflection\DocBlock\Tag;
class ReturnTagTest extends \PHPUnit_Framework_TestCase
{
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\ReturnTag can
* Test that the \Barryvdh\Reflection\DocBlock\Tag\ReturnTag can
* understand the @return DocBlock.
*
* @param string $type
@@ -32,7 +32,7 @@ class ReturnTagTest extends \PHPUnit_Framework_TestCase
* @param string $extractedTypes
* @param string $extractedDescription
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\ReturnTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\ReturnTag
* @dataProvider provideDataForConstructor
*
* @return void
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Tag\SeeTag
* Test class for \Barryvdh\Reflection\DocBlock\Tag\SeeTag
*
* @author Daniel O'Connor <daniel.oconnor@gmail.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -31,7 +31,7 @@ class SeeTagTest extends \PHPUnit_Framework_TestCase
* @param string $exContent
* @param string $exReference
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\SeeTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\SeeTag
* @dataProvider provideDataForConstuctor
*
* @return void
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Tag\SinceTag
* Test class for \Barryvdh\Reflection\DocBlock\Tag\SinceTag
*
* @author Vasil Rangelov <boen.robot@gmail.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -23,7 +23,7 @@ namespace phpDocumentor\Reflection\DocBlock\Tag;
class SinceTagTest extends \PHPUnit_Framework_TestCase
{
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\LinkTag can create
* Test that the \Barryvdh\Reflection\DocBlock\Tag\LinkTag can create
* a link for the @since doc block.
*
* @param string $type
@@ -32,7 +32,7 @@ class SinceTagTest extends \PHPUnit_Framework_TestCase
* @param string $exDescription
* @param string $exVersion
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\SinceTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\SinceTag
* @dataProvider provideDataForConstuctor
*
* @return void
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Tag\SourceTag
* Test class for \Barryvdh\Reflection\DocBlock\Tag\SourceTag
*
* @author Vasil Rangelov <boen.robot@gmail.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -23,7 +23,7 @@ namespace phpDocumentor\Reflection\DocBlock\Tag;
class SourceTagTest extends \PHPUnit_Framework_TestCase
{
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\SourceTag can
* Test that the \Barryvdh\Reflection\DocBlock\Tag\SourceTag can
* understand the @source DocBlock.
*
* @param string $type
@@ -32,7 +32,7 @@ class SourceTagTest extends \PHPUnit_Framework_TestCase
* @param string $exStartingLine
* @param string $exLineCount
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\SourceTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\SourceTag
* @dataProvider provideDataForConstuctor
*
* @return void
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\ThrowsTag
* Test class for \Barryvdh\Reflection\DocBlock\ThrowsTag
*
* @author Mike van Riel <mike.vanriel@naenius.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -23,7 +23,7 @@ namespace phpDocumentor\Reflection\DocBlock\Tag;
class ThrowsTagTest extends \PHPUnit_Framework_TestCase
{
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\ThrowsTag can
* Test that the \Barryvdh\Reflection\DocBlock\Tag\ThrowsTag can
* understand the @throws DocBlock.
*
* @param string $type
@@ -32,7 +32,7 @@ class ThrowsTagTest extends \PHPUnit_Framework_TestCase
* @param string $extractedTypes
* @param string $extractedDescription
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\ThrowsTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\ThrowsTag
* @dataProvider provideDataForConstructor
*
* @return void
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Tag\UsesTag
* Test class for \Barryvdh\Reflection\DocBlock\Tag\UsesTag
*
* @author Daniel O'Connor <daniel.oconnor@gmail.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -23,7 +23,7 @@ namespace phpDocumentor\Reflection\DocBlock\Tag;
class UsesTagTest extends \PHPUnit_Framework_TestCase
{
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\UsesTag can create
* Test that the \Barryvdh\Reflection\DocBlock\Tag\UsesTag can create
* a link for the @uses doc block.
*
* @param string $type
@@ -31,7 +31,7 @@ class UsesTagTest extends \PHPUnit_Framework_TestCase
* @param string $exContent
* @param string $exReference
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\UsesTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\UsesTag
* @dataProvider provideDataForConstuctor
*
* @return void
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Tag\VarTag
* Test class for \Barryvdh\Reflection\DocBlock\Tag\VarTag
*
* @author Daniel O'Connor <daniel.oconnor@gmail.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -23,7 +23,7 @@ namespace phpDocumentor\Reflection\DocBlock\Tag;
class VarTagTest extends \PHPUnit_Framework_TestCase
{
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\VarTag can
* Test that the \Barryvdh\Reflection\DocBlock\Tag\VarTag can
* understand the @var doc block.
*
* @param string $type
@@ -32,7 +32,7 @@ class VarTagTest extends \PHPUnit_Framework_TestCase
* @param string $exVariable
* @param string $exDescription
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\VarTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\VarTag
* @dataProvider provideDataForConstuctor
*
* @return void
@@ -10,10 +10,10 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
namespace Barryvdh\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Tag\VersionTag
* Test class for \Barryvdh\Reflection\DocBlock\Tag\VersionTag
*
* @author Vasil Rangelov <boen.robot@gmail.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -23,7 +23,7 @@ namespace phpDocumentor\Reflection\DocBlock\Tag;
class VersionTagTest extends \PHPUnit_Framework_TestCase
{
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\LinkTag can create
* Test that the \Barryvdh\Reflection\DocBlock\Tag\LinkTag can create
* a link for the @version doc block.
*
* @param string $type
@@ -32,7 +32,7 @@ class VersionTagTest extends \PHPUnit_Framework_TestCase
* @param string $exDescription
* @param string $exVersion
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag\VersionTag
* @covers \Barryvdh\Reflection\DocBlock\Tag\VersionTag
* @dataProvider provideDataForConstuctor
*
* @return void
@@ -10,13 +10,13 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock;
namespace Barryvdh\Reflection\DocBlock;
use phpDocumentor\Reflection\DocBlock;
use phpDocumentor\Reflection\DocBlock\Context;
use Barryvdh\Reflection\DocBlock;
use Barryvdh\Reflection\DocBlock\Context;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Tag\VarTag
* Test class for \Barryvdh\Reflection\DocBlock\Tag\VarTag
*
* @author Daniel O'Connor <daniel.oconnor@gmail.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -37,7 +37,7 @@ class TagTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers \phpDocumentor\Reflection\DocBlock\Tag::registerTagHandler
* @covers \Barryvdh\Reflection\DocBlock\Tag::registerTagHandler
*
* @return void
*/
@@ -70,7 +70,7 @@ class TagTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers \phpDocumentor\Reflection\DocBlock\Tag::registerTagHandler
* @covers \Barryvdh\Reflection\DocBlock\Tag::registerTagHandler
*
* @return void
*/
@@ -93,7 +93,7 @@ class TagTest extends \PHPUnit_Framework_TestCase
include 'data:text/plain;base64,'. base64_encode(
<<<TAG_HANDLER
<?php
class MyTagHandler extends \phpDocumentor\Reflection\DocBlock\Tag {}
class MyTagHandler extends \Barryvdh\Reflection\DocBlock\Tag {}
TAG_HANDLER
);
@@ -118,8 +118,8 @@ TAG_HANDLER
/**
* @depends testTagHandlerCorrectRegistration
* @covers \phpDocumentor\Reflection\DocBlock\Tag::registerTagHandler
* @covers \phpDocumentor\Reflection\DocBlock\Tag::createInstance
* @covers \Barryvdh\Reflection\DocBlock\Tag::registerTagHandler
* @covers \Barryvdh\Reflection\DocBlock\Tag::createInstance
*
* @return void
*/
@@ -162,8 +162,8 @@ TAG_HANDLER
/**
* @depends testTagHandlerCorrectRegistration
* @covers \phpDocumentor\Reflection\DocBlock\Tag::registerTagHandler
* @covers \phpDocumentor\Reflection\DocBlock\Tag::createInstance
* @covers \Barryvdh\Reflection\DocBlock\Tag::registerTagHandler
* @covers \Barryvdh\Reflection\DocBlock\Tag::createInstance
*
* @return void
*/
@@ -201,7 +201,7 @@ TAG_HANDLER
}
/**
* @covers \phpDocumentor\Reflection\DocBlock\Tag::registerTagHandler
* @covers \Barryvdh\Reflection\DocBlock\Tag::registerTagHandler
*
* @return void
*/
@@ -232,7 +232,7 @@ TAG_HANDLER
}
/**
* @covers \phpDocumentor\Reflection\DocBlock\Tag::registerTagHandler
* @covers \Barryvdh\Reflection\DocBlock\Tag::registerTagHandler
*
* @return void
*/
@@ -265,14 +265,14 @@ TAG_HANDLER
}
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\VarTag can
* Test that the \Barryvdh\Reflection\DocBlock\Tag\VarTag can
* understand the @var doc block.
*
* @param string $type
* @param string $content
* @param string $exDescription
*
* @covers \phpDocumentor\Reflection\DocBlock\Tag
* @covers \Barryvdh\Reflection\DocBlock\Tag
* @dataProvider provideDataForConstuctor
*
* @return void
@@ -10,14 +10,14 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Type;
namespace Barryvdh\Reflection\DocBlock\Type;
use phpDocumentor\Reflection\DocBlock\Context;
use Barryvdh\Reflection\DocBlock\Context;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\Type\Collection
* Test class for \Barryvdh\Reflection\DocBlock\Type\Collection
*
* @covers phpDocumentor\Reflection\DocBlock\Type\Collection
* @covers Barryvdh\Reflection\DocBlock\Type\Collection
*
* @author Mike van Riel <mike.vanriel@naenius.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -27,8 +27,8 @@ use phpDocumentor\Reflection\DocBlock\Context;
class CollectionTest extends \PHPUnit_Framework_TestCase
{
/**
* @covers phpDocumentor\Reflection\DocBlock\Type\Collection::__construct
* @covers phpDocumentor\Reflection\DocBlock\Type\Collection::getContext
* @covers Barryvdh\Reflection\DocBlock\Type\Collection::__construct
* @covers Barryvdh\Reflection\DocBlock\Type\Collection::getContext
*
* @return void
*/
@@ -41,7 +41,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers phpDocumentor\Reflection\DocBlock\Type\Collection::__construct
* @covers Barryvdh\Reflection\DocBlock\Type\Collection::__construct
*
* @return void
*/
@@ -52,7 +52,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers phpDocumentor\Reflection\DocBlock\Type\Collection::__construct
* @covers Barryvdh\Reflection\DocBlock\Type\Collection::__construct
*
* @return void
*/
@@ -69,7 +69,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers phpDocumentor\Reflection\DocBlock\Type\Collection::__construct
* @covers Barryvdh\Reflection\DocBlock\Type\Collection::__construct
*
* @return void
*/
@@ -88,7 +88,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
* @param array $expected
*
* @dataProvider provideTypesToExpand
* @covers phpDocumentor\Reflection\DocBlock\Type\Collection::add
* @covers Barryvdh\Reflection\DocBlock\Type\Collection::add
*
* @return void
*/
@@ -108,7 +108,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
* @param array $expected
*
* @dataProvider provideTypesToExpandWithoutNamespace
* @covers phpDocumentor\Reflection\DocBlock\Type\Collection::add
* @covers Barryvdh\Reflection\DocBlock\Type\Collection::add
*
* @return void
*/
@@ -124,7 +124,27 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
}
/**
* @covers phpDocumentor\Reflection\DocBlock\Type\Collection::add
* @param string $fixture
* @param array $expected
*
* @dataProvider provideTypesToExpandWithPropertyOrMethod
* @covers Barryvdh\Reflection\DocBlock\Type\Collection::add
*
* @return void
*/
public function testAddMethodsAndProperties($fixture, $expected)
{
$collection = new Collection(
array(),
new Context(null, array('LinkDescriptor' => '\phpDocumentor\LinkDescriptor'))
);
$collection->add($fixture);
$this->assertSame($expected, $collection->getArrayCopy());
}
/**
* @covers Barryvdh\Reflection\DocBlock\Type\Collection::add
* @expectedException InvalidArgumentException
*
* @return void
@@ -177,6 +197,14 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
'DocBlock[]|int[]',
array($namespace.'DocBlock[]', 'int[]')
),
array(
'LinkDescriptor::setLink()',
array($namespace.'LinkDescriptor::setLink()')
),
array(
'Alias\LinkDescriptor::setLink()',
array('\My\Space\Aliasing\LinkDescriptor::setLink()')
),
);
}
@@ -192,4 +220,34 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
{
return $this->provideTypesToExpand($method, '\\');
}
/**
* Returns the method and property types and their expected values to test
* the retrieval of types.
*
* @param string $method Name of the method consuming this data provider.
*
* @return string[]
*/
public function provideTypesToExpandWithPropertyOrMethod($method)
{
return array(
array(
'LinkDescriptor::setLink()',
array('\phpDocumentor\LinkDescriptor::setLink()')
),
array(
'phpDocumentor\LinkDescriptor::setLink()',
array('\phpDocumentor\LinkDescriptor::setLink()')
),
array(
'LinkDescriptor::$link',
array('\phpDocumentor\LinkDescriptor::$link')
),
array(
'phpDocumentor\LinkDescriptor::$link',
array('\phpDocumentor\LinkDescriptor::$link')
),
);
}
}
@@ -10,14 +10,14 @@
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection;
namespace Barryvdh\Reflection;
use phpDocumentor\Reflection\DocBlock\Context;
use phpDocumentor\Reflection\DocBlock\Location;
use phpDocumentor\Reflection\DocBlock\Tag\ReturnTag;
use Barryvdh\Reflection\DocBlock\Context;
use Barryvdh\Reflection\DocBlock\Location;
use Barryvdh\Reflection\DocBlock\Tag\ReturnTag;
/**
* Test class for phpDocumentor\Reflection\DocBlock
* Test class for Barryvdh\Reflection\DocBlock
*
* @author Mike van Riel <mike.vanriel@naenius.com>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
@@ -27,7 +27,7 @@ use phpDocumentor\Reflection\DocBlock\Tag\ReturnTag;
class DocBlockTest extends \PHPUnit_Framework_TestCase
{
/**
* @covers \phpDocumentor\Reflection\DocBlock
* @covers \Barryvdh\Reflection\DocBlock
*
* @return void
*/
@@ -70,7 +70,7 @@ DOCBLOCK;
}
/**
* @covers \phpDocumentor\Reflection\DocBlock::splitDocBlock
* @covers \Barryvdh\Reflection\DocBlock::splitDocBlock
*
* @return void
*/
@@ -92,7 +92,7 @@ DOCBLOCK;
}
/**
* @covers \phpDocumentor\Reflection\DocBlock::isTemplateStart
* @covers \Barryvdh\Reflection\DocBlock::isTemplateStart
*/
public function testIfStartOfTemplateIsDiscovered()
{
@@ -113,7 +113,7 @@ DOCBLOCK;
}
/**
* @covers \phpDocumentor\Reflection\DocBlock::isTemplateEnd
* @covers \Barryvdh\Reflection\DocBlock::isTemplateEnd
*/
public function testIfEndOfTemplateIsDiscovered()
{
@@ -127,7 +127,7 @@ DOCBLOCK;
}
/**
* @covers \phpDocumentor\Reflection\DocBlock::cleanInput
* @covers \Barryvdh\Reflection\DocBlock::cleanInput
*
* @return void
*/
@@ -144,7 +144,7 @@ DOCBLOCK;
}
/**
* @covers \phpDocumentor\Reflection\DocBlock::__construct
* @covers \Barryvdh\Reflection\DocBlock::__construct
*
* @return void
*/
@@ -152,7 +152,7 @@ DOCBLOCK;
{
$object = new DocBlock(new \ReflectionClass($this));
$this->assertEquals(
'Test class for phpDocumentor\Reflection\DocBlock',
'Test class for Barryvdh\Reflection\DocBlock',
$object->getShortDescription()
);
$this->assertEquals('', $object->getLongDescription()->getContents());
@@ -196,7 +196,7 @@ DOCBLOCK;
}
/**
* @covers \phpDocumentor\Reflection\DocBlock::parseTags
* @covers \Barryvdh\Reflection\DocBlock::parseTags
* @expectedException \LogicException
*
* @return void
@@ -210,7 +210,7 @@ DOCBLOCK;
include 'data:text/plain;base64,'. base64_encode(
<<<DOCBLOCK_EXTENSION
<?php
class MyReflectionDocBlock extends \phpDocumentor\Reflection\DocBlock {
class MyReflectionDocBlock extends \Barryvdh\Reflection\DocBlock {
protected function splitDocBlock(\$comment) {
return array('', '', 'Invalid tag block');
}
@@ -262,7 +262,7 @@ DOCBLOCK;
/**
* @depends testConstructFromReflector
* @covers \phpDocumentor\Reflection\DocBlock::getTagsByName
* @covers \Barryvdh\Reflection\DocBlock::getTagsByName
*
* @return void
*/
@@ -275,7 +275,7 @@ DOCBLOCK;
/**
* @depends testConstructWithTagsOnly
* @covers \phpDocumentor\Reflection\DocBlock::parseTags
* @covers \Barryvdh\Reflection\DocBlock::parseTags
*
* @return void
*/
@@ -293,7 +293,7 @@ DOCBLOCK;
/**
* @depends testConstructWithTagsOnly
* @covers \phpDocumentor\Reflection\DocBlock::parseTags
* @covers \Barryvdh\Reflection\DocBlock::parseTags
*
* @return void
*/
@@ -316,7 +316,7 @@ DOCBLOCK;
/**
* @depends testConstructWithTagsOnly
* @covers \phpDocumentor\Reflection\DocBlock::getTagsByName
* @covers \Barryvdh\Reflection\DocBlock::getTagsByName
*
* @return void
*/
@@ -1,94 +0,0 @@
<?php
/**
* This file is part of phpDocumentor.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @copyright 2010-2015 Mike van Riel<[email protected]>
* @license http://www.opensource.org/licenses/mit-license.php MIT
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock {
// Added imports on purpose as mock for the unit tests, please do not remove.
use Mockery as m;
use phpDocumentor\Reflection\DocBlock,
phpDocumentor\Reflection\DocBlock\Tag;
use \ReflectionClass; // yes, the slash is part of the test
/**
* @coversDefaultClass \phpDocumentor\Reflection\DocBlock\ContextFactory
* @covers ::<private>
*/
class ContextFactoryTest extends \PHPUnit_Framework_TestCase
{
/**
* @covers ::createFromClassReflector
* @covers ::createForNamespace
* @uses phpDocumentor\Reflection\DocBlock\Context
*/
public function testReadsNamespaceFromClassReflection()
{
$fixture = new ContextFactory();
$context = $fixture->createFromClassReflector(new ReflectionClass($this));
$this->assertSame(__NAMESPACE__, $context->getNamespace());
}
/**
* @covers ::createFromClassReflector
* @covers ::createForNamespace
* @uses phpDocumentor\Reflection\DocBlock\Context
*/
public function testReadsAliasesFromClassReflection()
{
$fixture = new ContextFactory();
$expected = [
'm' => 'Mockery',
'DocBlock' => 'phpDocumentor\Reflection\DocBlock',
'Tag' => 'phpDocumentor\Reflection\DocBlock\Tag',
'ReflectionClass' => 'ReflectionClass'
];
$context = $fixture->createFromClassReflector(new ReflectionClass($this));
$this->assertSame($expected, $context->getNamespaceAliases());
}
/**
* @covers ::createForNamespace
* @uses phpDocumentor\Reflection\DocBlock\Context
*/
public function testReadsNamespaceFromProvidedNamespaceAndContent()
{
$fixture = new ContextFactory();
$context = $fixture->createForNamespace(__NAMESPACE__, file_get_contents(__FILE__));
$this->assertSame(__NAMESPACE__, $context->getNamespace());
}
/**
* @covers ::createForNamespace
* @uses phpDocumentor\Reflection\DocBlock\Context
*/
public function testReadsAliasesFromProvidedNamespaceAndContent()
{
$fixture = new ContextFactory();
$expected = [
'm' => 'Mockery',
'DocBlock' => 'phpDocumentor\Reflection\DocBlock',
'Tag' => 'phpDocumentor\Reflection\DocBlock\Tag',
'ReflectionClass' => 'ReflectionClass'
];
$context = $fixture->createForNamespace(__NAMESPACE__, file_get_contents(__FILE__));
$this->assertSame($expected, $context->getNamespaceAliases());
}
}
}
namespace phpDocumentor\Reflection\DocBlock\Mock {
// the following import should not show in the tests above
use phpDocumentor\Reflection\DocBlock\Description;
}
@@ -1,61 +0,0 @@
<?php
/**
* This file is part of phpDocumentor.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @copyright 2010-2015 Mike van Riel<[email protected]>
* @license http://www.opensource.org/licenses/mit-license.php MIT
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock;
use Mockery as m;
/**
* @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Context
*/
class ContextTest extends \PHPUnit_Framework_TestCase
{
/**
* @covers ::__construct
* @covers ::getNamespace
*/
public function testProvidesANormalizedNamespace()
{
$fixture = new Context('\My\Space');
$this->assertSame('My\Space', $fixture->getNamespace());
}
/**
* @covers ::__construct
* @covers ::getNamespace
*/
public function testInterpretsNamespaceNamedGlobalAsRootNamespace()
{
$fixture = new Context('global');
$this->assertSame('', $fixture->getNamespace());
}
/**
* @covers ::__construct
* @covers ::getNamespace
*/
public function testInterpretsNamespaceNamedDefaultAsRootNamespace()
{
$fixture = new Context('default');
$this->assertSame('', $fixture->getNamespace());
}
/**
* @covers ::__construct
* @covers ::getNamespaceAliases
*/
public function testProvidesNormalizedNamespaceAliases()
{
$fixture = new Context('', ['Space' => '\My\Space']);
$this->assertSame(['Space' => 'My\Space'], $fixture->getNamespaceAliases());
}
}