From 4e608ed2f561cb347453d6cf66a583a07a9cd0cf Mon Sep 17 00:00:00 2001
From: Oliver Klee <typo3-coding@oliverklee.de>
Date: Thu, 17 Nov 2022 09:51:46 +0100
Subject: [PATCH] [TASK] Make type annotations for backend VH arguments more
 specific

Resolves: #99111
Releases: main
Change-Id: I16550b5d6ed40a9abe13db5ff247297898a3890a
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/76657
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
---
 .../backend/Classes/ViewHelpers/ArrayBrowserViewHelper.php     | 2 ++
 typo3/sysext/backend/Classes/ViewHelpers/AvatarViewHelper.php  | 2 ++
 .../backend/Classes/ViewHelpers/Mfa/IfHasStateViewHelper.php   | 3 +++
 .../backend/Classes/ViewHelpers/ModuleLinkViewHelper.php       | 2 ++
 .../Classes/ViewHelpers/Toolbar/IfHasDropdownViewHelper.php    | 3 +++
 .../backend/Classes/ViewHelpers/Uri/EditRecordViewHelper.php   | 2 ++
 .../backend/Classes/ViewHelpers/Uri/NewRecordViewHelper.php    | 2 ++
 7 files changed, 16 insertions(+)

diff --git a/typo3/sysext/backend/Classes/ViewHelpers/ArrayBrowserViewHelper.php b/typo3/sysext/backend/Classes/ViewHelpers/ArrayBrowserViewHelper.php
index 0136e0d6d1b6..15af51e479d9 100644
--- a/typo3/sysext/backend/Classes/ViewHelpers/ArrayBrowserViewHelper.php
+++ b/typo3/sysext/backend/Classes/ViewHelpers/ArrayBrowserViewHelper.php
@@ -46,6 +46,8 @@ final class ArrayBrowserViewHelper extends AbstractViewHelper
 
     /**
      * Render unordered list for pages
+     *
+     * @param array{data: array} $arguments
      */
     public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext): string
     {
diff --git a/typo3/sysext/backend/Classes/ViewHelpers/AvatarViewHelper.php b/typo3/sysext/backend/Classes/ViewHelpers/AvatarViewHelper.php
index 44680feab66a..1f6ea5a3054f 100644
--- a/typo3/sysext/backend/Classes/ViewHelpers/AvatarViewHelper.php
+++ b/typo3/sysext/backend/Classes/ViewHelpers/AvatarViewHelper.php
@@ -83,6 +83,8 @@ final class AvatarViewHelper extends AbstractViewHelper
 
     /**
      * Resolve user avatar from a given backend user id.
+     *
+     * @param array{backendUser: int, size: int, showIcon: bool} $arguments
      */
     public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext): string
     {
diff --git a/typo3/sysext/backend/Classes/ViewHelpers/Mfa/IfHasStateViewHelper.php b/typo3/sysext/backend/Classes/ViewHelpers/Mfa/IfHasStateViewHelper.php
index 86366d6ec05d..c88f723ee802 100644
--- a/typo3/sysext/backend/Classes/ViewHelpers/Mfa/IfHasStateViewHelper.php
+++ b/typo3/sysext/backend/Classes/ViewHelpers/Mfa/IfHasStateViewHelper.php
@@ -36,6 +36,9 @@ final class IfHasStateViewHelper extends AbstractConditionViewHelper
         $this->registerArgument('provider', MfaProviderManifestInterface::class, 'The provider in question', true);
     }
 
+    /**
+     * @param array{state: string, provider: MfaProviderManifestInterface} $arguments
+     */
     public static function verdict(array $arguments, RenderingContextInterface $renderingContext): bool
     {
         $stateMethod = 'is' . ucfirst($arguments['state']);
diff --git a/typo3/sysext/backend/Classes/ViewHelpers/ModuleLinkViewHelper.php b/typo3/sysext/backend/Classes/ViewHelpers/ModuleLinkViewHelper.php
index 450d4261c966..1ee4a9916166 100644
--- a/typo3/sysext/backend/Classes/ViewHelpers/ModuleLinkViewHelper.php
+++ b/typo3/sysext/backend/Classes/ViewHelpers/ModuleLinkViewHelper.php
@@ -58,6 +58,8 @@ final class ModuleLinkViewHelper extends AbstractViewHelper
 
     /**
      * Render module link with arguments
+     *
+     * @param array<string, mixed> $arguments
      */
     public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext): string
     {
diff --git a/typo3/sysext/backend/Classes/ViewHelpers/Toolbar/IfHasDropdownViewHelper.php b/typo3/sysext/backend/Classes/ViewHelpers/Toolbar/IfHasDropdownViewHelper.php
index 21ed7e7a369f..bd977dfae2cb 100644
--- a/typo3/sysext/backend/Classes/ViewHelpers/Toolbar/IfHasDropdownViewHelper.php
+++ b/typo3/sysext/backend/Classes/ViewHelpers/Toolbar/IfHasDropdownViewHelper.php
@@ -34,6 +34,9 @@ class IfHasDropdownViewHelper extends AbstractConditionViewHelper
         $this->registerArgument('class', ToolbarItemInterface::class, 'The toolbar item class to be checked for providing a drop down', true);
     }
 
+    /**
+     * @param array{class: object} $arguments
+     */
     public static function verdict(array $arguments, RenderingContextInterface $renderingContext): bool
     {
         return $arguments['class'] instanceof ToolbarItemInterface && $arguments['class']->hasDropDown();
diff --git a/typo3/sysext/backend/Classes/ViewHelpers/Uri/EditRecordViewHelper.php b/typo3/sysext/backend/Classes/ViewHelpers/Uri/EditRecordViewHelper.php
index eb12ae156872..5d64632a31e7 100644
--- a/typo3/sysext/backend/Classes/ViewHelpers/Uri/EditRecordViewHelper.php
+++ b/typo3/sysext/backend/Classes/ViewHelpers/Uri/EditRecordViewHelper.php
@@ -61,6 +61,8 @@ final class EditRecordViewHelper extends AbstractViewHelper
     }
 
     /**
+     * @param array<string, mixed> $arguments
+     *
      * @throws \InvalidArgumentException
      * @throws RouteNotFoundException
      */
diff --git a/typo3/sysext/backend/Classes/ViewHelpers/Uri/NewRecordViewHelper.php b/typo3/sysext/backend/Classes/ViewHelpers/Uri/NewRecordViewHelper.php
index ae10a275cd48..3451dcb09852 100644
--- a/typo3/sysext/backend/Classes/ViewHelpers/Uri/NewRecordViewHelper.php
+++ b/typo3/sysext/backend/Classes/ViewHelpers/Uri/NewRecordViewHelper.php
@@ -85,6 +85,8 @@ final class NewRecordViewHelper extends AbstractTagBasedViewHelper
     }
 
     /**
+     * @param array<string, mixed> $arguments
+     *
      * @throws \InvalidArgumentException
      * @throws RouteNotFoundException
      */
-- 
GitLab