PRERELEASE 10A
This commit is contained in:
commit
83efa90a33
1141 changed files with 40635 additions and 85178 deletions
2
vendor/phpstan/phpdoc-parser/README.md
vendored
2
vendor/phpstan/phpdoc-parser/README.md
vendored
|
|
@ -13,7 +13,7 @@ For the complete list of supported PHPDoc features check out PHPStan documentati
|
|||
|
||||
* [PHPDoc Basics](https://phpstan.org/writing-php-code/phpdocs-basics) (list of PHPDoc tags)
|
||||
* [PHPDoc Types](https://phpstan.org/writing-php-code/phpdoc-types) (list of PHPDoc types)
|
||||
* [phpdoc-parser API Reference](https://phpstan.github.io/phpdoc-parser/2.2.x/namespace-PHPStan.PhpDocParser.html) with all the AST node types etc.
|
||||
* [phpdoc-parser API Reference](https://phpstan.github.io/phpdoc-parser/2.3.x/namespace-PHPStan.PhpDocParser.html) with all the AST node types etc.
|
||||
|
||||
This parser also supports parsing [Doctrine Annotations](https://github.com/doctrine/annotations). The AST nodes live in the [PHPStan\PhpDocParser\Ast\PhpDoc\Doctrine namespace](https://phpstan.github.io/phpdoc-parser/2.1.x/namespace-PHPStan.PhpDocParser.Ast.PhpDoc.Doctrine.html).
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ namespace PHPStan\PhpDocParser\Ast\Type;
|
|||
|
||||
use PHPStan\PhpDocParser\Ast\ConstExpr\ConstExprIntegerNode;
|
||||
use PHPStan\PhpDocParser\Ast\ConstExpr\ConstExprStringNode;
|
||||
use PHPStan\PhpDocParser\Ast\ConstExpr\ConstFetchNode;
|
||||
use PHPStan\PhpDocParser\Ast\Node;
|
||||
use PHPStan\PhpDocParser\Ast\NodeAttributes;
|
||||
use function sprintf;
|
||||
|
|
@ -13,7 +14,7 @@ class ArrayShapeItemNode implements Node
|
|||
|
||||
use NodeAttributes;
|
||||
|
||||
/** @var ConstExprIntegerNode|ConstExprStringNode|IdentifierTypeNode|null */
|
||||
/** @var ConstExprIntegerNode|ConstExprStringNode|ConstFetchNode|IdentifierTypeNode|null */
|
||||
public $keyName;
|
||||
|
||||
public bool $optional;
|
||||
|
|
@ -21,7 +22,7 @@ class ArrayShapeItemNode implements Node
|
|||
public TypeNode $valueType;
|
||||
|
||||
/**
|
||||
* @param ConstExprIntegerNode|ConstExprStringNode|IdentifierTypeNode|null $keyName
|
||||
* @param ConstExprIntegerNode|ConstExprStringNode|ConstFetchNode|IdentifierTypeNode|null $keyName
|
||||
*/
|
||||
public function __construct($keyName, bool $optional, TypeNode $valueType)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -970,7 +970,7 @@ class TypeParser
|
|||
|
||||
/**
|
||||
* @phpstan-impure
|
||||
* @return Ast\ConstExpr\ConstExprIntegerNode|Ast\ConstExpr\ConstExprStringNode|Ast\Type\IdentifierTypeNode
|
||||
* @return Ast\ConstExpr\ConstExprIntegerNode|Ast\ConstExpr\ConstExprStringNode|Ast\ConstExpr\ConstFetchNode|Ast\Type\IdentifierTypeNode
|
||||
*/
|
||||
private function parseArrayShapeKey(TokenIterator $tokens)
|
||||
{
|
||||
|
|
@ -991,8 +991,17 @@ class TypeParser
|
|||
$tokens->next();
|
||||
|
||||
} else {
|
||||
$key = new Ast\Type\IdentifierTypeNode($tokens->currentTokenValue());
|
||||
$identifier = $tokens->currentTokenValue();
|
||||
$tokens->consumeTokenType(Lexer::TOKEN_IDENTIFIER);
|
||||
|
||||
if ($tokens->tryConsumeTokenType(Lexer::TOKEN_DOUBLE_COLON)) {
|
||||
$classConstantName = $tokens->currentTokenValue();
|
||||
$tokens->consumeTokenType(Lexer::TOKEN_IDENTIFIER);
|
||||
|
||||
$key = new Ast\ConstExpr\ConstFetchNode($identifier, $classConstantName);
|
||||
} else {
|
||||
$key = new Ast\Type\IdentifierTypeNode($identifier);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->enrichWithAttributes(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue