mirror of
https://github.com/barryvdh/ReflectionDocBlock.git
synced 2026-08-18 01:57:13 +00:00
More phpstan checks for better code
This commit is contained in:
@@ -22,6 +22,7 @@ use phpDocumentor\Reflection\DocBlock\Tags\Factory\ExtendsFactory;
|
||||
use phpDocumentor\Reflection\DocBlock\Tags\Factory\Factory;
|
||||
use phpDocumentor\Reflection\DocBlock\Tags\Factory\ImplementsFactory;
|
||||
use phpDocumentor\Reflection\DocBlock\Tags\Factory\MethodFactory;
|
||||
use phpDocumentor\Reflection\DocBlock\Tags\Factory\MixinFactory;
|
||||
use phpDocumentor\Reflection\DocBlock\Tags\Factory\ParamFactory;
|
||||
use phpDocumentor\Reflection\DocBlock\Tags\Factory\PropertyFactory;
|
||||
use phpDocumentor\Reflection\DocBlock\Tags\Factory\PropertyReadFactory;
|
||||
@@ -151,6 +152,7 @@ final class StandardTagFactory implements TagFactory
|
||||
new PropertyReadFactory($typeResolver, $descriptionFactory),
|
||||
new PropertyWriteFactory($typeResolver, $descriptionFactory),
|
||||
new MethodFactory($typeResolver, $descriptionFactory),
|
||||
new MixinFactory($typeResolver, $descriptionFactory),
|
||||
new ImplementsFactory($typeResolver, $descriptionFactory),
|
||||
new ExtendsFactory($typeResolver, $descriptionFactory),
|
||||
new TemplateFactory($typeResolver, $descriptionFactory),
|
||||
|
||||
@@ -34,7 +34,7 @@ final class MethodParameterFactory
|
||||
{
|
||||
$method = 'format' . ucfirst(gettype($defaultValue));
|
||||
if (method_exists($this, $method)) {
|
||||
return ' = ' . $this->{$method}($defaultValue);
|
||||
return $this->{$method}($defaultValue);
|
||||
}
|
||||
|
||||
return '';
|
||||
|
||||
@@ -84,7 +84,7 @@ final class MethodParameter
|
||||
'$' . $this->getName() .
|
||||
(
|
||||
$this->defaultValue !== self::NO_DEFAULT_VALUE ?
|
||||
(new MethodParameterFactory())->format($this->defaultValue) :
|
||||
' = ' . (new MethodParameterFactory())->format($this->defaultValue) :
|
||||
''
|
||||
);
|
||||
}
|
||||
|
||||
@@ -13,17 +13,10 @@ declare(strict_types=1);
|
||||
|
||||
namespace phpDocumentor\Reflection\DocBlock\Tags;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use phpDocumentor\Reflection\DocBlock\Tag;
|
||||
use phpDocumentor\Reflection\Exception\CannotCreateTag;
|
||||
use phpDocumentor\Reflection\Type;
|
||||
|
||||
use function in_array;
|
||||
use function sprintf;
|
||||
use function strlen;
|
||||
use function substr;
|
||||
use function trim;
|
||||
|
||||
abstract class TagWithType extends BaseTag
|
||||
{
|
||||
/** @var ?Type */
|
||||
@@ -42,43 +35,6 @@ abstract class TagWithType extends BaseTag
|
||||
throw new CannotCreateTag('Typed tag cannot be created');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
protected static function extractTypeFromBody(string $body): array
|
||||
{
|
||||
$type = '';
|
||||
$nestingLevel = 0;
|
||||
for ($i = 0, $iMax = strlen($body); $i < $iMax; $i++) {
|
||||
$character = $body[$i];
|
||||
|
||||
if ($nestingLevel === 0 && trim($character) === '') {
|
||||
break;
|
||||
}
|
||||
|
||||
$type .= $character;
|
||||
if (in_array($character, ['<', '(', '[', '{'])) {
|
||||
$nestingLevel++;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (in_array($character, ['>', ')', ']', '}'])) {
|
||||
$nestingLevel--;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ($nestingLevel < 0 || $nestingLevel > 0) {
|
||||
throw new InvalidArgumentException(
|
||||
sprintf('Could not find type in %s, please check for malformed notations', $body)
|
||||
);
|
||||
}
|
||||
|
||||
$description = trim(substr($body, strlen($type)));
|
||||
|
||||
return [$type, $description];
|
||||
}
|
||||
|
||||
public function __toString(): string
|
||||
{
|
||||
if ($this->description) {
|
||||
|
||||
@@ -13,9 +13,9 @@ declare(strict_types=1);
|
||||
|
||||
namespace phpDocumentor\Reflection\DocBlock\Tags;
|
||||
|
||||
use Doctrine\Deprecations\Deprecation;
|
||||
use phpDocumentor\Reflection\DocBlock\Description;
|
||||
use phpDocumentor\Reflection\DocBlock\Tag;
|
||||
use phpDocumentor\Reflection\Exception\CannotCreateTag;
|
||||
use phpDocumentor\Reflection\Type;
|
||||
|
||||
/**
|
||||
@@ -51,14 +51,7 @@ final class Template extends BaseTag
|
||||
*/
|
||||
public static function create(string $body): ?Tag
|
||||
{
|
||||
Deprecation::trigger(
|
||||
'phpdocumentor/reflection-docblock',
|
||||
'https://github.com/phpDocumentor/ReflectionDocBlock/issues/361',
|
||||
'Create using static factory is deprecated, this method should not be called directly
|
||||
by library consumers',
|
||||
);
|
||||
|
||||
return null;
|
||||
throw new CannotCreateTag('Template tag cannot be created');
|
||||
}
|
||||
|
||||
public function getTemplateName(): string
|
||||
|
||||
Reference in New Issue
Block a user