Skip to content

Commit bb8a6fe

Browse files
committed
fix phpstan reports
1 parent 3388260 commit bb8a6fe

5 files changed

Lines changed: 21 additions & 9 deletions

File tree

src/Parser/Name/AbstractParser.php

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,22 @@ abstract class AbstractParser
1111
{
1212
private bool $allowIncomplete = false;
1313

14-
public function __construct(
15-
/**
16-
* @var class-string<RuleInterface>[]
17-
*/
14+
/**
15+
* @param class-string<RuleInterface>[] $rules
16+
* @param class-string<AbstractName> $format
17+
*/
18+
final public function __construct(
1819
protected array $rules,
19-
/** @var class-string<AbstractName> */
2020
protected string $format,
2121
) {
2222
if (!(is_a($this->format, AbstractName::class, true))) {
2323
throw new \InvalidArgumentException(sprintf('Format class "%s" does not exist or is not a subclass of "%s".', $this->format, AbstractName::class));
2424
}
2525
}
2626

27+
/**
28+
* @param class-string<AbstractName> $format
29+
*/
2730
public static function create(string $format): static
2831
{
2932
static::validateFormat($format);
@@ -64,5 +67,8 @@ protected function buildNameFromResult(Result $result): ?AbstractName
6467
return $name;
6568
}
6669

70+
/**
71+
* @return class-string<RuleInterface>[]
72+
*/
6773
abstract public static function defaultRules(string $format): array;
6874
}

src/Parser/Name/ArrayParser.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212

1313
class ArrayParser extends AbstractParser
1414
{
15+
/**
16+
* @param array<mixed, mixed> $data
17+
*/
1518
public function parse(array $data): ?AbstractName
1619
{
1720
$result = new Result(false);
@@ -32,7 +35,7 @@ public function parse(array $data): ?AbstractName
3235
}
3336

3437
/**
35-
* @param string $format
38+
* @param class-string<AbstractName> $format
3639
* @return class-string<RuleInterface>[]
3740
*/
3841
public static function defaultRules(string $format): array

src/Parser/Name/Rule/Array/GermanKeyNameRule.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44

55
use HeimrichHannot\SalutationCreator\Parser\Name\Rule\Result;
66
use HeimrichHannot\SalutationCreator\Parser\Name\Rule\RowValue;
7+
use HeimrichHannot\SalutationCreator\Parser\Name\Rule\RuleInterface;
78
use HeimrichHannot\SalutationCreator\Parser\Name\Rule\Value;
89

9-
class GermanKeyNameRule
10+
class GermanKeyNameRule implements RuleInterface
1011
{
1112
public function apply(Value $value): Result
1213
{

src/Parser/Name/Rule/RowValue.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class RowValue extends Value
88
public string $normalizedKey;
99

1010
public function __construct(
11-
mixed $key,
11+
string|int $key,
1212
mixed $value
1313
) {
1414
parent::__construct($value);

src/Parser/Name/StringParser.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ public function parse(string $name): ?AbstractName
2828
}
2929

3030
$parts = preg_split('/\s+/u', $name, -1, PREG_SPLIT_NO_EMPTY);
31-
$count = count($parts);
31+
if (false === $parts || ($count = count($parts)) === 0) {
32+
return null;
33+
}
3234

3335
if ($count === 1) {
3436
return $this->buildNameFromResult(new Result(true, '', $parts[0]));

0 commit comments

Comments
 (0)