@@ -135,10 +135,10 @@ public function createRequest(
135135 $ method = $ reflection ->getSignalMethod ($ signal );
136136 if (!$ method ) {
137137 throw new UI \InvalidLinkException ("Unknown signal ' $ signal', missing handler {$ reflection ->getName ()}:: {$ component ::formatSignalMethod ($ signal )}() " );
138- } elseif ($ this ->isDeprecated ($ refPresenter , $ method )) {
139- trigger_error ("Link to deprecated signal ' $ signal' " . ($ component === $ refPresenter ? '' : ' in ' . $ component ::class) . " from ' {$ refPresenter ->getName ()}: {$ refPresenter ->getAction ()}'. " , E_USER_DEPRECATED );
140138 }
141139
140+ $ this ->validateLinkTarget ($ refPresenter , $ method , "signal ' $ signal' " . ($ component === $ refPresenter ? '' : ' in ' . $ component ::class));
141+
142142 // convert indexed parameters to named
143143 UI \ParameterConverter::toParameters ($ method , $ args , [], $ missing );
144144 }
@@ -166,9 +166,7 @@ public function createRequest(
166166 $ current = $ refPresenter && ($ action === '* ' || strcasecmp ($ action , $ refPresenter ->getAction ()) === 0 ) && $ presenterClass === $ refPresenter ::class;
167167
168168 $ reflection = new UI \ComponentReflection ($ presenterClass );
169- if ($ this ->isDeprecated ($ refPresenter , $ reflection )) {
170- trigger_error ("Link to deprecated presenter ' $ presenter' from ' {$ refPresenter ->getName ()}: {$ refPresenter ->getAction ()}'. " , E_USER_DEPRECATED );
171- }
169+ $ this ->validateLinkTarget ($ refPresenter , $ reflection , "presenter ' $ presenter' " );
172170
173171 foreach (array_intersect_key ($ reflection ->getParameters (), $ args ) as $ name => $ param ) {
174172 if ($ args [$ name ] === $ param ['def ' ]) {
@@ -178,9 +176,7 @@ public function createRequest(
178176
179177 // counterpart of run() & tryCall()
180178 if ($ method = $ reflection ->getActionRenderMethod ($ action )) {
181- if ($ this ->isDeprecated ($ refPresenter , $ method )) {
182- trigger_error ("Link to deprecated action ' $ presenter: $ action' from ' {$ refPresenter ->getName ()}: {$ refPresenter ->getAction ()}'. " , E_USER_DEPRECATED );
183- }
179+ $ this ->validateLinkTarget ($ refPresenter , $ method , "action ' $ presenter: $ action' " );
184180
185181 UI \ParameterConverter::toParameters ($ method , $ args , $ path === 'this ' ? $ refPresenter ->getParameters () : [], $ missing );
186182
@@ -296,10 +292,17 @@ public function withReferenceUrl(string $url): static
296292 }
297293
298294
299- private function isDeprecated (?UI \Presenter $ presenter , \ReflectionClass |\ReflectionMethod $ reflection ): bool
295+ private function validateLinkTarget (
296+ ?UI \Presenter $ presenter ,
297+ \ReflectionClass |\ReflectionMethod $ element ,
298+ string $ message ,
299+ ): void
300300 {
301- return $ presenter ?->invalidLinkMode
302- && (UI \ComponentReflection::parseAnnotation ($ reflection , 'deprecated ' ) || $ reflection ->getAttributes (Attributes \Deprecated::class));
301+ if ($ presenter ?->invalidLinkMode
302+ && (UI \ComponentReflection::parseAnnotation ($ element , 'deprecated ' ) || $ element ->getAttributes (Attributes \Deprecated::class))
303+ ) {
304+ trigger_error ("Link to deprecated $ message from ' {$ presenter ->getName ()}: {$ presenter ->getAction ()}'. " , E_USER_DEPRECATED );
305+ }
303306 }
304307
305308
0 commit comments