Skip to content

Commit 928e07e

Browse files
committed
Cleanup
1 parent 2b197d0 commit 928e07e

File tree

1 file changed

+12
-19
lines changed

1 file changed

+12
-19
lines changed

SlevomatCodingStandard/Helpers/CatchHelper.php

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,36 +13,29 @@ class CatchHelper
1313
*/
1414
public static function findCatchedTypesInCatch(\PHP_CodeSniffer_File $phpcsFile, array $useStatements, array $catchToken): array
1515
{
16-
$catchedVariablePointer = $phpcsFile->findNext(T_VARIABLE, $catchToken['parenthesis_opener'] + 1, $catchToken['parenthesis_closer']);
17-
18-
$startPointer = TokenHelper::findNextEffective($phpcsFile, $catchToken['parenthesis_opener'] + 1, $catchedVariablePointer);
16+
$nameEndPointer = $catchToken['parenthesis_opener'];
1917
$tokens = $phpcsFile->getTokens();
2018
$catchedTypes = [];
21-
while (true) {
22-
$nextPointer = $phpcsFile->findNext(
23-
array_merge([T_BITWISE_OR], TokenHelper::$nameTokenCodes),
24-
$startPointer,
25-
$catchedVariablePointer
26-
);
27-
if ($nextPointer === false) {
19+
do {
20+
$nameStartPointer = $phpcsFile->findNext(array_merge([T_BITWISE_OR], TokenHelper::$nameTokenCodes), $nameEndPointer + 1, $catchToken['parenthesis_closer']);
21+
if ($nameStartPointer === false) {
2822
break;
2923
}
30-
$nextToken = $tokens[$nextPointer];
31-
if ($nextToken['code'] === T_BITWISE_OR) {
32-
$startPointer = TokenHelper::findNextEffective($phpcsFile, $nextPointer + 1, $catchedVariablePointer);
33-
continue;
24+
25+
if ($tokens[$nameStartPointer]['code'] === T_BITWISE_OR) {
26+
$nameStartPointer = TokenHelper::findNextEffective($phpcsFile, $nameStartPointer + 1, $catchToken['parenthesis_closer']);
3427
}
3528

36-
$endPointer = TokenHelper::findNextExcluding($phpcsFile, TokenHelper::$nameTokenCodes, $nextPointer) - 1;
29+
$pointerAfterNameEndPointer = TokenHelper::findNextExcluding($phpcsFile, TokenHelper::$nameTokenCodes, $nameStartPointer + 1);
30+
$nameEndPointer = $pointerAfterNameEndPointer === null ? $nameStartPointer : $pointerAfterNameEndPointer - 1;
31+
3732
$catchedTypes[] = NamespaceHelper::resolveName(
3833
$phpcsFile,
39-
TokenHelper::getContent($phpcsFile, $startPointer, $endPointer),
34+
TokenHelper::getContent($phpcsFile, $nameStartPointer, $nameEndPointer),
4035
$useStatements,
4136
$catchToken['parenthesis_opener']
4237
);
43-
44-
$startPointer = $endPointer + 1;
45-
}
38+
} while (true);
4639

4740
return $catchedTypes;
4841
}

0 commit comments

Comments
 (0)