@@ -34,17 +34,19 @@ use PHPStan\PhpDocParser\Ast\PhpDoc\ParamTagValueNode;
3434use PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode;
3535use PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode;
3636use PHPStan\PhpDocParser\Lexer\Lexer;
37+ use PHPStan\PhpDocParser\ParserConfig;
3738use PHPStan\PhpDocParser\Parser\ConstExprParser;
3839use PHPStan\PhpDocParser\Parser\PhpDocParser;
3940use PHPStan\PhpDocParser\Parser\TokenIterator;
4041use PHPStan\PhpDocParser\Parser\TypeParser;
4142
4243// basic setup
4344
44- $lexer = new Lexer();
45- $constExprParser = new ConstExprParser();
46- $typeParser = new TypeParser($constExprParser);
47- $phpDocParser = new PhpDocParser($typeParser, $constExprParser);
45+ $config = new ParserConfig(usedAttributes: []);
46+ $lexer = new Lexer($config);
47+ $constExprParser = new ConstExprParser($config);
48+ $typeParser = new TypeParser($config, $constExprParser);
49+ $phpDocParser = new PhpDocParser($config, $typeParser, $constExprParser);
4850
4951// parsing and reading a PHPDoc string
5052
@@ -72,6 +74,7 @@ use PHPStan\PhpDocParser\Ast\NodeVisitor\CloningVisitor;
7274use PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode;
7375use PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode;
7476use PHPStan\PhpDocParser\Lexer\Lexer;
77+ use PHPStan\PhpDocParser\ParserConfig;
7578use PHPStan\PhpDocParser\Parser\ConstExprParser;
7679use PHPStan\PhpDocParser\Parser\PhpDocParser;
7780use PHPStan\PhpDocParser\Parser\TokenIterator;
@@ -80,12 +83,11 @@ use PHPStan\PhpDocParser\Printer\Printer;
8083
8184// basic setup with enabled required lexer attributes
8285
83- $usedAttributes = ['lines' => true, 'indexes' => true];
84-
85- $lexer = new Lexer();
86- $constExprParser = new ConstExprParser(true, true, $usedAttributes);
87- $typeParser = new TypeParser($constExprParser, true, $usedAttributes);
88- $phpDocParser = new PhpDocParser($typeParser, $constExprParser, true, true, $usedAttributes);
86+ $config = new ParserConfig(usedAttributes: ['lines' => true, 'indexes' => true]);
87+ $lexer = new Lexer($config);
88+ $constExprParser = new ConstExprParser($config);
89+ $typeParser = new TypeParser($config, $constExprParser);
90+ $phpDocParser = new PhpDocParser($config, $typeParser, $constExprParser);
8991
9092$tokens = new TokenIterator($lexer->tokenize('/** @param Lorem $a */'));
9193$phpDocNode = $phpDocParser->parse($tokens); // PhpDocNode
0 commit comments