Skip to content

Commit

Permalink
Merge ef06efa into 88f3bf1
Browse files Browse the repository at this point in the history
  • Loading branch information
keradus committed Dec 30, 2023
2 parents 88f3bf1 + ef06efa commit 8698f83
Showing 1 changed file with 31 additions and 7 deletions.
38 changes: 31 additions & 7 deletions src/Tokenizer/Tokens.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
use PhpCsFixer\Preg;
use PhpCsFixer\Tokenizer\Analyzer\Analysis\NamespaceAnalysis;
use PhpCsFixer\Tokenizer\Analyzer\NamespacesAnalyzer;
use PhpCsFixer\Utils;

/**
* Collection of code tokens.
Expand Down Expand Up @@ -457,20 +458,19 @@ public function findBlockStart(int $type, int $searchIndex): int
}

/**
* @param int|non-empty-list<int> $possibleKind kind or array of kinds
* @param int $start optional offset
* @param null|int $end optional limit
* @param list<int> $possibleKinds
* @param int $start optional offset
* @param null|int $end optional limit
*
* @return ($possibleKind is int ? array<int, Token> : array<int, array<int, Token>>)
* @return array<int, array<int, Token>>
*/
public function findGivenKind($possibleKind, int $start = 0, ?int $end = null): array
public function findGivenKinds(array $possibleKinds, int $start = 0, ?int $end = null): array
{
if (null === $end) {
$end = $this->count();
}

$elements = [];
$possibleKinds = (array) $possibleKind;

foreach ($possibleKinds as $kind) {
$elements[$kind] = [];
Expand All @@ -487,7 +487,31 @@ public function findGivenKind($possibleKind, int $start = 0, ?int $end = null):
}
}

return \is_array($possibleKind) ? $elements : $elements[$possibleKind];
return $elements;
}

/**
* @param int|non-empty-list<int> $possibleKind kind or array of kinds
* @param int $start optional offset
* @param null|int $end optional limit
*
* @return ($possibleKind is int ? array<int, Token> : array<int, array<int, Token>>)
*/
public function findGivenKind(/** v4 int */ $possibleKind, int $start = 0, ?int $end = null): array
{
$elements = $this->findGivenKinds((array) $possibleKind, $start, $end);

if (\is_array($possibleKind)) {
Utils::triggerDeprecation(new \InvalidArgumentException(sprintf(
'Method "%s" is deprecated when searching for multiple kinds and will be removed in the next major version. Use "%ss" instead.',
__METHOD__,
__METHOD__
)));

return $elements;
}

return $elements[$possibleKind];
}

public function generateCode(): string
Expand Down

0 comments on commit 8698f83

Please sign in to comment.