@@ -202,7 +202,7 @@ private function resolvePhpDocStringToDocNode(string $phpDocString): PhpDocNode
202
202
private function getNameScopeMap (string $ fileName ): array
203
203
{
204
204
if (!isset ($ this ->memoryCache [$ fileName ])) {
205
- $ cacheKey = sprintf ('%s-phpdocstring-v13-namescope ' , $ fileName );
205
+ $ cacheKey = sprintf ('%s-phpdocstring-v14-filename ' , $ fileName );
206
206
$ variableCacheKey = implode (', ' , array_map (static fn (array $ file ): string => sprintf ('%s-%d ' , $ file ['filename ' ], $ file ['modifiedTime ' ]), $ this ->getCachedDependentFilesWithTimestamps ($ fileName )));
207
207
$ map = $ this ->cache ->load ($ cacheKey , $ variableCacheKey );
208
208
@@ -222,7 +222,7 @@ private function getNameScopeMap(string $fileName): array
222
222
*/
223
223
private function createResolvedPhpDocMap (string $ fileName ): array
224
224
{
225
- $ nameScopeMap = $ this ->createNameScopeMap ($ fileName , null , null );
225
+ $ nameScopeMap = $ this ->createNameScopeMap ($ fileName , null , null , [], $ fileName );
226
226
$ resolvedNameScopeMap = [];
227
227
228
228
try {
@@ -249,7 +249,8 @@ private function createNameScopeMap(
249
249
string $ fileName ,
250
250
?string $ lookForTrait ,
251
251
?string $ traitUseClass ,
252
- array $ traitMethodAliases = [],
252
+ array $ traitMethodAliases ,
253
+ string $ originalClassFileName ,
253
254
): array
254
255
{
255
256
/** @var (callable(): NameScope)[] $nameScopeMap */
@@ -274,7 +275,7 @@ private function createNameScopeMap(
274
275
$ uses = [];
275
276
$ this ->processNodes (
276
277
$ this ->phpParser ->parseFile ($ fileName ),
277
- function (Node $ node ) use ($ fileName , $ lookForTrait , $ traitMethodAliases , &$ nameScopeMap , &$ classStack , &$ typeAliasStack , &$ namespace , &$ functionStack , &$ uses , &$ typeMapStack ): ?int {
278
+ function (Node $ node ) use ($ fileName , $ lookForTrait , $ traitMethodAliases , $ originalClassFileName , &$ nameScopeMap , &$ classStack , &$ typeAliasStack , &$ namespace , &$ functionStack , &$ uses , &$ typeMapStack ): ?int {
278
279
if ($ node instanceof Node \Stmt \ClassLike) {
279
280
if ($ lookForTrait !== null ) {
280
281
if (!$ node instanceof Node \Stmt \Trait_) {
@@ -357,7 +358,7 @@ function (Node $node) use ($fileName, $lookForTrait, $traitMethodAliases, &$name
357
358
$ typeMapCb = $ typeMapStack [count ($ typeMapStack ) - 1 ] ?? null ;
358
359
$ typeAliasesMap = $ typeAliasStack [count ($ typeAliasStack ) - 1 ] ?? [];
359
360
360
- $ nameScopeKey = $ this ->getNameScopeKey ($ fileName , $ className , $ lookForTrait , $ functionName );
361
+ $ nameScopeKey = $ this ->getNameScopeKey ($ originalClassFileName , $ className , $ lookForTrait , $ functionName );
361
362
if (
362
363
$ node instanceof Node \Stmt
363
364
&& !$ node instanceof Node \Stmt \Namespace_
@@ -456,6 +457,7 @@ function (Node $node) use ($fileName, $lookForTrait, $traitMethodAliases, &$name
456
457
$ traitName ,
457
458
$ className ,
458
459
$ traitMethodAliases [$ traitName ] ?? [],
460
+ $ originalClassFileName ,
459
461
);
460
462
$ finalTraitPhpDocMap = [];
461
463
foreach ($ traitPhpDocMap as $ nameScopeTraitKey => $ callback ) {
@@ -612,7 +614,7 @@ private function getNameScopeKey(
612
614
return md5 (sprintf ('%s ' , $ file ));
613
615
}
614
616
615
- return md5 (sprintf ('%s-%s-%s ' , $ class , $ trait , $ function ));
617
+ return md5 (sprintf ('%s-%s-%s-%s ' , $ file , $ class , $ trait , $ function ));
616
618
}
617
619
618
620
/**
0 commit comments