diff --git a/conf/config.neon b/conf/config.neon index e47e559333..6de56fe917 100644 --- a/conf/config.neon +++ b/conf/config.neon @@ -40,6 +40,7 @@ parameters: reportMaybesInMethodSignatures: false reportStaticMethodSignatures: false mixinExcludeClasses: [] + scanFiles: [] parallel: jobSize: 20 processTimeout: 60.0 @@ -226,6 +227,7 @@ parametersSchema: currentWorkingDirectory: string() cliArgumentsVariablesRegistered: bool() mixinExcludeClasses: listOf(string()) + scanFiles: listOf(string()) # irrelevant Nette parameters debugMode: bool() @@ -1145,6 +1147,7 @@ services: parser: @phpParserDecorator autoloadDirectories: %autoload_directories% autoloadFiles: %autoload_files% + scanFiles: %scanFiles% analysedPaths: %analysedPaths% composerAutoloaderProjectPaths: %composerAutoloaderProjectPaths% analysedPathsFromConfig: %analysedPathsFromConfig% diff --git a/src/Reflection/BetterReflection/BetterReflectionSourceLocatorFactory.php b/src/Reflection/BetterReflection/BetterReflectionSourceLocatorFactory.php index 03921dc796..044d6cbc2d 100644 --- a/src/Reflection/BetterReflection/BetterReflectionSourceLocatorFactory.php +++ b/src/Reflection/BetterReflection/BetterReflectionSourceLocatorFactory.php @@ -52,6 +52,9 @@ class BetterReflectionSourceLocatorFactory /** @var string[] */ private $autoloadFiles; + /** @var string[] */ + private $scanFiles; + /** @var string[] */ private $analysedPaths; @@ -64,6 +67,7 @@ class BetterReflectionSourceLocatorFactory /** * @param string[] $autoloadDirectories * @param string[] $autoloadFiles + * @param string[] $scanFiles * @param string[] $analysedPaths * @param string[] $composerAutoloaderProjectPaths * @param string[] $analysedPathsFromConfig @@ -79,6 +83,7 @@ public function __construct( Container $container, array $autoloadDirectories, array $autoloadFiles, + array $scanFiles, array $analysedPaths, array $composerAutoloaderProjectPaths, array $analysedPathsFromConfig @@ -94,6 +99,7 @@ public function __construct( $this->container = $container; $this->autoloadDirectories = $autoloadDirectories; $this->autoloadFiles = $autoloadFiles; + $this->scanFiles = $scanFiles; $this->analysedPaths = $analysedPaths; $this->composerAutoloaderProjectPaths = $composerAutoloaderProjectPaths; $this->analysedPathsFromConfig = $analysedPathsFromConfig; @@ -127,7 +133,7 @@ public function create(): SourceLocator $analysedDirectories[] = $analysedPath; } - $analysedFiles = array_unique(array_merge($analysedFiles, $this->autoloadFiles)); + $analysedFiles = array_unique(array_merge($analysedFiles, $this->autoloadFiles, $this->scanFiles)); foreach ($analysedFiles as $analysedFile) { $locators[] = $this->optimizedSingleFileSourceLocatorRepository->getOrCreate($analysedFile); }