Skip to content

Commit 2d7f9c2

Browse files
author
Kirill Nesmeyanov
committed
Improve psalm annotations and replace description tags constructor to the factory
1 parent df29820 commit 2d7f9c2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+70
-98
lines changed

src/DocBlock/Description.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,17 @@ public static function create(string $body): self
2727

2828
/**
2929
* Returns the body template.
30+
*
31+
* @psalm-immutable
3032
*/
3133
public function getBodyTemplate(): string
3234
{
3335
return $this->bodyTemplate;
3436
}
3537

38+
/**
39+
* @psalm-immutable
40+
*/
3641
public function __toString(): string
3742
{
3843
/** @psalm-suppress ImplicitToStringCast */

src/DocBlock/Extractor/TagNameExtractor.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ final class TagNameExtractor
2121
* - "@tag With\TypeName $andVariableName And description"
2222
* - etc...
2323
*
24+
* @psalm-immutable
2425
* @return list{non-empty-string, non-empty-string|null}
25-
*
2626
* @throws \Throwable
2727
*/
2828
public function extract(string $body): array
@@ -48,8 +48,8 @@ public function extract(string $body): array
4848
}
4949

5050
/**
51+
* @psalm-immutable
5152
* @return list{non-empty-string, non-empty-string|null}
52-
*
5353
* @throws \Throwable
5454
*/
5555
private function createFromNamed(string $body, int $offset): array
@@ -70,10 +70,9 @@ private function createFromNamed(string $body, int $offset): array
7070
}
7171

7272
/**
73+
* @psalm-immutable
7374
* @param non-empty-string $tag
74-
*
7575
* @return list{non-empty-string, null}
76-
*
7776
* @throws \Throwable
7877
*/
7978
private function createFromBodiless(string $body): array

src/DocBlock/Extractor/TagTypeExtractor.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ public function __construct(
2121
) {}
2222

2323
/**
24+
* @psalm-immutable
2425
* @return array{TypeStatement, non-empty-string|null}
25-
*
2626
* @throws InvalidTagTypeException
2727
*/
2828
public function extractTypeOrFail(string $body): array

src/DocBlock/Extractor/TagVariableExtractor.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
final class TagVariableExtractor
1010
{
1111
/**
12+
* @psalm-immutable
1213
* @return array{non-empty-string|null, non-empty-string|null}
1314
*/
1415
public function extractOrNull(?string $body): array
@@ -34,6 +35,7 @@ public function extractOrNull(?string $body): array
3435
}
3536

3637
/**
38+
* @psalm-immutable
3739
* @return array{non-empty-string, non-empty-string|null}
3840
*/
3941
public function extractOrFail(?string $body): array

src/DocBlock/Tag/ApiTag.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44

55
namespace TypeLang\PhpDocParser\DocBlock\Tag;
66

7-
use TypeLang\PhpDocParser\DocBlock\Description;
8-
97
final class ApiTag extends Tag
108
{
11-
public function __construct(Description|string|null $description = null)
9+
public function __construct(\Stringable|string|null $description = null)
1210
{
1311
parent::__construct('api', $description);
1412
}

src/DocBlock/Tag/AuthorTag.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44

55
namespace TypeLang\PhpDocParser\DocBlock\Tag;
66

7-
use TypeLang\PhpDocParser\DocBlock\Description;
8-
97
final class AuthorTag extends Tag
108
{
11-
public function __construct(Description|string|null $description = null)
9+
public function __construct(\Stringable|string|null $description = null)
1210
{
1311
parent::__construct('author', $description);
1412
}

src/DocBlock/Tag/CopyrightTag.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44

55
namespace TypeLang\PhpDocParser\DocBlock\Tag;
66

7-
use TypeLang\PhpDocParser\DocBlock\Description;
8-
97
final class CopyrightTag extends Tag
108
{
11-
public function __construct(Description|string|null $description = null)
9+
public function __construct(\Stringable|string|null $description = null)
1210
{
1311
parent::__construct('copyright', $description);
1412
}

src/DocBlock/Tag/DeprecatedTag.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44

55
namespace TypeLang\PhpDocParser\DocBlock\Tag;
66

7-
use TypeLang\PhpDocParser\DocBlock\Description;
8-
97
/**
108
* TODO Add version support: {@link https://docs.phpdoc.org/3.0/guide/references/phpdoc/tags/deprecated.html#deprecated}
119
*/
1210
final class DeprecatedTag extends Tag
1311
{
14-
public function __construct(Description|string|null $description = null)
12+
public function __construct(\Stringable|string|null $description = null)
1513
{
1614
parent::__construct('deprecated', $description);
1715
}

src/DocBlock/Tag/ExampleTag.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44

55
namespace TypeLang\PhpDocParser\DocBlock\Tag;
66

7-
use TypeLang\PhpDocParser\DocBlock\Description;
8-
97
/**
108
* TODO Add location support: {@link https://docs.phpdoc.org/3.0/guide/references/phpdoc/tags/example.html#example}
119
*/
1210
final class ExampleTag extends Tag
1311
{
14-
public function __construct(Description|string|null $description = null)
12+
public function __construct(\Stringable|string|null $description = null)
1513
{
1614
parent::__construct('example', $description);
1715
}

src/DocBlock/Tag/FilesourceTag.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44

55
namespace TypeLang\PhpDocParser\DocBlock\Tag;
66

7-
use TypeLang\PhpDocParser\DocBlock\Description;
8-
97
final class FilesourceTag extends Tag
108
{
11-
public function __construct(Description|string|null $description = null)
9+
public function __construct(\Stringable|string|null $description = null)
1210
{
1311
parent::__construct('filesource', $description);
1412
}

0 commit comments

Comments
 (0)