Skip to content

Commit 7928a2a

Browse files
committed
Update phpdoc-parser to 2.0.x
1 parent 17fae5a commit 7928a2a

12 files changed

+39
-87
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"ondram/ci-detector": "^3.4.0",
2727
"ondrejmirtes/better-reflection": "6.42.0.7",
2828
"phpstan/php-8-stubs": "0.3.102",
29-
"phpstan/phpdoc-parser": "1.30.0",
29+
"phpstan/phpdoc-parser": "^2.0",
3030
"psr/http-message": "^1.1",
3131
"react/async": "^3",
3232
"react/child-process": "^0.7",

composer.lock

Lines changed: 19 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

conf/bleedingEdge.neon

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ parameters:
1616
consistentConstructor: true
1717
checkUnresolvableParameterTypes: true
1818
readOnlyByPhpDoc: true
19-
phpDocParserRequireWhitespaceBeforeDescription: true
20-
phpDocParserIncludeLines: true
2119
enableIgnoreErrorsWithinPhpDocs: true
2220
runtimeReflectionRules: true
2321
notAnalysedTrait: true

conf/config.neon

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,6 @@ parameters:
5151
consistentConstructor: false
5252
checkUnresolvableParameterTypes: false
5353
readOnlyByPhpDoc: false
54-
phpDocParserRequireWhitespaceBeforeDescription: false
55-
phpDocParserIncludeLines: false
5654
enableIgnoreErrorsWithinPhpDocs: false
5755
runtimeReflectionRules: false
5856
notAnalysedTrait: false
@@ -416,30 +414,23 @@ services:
416414
versionId: %phpVersion%
417415
composerAutoloaderProjectPaths: %composerAutoloaderProjectPaths%
418416

417+
-
418+
class: PHPStan\PhpDocParser\ParserConfig
419+
arguments:
420+
usedAttributes:
421+
lines: true
422+
419423
-
420424
class: PHPStan\PhpDocParser\Lexer\Lexer
421425

422426
-
423427
class: PHPStan\PhpDocParser\Parser\TypeParser
424-
arguments:
425-
quoteAwareConstExprString: %featureToggles.unescapeStrings%
426428

427429
-
428430
class: PHPStan\PhpDocParser\Parser\ConstExprParser
429-
factory: @PHPStan\PhpDoc\ConstExprParserFactory::create()
430431

431432
-
432433
class: PHPStan\PhpDocParser\Parser\PhpDocParser
433-
arguments:
434-
requireWhitespaceBeforeDescription: %featureToggles.phpDocParserRequireWhitespaceBeforeDescription%
435-
preserveTypeAliasesWithInvalidTypes: true
436-
usedAttributes:
437-
lines: %featureToggles.phpDocParserIncludeLines%
438-
439-
-
440-
class: PHPStan\PhpDoc\ConstExprParserFactory
441-
arguments:
442-
unescapeStrings: %featureToggles.unescapeStrings%
443434

444435
-
445436
class: PHPStan\PhpDoc\PhpDocInheritanceResolver

conf/parametersSchema.neon

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@ parametersSchema:
4646
consistentConstructor: bool()
4747
checkUnresolvableParameterTypes: bool()
4848
readOnlyByPhpDoc: bool()
49-
phpDocParserRequireWhitespaceBeforeDescription: bool()
50-
phpDocParserIncludeLines: bool()
5149
enableIgnoreErrorsWithinPhpDocs: bool()
5250
runtimeReflectionRules: bool()
5351
notAnalysedTrait: bool()

phpstan-baseline.neon

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -194,21 +194,6 @@ parameters:
194194
count: 1
195195
path: src/PhpDoc/PhpDocNodeResolver.php
196196

197-
-
198-
message: "#^Property PHPStan\\\\PhpDocParser\\\\Ast\\\\PhpDoc\\\\AssertTagMethodValueNode\\:\\:\\$isEquality \\(bool\\) on left side of \\?\\? is not nullable\\.$#"
199-
count: 1
200-
path: src/PhpDoc/PhpDocNodeResolver.php
201-
202-
-
203-
message: "#^Property PHPStan\\\\PhpDocParser\\\\Ast\\\\PhpDoc\\\\AssertTagPropertyValueNode\\:\\:\\$isEquality \\(bool\\) on left side of \\?\\? is not nullable\\.$#"
204-
count: 1
205-
path: src/PhpDoc/PhpDocNodeResolver.php
206-
207-
-
208-
message: "#^Property PHPStan\\\\PhpDocParser\\\\Ast\\\\PhpDoc\\\\AssertTagValueNode\\:\\:\\$isEquality \\(bool\\) on left side of \\?\\? is not nullable\\.$#"
209-
count: 1
210-
path: src/PhpDoc/PhpDocNodeResolver.php
211-
212197
-
213198
message: "#^Method PHPStan\\\\PhpDoc\\\\ResolvedPhpDocBlock\\:\\:getNameScope\\(\\) should return PHPStan\\\\Analyser\\\\NameScope but returns PHPStan\\\\Analyser\\\\NameScope\\|null\\.$#"
214199
count: 1
@@ -242,11 +227,6 @@ parameters:
242227
count: 2
243228
path: src/PhpDoc/TypeNodeResolver.php
244229

245-
-
246-
message: "#^Property PHPStan\\\\PhpDocParser\\\\Ast\\\\Type\\\\CallableTypeNode\\:\\:\\$templateTypes \\(array\\<PHPStan\\\\PhpDocParser\\\\Ast\\\\PhpDoc\\\\TemplateTagValueNode\\>\\) on left side of \\?\\? is not nullable\\.$#"
247-
count: 1
248-
path: src/PhpDoc/TypeNodeResolver.php
249-
250230
-
251231
message: "#^Dead catch \\- PHPStan\\\\BetterReflection\\\\Identifier\\\\Exception\\\\InvalidIdentifierName is never thrown in the try block\\.$#"
252232
count: 3

src/DependencyInjection/ValidateIgnoredErrorsExtension.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
use PHPStan\PhpDocParser\Lexer\Lexer;
2121
use PHPStan\PhpDocParser\Parser\ConstExprParser;
2222
use PHPStan\PhpDocParser\Parser\TypeParser;
23+
use PHPStan\PhpDocParser\ParserConfig;
2324
use PHPStan\Reflection\InitializerExprTypeResolver;
2425
use PHPStan\Reflection\PhpVersionStaticAccessor;
2526
use PHPStan\Reflection\ReflectionProvider\DirectReflectionProviderProvider;
@@ -67,11 +68,13 @@ public function loadConfiguration(): void
6768
ReflectionProviderStaticAccessor::registerInstance($reflectionProvider);
6869
PhpVersionStaticAccessor::registerInstance(new PhpVersion(PHP_VERSION_ID));
6970
$constantResolver = new ConstantResolver($reflectionProviderProvider, []);
71+
72+
$phpDocParserConfig = new ParserConfig([]);
7073
$ignoredRegexValidator = new IgnoredRegexValidator(
7174
$parser,
7275
new TypeStringResolver(
73-
new Lexer(),
74-
new TypeParser(new ConstExprParser($builder->parameters['featureToggles']['unescapeStrings'])),
76+
new Lexer($phpDocParserConfig),
77+
new TypeParser($phpDocParserConfig, new ConstExprParser($phpDocParserConfig)),
7578
new TypeNodeResolver(
7679
new DirectTypeNodeResolverExtensionRegistryProvider(
7780
new class implements TypeNodeResolverExtensionRegistry {

src/PhpDoc/ConstExprParserFactory.php

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/PhpDoc/PhpDocNodeResolver.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -587,19 +587,19 @@ private function resolveAssertTagsFor(PhpDocNode $phpDocNode, NameScope $nameSco
587587
foreach ($phpDocNode->getAssertTagValues($tagName) as $assertTagValue) {
588588
$type = $this->typeNodeResolver->resolve($assertTagValue->type, $nameScope);
589589
$parameter = new AssertTagParameter($assertTagValue->parameter, null, null);
590-
$resolved[] = new AssertTag($if, $type, $parameter, $assertTagValue->isNegated, $assertTagValue->isEquality ?? false, true);
590+
$resolved[] = new AssertTag($if, $type, $parameter, $assertTagValue->isNegated, $assertTagValue->isEquality, true);
591591
}
592592

593593
foreach ($phpDocNode->getAssertPropertyTagValues($tagName) as $assertTagValue) {
594594
$type = $this->typeNodeResolver->resolve($assertTagValue->type, $nameScope);
595595
$parameter = new AssertTagParameter($assertTagValue->parameter, $assertTagValue->property, null);
596-
$resolved[] = new AssertTag($if, $type, $parameter, $assertTagValue->isNegated, $assertTagValue->isEquality ?? false, true);
596+
$resolved[] = new AssertTag($if, $type, $parameter, $assertTagValue->isNegated, $assertTagValue->isEquality, true);
597597
}
598598

599599
foreach ($phpDocNode->getAssertMethodTagValues($tagName) as $assertTagValue) {
600600
$type = $this->typeNodeResolver->resolve($assertTagValue->type, $nameScope);
601601
$parameter = new AssertTagParameter($assertTagValue->parameter, null, $assertTagValue->method);
602-
$resolved[] = new AssertTag($if, $type, $parameter, $assertTagValue->isNegated, $assertTagValue->isEquality ?? false, true);
602+
$resolved[] = new AssertTag($if, $type, $parameter, $assertTagValue->isNegated, $assertTagValue->isEquality, true);
603603
}
604604

605605
return $resolved;

src/PhpDoc/TypeNodeResolver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -894,7 +894,7 @@ private function resolveCallableTypeNode(CallableTypeNode $typeNode, NameScope $
894894
{
895895
$templateTags = [];
896896

897-
if (count($typeNode->templateTypes ?? []) > 0) {
897+
if (count($typeNode->templateTypes) > 0) {
898898
foreach ($typeNode->templateTypes as $templateType) {
899899
$templateTags[$templateType->name] = new TemplateTag(
900900
$templateType->name,

0 commit comments

Comments
 (0)