@@ -98,9 +98,9 @@ protected function describeCallable(mixed $callable, array $options = []): void
9898 $ this ->writeDocument ($ this ->getCallableDocument ($ callable ));
9999 }
100100
101- protected function describeContainerParameter (mixed $ parameter , array $ options = []): void
101+ protected function describeContainerParameter (mixed $ parameter , ContainerBuilder $ containerBuilder , array $ options = []): void
102102 {
103- $ this ->writeDocument ($ this ->getContainerParameterDocument ($ parameter , $ options ));
103+ $ this ->writeDocument ($ this ->getContainerParameterDocument ($ parameter , $ containerBuilder , $ options ));
104104 }
105105
106106 protected function describeContainerEnvVars (array $ envs , array $ options = []): void
@@ -227,10 +227,16 @@ private function getContainerParametersDocument(ParameterBag $parameters): \DOMD
227227 $ dom = new \DOMDocument ('1.0 ' , 'UTF-8 ' );
228228 $ dom ->appendChild ($ parametersXML = $ dom ->createElement ('parameters ' ));
229229
230+ $ deprecatedParameters = $ parameters ->allDeprecated ();
231+
230232 foreach ($ this ->sortParameters ($ parameters ) as $ key => $ value ) {
231233 $ parametersXML ->appendChild ($ parameterXML = $ dom ->createElement ('parameter ' ));
232234 $ parameterXML ->setAttribute ('key ' , $ key );
233235 $ parameterXML ->appendChild (new \DOMText ($ this ->formatParameter ($ value )));
236+
237+ if (isset ($ deprecatedParameters [$ key ])) {
238+ $ parameterXML ->setAttribute ('deprecated ' , sprintf ('Deprecated since %s %s: %s ' , $ deprecatedParameters [$ key ][0 ], $ deprecatedParameters [$ key ][1 ], sprintf (...\array_slice ($ deprecatedParameters [$ key ], 2 ))));
239+ }
234240 }
235241
236242 return $ dom ;
@@ -467,13 +473,19 @@ private function getContainerAliasDocument(Alias $alias, string $id = null): \DO
467473 return $ dom ;
468474 }
469475
470- private function getContainerParameterDocument (mixed $ parameter , array $ options = []): \DOMDocument
476+ private function getContainerParameterDocument (mixed $ parameter , ContainerBuilder $ containerBuilder , array $ options = []): \DOMDocument
471477 {
472478 $ dom = new \DOMDocument ('1.0 ' , 'UTF-8 ' );
473479 $ dom ->appendChild ($ parameterXML = $ dom ->createElement ('parameter ' ));
474480
475481 if (isset ($ options ['parameter ' ])) {
476482 $ parameterXML ->setAttribute ('key ' , $ options ['parameter ' ]);
483+
484+ $ parameterBag = $ containerBuilder ->getParameterBag ();
485+
486+ if ($ deprecation = $ parameterBag instanceof ParameterBag ? ($ parameterBag ->allDeprecated ()[$ options ['parameter ' ]] ?? false ) : false ) {
487+ $ parameterXML ->setAttribute ('deprecated ' , sprintf ('Deprecated since %s %s: %s ' , $ deprecation [0 ], $ deprecation [1 ], sprintf (...\array_slice ($ deprecation , 2 ))));
488+ }
477489 }
478490
479491 $ parameterXML ->appendChild (new \DOMText ($ this ->formatParameter ($ parameter )));
0 commit comments