Skip to content

Commit 24b8b34

Browse files
committed
UnusedUsesSniff: Fixed internal error
1 parent f851339 commit 24b8b34

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

SlevomatCodingStandard/Sniffs/Namespaces/UnusedUsesSniff.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,11 @@ public function process(File $phpcsFile, $openTagPointer): void
156156
/** @var int $pointerBeforeUseStatements */
157157
$pointerBeforeUseStatements = TokenHelper::findPrevious($phpcsFile, [T_OPEN_TAG, T_NAMESPACE], $docCommentOpenPointer - 1);
158158

159+
if (!array_key_exists($pointerBeforeUseStatements, $allUnusedNames)) {
160+
$searchAnnotationsPointer = $tokens[$docCommentOpenPointer]['comment_closer'] + 1;
161+
continue;
162+
}
163+
159164
foreach ($allUnusedNames[$pointerBeforeUseStatements] as $useStatement) {
160165
$nameAsReferencedInFile = $useStatement->getNameAsReferencedInFile();
161166
$uniqueId = UseStatement::getUniqueId($useStatement->getType(), $nameAsReferencedInFile);

tests/Sniffs/Namespaces/UnusedUsesSniffTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,4 +279,12 @@ public function testFixableUnusedUses(): void
279279
self::assertAllFixedInFile($report);
280280
}
281281

282+
public function testNoUsesWithSearchInAnnotationsEnabledNoErrors(): void
283+
{
284+
$report = self::checkFile(__DIR__ . '/data/noUses.php', [
285+
'searchAnnotations' => true,
286+
]);
287+
self::assertNoSniffErrorInFile($report);
288+
}
289+
282290
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Foo;
4+
5+
class Boo
6+
{
7+
8+
/** @var \Boo */
9+
private $boo;
10+
11+
}

0 commit comments

Comments
 (0)