33namespace PHPStan \DependencyInjection ;
44
55use Nette \DI \CompilerExtension ;
6+ use Nette \DI \ContainerBuilder ;
67use Nette \DI \Definitions \Reference ;
78use Nette \DI \Definitions \ServiceDefinition ;
89use Nette \DI \Definitions \Statement ;
@@ -63,7 +64,7 @@ public function loadConfiguration(): void
6364 $ definition ->setFactory (new Statement ([new Reference (substr ($ ref , 1 )), $ method ]));
6465 }
6566
66- $ this -> processConstructorParameters ($ class ->name , $ definition , $ constructorParameters );
67+ self :: processConstructorParameters ($ builder , $ class ->name , $ definition , $ constructorParameters );
6768
6869 foreach (ValidateServiceTagsExtension::INTERFACE_TAG_MAPPING as $ interface => $ tag ) {
6970 if (!$ reflection ->implementsInterface ($ interface )) {
@@ -86,7 +87,7 @@ public function loadConfiguration(): void
8687 $ definition ->setFactory (new Statement ([new Reference (substr ($ ref , 1 )), $ method ]));
8788 }
8889
89- $ this -> processConstructorParameters ($ class ->name , $ definition , $ constructorParameters );
90+ self :: processConstructorParameters ($ builder , $ class ->name , $ definition , $ constructorParameters );
9091 }
9192
9293 foreach (Attributes::findTargetClasses (GenerateFactory::class) as $ class ) {
@@ -99,7 +100,7 @@ public function loadConfiguration(): void
99100 }
100101
101102 $ resultDefinition = $ definition ->getResultDefinition ();
102- $ this -> processConstructorParameters ($ class ->name , $ resultDefinition , $ constructorParameters );
103+ self :: processConstructorParameters ($ builder , $ class ->name , $ resultDefinition , $ constructorParameters );
103104 }
104105
105106 /** @var stdClass&object{level: int|null} $config */
@@ -119,7 +120,7 @@ public function loadConfiguration(): void
119120 ->setAutowired ($ class ->name )
120121 ->addTag (LazyRegistry::RULE_TAG );
121122
122- $ this -> processConstructorParameters ($ class ->name , $ definition , $ constructorParameters );
123+ self :: processConstructorParameters ($ builder , $ class ->name , $ definition , $ constructorParameters );
123124 }
124125
125126 foreach (Attributes::findTargetClasses (RegisteredCollector::class) as $ class ) {
@@ -133,17 +134,16 @@ public function loadConfiguration(): void
133134 ->setAutowired ($ class ->name )
134135 ->addTag (RegistryFactory::COLLECTOR_TAG );
135136
136- $ this -> processConstructorParameters ($ class ->name , $ definition , $ constructorParameters );
137+ self :: processConstructorParameters ($ builder , $ class ->name , $ definition , $ constructorParameters );
137138 }
138139 }
139140
140141 /**
141142 * @param class-string $className
142143 * @param array<lowercase-string, non-empty-list<TargetMethodParameter<AutowiredParameter>>> $constructorParameters
143144 */
144- private function processConstructorParameters (string $ className , ServiceDefinition $ definition , array $ constructorParameters ): void
145+ public static function processConstructorParameters (ContainerBuilder $ builder , string $ className , ServiceDefinition $ definition , array $ constructorParameters ): void
145146 {
146- $ builder = $ this ->getContainerBuilder ();
147147 foreach ($ constructorParameters [strtolower ($ className )] ?? [] as $ autowiredParameter ) {
148148 $ ref = $ autowiredParameter ->attribute ->ref ;
149149 if ($ ref === null ) {
0 commit comments