Compare commits

...
6 Commits
Author SHA1 Message Date
Mike van Riel 2b05ea3221 Fixing the other RegExes as well since they were also not using the u modifier 2012-07-13 20:07:51 +02:00
Mike van Riel 33a2e55cbc Merge pull request #4 from rvanvelzen/master
Add the u modifier to the regexes used.
2012-07-13 10:28:21 -07:00
Richard van Velzen 3d97a72bac Merge branch 'master' of git://github.com/phpDocumentor/ReflectionDocBlock 2012-07-13 13:43:29 +02:00
Richard van Velzen 51210b581e Add the u modifier to the regexes used.
Without the u modifier, PCRE does not recognize Unicode sequences, which breaks certain cases.
2012-07-13 13:42:49 +02:00
Mike van Riel cee3c0bc21 Namespace resolution did not work as intended
The algorithm to expand a class name into a FCQN contained seevral errors.
These are now gone and expansion should work as expected
2012-06-30 13:38:18 +02:00
Mike van Riel 731e797dd8 Added 'global' to the list of special namespace names indicating global space and adding namespace resolution to the param tags 'getType()' method 2012-06-29 23:04:12 +02:00
3 changed files with 8 additions and 17 deletions
+6 -15
View File
@@ -99,7 +99,7 @@ class DocBlock implements \Reflector
{
$comment = trim(
preg_replace(
'#[ \t]*(?:\/\*\*|\*\/|\*)?[ \t]{0,1}(.*)?#', '$1', $comment
'#[ \t]*(?:\/\*\*|\*\/|\*)?[ \t]{0,1}(.*)?#u', '$1', $comment
)
);
@@ -133,7 +133,7 @@ class DocBlock implements \Reflector
} else {
// clears all extra horizontal whitespace from the line endings
// to prevent parsing issues
$comment = preg_replace('~(?m)\h*$~', '', $comment);
$comment = preg_replace('~(?m)\h*$~u', '', $comment);
/*
* Splits the docblock into a short description, long description and
@@ -173,7 +173,7 @@ class DocBlock implements \Reflector
)
)?
(\s+ [\s\S]*)? # everything that follows
/', $comment, $matches
/u', $comment, $matches
);
array_shift($matches);
}
@@ -330,7 +330,7 @@ class DocBlock implements \Reflector
}
$namespace = '';
if ($this->namespace != 'default') {
if ($this->namespace != 'default' && $this->namespace != 'global') {
$namespace = rtrim($this->namespace, '\\') . '\\';
}
@@ -350,21 +350,12 @@ class DocBlock implements \Reflector
) {
$type_parts = explode('\\', $item);
// if the first part is the keyword 'namespace', replace it
// with the current namespace
if ($type_parts[0] == 'namespace') {
$type_parts[0] = $this->getNamespace();
$item = implode('\\', $type_parts);
}
// if the first segment is an alias; replace with full name
if (isset($this->namespace_aliases[$type_parts[0]])) {
$type_parts[0] = $this->namespace_aliases[$type_parts[0]];
$item = implode('\\', $type_parts);
} elseif (count($type_parts) == 1) {
// prefix the item with the namespace if there is only one
// part and no alias
} else {
// otherwise prepend the current namespace
$item = $namespace . $item;
}
}
@@ -35,7 +35,7 @@ class LongDescription implements \Reflector
*/
public function __construct($content)
{
if (preg_match('/\{\@(.+?)\}/', $content, $matches)) {
if (preg_match('/\{\@(.+?)\}/u', $content, $matches)) {
array_shift($matches);
foreach ($matches as $tag) {
$this->tags[] = Tag::createInstance('@' . $tag);
@@ -79,7 +79,7 @@ class ParamTag extends Tag
*/
public function getType()
{
return $this->type;
return $this->docblock->expandType($this->type);
}
/**