Skip to content

Commit d6b7ce1

Browse files
committed
add phpstan settings.
1 parent e5ec7d7 commit d6b7ce1

File tree

7 files changed

+37
-14
lines changed

7 files changed

+37
-14
lines changed

phpstan.neon

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
parameters:
2+
level: max
3+
paths:
4+
- src

src/Analyze/FunctionScope.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,12 @@
66

77
final class FunctionScope implements Scope
88
{
9+
/** @var list<AnalyzedVariable> */
910
private array $analyzedVariables;
1011

12+
/**
13+
* @param list<AnalyzedVariable> $analyzedVariables
14+
*/
1115
public function __construct(private string $name, array $analyzedVariables)
1216
{
1317
$this->analyzedVariables = $analyzedVariables;
@@ -19,7 +23,7 @@ public function getName(): string
1923
}
2024

2125
/**
22-
* @return list<AlalyzedVariable>
26+
* @return list<AnalyzedVariable>
2327
*/
2428
public function getAnalyzedVariables(): array
2529
{

src/Analyze/VariableAnalyzer.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,17 @@
55
namespace Smeghead\PhpVariableHardUsage\Analyze;
66

77
use Smeghead\PhpVariableHardUsage\Parse\Func;
8+
use Smeghead\PhpVariableHardUsage\Parse\VarReference;
89

910
final class VariableAnalyzer
1011
{
12+
/**
13+
* @var list<Func>
14+
*/
1115
private array $functions;
1216

1317
/**
14-
* @param array<Func> $functions
18+
* @param list<Func> $functions
1519
*/
1620
public function __construct(array $functions)
1721
{
@@ -39,6 +43,9 @@ private function analyzeFunction(Func $function): Scope
3943
return new FunctionScope($function->name, $analyzedVars);
4044
}
4145

46+
/**
47+
* @param list<VarReference> $vars
48+
*/
4249
private function calcVariableHardUsage(array $vars): int
4350
{
4451
$lineNumbers = array_map(fn($var) => $var->lineNumber, $vars);

src/Command.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@
55
namespace Smeghead\PhpVariableHardUsage;
66

77
use Smeghead\PhpVariableHardUsage\Analyze\VariableAnalyzer;
8-
use Smeghead\PhpVariableHardUsage\Core\Analyzer;
98
use Smeghead\PhpVariableHardUsage\Parse\VariableParser;
109

1110
final class Command
1211
{
12+
/**
13+
* @param list<string> $argv
14+
*/
1315
public function run(array $argv): void
1416
{
1517
if (count($argv) < 2) {
@@ -24,7 +26,12 @@ public function run(array $argv): void
2426
}
2527

2628
$parser = new VariableParser();
27-
$parseResult = $parser->parse(file_get_contents($filePath));
29+
$content =file_get_contents($filePath);
30+
if ($content === false) {
31+
echo "Failed to read file: $filePath\n";
32+
return;
33+
}
34+
$parseResult = $parser->parse($content);
2835
$analyzer = new VariableAnalyzer($parseResult->functions);
2936
$result = $analyzer->analyze();
3037
echo $result->format();

src/Parse/Exception/ParseFailedException.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88

99
final class ParseFailedException extends Exception
1010
{
11-
public function __construct($message = "Parsing failed", $code = 0, Exception $previous = null)
11+
public function __construct(string $message = "Parsing failed", int $code = 0)
1212
{
13-
parent::__construct($message, $code, $previous);
13+
parent::__construct($message, $code);
1414
}
1515
}

src/Parse/Func.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public function __construct(public readonly string $name)
1515
}
1616

1717
/**
18-
* @param array<VarReference> $variables
18+
* @return array<VarReference>
1919
*/
2020
public function getVariables(): array
2121
{

src/Parse/VariableParser.php

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use PhpParser\Node\Expr\Variable;
88
use PhpParser\Node\Stmt;
99
use PhpParser\Node\Stmt\ClassMethod;
10+
use PhpParser\Node\Stmt\Class_;
1011
use PhpParser\Node\Stmt\Function_;
1112
use PhpParser\NodeDumper;
1213
use PhpParser\NodeVisitor\FindingVisitor;
@@ -24,7 +25,7 @@ public function __construct()
2425

2526
/**
2627
* @param list<Stmt> $stmt
27-
* @return List<Function_>
28+
* @return list<Function_>
2829
*/
2930
private function getFunctions(array $stmt): array
3031
{
@@ -35,7 +36,7 @@ private function getFunctions(array $stmt): array
3536
$traverser->addVisitor($functionVisitor);
3637
$traverser->traverse($stmt);
3738

38-
return $functionVisitor->getFoundNodes();
39+
return $functionVisitor->getFoundNodes(); // @phpstan-ignore-line
3940
}
4041

4142
/**
@@ -51,7 +52,7 @@ private function getVariables(Function_|ClassMethod $function): array
5152
$traverser->addVisitor($variableVisitor);
5253
$traverser->traverse([$function]);
5354

54-
return $variableVisitor->getFoundNodes();
55+
return $variableVisitor->getFoundNodes(); // @phpstan-ignore-line
5556
}
5657

5758
/**
@@ -67,7 +68,7 @@ private function parseFunctions(array $stmts): array
6768
$variables = $this->getVariables($foundFunction);
6869
$func = new Func($foundFunction->name->name);
6970
foreach ($variables as $variable) {
70-
$func->addVariable(new VarReference($variable->name, $variable->getLine()));
71+
$func->addVariable(new VarReference($variable->name, $variable->getLine())); // @phpstan-ignore-line
7172
}
7273
$functions[] = $func;
7374
}
@@ -76,7 +77,7 @@ private function parseFunctions(array $stmts): array
7677

7778
/**
7879
* @param list<Stmt> $stmt
79-
* @return List<Class_>
80+
* @return list<Class_>
8081
*/
8182
private function getClasses(array $stmt): array
8283
{
@@ -87,7 +88,7 @@ private function getClasses(array $stmt): array
8788
$traverser->addVisitor($classVisitor);
8889
$traverser->traverse($stmt);
8990

90-
return $classVisitor->getFoundNodes();
91+
return $classVisitor->getFoundNodes(); // @phpstan-ignore-line
9192
}
9293

9394
/**
@@ -104,7 +105,7 @@ private function parseClasses(array $stmts): array
104105
$variables = $this->getVariables($method);
105106
$func = new Func(sprintf('%s::%s', $foundClass->name, $method->name->name));
106107
foreach ($variables as $variable) {
107-
$func->addVariable(new VarReference($variable->name, $variable->getLine()));
108+
$func->addVariable(new VarReference($variable->name, $variable->getLine())); // @phpstan-ignore-line
108109
}
109110
$methods[] = $func;
110111
}

0 commit comments

Comments
 (0)