Commit Graph
45 Commits
Author SHA1 Message Date
Mike van Riel 280a3ce56d Add support for DocBlock template markers
DocBlocks may start with #@+ and #@- to indicate that they are (the start) of a DocBlock
template or the end of a template.

In this commit I have changed the way a DocBlock is parsed to interpret this information
and added tests to show for it. In addition I have added more comments to the Regular
Expression responsible for splitting a DocBlock to show the business rules more clearly.

This is the first step in implementing https://github.com/phpDocumentor/phpDocumentor2/issues/42.
2014-08-30 11:08:15 +02:00
Carsten Brandt 53ba484043 Preserve newlines in docblock tags
This is especially important when using markdown.
Adding a blank line between text introduces a new paragraph.
Current implementation will result in all text staying in one paragraph
and also other elements like lists and code do not get recognized in
most cases.
2014-02-28 17:17:48 +01:00
Vasil Rangelov 63c9de4e8b Added support for static method declarations at MethodTag and according unit tests.
Fixed MethodTag::getContent() to actually return the content as opposed to $this;
2013-05-16 22:17:15 +03:00
Vasil Rangelov 76619d4a16 Adjusted Unit tests and docs to match the latest dot separation. 2013-04-16 19:25:40 +03:00
Vasil Rangelov b09525332f Refactored all tags to have setters for all of their components;
Removed the special handling for VarTag (it's now equivalent to ParamTag);
Minor doc, CS and coverage fixes.
2012-11-30 19:26:19 +02:00
Vasil Rangelov 8418970624 CS fixes. 2012-11-27 19:52:28 +02:00
Vasil Rangelov 0d38c84407 Added @boenrobot to Travis' email notifications;
Some CS fixes at TagTest.php.
2012-11-22 13:22:00 +02:00
Vasil Rangelov beb96a487b Added tests related to the namespaced tag support;
Restored ReturnTag::getTypesCollection() to "protected", to avoid potential BC breaks later.
2012-11-22 01:23:31 +02:00
Vasil Rangelov 7a03741e0b Added support for namespaced tags;
Simplified @see and @link parsing;
Added comments to the regexes of @method, @example and @source;
Added a test case for what 2812eac046 intended to fix.
2012-11-22 00:37:22 +02:00
Vasil Rangelov 99054d341f Introduced Context and Location, and adapted Collection and ReturnTag accordingly. 2012-11-21 15:55:10 +02:00
Vasil Rangelov 9da4a65065 Reverted the move of explode() into Return, and moved the implode() into Collection's new __toString() method instead;
Also had to made type resolution lazy, as a pleasant side effect.

This reverts commit db20ae39fb.
2012-11-18 18:50:45 +02:00
Vasil Rangelov 39faeec91d Revert "Merge pull request #10 from boenrobot/author"
This reverts commit 21c36677ab, reversing
changes made to ffcaa03337.
2012-11-18 17:15:48 +02:00
Vasil Rangelov 21c36677ab Merge pull request #10 from boenrobot/author
Introduced role, description and space separated URIs to the author tag.
2012-11-17 06:33:38 -08:00
Vasil Rangelov 37810ef836 Added @example tag handler, and registered it and @source at Tag. 2012-11-17 15:23:16 +02:00
Vasil Rangelov 587406073d Added reflection for @source tag. 2012-11-17 15:16:56 +02:00
Vasil Rangelov aed654aa85 Merge pull request #11 from boenrobot/version-and-derivatives
Reflections for @version, @since and @deprecated
2012-11-17 05:13:04 -08:00
Vasil Rangelov db20ae39fb Moved the type separation into ReturnTag, for consistency with the type merging that is currently there. 2012-11-16 21:43:25 +02:00
Vasil Rangelov a18985a888 Doc updates and fixes. 2012-11-13 21:50:56 +02:00
Vasil Rangelov c2f692140f Merge branch 'master' of github.com:boenrobot/ReflectionDocBlock into author
Conflicts:
	src/phpDocumentor/Reflection/DocBlock/Tag/AuthorTag.php
2012-11-13 19:13:34 +02:00
Vasil Rangelov 26e2eade91 Merge branch 'master' of github.com:boenrobot/ReflectionDocBlock into version-and-derivatives 2012-11-13 19:05:14 +02:00
Vasil Rangelov 1352ef56a6 Renamed LongDescription to Description, to better serve its new dual role as "holder for a place where inline tags can occur";
Removed Tag::setDocblock() in favor of an additional constructor argument that defaults to NULL;
Tag::createInstance() and Description's constructor now have a second argument, allowing the specification of an owning DocBlock;
Description::getParsedContents() assigns the Description's owning DocBlock object when creating tags.
2012-11-13 17:16:30 +02:00
Vasil Rangelov 6df31db139 Tweaked the "testInvalidTagBlock" test to appease PHPCS (though strictly speaking, this is a bug with PHPCS "NEWDOC" handling). 2012-11-13 16:43:36 +02:00
Vasil Rangelov 829a92e5aa Added reflections for @version, @since and @deprecated, which separate the version vector (if one is provided) from the description. 2012-11-13 15:28:17 +02:00
Vasil Rangelov 04936a7b39 @return now trims the content before splitting it;
Removed ThrowTag.php (unnecessary, given the map, which aliases "throw" to ThrowsTag.php);
Added tests for ThrowsTag, along with a few other minor test additions and fixes;
2012-11-11 19:51:04 +02:00
Vasil Rangelov ae82b8488f Applied multi line fixes to @param, analogous to those in @return. 2012-11-11 17:45:16 +02:00
Vasil Rangelov bae65d2afe Minor syntax and doc fixes at Tag::registerTagHandler();
Split the "testTagHandlerRegistration" test into several new ones, with appropriate @covers annotations added;
Although not required for single liners, class names at the built in tag handlers map are indented on a separate line for readability.
2012-11-11 15:20:59 +02:00
Vasil Rangelov 28df2a4cd6 Refactored Tag::createInstance() to use a simple tag-to-class map, that has the default tag handlers pre-registered. 2012-11-11 00:54:51 +02:00
Vasil Rangelov fedcd8cf49 Minor doc fixes. 2012-11-10 23:45:28 +02:00
Vasil Rangelov a868c60f8e Removed DocBlock::expandType() and associated tests, as previously advised by @mvriel;
Added tests for generic Tag objects, and a few others;
Increased total coverage by more appropriate use of @covers annotations.
2012-11-10 23:19:36 +02:00
Vasil Rangelov e6d2ec7c54 Inverted @param and @return hierarchy;
More fixes to tests and code coverage increase.
2012-11-10 20:27:57 +02:00
Vasil Rangelov f19dac185a Introduced role, description and space separated URIs to the author tag. 2012-11-10 16:50:39 +02:00
Vasil Rangelov 8b9591a7c5 Made the Tag::createInstance() create generic tag objects when there are uppercase letters in the tag name
(this fixes phpDocumentor/phpDocumentor2#672).
2012-11-10 14:00:01 +02:00
Vasil Rangelov 082c9354d0 Increased unit test coverage of DocBlock;
Moved the tag block checks outside (and prior to) the tag line loop;
Doc and CS fixes.
2012-11-10 13:24:46 +02:00
Vasil Rangelov 044ebd68c9 Added escape sequences that allow "literal" inline tags in descriptions. 2012-11-10 11:49:23 +02:00
Vasil Rangelov e0a5a75364 Implemented nested inline tag parsing;
Added unit tests for LongDescription.php;
Added the "src" folder as white listed for code coverage in the PHPUnit configuration;
Fixed the @covers annotation inside the CoversTagTest.php (isn't this ironic?).
2012-11-10 11:49:23 +02:00
Vasil Rangelov d6119709ba Shortened some long variable names in the test suite, as advised by PHPMD's default settings. 2012-11-04 23:34:25 +02:00
Vasil Rangelov ba1395e42d Updated comments with the namespaced notation, and added the "Tag" suffix where needed. 2012-11-04 22:19:18 +02:00
Vasil Rangelov 9a3c6f50ef Made PSR2 related fixes that are compatible with the PEAR coding standard. 2012-11-04 16:02:57 +02:00
Vasil Rangelov 009237bad2 Tons of coding standard fixes. 2012-11-04 15:16:37 +02:00
Mike van Riel 6b707f7166 Change behaviour of @param parsing
In issue report phpDocumentor/phpDocumentor2#620 @bobef reported that when he
used just a Type as content of the @param that it would be recognized as
description instead of the Type.

According to the unit tests this is correct behaviour but after reviewing the
pattern of the output his version is more consistent. As such I have altered
the behaviour to act as following:

If only one word is found after an @param (word means white-space bounded
series of characters) then interpret that as the type and not description.

During this item several issues in unit tests were fixed and a new 'Type'
Collection was introduced that is capable of expanding types based on a given
namespace and series of aliases.
This should be re-used in phpDocumentor's Transformer as a duplication exists
there with the expanding of the Types.

Please note: the suggested format by @bobef is not valid according to the
PHPDoc Standard but is provided for convenience.
2012-11-03 22:14:43 +01:00
Mike van Riel 4d262053fc Changed return tag to properly support expanding types 2012-06-21 23:00:13 +02:00
Mike van Riel bbac3fa418 Added type expansion for the @param tag 2012-06-21 22:51:29 +02:00
Mike van Riel cd252c1f09 Added support for namespace expansion of a DocBlock and via the DocBlock to its tags 2012-06-21 22:17:30 +02:00
Richard van Velzen a5b50ba482 Fixed the case where the dot does not properly terminate the short description.
The regular expression only took into account newlines, not general whitespace after the dot. Added a test case as well.
2012-06-04 09:27:56 +02:00
Mike van Riel fea7abe168 Imported DocBlock Reflection and transformed into a PHP 5.3 module 2012-04-06 20:15:46 +02:00