[TASK] Improve php doc block for better static code analysis 61/63561/9
authorAlexander Schnitzler <git@alexanderschnitzler.de>
Fri, 6 Mar 2020 11:33:19 +0000 (12:33 +0100)
committerDaniel Goerz <daniel.goerz@posteo.de>
Sun, 15 Mar 2020 11:24:32 +0000 (12:24 +0100)
This commit adds missing doc blocks and missing type
hints to existing doc blocks to help static code
analyzers like phpstan do a better job.
Also, wrong type hints have been changed.

Releases: master
Resolves: #90661
Change-Id: I966884b15e33f5668498290d3fd80b67a7ddcba0
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63561
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Susanne Moog <look@susi.dev>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Susanne Moog <look@susi.dev>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
58 files changed:
typo3/sysext/adminpanel/Classes/Log/InMemoryLogWriter.php
typo3/sysext/adminpanel/Classes/Service/EventDispatcher.php
typo3/sysext/backend/Classes/Form/FormDataProvider/SiteResolving.php
typo3/sysext/backend/Classes/History/RecordHistory.php
typo3/sysext/backend/Classes/View/BackendLayout/Grid/GridColumnItem.php
typo3/sysext/backend/Classes/View/BackendLayout/RecordRememberer.php
typo3/sysext/core/Classes/Core/Environment.php
typo3/sysext/core/Classes/DataHandling/Event/AppendLinkHandlerElementsEvent.php
typo3/sysext/core/Classes/Database/Platform/PlatformInformation.php
typo3/sysext/core/Classes/DependencyInjection/ServiceProviderCompilationPass.php
typo3/sysext/core/Classes/ExpressionLanguage/ProviderConfigurationLoader.php
typo3/sysext/core/Classes/Hooks/CreateSiteConfiguration.php
typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php
typo3/sysext/core/Classes/Locking/SemaphoreLockStrategy.php
typo3/sysext/core/Classes/Mail/FluidEmail.php
typo3/sysext/core/Classes/MetaTag/EdgeMetaTagManager.php
typo3/sysext/core/Classes/MetaTag/MetaTagManagerRegistry.php
typo3/sysext/core/Classes/Page/AssetRenderer.php
typo3/sysext/core/Classes/Resource/Event/AfterFolderCopiedEvent.php
typo3/sysext/core/Classes/Resource/Event/AfterFolderMovedEvent.php
typo3/sysext/core/Classes/Routing/Aspect/LocaleModifier.php
typo3/sysext/core/Classes/Tree/TableConfiguration/AbstractTableConfigurationTreeDataProvider.php
typo3/sysext/core/Classes/TypoScript/TemplateService.php
typo3/sysext/dashboard/Classes/Controller/DashboardController.php
typo3/sysext/dashboard/Classes/Widgets/AbstractBarChartWidget.php
typo3/sysext/dashboard/Classes/Widgets/AbstractChartWidget.php
typo3/sysext/dashboard/Classes/Widgets/AbstractCtaButtonWidget.php
typo3/sysext/dashboard/Classes/Widgets/AbstractDoughnutChartWidget.php
typo3/sysext/dashboard/Classes/Widgets/AbstractListWidget.php
typo3/sysext/dashboard/Classes/Widgets/AbstractNumberWithIconWidget.php
typo3/sysext/dashboard/Classes/Widgets/AbstractRssWidget.php
typo3/sysext/dashboard/Classes/Widgets/DocumentationGettingStartedWidget.php
typo3/sysext/dashboard/Classes/Widgets/DocumentationTSconfigReferenceWidget.php
typo3/sysext/dashboard/Classes/Widgets/DocumentationTypoScriptReference.php
typo3/sysext/dashboard/Classes/Widgets/FailedLoginsWidget.php
typo3/sysext/dashboard/Classes/Widgets/SysLogErrorsWidget.php
typo3/sysext/dashboard/Classes/Widgets/T3GeneralInformation.php
typo3/sysext/dashboard/Classes/Widgets/T3NewsWidget.php
typo3/sysext/dashboard/Classes/Widgets/T3SecurityAdvisoriesWidget.php
typo3/sysext/dashboard/Classes/Widgets/TypeOfUsersWidget.php
typo3/sysext/extbase/Classes/Core/Bootstrap.php
typo3/sysext/extbase/Classes/Mvc/Controller/Argument.php
typo3/sysext/extbase/Classes/Persistence/Generic/LazyLoadingProxy.php
typo3/sysext/extbase/Classes/Persistence/Generic/LazyObjectStorage.php
typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php
typo3/sysext/extbase/Classes/Persistence/Generic/Query.php
typo3/sysext/extbase/Classes/Persistence/Generic/Typo3QuerySettings.php
typo3/sysext/extbase/Classes/SignalSlot/Dispatcher.php
typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php
typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php
typo3/sysext/info/Classes/Controller/InfoModuleController.php
typo3/sysext/install/Classes/Service/UpgradeWizardsService.php
typo3/sysext/install/Classes/Updates/Argon2iPasswordHashes.php
typo3/sysext/install/Classes/Updates/ExtensionModel.php
typo3/sysext/install/Classes/Updates/MigrateUrlTypesInPagesUpdate.php
typo3/sysext/install/Classes/Updates/PopulatePageSlugs.php
typo3/sysext/scheduler/Classes/CronCommand/CronCommand.php
typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateModuleController.php

index 3db8083..80de1bb 100644 (file)
@@ -28,8 +28,14 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class InMemoryLogWriter extends AbstractWriter
 {
+    /**
+     * @var LogRecord[]
+     */
     public static $log = [];
 
+    /**
+     * @var bool
+     */
     private static $memoryLock = false;
 
     /**
index d2e92a5..595eb94 100644 (file)
@@ -21,6 +21,9 @@ namespace TYPO3\CMS\Adminpanel\Service;
  */
 class EventDispatcher extends \TYPO3\CMS\Core\EventDispatcher\EventDispatcher
 {
+    /**
+     * @var object[]
+     */
     protected $dispatchedEvents = [];
 
     public function getDispatchedEvents(): array
index f08b336..a71704a 100644 (file)
@@ -31,6 +31,9 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class SiteResolving implements FormDataProviderInterface
 {
+    /**
+     * @var SiteFinder
+     */
     protected $siteFinder;
 
     public function __construct(SiteFinder $siteFinder = null)
index 2b463a2..8a82398 100644 (file)
@@ -33,11 +33,17 @@ class RecordHistory
     use PublicMethodDeprecationTrait;
     use PublicPropertyDeprecationTrait;
 
+    /**
+     * @var string[]
+     */
     private $deprecatedPublicMethods = [
         'getHistoryEntry' => 'Using RecordHistory::getHistoryEntry() is deprecated and will not be possible anymore in TYPO3 v11.0.',
         'getHistoryData' => 'Using RecordHistory::getHistoryData() is deprecated and will not be possible anymore in TYPO3 v11.0.',
     ];
 
+    /**
+     * @var string[]
+     */
     private $deprecatedPublicProperties = [
         'changeLog' => 'Using changeLog is deprecated and will not be possible anymore in TYPO3 v11.0. Use getChangeLog() instead.',
         'lastHistoryEntry' => 'Using lastHistoryEntry is deprecated and will not be possible anymore in TYPO3 v11.0. Use getLastHistoryEntryNumber() instead.',
index fce6c53..f244a4a 100644 (file)
@@ -38,6 +38,9 @@ use TYPO3\CMS\Core\Versioning\VersionState;
  */
 class GridColumnItem extends AbstractGridObject
 {
+    /**
+     * @var mixed[]
+     */
     protected $record = [];
 
     /**
index fb1d4fe..55d26d5 100644 (file)
@@ -20,6 +20,9 @@ use TYPO3\CMS\Core\SingletonInterface;
 
 class RecordRememberer implements SingletonInterface
 {
+    /**
+     * @var int[]
+     */
     protected $rememberedUids = [];
 
     public function rememberRecordUid(int $uid): void
index efff596..75427ac 100644 (file)
@@ -48,14 +48,49 @@ class Environment
         'srv', // HHVM with fastcgi
     ];
 
+    /**
+     * @var bool
+     */
     protected static $cli;
+
+    /**
+     * @var bool
+     */
     protected static $composerMode;
+
+    /**
+     * @var ApplicationContext
+     */
     protected static $context;
+
+    /**
+     * @var string
+     */
     protected static $projectPath;
+
+    /**
+     * @var string
+     */
     protected static $publicPath;
+
+    /**
+     * @var string
+     */
     protected static $currentScript;
+
+    /**
+     * @var string
+     */
     protected static $os;
+
+    /**
+     * @var string
+     */
     protected static $varPath;
+
+    /**
+     * @var string
+     */
     protected static $configPath;
 
     /**
index fbb073b..81f8f96 100644 (file)
@@ -46,6 +46,9 @@ final class AppendLinkHandlerElementsEvent
      */
     private $tokenId;
 
+    /**
+     * @var bool
+     */
     private $isResolved = false;
 
     public function __construct(array $linkParts, string $content, array $elements, int $idx, string $tokenID)
index a2fe866..7ec8063 100644 (file)
@@ -50,6 +50,9 @@ class PlatformInformation
         'sqlite' => 999,
     ];
 
+    /**
+     * @var string[]
+     */
     protected static $charSetMap = [
         'mysql' => 'utf8mb4',
         'postgresql' => 'UTF8',
@@ -57,6 +60,9 @@ class PlatformInformation
         'sqlite' => 'utf8',
     ];
 
+    /**
+     * @var string[]
+     */
     protected static $databaseCreateWithCharsetMap = [
         'mysql' => 'CHARACTER SET %s',
         'postgresql' => "ENCODING '%s'",
index 9d4a3c8..116e4b3 100644 (file)
@@ -26,7 +26,7 @@ use Symfony\Component\DependencyInjection\Reference;
 class ServiceProviderCompilationPass implements CompilerPassInterface
 {
     /**
-     * @var Registry
+     * @var ServiceProviderRegistry
      */
     private $registry;
 
index 95ba199..cb39456 100644 (file)
@@ -13,6 +13,9 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class ProviderConfigurationLoader
 {
+    /**
+     * @var string
+     */
     protected $cacheIdentifier = 'expressionLanguageProviders';
 
     /**
index b27062c..bce72f1 100644 (file)
@@ -31,6 +31,9 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class CreateSiteConfiguration
 {
+    /**
+     * @var int[]
+     */
     protected $allowedPageTypes = [
         PageRepository::DOKTYPE_DEFAULT,
         PageRepository::DOKTYPE_LINK,
index 294567c..ee949c8 100644 (file)
@@ -99,7 +99,13 @@ class MiddlewareDispatcher implements RequestHandlerInterface
     {
         $next = $this->tip;
         $this->tip = new class($middleware, $next) implements RequestHandlerInterface {
+            /**
+             * @var MiddlewareInterface
+             */
             private $middleware;
+            /**
+             * @var RequestHandlerInterface
+             */
             private $next;
 
             public function __construct(MiddlewareInterface $middleware, RequestHandlerInterface $next)
@@ -128,8 +134,19 @@ class MiddlewareDispatcher implements RequestHandlerInterface
     {
         $next = $this->tip;
         $this->tip = new class($middleware, $next, $this->container) implements RequestHandlerInterface {
+            /**
+             * @var string
+             */
             private $middleware;
+
+            /**
+             * @var RequestHandlerInterface
+             */
             private $next;
+
+            /**
+             * @var ContainerInterface|null
+             */
             private $container;
 
             public function __construct(string $middleware, RequestHandlerInterface $next, ContainerInterface $container = null)
index fbff61c..6b2803d 100644 (file)
@@ -29,7 +29,7 @@ class SemaphoreLockStrategy implements LockingStrategyInterface
     const DEFAULT_PRIORITY = 25;
 
     /**
-     * @var mixed Identifier used for this lock
+     * @var int Identifier used for this lock
      */
     protected $id;
 
index b358843..0ec223a 100644 (file)
@@ -34,6 +34,9 @@ class FluidEmail extends Email
     public const FORMAT_PLAIN = 'plain';
     public const FORMAT_BOTH = 'both';
 
+    /**
+     * @var string[]
+     */
     protected $format = ['html', 'plain'];
 
     /**
index ddf7bdf..9569590 100644 (file)
@@ -18,6 +18,9 @@ namespace TYPO3\CMS\Core\MetaTag;
 
 class EdgeMetaTagManager extends AbstractMetaTagManager
 {
+    /**
+     * @var string[][]
+     */
     protected $handledProperties = [
         'x-ua-compatible' => ['nameAttribute' => 'http-equiv']
     ];
index 0ddf9b6..8f7c67a 100644 (file)
@@ -25,8 +25,19 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class MetaTagManagerRegistry implements SingletonInterface
 {
+    /**
+     * @var mixed[]
+     */
     protected $registry = [];
+
+    /**
+     * @var mixed[]
+     */
     private $instances = [];
+
+    /**
+     * @var MetaTagManagerInterface[]|null
+     */
     private $managers;
 
     public function __construct()
index 9597329..1e945f0 100644 (file)
@@ -24,6 +24,9 @@ use TYPO3\CMS\Core\Utility\PathUtility;
  */
 class AssetRenderer
 {
+    /**
+     * @var AssetCollector
+     */
     protected $assetCollector;
 
     public function __construct(AssetCollector $assetCollector = null)
index cbac7f5..0f41b51 100644 (file)
@@ -37,7 +37,7 @@ final class AfterFolderCopiedEvent
     private $targetParentFolder;
 
     /**
-     * @var ?FolderInterface
+     * @var FolderInterface|null
      */
     private $targetFolder;
 
index 67deb2c..066647d 100644 (file)
@@ -37,7 +37,7 @@ final class AfterFolderMovedEvent
     private $targetParentFolder;
 
     /**
-     * @var ?FolderInterface
+     * @var FolderInterface|null
      */
     private $targetFolder;
 
index 29871d1..9d64fbf 100644 (file)
@@ -60,7 +60,7 @@ class LocaleModifier implements ModifiableAspectInterface, SiteLanguageAwareInte
     protected $localeMap;
 
     /**
-     * @var ?string
+     * @var string|null
      */
     protected $default;
 
index 83e6553..85ad17e 100644 (file)
@@ -64,6 +64,7 @@ abstract class AbstractTableConfigurationTreeDataProvider extends \TYPO3\CMS\Bac
 
     /**
      * Contains all ids which are not allowed to be selected
+     * @var mixed[]
      */
     protected $itemUnselectableList = [];
 
index 311efe1..6bdba03 100644 (file)
@@ -41,6 +41,9 @@ class TemplateService
 {
     use PublicPropertyDeprecationTrait;
 
+    /**
+     * @var string[]
+     */
     private $deprecatedPublicProperties = [
         'forceTemplateParsing' => 'Using tmpl->forceTemplateParsing is deprecated and will no longer work with TYPO3 v11.0. Use TypoScriptAspect from Context instead.'
     ];
@@ -220,6 +223,7 @@ class TemplateService
 
     /**
      * Used by Backend only (Typoscript Template Analyzer)
+     * @var string[]
      */
     public $clearList_const = [];
 
index 8d8c4ee..47c6833 100644 (file)
@@ -66,6 +66,9 @@ class DashboardController extends AbstractController
      */
     protected $jsFiles = [];
 
+    /**
+     * @var mixed[]
+     */
     protected $requireJsModules = [];
 
     /**
index 3c744cf..875dd58 100644 (file)
@@ -24,17 +24,17 @@ namespace TYPO3\CMS\Dashboard\Widgets;
 abstract class AbstractBarChartWidget extends AbstractChartWidget
 {
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $iconIdentifier = 'content-widget-chart-bar';
 
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $chartType = 'bar';
 
     /**
-     * @inheritDoc
+     * @var mixed[]
      */
     protected $chartOptions = [
         'maintainAspectRatio' => false,
index 03aef89..7e93c6b 100644 (file)
@@ -115,12 +115,12 @@ abstract class AbstractChartWidget extends AbstractWidget implements AdditionalC
     protected $additionalClasses = 'dashboard-item--chart';
 
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $iconIdentifier = 'content-widget-chart';
 
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $templateName = 'ChartWidget';
 
index 7e4a6d0..7ec370a 100644 (file)
@@ -51,12 +51,12 @@ abstract class AbstractCtaButtonWidget extends AbstractWidget
     protected $icon;
 
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $iconIdentifier = 'content-widget-calltoaction';
 
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $templateName = 'CtaWidget';
 
index 824fdeb..c5b5b79 100644 (file)
@@ -24,17 +24,17 @@ namespace TYPO3\CMS\Dashboard\Widgets;
 abstract class AbstractDoughnutChartWidget extends AbstractChartWidget
 {
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $iconIdentifier = 'content-widget-chart-pie';
 
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $chartType = 'doughnut';
 
     /**
-     * @inheritDoc
+     * @var mixed[]
      */
     protected $chartOptions = [
         'maintainAspectRatio' => false,
@@ -45,5 +45,8 @@ abstract class AbstractDoughnutChartWidget extends AbstractChartWidget
         'cutoutPercentage' => 60
     ];
 
+    /**
+     * @var int
+     */
     protected $height = 4;
 }
index 6e68682..09f3d1e 100644 (file)
@@ -51,17 +51,17 @@ abstract class AbstractListWidget extends AbstractWidget
     protected $moreItemsText = '';
 
     /**
-     * @inheritDoc
+     * @var int
      */
     protected $height = 4;
 
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $iconIdentifier = 'content-widget-list';
 
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $templateName = 'ListWidget';
 
index 486b06b..cb16729 100644 (file)
@@ -44,12 +44,12 @@ abstract class AbstractNumberWithIconWidget extends AbstractWidget
     protected $icon;
 
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $iconIdentifier = 'content-widget-number';
 
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $templateName = 'NumberWithIconWidget';
 
index e07c042..55a2be2 100644 (file)
@@ -42,22 +42,22 @@ abstract class AbstractRssWidget extends AbstractListWidget
     protected $lifeTime = 900;
 
     /**
-     * @inheritDoc
+     * @var int
      */
     protected $height = 6;
 
     /**
-     * @inheritDoc
+     * @var int
      */
     protected $width = 4;
 
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $iconIdentifier = 'content-widget-rss';
 
     /**
-     * @inheritDoc
+     * @var string
      */
     protected $templateName = 'RssWidget';
 
index f90d794..9f4b419 100644 (file)
@@ -21,10 +21,33 @@ namespace TYPO3\CMS\Dashboard\Widgets;
  */
 class DocumentationGettingStartedWidget extends AbstractCtaButtonWidget
 {
+    /**
+     * @var string
+     */
     protected $title = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.gettingStarted.title';
+
+    /**
+     * @var string
+     */
     protected $text = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.gettingStarted.text';
+
+    /**
+     * @var string
+     */
     protected $description = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.gettingStarted.description';
+
+    /**
+     * @var string
+     */
     protected $label = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.gettingStarted.content.label';
+
+    /**
+     * @var string
+     */
     protected $link = 'https://docs.typo3.org/m/typo3/tutorial-getting-started/master/en-us/Index.html';
+
+    /**
+     * @var string
+     */
     protected $iconIdentifier = 'content-widget-text';
 }
index 89bba82..c3038d2 100644 (file)
@@ -21,10 +21,33 @@ namespace TYPO3\CMS\Dashboard\Widgets;
  */
 class DocumentationTSconfigReferenceWidget extends AbstractCtaButtonWidget
 {
+    /**
+     * @var string
+     */
     protected $title = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.TSconfigReference.title';
+
+    /**
+     * @var string
+     */
     protected $text = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.TSconfigReference.text';
+
+    /**
+     * @var string
+     */
     protected $description = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.TSconfigReference.description';
+
+    /**
+     * @var string
+     */
     protected $label = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.TSconfigReference.content.label';
+
+    /**
+     * @var string
+     */
     protected $link = 'https://docs.typo3.org/m/typo3/reference-tsconfig/master/en-us/Index.html';
+
+    /**
+     * @var string
+     */
     protected $iconIdentifier = 'content-widget-text';
 }
index c3c2034..b816da8 100644 (file)
@@ -21,10 +21,33 @@ namespace TYPO3\CMS\Dashboard\Widgets;
  */
 class DocumentationTypoScriptReference extends AbstractCtaButtonWidget
 {
+    /**
+     * @var string
+     */
     protected $title = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.typoscriptReference.title';
+
+    /**
+     * @var string
+     */
     protected $text = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.typoscriptReference.text';
+
+    /**
+     * @var string
+     */
     protected $description = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.typoscriptReference.description';
+
+    /**
+     * @var string
+     */
     protected $label = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.documentation.typoscriptReference.content.label';
+
+    /**
+     * @var string
+     */
     protected $link = 'https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Index.html';
+
+    /**
+     * @var string
+     */
     protected $iconIdentifier = 'content-widget-text';
 }
index 115cd49..3ed002e 100644 (file)
@@ -27,9 +27,24 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class FailedLoginsWidget extends AbstractNumberWithIconWidget
 {
+    /**
+     * @var string
+     */
     protected $title = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.failedLogins.title';
+
+    /**
+     * @var string
+     */
     protected $description = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.failedLogins.description';
+
+    /**
+     * @var string
+     */
     protected $subtitle = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.failedLogins.subtitle';
+
+    /**
+     * @var string
+     */
     protected $icon = 'content-elements-login';
 
     protected function initializeView(): void
index c106904..96f16ee 100644 (file)
@@ -27,12 +27,39 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class SysLogErrorsWidget extends AbstractBarChartWidget
 {
+    /**
+     * @var string
+     */
     protected $title = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.sysLogErrors.title';
+
+    /**
+     * @var string
+     */
     protected $description = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.sysLogErrors.description';
+
+    /**
+     * @var string
+     */
     protected $buttonText = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.sysLogErrors.buttonText';
+
+    /**
+     * @var int
+     */
     protected $width = 4;
+
+    /**
+     * @var int
+     */
     protected $height = 4;
+
+    /**
+     * @var mixed[]
+     */
     protected $data = [];
+
+    /**
+     * @var mixed[]
+     */
     protected $labels = [];
 
     protected function initializeView(): void
index 7de1798..2dd249e 100644 (file)
@@ -23,11 +23,34 @@ use TYPO3\CMS\Core\Information\Typo3Version;
  */
 class T3GeneralInformation extends AbstractWidget
 {
+    /**
+     * @var string
+     */
     protected $title = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.t3information.title';
+
+    /**
+     * @var string
+     */
     protected $description = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.t3information.description';
+
+    /**
+     * @var string
+     */
     protected $templateName = 'T3GeneralInformation';
+
+    /**
+     * @var string
+     */
     protected $iconIdentifier = 'content-widget-text';
+
+    /**
+     * @var int
+     */
     protected $height = 4;
+
+    /**
+     * @var int
+     */
     protected $width = 4;
 
     public function renderWidgetContent(): string
index 1f15ecd..1ddbb57 100644 (file)
@@ -21,10 +21,33 @@ namespace TYPO3\CMS\Dashboard\Widgets;
  */
 class T3NewsWidget extends AbstractRssWidget
 {
+    /**
+     * @var string
+     */
     protected $rssFile = 'https://www.typo3.org/rss';
+
+    /**
+     * @var int
+     */
     protected $lifeTime = 43200; // 12 hours cache
+
+    /**
+     * @var string
+     */
     protected $title = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.t3news.title';
+
+    /**
+     * @var string
+     */
     protected $description = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.t3news.description';
+
+    /**
+     * @var string
+     */
     protected $moreItemsLink = 'https://typo3.org/project/news';
+
+    /**
+     * @var string
+     */
     protected $moreItemsText = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.t3news.moreItems';
 }
index a3ea8e9..a33fa35 100644 (file)
@@ -21,10 +21,33 @@ namespace TYPO3\CMS\Dashboard\Widgets;
  */
 class T3SecurityAdvisoriesWidget extends AbstractRssWidget
 {
+    /**
+     * @var string
+     */
     protected $rssFile = 'https://typo3.org/?type=101';
+
+    /**
+     * @var int
+     */
     protected $lifeTime = 43200; // 12 hours cache
+
+    /**
+     * @var string
+     */
     protected $title = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.t3securityAdvisories.title';
+
+    /**
+     * @var string
+     */
     protected $description = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.t3securityAdvisories.description';
+
+    /**
+     * @var string
+     */
     protected $moreItemsLink = 'https://typo3.org/help/security-advisories';
+
+    /**
+     * @var string
+     */
     protected $moreItemsText = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.t3securityAdvisories.moreItems';
 }
index 42bfd0b..4b627d4 100644 (file)
@@ -24,7 +24,14 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class TypeOfUsersWidget extends AbstractDoughnutChartWidget
 {
+    /**
+     * @var string
+     */
     protected $title = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.typeOfUsers.title';
+
+    /**
+     * @var string
+     */
     protected $description = 'LLL:EXT:dashboard/Resources/Private/Language/locallang.xlf:widgets.typeOfUsers.description';
 
     /**
index 01692d3..773bb2e 100644 (file)
@@ -63,7 +63,7 @@ class Bootstrap implements \TYPO3\CMS\Extbase\Core\BootstrapInterface
     protected $configurationManager;
 
     /**
-     * @var PersistenceManager
+     * @var PersistenceManagerInterface
      */
     protected $persistenceManager;
 
index 5d0ddf7..7f38841 100644 (file)
@@ -64,7 +64,7 @@ class Argument
     /**
      * Actual value of this argument
      *
-     * @var mixed
+     * @var mixed|null
      */
     protected $value;
 
index 651aa74..7e2efa8 100644 (file)
@@ -27,7 +27,7 @@ use TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper;
 class LazyLoadingProxy implements \Iterator, LoadingStrategyInterface
 {
     /**
-     * @var ?DataMapper
+     * @var DataMapper|null
      */
     protected $dataMapper;
 
index bbb41ff..cbce471 100644 (file)
@@ -36,7 +36,7 @@ class LazyObjectStorage extends \TYPO3\CMS\Extbase\Persistence\ObjectStorage imp
     private $warning = 'You should never see this warning. If you do, you probably used PHP array functions like current() on the TYPO3\\CMS\\Extbase\\Persistence\\Generic\\LazyObjectStorage. To retrieve the first result, you can use the rewind() and current() methods.';
 
     /**
-     * @var ?DataMapper
+     * @var DataMapper|null
      */
     protected $dataMapper;
 
index 889f831..79968df 100644 (file)
@@ -68,7 +68,7 @@ class DataMapper
     protected $eventDispatcher;
 
     /**
-     * @var ?QueryInterface
+     * @var QueryInterface|null
      */
     protected $query;
 
index cb7eadd..5f2ba93 100644 (file)
@@ -104,7 +104,7 @@ class Query implements QueryInterface
     protected $querySettings;
 
     /**
-     * @var ?QueryInterface
+     * @var QueryInterface|null
      * @internal
      */
     protected $parentQuery;
index 4252fc9..012bbf8 100644 (file)
@@ -74,7 +74,7 @@ class Typo3QuerySettings implements QuerySettingsInterface
     /**
      * Representing sys_language_overlay only valid for current context
      *
-     * @var mixed
+     * @var bool
      */
     protected $languageOverlayMode = true;
 
index a3d3d6b..cca6451 100644 (file)
@@ -139,6 +139,9 @@ class Dispatcher implements \TYPO3\CMS\Core\SingletonInterface
      */
     protected $logger;
 
+    /**
+     * @var string[][]
+     */
     protected $deprecatedSlots = [
         FileIndexRepository::class => [
             'recordUpdated' => AfterFileUpdatedInIndexEvent::class,
index c8b6111..781edbc 100644 (file)
@@ -108,6 +108,7 @@ class ContentObjectRenderer implements LoggerAwareInterface
      * stdWrap functions in their correct order
      *
      * @see stdWrap()
+     * @var string[]
      */
     public $stdWrapOrder = [
         'stdWrapPreProcess' => 'hook',
@@ -420,6 +421,7 @@ class ContentObjectRenderer implements LoggerAwareInterface
 
     /**
      * Set to TRUE by doConvertToUserIntObject() if USER object wants to become USER_INT
+     * @var bool
      */
     public $doConvertToUserIntObject = false;
 
@@ -427,6 +429,7 @@ class ContentObjectRenderer implements LoggerAwareInterface
      * Indicates current object type. Can hold one of OBJECTTYPE_ constants or FALSE.
      * The value is set and reset inside USER() function. Any time outside of
      * USER() it is FALSE.
+     * @var bool
      */
     protected $userObjectType = false;
 
index 293d076..fb607a0 100644 (file)
@@ -97,6 +97,9 @@ class TypoScriptFrontendController implements LoggerAwareInterface
     use LoggerAwareTrait;
     use PublicPropertyDeprecationTrait;
 
+    /**
+     * @var string[]
+     */
     private $deprecatedPublicProperties = [
         'imagesOnPage' => 'Using TSFE->imagesOnPage is deprecated and will no longer work with TYPO3 v11.0. Use AssetCollector()->getMedia() instead.',
         'lastImageInfo' => 'Using TSFE->lastImageInfo is deprecated and will no longer work with TYPO3 v11.0.'
index 92722af..5fd902a 100644 (file)
@@ -153,7 +153,7 @@ class InfoModuleController
     /**
      * May contain an instance of a 'Function menu module' which connects to this backend module.
      *
-     * @var \object
+     * @var object
      */
     protected $extObj;
 
index 37b0492..68c4899 100644 (file)
@@ -40,6 +40,9 @@ use TYPO3\CMS\Install\Updates\UpgradeWizardInterface;
  */
 class UpgradeWizardsService
 {
+    /**
+     * @var StreamOutput
+     */
     private $output;
 
     public function __construct()
index 221fec2..c2d434d 100644 (file)
@@ -27,6 +27,9 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class Argon2iPasswordHashes implements UpgradeWizardInterface, ConfirmableInterface
 {
+    /**
+     * @var Confirmation
+     */
     protected $confirmation;
 
     public function __construct()
@@ -107,7 +110,7 @@ class Argon2iPasswordHashes implements UpgradeWizardInterface, ConfirmableInterf
     /**
      * Return a confirmation message instance
      *
-     * @return \TYPO3\CMS\Install\Updates\Confirmation
+     * @return Confirmation
      */
     public function getConfirmation(): Confirmation
     {
index ca8fdd9..006bddb 100644 (file)
@@ -23,10 +23,29 @@ namespace TYPO3\CMS\Install\Updates;
  */
 class ExtensionModel
 {
+    /**
+     * @var string
+     */
     protected $key = '';
+
+    /**
+     * @var string
+     */
     protected $title = '';
+
+    /**
+     * @var string
+     */
     protected $versionString = '';
+
+    /**
+     * @var string
+     */
     protected $composerName = '';
+
+    /**
+     * @var string
+     */
     protected $description = '';
 
     public function __construct(
index 06be81a..55f2e38 100644 (file)
@@ -24,7 +24,14 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class MigrateUrlTypesInPagesUpdate implements UpgradeWizardInterface
 {
+    /**
+     * @var string[]
+     */
     private $databaseTables = ['pages', 'pages_language_overlay'];
+
+    /**
+     * @var string[]
+     */
     private $urltypes = ['', 'http://', 'ftp://', 'mailto:', 'https://'];
 
     /**
index 2f083e6..b565018 100644 (file)
@@ -34,8 +34,14 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class PopulatePageSlugs implements UpgradeWizardInterface
 {
+    /**
+     * @var string
+     */
     protected $table = 'pages';
 
+    /**
+     * @var string
+     */
     protected $fieldName = 'slug';
 
     /**
index b0fe4c6..a0f3439 100644 (file)
@@ -40,6 +40,7 @@ class CronCommand
      * This value starts with 'now + 1 minute' if not set externally
      * by unit tests. After a call to calculateNextValue() it holds the timestamp of
      * the next execution date which matches the cron command restrictions.
+     * @var int
      */
     protected $timestamp;
 
index c3aea77..e93a595 100644 (file)
@@ -130,7 +130,7 @@ class TypoScriptTemplateModuleController
      * May contain an instance of a 'Function menu module' which connects to this backend module.
      *
      * @see checkExtObj()
-     * @var \object
+     * @var object
      */
     protected $extObj;