function PhpDocParser::parseAssertParameter
*
Return value
array{parameter: string}|array{parameter: string, property: string}|array{parameter: string, method: string}
1 call to PhpDocParser::parseAssertParameter()
- PhpDocParser::parseAssertTagValue in vendor/
phpstan/ phpdoc-parser/ src/ Parser/ PhpDocParser.php - *
File
-
vendor/
phpstan/ phpdoc-parser/ src/ Parser/ PhpDocParser.php, line 1208
Class
- PhpDocParser
- @phpstan-import-type ValueType from Doctrine\DoctrineArgument as DoctrineValueType
Namespace
PHPStan\PhpDocParser\ParserCode
private function parseAssertParameter(TokenIterator $tokens) : array {
if ($tokens->isCurrentTokenType(Lexer::TOKEN_THIS_VARIABLE)) {
$parameter = '$this';
$tokens->next();
}
else {
$parameter = $tokens->currentTokenValue();
$tokens->consumeTokenType(Lexer::TOKEN_VARIABLE);
}
if ($tokens->isCurrentTokenType(Lexer::TOKEN_ARROW)) {
$tokens->consumeTokenType(Lexer::TOKEN_ARROW);
$propertyOrMethod = $tokens->currentTokenValue();
$tokens->consumeTokenType(Lexer::TOKEN_IDENTIFIER);
if ($tokens->tryConsumeTokenType(Lexer::TOKEN_OPEN_PARENTHESES)) {
$tokens->consumeTokenType(Lexer::TOKEN_CLOSE_PARENTHESES);
return [
'parameter' => $parameter,
'method' => $propertyOrMethod,
];
}
return [
'parameter' => $parameter,
'property' => $propertyOrMethod,
];
}
return [
'parameter' => $parameter,
];
}