@@ -118,6 +118,13 @@ class Analyser
118
118
*/
119
119
private $ extensionSymbols ;
120
120
121
+ /**
122
+ * lowercase symbol name => kind
123
+ *
124
+ * @var array<string, SymbolKind::*>
125
+ */
126
+ private $ extensionSymbolKinds ;
127
+
121
128
/**
122
129
* @param array<string, ClassLoader> $classLoaders vendorDir => ClassLoader (e.g. result of \Composer\Autoload\ClassLoader::getRegisteredLoaders())
123
130
* @param array<string, bool> $composerJsonDependencies package or ext-* => is dev dependency
@@ -385,9 +392,7 @@ private function getUsedSymbolsInFile(string $filePath): array
385
392
}
386
393
387
394
return (new UsedSymbolExtractor ($ code ))->parseUsedSymbols (
388
- array_keys ($ this ->extensionSymbols [SymbolKind::CLASSLIKE ]),
389
- array_keys ($ this ->extensionSymbols [SymbolKind::FUNCTION ]),
390
- array_keys ($ this ->extensionSymbols [SymbolKind::CONSTANT ])
395
+ $ this ->extensionSymbolKinds
391
396
);
392
397
}
393
398
@@ -547,6 +552,7 @@ private function initExistingSymbols(): void
547
552
$ this ->ignoredSymbols [$ constantName ] = true ;
548
553
} else {
549
554
$ this ->extensionSymbols [SymbolKind::CONSTANT ][$ constantName ] = $ extensionName ;
555
+ $ this ->extensionSymbolKinds [strtolower ($ constantName )] = SymbolKind::CONSTANT ;
550
556
}
551
557
}
552
558
}
@@ -568,6 +574,7 @@ private function initExistingSymbols(): void
568
574
$ this ->ignoredSymbols [$ functionName ] = true ;
569
575
} else {
570
576
$ this ->extensionSymbols [SymbolKind::FUNCTION ][$ functionName ] = $ extensionName ;
577
+ $ this ->extensionSymbolKinds [$ functionName ] = SymbolKind::FUNCTION ;
571
578
}
572
579
}
573
580
}
@@ -590,6 +597,7 @@ private function initExistingSymbols(): void
590
597
$ this ->ignoredSymbols [$ classLikeName ] = true ;
591
598
} else {
592
599
$ this ->extensionSymbols [SymbolKind::CLASSLIKE ][$ classLikeName ] = $ extensionName ;
600
+ $ this ->extensionSymbolKinds [strtolower ($ classLikeName )] = SymbolKind::CLASSLIKE ;
593
601
}
594
602
}
595
603
}
0 commit comments