mirror of
https://github.com/barryvdh/ReflectionDocBlock.git
synced 2026-08-18 10:07:12 +00:00
Compare commits
15
Commits
v2.0.5
...
context-fix
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
494d594733 | ||
|
|
afd2520734 | ||
|
|
ef39243160 | ||
|
|
ae15da2ce2 | ||
|
|
d1da796ba5 | ||
|
|
868311451b | ||
|
|
5a87e6edaa | ||
|
|
b79f9f311d | ||
|
|
702c5682ae | ||
|
|
0d324618be | ||
|
|
ff902a0beb | ||
|
|
a8ebd67e2a | ||
|
|
09352d3406 | ||
|
|
7b8092e37f | ||
|
|
f8bb8d74ae |
@@ -1,2 +1,3 @@
|
|||||||
.idea
|
.idea
|
||||||
|
composer.lock
|
||||||
vendor
|
vendor
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
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
|
||||||
@@ -5,6 +5,7 @@ php:
|
|||||||
- 5.4
|
- 5.4
|
||||||
- 5.5
|
- 5.5
|
||||||
- 5.6
|
- 5.6
|
||||||
|
- 7.0
|
||||||
- hhvm
|
- hhvm
|
||||||
- hhvm-nightly
|
- hhvm-nightly
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -15,8 +15,8 @@
|
|||||||
"phpunit/phpunit": "~4.0"
|
"phpunit/phpunit": "~4.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"dflydev/markdown": "~1.0",
|
"erusev/parsedown": "~1.0",
|
||||||
"erusev/parsedown": "~1.0"
|
"league/commonmark": "*"
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
|
|||||||
Generated
-827
@@ -1,827 +0,0 @@
|
|||||||
{
|
|
||||||
"_readme": [
|
|
||||||
"This file locks the dependencies of your project to a known state",
|
|
||||||
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
|
||||||
"This file is @generated automatically"
|
|
||||||
],
|
|
||||||
"hash": "ea1734d11b8c878445c2c6e58de8b85f",
|
|
||||||
"packages": [],
|
|
||||||
"packages-dev": [
|
|
||||||
{
|
|
||||||
"name": "ocramius/instantiator",
|
|
||||||
"version": "1.1.2",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/Ocramius/Instantiator.git",
|
|
||||||
"reference": "a7abbb5fc9df6e7126af741dd6c140d1a7369435"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/Ocramius/Instantiator/zipball/a7abbb5fc9df6e7126af741dd6c140d1a7369435",
|
|
||||||
"reference": "a7abbb5fc9df6e7126af741dd6c140d1a7369435",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"ocramius/lazy-map": "1.0.*",
|
|
||||||
"php": "~5.3"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"athletic/athletic": "~0.1.8",
|
|
||||||
"ext-pdo": "*",
|
|
||||||
"ext-phar": "*",
|
|
||||||
"phpunit/phpunit": "~4.0",
|
|
||||||
"squizlabs/php_codesniffer": "2.0.*@ALPHA"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "2.0.x-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-0": {
|
|
||||||
"Instantiator\\": "src"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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/Ocramius/Instantiator",
|
|
||||||
"keywords": [
|
|
||||||
"constructor",
|
|
||||||
"instantiate"
|
|
||||||
],
|
|
||||||
"time": "2014-08-14 15:10:55"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ocramius/lazy-map",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/Ocramius/LazyMap.git",
|
|
||||||
"reference": "7fe3d347f5e618bcea7d39345ff83f3651d8b752"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/Ocramius/LazyMap/zipball/7fe3d347f5e618bcea7d39345ff83f3651d8b752",
|
|
||||||
"reference": "7fe3d347f5e618bcea7d39345ff83f3651d8b752",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.3.3"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"athletic/athletic": "~0.1.6",
|
|
||||||
"phpmd/phpmd": "1.5.*",
|
|
||||||
"phpunit/phpunit": ">=3.7",
|
|
||||||
"satooshi/php-coveralls": "~0.6",
|
|
||||||
"squizlabs/php_codesniffer": "1.4.*"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "1.0.x-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-0": {
|
|
||||||
"LazyMap\\": "src"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Marco Pivetta",
|
|
||||||
"email": "[email protected]",
|
|
||||||
"homepage": "http://ocramius.github.com/",
|
|
||||||
"role": "Developer"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "A library that provides lazy instantiation logic for a map of objects",
|
|
||||||
"homepage": "https://github.com/Ocramius/LazyMap",
|
|
||||||
"keywords": [
|
|
||||||
"lazy",
|
|
||||||
"lazy instantiation",
|
|
||||||
"lazy loading",
|
|
||||||
"map",
|
|
||||||
"service location"
|
|
||||||
],
|
|
||||||
"time": "2013-11-09 22:30:54"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "phpunit/php-code-coverage",
|
|
||||||
"version": "2.0.10",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
|
||||||
"reference": "6d196af48e8c100a3ae881940123e693da5a9217"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6d196af48e8c100a3ae881940123e693da5a9217",
|
|
||||||
"reference": "6d196af48e8c100a3ae881940123e693da5a9217",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.3.3",
|
|
||||||
"phpunit/php-file-iterator": "~1.3.1",
|
|
||||||
"phpunit/php-text-template": "~1.2.0",
|
|
||||||
"phpunit/php-token-stream": "~1.2.2",
|
|
||||||
"sebastian/environment": "~1.0.0",
|
|
||||||
"sebastian/version": "~1.0.3"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"ext-xdebug": ">=2.1.4",
|
|
||||||
"phpunit/phpunit": "~4.0.14"
|
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"ext-dom": "*",
|
|
||||||
"ext-xdebug": ">=2.2.1",
|
|
||||||
"ext-xmlwriter": "*"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "2.0.x-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"classmap": [
|
|
||||||
"src/"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"include-path": [
|
|
||||||
""
|
|
||||||
],
|
|
||||||
"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": "2014-08-06 06:39:42"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/sebastianbergmann/php-text-template.git",
|
|
||||||
"reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
|
|
||||||
"reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.3.3"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"classmap": [
|
|
||||||
"Text/"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"include-path": [
|
|
||||||
""
|
|
||||||
],
|
|
||||||
"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": "2014-01-30 17:20:04"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "phpunit/php-timer",
|
|
||||||
"version": "1.0.5",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/sebastianbergmann/php-timer.git",
|
|
||||||
"reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c",
|
|
||||||
"reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.3.3"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"classmap": [
|
|
||||||
"PHP/"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"include-path": [
|
|
||||||
""
|
|
||||||
],
|
|
||||||
"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": "2013-08-02 07:42:54"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "phpunit/php-token-stream",
|
|
||||||
"version": "1.2.2",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
|
|
||||||
"reference": "ad4e1e23ae01b483c16f600ff1bebec184588e32"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/ad4e1e23ae01b483c16f600ff1bebec184588e32",
|
|
||||||
"reference": "ad4e1e23ae01b483c16f600ff1bebec184588e32",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"ext-tokenizer": "*",
|
|
||||||
"php": ">=5.3.3"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "1.2-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"classmap": [
|
|
||||||
"PHP/"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"include-path": [
|
|
||||||
""
|
|
||||||
],
|
|
||||||
"license": [
|
|
||||||
"BSD-3-Clause"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Sebastian Bergmann",
|
|
||||||
"email": "[email protected]",
|
|
||||||
"role": "lead"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Wrapper around PHP's tokenizer extension.",
|
|
||||||
"homepage": "https://github.com/sebastianbergmann/php-token-stream/",
|
|
||||||
"keywords": [
|
|
||||||
"tokenizer"
|
|
||||||
],
|
|
||||||
"time": "2014-03-03 05:10:30"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "phpunit/phpunit",
|
|
||||||
"version": "4.2.2",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
|
||||||
"reference": "a33fa68ece9f8c68589bfc2da8d2794e27b820bc"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a33fa68ece9f8c68589bfc2da8d2794e27b820bc",
|
|
||||||
"reference": "a33fa68ece9f8c68589bfc2da8d2794e27b820bc",
|
|
||||||
"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.1",
|
|
||||||
"phpunit/php-text-template": "~1.2",
|
|
||||||
"phpunit/php-timer": "~1.0.2",
|
|
||||||
"phpunit/phpunit-mock-objects": "~2.2",
|
|
||||||
"sebastian/comparator": "~1.0",
|
|
||||||
"sebastian/diff": "~1.1",
|
|
||||||
"sebastian/environment": "~1.0",
|
|
||||||
"sebastian/exporter": "~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.2.x-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"classmap": [
|
|
||||||
"src/"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"include-path": [
|
|
||||||
"",
|
|
||||||
"../../symfony/yaml/"
|
|
||||||
],
|
|
||||||
"license": [
|
|
||||||
"BSD-3-Clause"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Sebastian Bergmann",
|
|
||||||
"email": "[email protected]",
|
|
||||||
"role": "lead"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "The PHP Unit Testing framework.",
|
|
||||||
"homepage": "http://www.phpunit.de/",
|
|
||||||
"keywords": [
|
|
||||||
"phpunit",
|
|
||||||
"testing",
|
|
||||||
"xunit"
|
|
||||||
],
|
|
||||||
"time": "2014-08-18 05:12:30"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "phpunit/phpunit-mock-objects",
|
|
||||||
"version": "2.2.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
|
|
||||||
"reference": "42e589e08bc86e3e9bdf20d385e948347788505b"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/42e589e08bc86e3e9bdf20d385e948347788505b",
|
|
||||||
"reference": "42e589e08bc86e3e9bdf20d385e948347788505b",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"ocramius/instantiator": "~1.0",
|
|
||||||
"php": ">=5.3.3",
|
|
||||||
"phpunit/php-text-template": "~1.2"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"phpunit/phpunit": "4.2.*@dev"
|
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"ext-soap": "*"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "2.2.x-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"classmap": [
|
|
||||||
"src/"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"include-path": [
|
|
||||||
""
|
|
||||||
],
|
|
||||||
"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": "2014-08-02 13:50:58"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "sebastian/comparator",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/sebastianbergmann/comparator.git",
|
|
||||||
"reference": "f7069ee51fa9fb6c038e16a9d0e3439f5449dcf2"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/f7069ee51fa9fb6c038e16a9d0e3439f5449dcf2",
|
|
||||||
"reference": "f7069ee51fa9fb6c038e16a9d0e3439f5449dcf2",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.3.3",
|
|
||||||
"sebastian/diff": "~1.1",
|
|
||||||
"sebastian/exporter": "~1.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"phpunit/phpunit": "~4.1"
|
|
||||||
},
|
|
||||||
"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": "Sebastian Bergmann",
|
|
||||||
"email": "[email protected]",
|
|
||||||
"role": "lead"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jeff Welch",
|
|
||||||
"email": "[email protected]"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Volker Dusch",
|
|
||||||
"email": "[email protected]"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bernhard Schussek",
|
|
||||||
"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": "2014-05-02 07:05:58"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "sebastian/diff",
|
|
||||||
"version": "1.1.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/sebastianbergmann/diff.git",
|
|
||||||
"reference": "1e091702a5a38e6b4c1ba9ca816e3dd343df2e2d"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/1e091702a5a38e6b4c1ba9ca816e3dd343df2e2d",
|
|
||||||
"reference": "1e091702a5a38e6b4c1ba9ca816e3dd343df2e2d",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.3.3"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "1.1-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"classmap": [
|
|
||||||
"src/"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"BSD-3-Clause"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Sebastian Bergmann",
|
|
||||||
"email": "[email protected]",
|
|
||||||
"role": "lead"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Kore Nordmann",
|
|
||||||
"email": "[email protected]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Diff implementation",
|
|
||||||
"homepage": "http://www.github.com/sebastianbergmann/diff",
|
|
||||||
"keywords": [
|
|
||||||
"diff"
|
|
||||||
],
|
|
||||||
"time": "2013-08-03 16:46:33"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "sebastian/environment",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/sebastianbergmann/environment.git",
|
|
||||||
"reference": "79517609ec01139cd7e9fded0dd7ce08c952ef6a"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/79517609ec01139cd7e9fded0dd7ce08c952ef6a",
|
|
||||||
"reference": "79517609ec01139cd7e9fded0dd7ce08c952ef6a",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.3.3"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"phpunit/phpunit": "4.0.*@dev"
|
|
||||||
},
|
|
||||||
"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": "Sebastian Bergmann",
|
|
||||||
"email": "[email protected]",
|
|
||||||
"role": "lead"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Provides functionality to handle HHVM/PHP environments",
|
|
||||||
"homepage": "http://www.github.com/sebastianbergmann/environment",
|
|
||||||
"keywords": [
|
|
||||||
"Xdebug",
|
|
||||||
"environment",
|
|
||||||
"hhvm"
|
|
||||||
],
|
|
||||||
"time": "2014-02-18 16:17:19"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "sebastian/exporter",
|
|
||||||
"version": "1.0.1",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/sebastianbergmann/exporter.git",
|
|
||||||
"reference": "1f9a98e6f5dfe0524cb8c6166f7c82f3e9ae1529"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/1f9a98e6f5dfe0524cb8c6166f7c82f3e9ae1529",
|
|
||||||
"reference": "1f9a98e6f5dfe0524cb8c6166f7c82f3e9ae1529",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.3.3"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"phpunit/phpunit": "4.0.*@dev"
|
|
||||||
},
|
|
||||||
"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": "Sebastian Bergmann",
|
|
||||||
"email": "[email protected]",
|
|
||||||
"role": "lead"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Jeff Welch",
|
|
||||||
"email": "[email protected]"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Volker Dusch",
|
|
||||||
"email": "[email protected]"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Adam Harvey",
|
|
||||||
"email": "[email protected]",
|
|
||||||
"role": "Lead"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bernhard Schussek",
|
|
||||||
"email": "[email protected]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Provides the functionality to export PHP variables for visualization",
|
|
||||||
"homepage": "http://www.github.com/sebastianbergmann/exporter",
|
|
||||||
"keywords": [
|
|
||||||
"export",
|
|
||||||
"exporter"
|
|
||||||
],
|
|
||||||
"time": "2014-02-16 08:26:31"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "sebastian/version",
|
|
||||||
"version": "1.0.3",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/sebastianbergmann/version.git",
|
|
||||||
"reference": "b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43",
|
|
||||||
"reference": "b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43",
|
|
||||||
"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": "2014-03-07 15:35:33"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "symfony/yaml",
|
|
||||||
"version": "v2.5.3",
|
|
||||||
"target-dir": "Symfony/Component/Yaml",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/symfony/Yaml.git",
|
|
||||||
"reference": "5a75366ae9ca8b4792cd0083e4ca4dff9fe96f1f"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/symfony/Yaml/zipball/5a75366ae9ca8b4792cd0083e4ca4dff9fe96f1f",
|
|
||||||
"reference": "5a75366ae9ca8b4792cd0083e4ca4dff9fe96f1f",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.3.3"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "2.5-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-0": {
|
|
||||||
"Symfony\\Component\\Yaml\\": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Symfony Community",
|
|
||||||
"homepage": "http://symfony.com/contributors"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Fabien Potencier",
|
|
||||||
"email": "[email protected]"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Symfony Yaml Component",
|
|
||||||
"homepage": "http://symfony.com",
|
|
||||||
"time": "2014-08-05 09:00:40"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"aliases": [],
|
|
||||||
"minimum-stability": "stable",
|
|
||||||
"stability-flags": [],
|
|
||||||
"prefer-stable": false,
|
|
||||||
"platform": {
|
|
||||||
"php": ">=5.3.3"
|
|
||||||
},
|
|
||||||
"platform-dev": []
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
<?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>
|
||||||
@@ -57,17 +57,14 @@ class DocBlock implements \Reflector
|
|||||||
*
|
*
|
||||||
* The constructor may also receive namespace information such as the
|
* The constructor may also receive namespace information such as the
|
||||||
* current namespace and aliases. This information is used by some tags
|
* 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
|
* @param \Reflector|string $docblock A docblock comment (including asterisks) or reflector supporting the
|
||||||
* 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.
|
* 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(
|
public function __construct(
|
||||||
$docblock,
|
$docblock,
|
||||||
@@ -77,8 +74,7 @@ class DocBlock implements \Reflector
|
|||||||
if (is_object($docblock)) {
|
if (is_object($docblock)) {
|
||||||
if (!method_exists($docblock, 'getDocComment')) {
|
if (!method_exists($docblock, 'getDocComment')) {
|
||||||
throw new \InvalidArgumentException(
|
throw new \InvalidArgumentException(
|
||||||
'Invalid object passed; the given reflector must support '
|
'Invalid object passed; the given reflector must support the getDocComment method'
|
||||||
. 'the getDocComment method'
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -266,14 +262,13 @@ class DocBlock implements \Reflector
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the text portion of the doc block.
|
* Set the text portion of the DocBlock.
|
||||||
*
|
*
|
||||||
* Sets the text portion (short and long description combined) of the doc
|
* Sets the text portion (short and long description combined) of the DocBlock.
|
||||||
* block.
|
|
||||||
*
|
*
|
||||||
* @param string $docblock The new text portion of the doc block.
|
* @param string $comment The new text portion of the DocBlock.
|
||||||
*
|
*
|
||||||
* @return $this This doc block.
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public function setText($comment)
|
public function setText($comment)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* phpDocumentor
|
* This file is part of phpDocumentor.
|
||||||
*
|
*
|
||||||
* PHP Version 5.3
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
*
|
*
|
||||||
* @author Vasil Rangelov <[email protected]>
|
* @copyright 2010-2015 Mike van Riel<[email protected]>
|
||||||
* @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
|
|
||||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||||
* @link http://phpdoc.org
|
* @link http://phpdoc.org
|
||||||
*/
|
*/
|
||||||
@@ -13,46 +13,49 @@
|
|||||||
namespace phpDocumentor\Reflection\DocBlock;
|
namespace phpDocumentor\Reflection\DocBlock;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The context in which a DocBlock occurs.
|
* Provides information about the Context in which the DocBlock occurs that receives this context.
|
||||||
*
|
*
|
||||||
* @author Vasil Rangelov <[email protected]>
|
* A DocBlock does not know of its own accord in which namespace it occurs and which namespace aliases are applicable
|
||||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
* for the block of code in which it is in. This information is however necessary to resolve Class names in tags since
|
||||||
* @link http://phpdoc.org
|
* 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()
|
||||||
*/
|
*/
|
||||||
class Context
|
final class Context
|
||||||
{
|
{
|
||||||
/** @var string The current namespace. */
|
/** @var string The current namespace. */
|
||||||
protected $namespace = '';
|
private $namespace = '';
|
||||||
|
|
||||||
/** @var array List of namespace aliases => Fully Qualified Namespace. */
|
/** @var array List of namespace aliases => Fully Qualified Namespace. */
|
||||||
protected $namespace_aliases = array();
|
private $namespaceAliases = [];
|
||||||
|
|
||||||
/** @var string Name of the structural element, within the namespace. */
|
|
||||||
protected $lsen = '';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cteates a new context.
|
* Initializes the new context and normalizes all passed namespaces to be in Qualified Namespace Name (QNN)
|
||||||
* @param string $namespace The namespace where this DocBlock
|
* format (without a preceding `\`).
|
||||||
* resides in.
|
*
|
||||||
* @param array $namespace_aliases List of namespace aliases => Fully
|
* @param string $namespace The namespace where this DocBlock resides in.
|
||||||
* Qualified Namespace.
|
* @param array $namespaceAliases List of namespace aliases => Fully Qualified Namespace.
|
||||||
* @param string $lsen Name of the structural element, within
|
|
||||||
* the namespace.
|
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct($namespace, array $namespaceAliases = [])
|
||||||
$namespace = '',
|
{
|
||||||
array $namespace_aliases = array(),
|
$this->namespace = ('global' !== $namespace && 'default' !== $namespace)
|
||||||
$lsen = ''
|
? trim((string)$namespace, '\\')
|
||||||
) {
|
: '';
|
||||||
if (!empty($namespace)) {
|
|
||||||
$this->setNamespace($namespace);
|
foreach ($namespaceAliases as $alias => $fqnn) {
|
||||||
|
$this->namespaceAliases[$alias] = trim((string)$fqnn, '\\');
|
||||||
}
|
}
|
||||||
$this->setNamespaceAliases($namespace_aliases);
|
|
||||||
$this->setLSEN($lsen);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string The namespace where this DocBlock resides in.
|
* Returns the Qualified Namespace Name (thus without `\` in front) where the associated element is in.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getNamespace()
|
public function getNamespace()
|
||||||
{
|
{
|
||||||
@@ -60,95 +63,13 @@ class Context
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array List of namespace aliases => Fully Qualified 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()
|
public function getNamespaceAliases()
|
||||||
{
|
{
|
||||||
return $this->namespace_aliases;
|
return $this->namespaceAliases;
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,174 @@
|
|||||||
|
<?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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -26,7 +26,7 @@ class Description implements \Reflector
|
|||||||
/** @var string */
|
/** @var string */
|
||||||
protected $contents = '';
|
protected $contents = '';
|
||||||
|
|
||||||
/** @var array The contents, as an array of strings and Tag objects. */
|
/** @var array|null The contents, as an array of strings and Tag objects or null if it is not parsed yet. */
|
||||||
protected $parsedContents = null;
|
protected $parsedContents = null;
|
||||||
|
|
||||||
/** @var DocBlock The DocBlock which this description belongs to. */
|
/** @var DocBlock The DocBlock which this description belongs to. */
|
||||||
@@ -35,7 +35,7 @@ class Description implements \Reflector
|
|||||||
/**
|
/**
|
||||||
* Populates the fields of a description.
|
* Populates the fields of a description.
|
||||||
*
|
*
|
||||||
* @param string $content The description's conetnts.
|
* @param string $content The description's content.
|
||||||
* @param DocBlock $docblock The DocBlock which this description belongs to.
|
* @param DocBlock $docblock The DocBlock which this description belongs to.
|
||||||
*/
|
*/
|
||||||
public function __construct($content, DocBlock $docblock = null)
|
public function __construct($content, DocBlock $docblock = null)
|
||||||
@@ -167,6 +167,9 @@ class Description implements \Reflector
|
|||||||
} elseif (class_exists('dflydev\markdown\MarkdownExtraParser')) {
|
} elseif (class_exists('dflydev\markdown\MarkdownExtraParser')) {
|
||||||
$markdown = new \dflydev\markdown\MarkdownExtraParser();
|
$markdown = new \dflydev\markdown\MarkdownExtraParser();
|
||||||
$result = $markdown->transformMarkdown($result);
|
$result = $markdown->transformMarkdown($result);
|
||||||
|
} elseif (class_exists('League\CommonMark\CommonMarkConverter')) {
|
||||||
|
$markdown = new \League\CommonMark\CommonMarkConverter();
|
||||||
|
$result = $markdown->convertToHtml($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
return trim($result);
|
return trim($result);
|
||||||
|
|||||||
@@ -27,15 +27,15 @@ class Location
|
|||||||
/** @var int Column where the DocBlock text starts. */
|
/** @var int Column where the DocBlock text starts. */
|
||||||
protected $columnNumber = 0;
|
protected $columnNumber = 0;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct($lineNumber = 0, $columnNumber = 0)
|
||||||
$lineNumber = 0,
|
{
|
||||||
$columnNumber = 0
|
|
||||||
) {
|
|
||||||
$this->setLineNumber($lineNumber)->setColumnNumber($columnNumber);
|
$this->setLineNumber($lineNumber)->setColumnNumber($columnNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return int Line where the DocBlock text starts.
|
* Returns the line number that is covered by this location.
|
||||||
|
*
|
||||||
|
* @return integer
|
||||||
*/
|
*/
|
||||||
public function getLineNumber()
|
public function getLineNumber()
|
||||||
{
|
{
|
||||||
@@ -43,8 +43,10 @@ class Location
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Registers which line number is covered by this location object.
|
||||||
|
*
|
||||||
|
* @param integer $lineNumber
|
||||||
*
|
*
|
||||||
* @param type $lineNumber
|
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public function setLineNumber($lineNumber)
|
public function setLineNumber($lineNumber)
|
||||||
@@ -55,7 +57,9 @@ class Location
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return int Column where the DocBlock text starts.
|
* Returns the column number (character position on a line) for this location object.
|
||||||
|
*
|
||||||
|
* @return integer
|
||||||
*/
|
*/
|
||||||
public function getColumnNumber()
|
public function getColumnNumber()
|
||||||
{
|
{
|
||||||
@@ -63,8 +67,10 @@ class Location
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Registers the column number (character position on a line) for this location object.
|
||||||
|
*
|
||||||
|
* @param integer $columnNumber
|
||||||
*
|
*
|
||||||
* @param int $columnNumber
|
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public function setColumnNumber($columnNumber)
|
public function setColumnNumber($columnNumber)
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ use phpDocumentor\Reflection\DocBlock;
|
|||||||
*/
|
*/
|
||||||
class Serializer
|
class Serializer
|
||||||
{
|
{
|
||||||
|
|
||||||
/** @var string The string to indent the comment with. */
|
/** @var string The string to indent the comment with. */
|
||||||
protected $indentString = ' ';
|
protected $indentString = ' ';
|
||||||
|
|
||||||
@@ -61,13 +60,14 @@ class Serializer
|
|||||||
/**
|
/**
|
||||||
* Sets the string to indent comments with.
|
* Sets the string to indent comments with.
|
||||||
*
|
*
|
||||||
* @param string $indentationString The string to indent comments with.
|
* @param string $indentString The string to indent comments with.
|
||||||
*
|
*
|
||||||
* @return $this This serializer object.
|
* @return $this This serializer object.
|
||||||
*/
|
*/
|
||||||
public function setIndentationString($indentString)
|
public function setIndentationString($indentString)
|
||||||
{
|
{
|
||||||
$this->indentString = (string)$indentString;
|
$this->indentString = (string)$indentString;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,6 +170,7 @@ class Serializer
|
|||||||
$indent = str_repeat($this->indentString, $this->indent);
|
$indent = str_repeat($this->indentString, $this->indent);
|
||||||
$firstIndent = $this->isFirstLineIndented ? $indent : '';
|
$firstIndent = $this->isFirstLineIndented ? $indent : '';
|
||||||
|
|
||||||
|
$wrapLength = 80;
|
||||||
$text = $docblock->getText();
|
$text = $docblock->getText();
|
||||||
if ($this->lineLength) {
|
if ($this->lineLength) {
|
||||||
//3 === strlen(' * ')
|
//3 === strlen(' * ')
|
||||||
|
|||||||
@@ -114,15 +114,7 @@ class Tag implements \Reflector
|
|||||||
DocBlock $docblock = null,
|
DocBlock $docblock = null,
|
||||||
Location $location = null
|
Location $location = null
|
||||||
) {
|
) {
|
||||||
if (!preg_match(
|
$matches = self::extractTagParts($tag_line);
|
||||||
'/^@(' . self::REGEX_TAGNAME . ')(?:\s*([^\s].*)|$)?/us',
|
|
||||||
$tag_line,
|
|
||||||
$matches
|
|
||||||
)) {
|
|
||||||
throw new \InvalidArgumentException(
|
|
||||||
'Invalid tag_line detected: ' . $tag_line
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
$handler = __CLASS__;
|
$handler = __CLASS__;
|
||||||
if (isset(self::$tagHandlerMappings[$matches[1]])) {
|
if (isset(self::$tagHandlerMappings[$matches[1]])) {
|
||||||
@@ -217,16 +209,13 @@ class Tag implements \Reflector
|
|||||||
*
|
*
|
||||||
* @param string $name The new name of this tag.
|
* @param string $name The new name of this tag.
|
||||||
*
|
*
|
||||||
* @return $this
|
|
||||||
* @throws \InvalidArgumentException When an invalid tag name is provided.
|
* @throws \InvalidArgumentException When an invalid tag name is provided.
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public function setName($name)
|
public function setName($name)
|
||||||
{
|
{
|
||||||
if (!preg_match('/^' . self::REGEX_TAGNAME . '$/u', $name)) {
|
$this->validateTagName($name);
|
||||||
throw new \InvalidArgumentException(
|
|
||||||
'Invalid tag name supplied: ' . $name
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->tag = $name;
|
$this->tag = $name;
|
||||||
|
|
||||||
@@ -374,4 +363,40 @@ class Tag implements \Reflector
|
|||||||
{
|
{
|
||||||
return "@{$this->getName()} {$this->getContent()}";
|
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.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,19 +41,11 @@ class ExampleTag extends SourceTag
|
|||||||
public function getContent()
|
public function getContent()
|
||||||
{
|
{
|
||||||
if (null === $this->content) {
|
if (null === $this->content) {
|
||||||
$filePath = '';
|
|
||||||
if ($this->isURI) {
|
|
||||||
if (false === strpos($this->filePath, ':')) {
|
|
||||||
$filePath = str_replace(
|
|
||||||
'%2F',
|
|
||||||
'/',
|
|
||||||
rawurlencode($this->filePath)
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
$filePath = $this->filePath;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$filePath = '"' . $this->filePath . '"';
|
$filePath = '"' . $this->filePath . '"';
|
||||||
|
if ($this->isURI) {
|
||||||
|
$filePath = $this->isUriRelative($this->filePath)
|
||||||
|
? str_replace('%2F', '/', rawurlencode($this->filePath))
|
||||||
|
:$this->filePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->content = $filePath . ' ' . parent::getContent();
|
$this->content = $filePath . ' ' . parent::getContent();
|
||||||
@@ -61,6 +53,7 @@ class ExampleTag extends SourceTag
|
|||||||
|
|
||||||
return $this->content;
|
return $this->content;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
@@ -131,26 +124,35 @@ class ExampleTag extends SourceTag
|
|||||||
* Sets the file path as an URI.
|
* Sets the file path as an URI.
|
||||||
*
|
*
|
||||||
* This function is equivalent to {@link setFilePath()}, except that it
|
* This function is equivalent to {@link setFilePath()}, except that it
|
||||||
* convers an URI to a file path before that.
|
* converts an URI to a file path before that.
|
||||||
*
|
*
|
||||||
* There is no getFileURI(), as {@link getFilePath()} is compatible.
|
* There is no getFileURI(), as {@link getFilePath()} is compatible.
|
||||||
*
|
*
|
||||||
* @param type $uri The new file URI to use as an example.
|
* @param string $uri The new file URI to use as an example.
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public function setFileURI($uri)
|
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->content = null;
|
||||||
|
|
||||||
|
$this->filePath = $this->isUriRelative($uri)
|
||||||
|
? rawurldecode(str_replace(array('/', '\\'), '%2F', $uri))
|
||||||
|
: $this->filePath = $uri;
|
||||||
|
|
||||||
return $this;
|
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, ':');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,94 @@
|
|||||||
|
<?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;
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
<?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());
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user