Skip to content

Commit

Permalink
Fix withIdentifier extraction
Browse files Browse the repository at this point in the history
  • Loading branch information
ondrejmirtes committed Jun 12, 2023
1 parent 6fdeadf commit 88ab0bf
Showing 1 changed file with 17 additions and 27 deletions.
44 changes: 17 additions & 27 deletions identifier-extractor/src/Rule.php
Expand Up @@ -6,7 +6,6 @@
use PHPStan\Analyser\Scope;
use PHPStan\Node\CollectedDataNode;
use PHPStan\Reflection\ReflectionProvider;
use PHPStan\Rules\IdentifierRuleError;
use PHPStan\Rules\RuleErrorBuilder;
use function array_pop;
use function array_unique;
Expand Down Expand Up @@ -46,38 +45,25 @@ public function processNode(Node $node, Scope $scope): array
}

foreach ($node->get(RuleErrorBuilderCollector::class) as $rows) {
foreach ($this->processRows($rows, $injected) as $error) {
$errors[] = $error;
foreach ($rows as $row) {
foreach ($this->findOrigins($row['class'], $injected) as $origin) {
$errors[] = RuleErrorBuilder::message('Metadata')
->identifier('phpstanIdentifierExtractor.data')
->metadata([
'identifiers' => $row['identifiers'],
'class' => $origin,
'file' => $row['file'],
'line' => $row['line'],
])->build();
}
}
}

foreach ($node->get(ErrorWithIdentifierCollector::class) as $rows) {
foreach ($this->processRows($rows, $injected) as $error) {
$errors[] = $error;
}
}

return $errors;
}

/**
* @param list<array{identifiers: non-empty-list<string>, class: string, file: string, line: int}> $rows
* @param array<string, list<string>> $injected
* @return list<IdentifierRuleError>
*/
private function processRows(array $rows, array $injected): array
{
$errors = [];
foreach ($rows as $row) {
foreach ($this->findOrigins($row['class'], $injected) as $origin) {
foreach ($rows as $row) {
$errors[] = RuleErrorBuilder::message('Metadata')
->identifier('phpstanIdentifierExtractor.data')
->metadata([
'identifiers' => $row['identifiers'],
'class' => $origin,
'file' => $row['file'],
'line' => $row['line'],
])->build();
->metadata($row)->build();
}
}

Expand Down Expand Up @@ -113,6 +99,10 @@ private function findOrigins(string $class, array $injected): array
}
}

if (count($origins) === 0) {
return [$class];
}

return $origins;
}

Expand Down

0 comments on commit 88ab0bf

Please sign in to comment.