From 75b51fc19ca6d124fc848782b6958dfe92cb1a1f Mon Sep 17 00:00:00 2001 From: Guy Sartorelli <36352093+GuySartorelli@users.noreply.github.com> Date: Wed, 17 Jan 2024 17:09:43 +1300 Subject: [PATCH] ENH Add generic types (#1648) --- _config.php | 1 - code/AdminErrorExtension.php | 4 ++++ code/CMSBatchActionHandler.php | 2 +- code/CMSEditLinkExtension.php | 6 +++++- code/CMSMenu.php | 2 +- code/CMSMenuItem.php | 1 - code/CMSProfileController.php | 1 - code/Forms/FormMessageBootstrapAdapter.php | 2 ++ code/Forms/GridFieldDetailFormPreviewExtension.php | 4 ++++ code/Forms/GridFieldPrintButtonExtension.php | 4 ++++ code/Forms/LinkFormFactory.php | 1 - code/Forms/UsedOnTable.php | 1 - code/LeftAndMain.php | 3 +-- code/LeftAndMainExtension.php | 3 +++ code/ModelAdmin.php | 5 ----- code/SecurityAdmin.php | 1 - code/SudoModeController.php | 1 - 17 files changed, 25 insertions(+), 17 deletions(-) diff --git a/_config.php b/_config.php index f34a188a1..1fe1e492b 100644 --- a/_config.php +++ b/_config.php @@ -11,7 +11,6 @@ // Enable SilverStripe insert link dialog on the rich text editor $module = ModuleLoader::inst()->getManifest()->getModule('silverstripe/admin'); -/** @var TinyMCEConfig $editorConfig */ $editorConfig = TinyMCEConfig::get('cms'); $editorConfig ->enablePlugins([ diff --git a/code/AdminErrorExtension.php b/code/AdminErrorExtension.php index ba961befe..f8d38e160 100644 --- a/code/AdminErrorExtension.php +++ b/code/AdminErrorExtension.php @@ -5,8 +5,12 @@ use SilverStripe\Control\Controller; use SilverStripe\Control\Director; use SilverStripe\Control\HTTPRequest; +use SilverStripe\Control\RequestHandler; use SilverStripe\Core\Extension; +/** + * @extends Extension + */ class AdminErrorExtension extends Extension { /** diff --git a/code/CMSBatchActionHandler.php b/code/CMSBatchActionHandler.php index 87b8c6856..b2529d61d 100644 --- a/code/CMSBatchActionHandler.php +++ b/code/CMSBatchActionHandler.php @@ -226,7 +226,7 @@ protected function actionByName($name) * - Link * - Title * - * @return ArrayList + * @return ArrayList */ public function batchActionList() { diff --git a/code/CMSEditLinkExtension.php b/code/CMSEditLinkExtension.php index 31e32f2d3..ce20bce31 100644 --- a/code/CMSEditLinkExtension.php +++ b/code/CMSEditLinkExtension.php @@ -32,6 +32,9 @@ * * If the cms_edit_owner is a has_one relation, the class on the other end * of the relation must have a CMSEditLink() method. + * + * @template T of LeftAndMain|DataObject + * @extends Extension */ class CMSEditLinkExtension extends Extension { @@ -40,7 +43,7 @@ class CMSEditLinkExtension extends Extension /** * Get the ModelAdmin, LeftAndMain, or DataObject which owns this object for CMS editing purposes. * - * @return LeftAndMain|DataObject|null + * @return DataObject|LeftAndMain|null */ public function getCMSEditOwner() { @@ -71,6 +74,7 @@ public function getCMSEditLinkForManagedDataObject(DataObject $obj, string $reci */ public function CMSEditLink(): string { + /** @var DataObject|LeftAndMain|null $owner */ $owner = $this->owner->getCMSEditOwner(); if (!$owner || !$owner->exists()) { return ''; diff --git a/code/CMSMenu.php b/code/CMSMenu.php index 65ccc0016..20b00163e 100644 --- a/code/CMSMenu.php +++ b/code/CMSMenu.php @@ -246,7 +246,7 @@ public static function get_menu_items() * Defaults to {@link Security::getCurrentUser()}. * * @param Member $member - * @return array + * @return array */ public static function get_viewable_menu_items($member = null) { diff --git a/code/CMSMenuItem.php b/code/CMSMenuItem.php index 89b945719..c1852245f 100644 --- a/code/CMSMenuItem.php +++ b/code/CMSMenuItem.php @@ -115,7 +115,6 @@ public function getAttributesHTML($attrs = null) $parts[] = sprintf('%s="%s"', Convert::raw2att($name), Convert::raw2att($value)); } - /** @var DBHTMLText $fragment */ $fragment = DBField::create_field('HTMLFragment', implode(' ', $parts)); return $fragment; } diff --git a/code/CMSProfileController.php b/code/CMSProfileController.php index 8967de739..5d745800b 100644 --- a/code/CMSProfileController.php +++ b/code/CMSProfileController.php @@ -103,7 +103,6 @@ public function save(array $data, Form $form): HTTPResponse * in the breadcrumbs. * * @param bool $unlinked - * @return ArrayList */ public function Breadcrumbs($unlinked = false) { diff --git a/code/Forms/FormMessageBootstrapAdapter.php b/code/Forms/FormMessageBootstrapAdapter.php index 41f2c54bc..2be2bf2ad 100644 --- a/code/Forms/FormMessageBootstrapAdapter.php +++ b/code/Forms/FormMessageBootstrapAdapter.php @@ -6,6 +6,8 @@ /** * Will convert a SilverStripe message type into a Bootstrap alert type + * + * @extends Extension */ class FormMessageBootstrapExtension extends Extension { diff --git a/code/Forms/GridFieldDetailFormPreviewExtension.php b/code/Forms/GridFieldDetailFormPreviewExtension.php index ba1ac4747..a821614ed 100644 --- a/code/Forms/GridFieldDetailFormPreviewExtension.php +++ b/code/Forms/GridFieldDetailFormPreviewExtension.php @@ -6,11 +6,15 @@ use SilverStripe\Admin\Navigator\SilverStripeNavigator; use SilverStripe\Core\Extension; use SilverStripe\Forms\Form; +use SilverStripe\Forms\GridField\GridFieldDetailForm_ItemRequest; use SilverStripe\Forms\LiteralField; use SilverStripe\ORM\CMSPreviewable; use SilverStripe\ORM\FieldType\DBHTMLText; use SilverStripe\View\SSViewer; +/** + * @extends Extension + */ class GridFieldDetailFormPreviewExtension extends Extension { public function updateItemEditForm(Form $form): void diff --git a/code/Forms/GridFieldPrintButtonExtension.php b/code/Forms/GridFieldPrintButtonExtension.php index ecfb2123e..ccd48f874 100644 --- a/code/Forms/GridFieldPrintButtonExtension.php +++ b/code/Forms/GridFieldPrintButtonExtension.php @@ -3,8 +3,12 @@ namespace SilverStripe\Admin\Forms; use SilverStripe\Core\Extension; +use SilverStripe\Forms\GridField\GridFieldPrintButton; use SilverStripe\View\Requirements; +/** + * @extends Extension + */ class GridFieldPrintButtonExtension extends Extension { public function updatePrintData($data) diff --git a/code/Forms/LinkFormFactory.php b/code/Forms/LinkFormFactory.php index b154a47eb..193bb3260 100644 --- a/code/Forms/LinkFormFactory.php +++ b/code/Forms/LinkFormFactory.php @@ -39,7 +39,6 @@ public function getForm(RequestHandler $controller = null, $name = FormFactory:: $fields = $this->getFormFields($controller, $name, $context); $actions = $this->getFormActions($controller, $name, $context); $validator = $this->getValidator($controller, $name, $context); - /** @var Form $form */ $form = Form::create($controller, $name, $fields, $actions, $validator); $form->addExtraClass('form--no-dividers'); diff --git a/code/Forms/UsedOnTable.php b/code/Forms/UsedOnTable.php index 8b37919ad..ea5ef2108 100644 --- a/code/Forms/UsedOnTable.php +++ b/code/Forms/UsedOnTable.php @@ -72,7 +72,6 @@ public function usage(HTTPRequest $request) { $usage = ArrayList::create(); - /** @var DataObject $record */ $record = $this->getRecord() ?: DataObject::create(); if ($record->canView()) { // Exclude classes from being queried and showing in the results via an extension hook diff --git a/code/LeftAndMain.php b/code/LeftAndMain.php index eecfe5688..2d87a84de 100644 --- a/code/LeftAndMain.php +++ b/code/LeftAndMain.php @@ -1040,7 +1040,6 @@ public function MainMenu($cached = true) $menuIconStyling = ''; if ($menuItems) { - /** @var CMSMenuItem $menuItem */ foreach ($menuItems as $code => $menuItem) { // alternate permission checks (in addition to LeftAndMain->canView()) if (isset($menuItem->controller) @@ -1192,7 +1191,7 @@ public function getRecord($id) /** * @param bool $unlinked - * @return ArrayList + * @return ArrayList */ public function Breadcrumbs($unlinked = false) { diff --git a/code/LeftAndMainExtension.php b/code/LeftAndMainExtension.php index 2980c03e7..62835f1e4 100644 --- a/code/LeftAndMainExtension.php +++ b/code/LeftAndMainExtension.php @@ -6,6 +6,9 @@ /** * Plug-ins for additional functionality in your LeftAndMain classes. + * + * @template T of LeftAndMain + * @extends Extension */ abstract class LeftAndMainExtension extends Extension { diff --git a/code/ModelAdmin.php b/code/ModelAdmin.php index 98635f75a..3cd8d2206 100644 --- a/code/ModelAdmin.php +++ b/code/ModelAdmin.php @@ -343,7 +343,6 @@ function ($form) { // Validation if (singleton($this->modelClass)->hasMethod('getCMSCompositeValidator')) { $detailValidator = singleton($this->modelClass)->getCMSCompositeValidator(); - /** @var GridFieldDetailForm $detailform */ $detailform = $config->getComponentByType(GridFieldDetailForm::class); $detailform->setValidator($detailValidator); } @@ -708,10 +707,6 @@ public function import(array $data, Form $form): HTTPResponse return $this->redirectBack(); } - /** - * @param bool $unlinked - * @return ArrayList - */ public function Breadcrumbs($unlinked = false) { $items = parent::Breadcrumbs($unlinked); diff --git a/code/SecurityAdmin.php b/code/SecurityAdmin.php index 3410ebd3b..b817ae5c8 100755 --- a/code/SecurityAdmin.php +++ b/code/SecurityAdmin.php @@ -121,7 +121,6 @@ protected function getGridFieldConfig(): GridFieldConfig $config->removeComponentsByType(GridFieldImportButton::class); return $config; } - /** @var GridFieldImportButton $importButton */ $importButton = $config->getComponentByType(GridFieldImportButton::class); if ($importButton) { $modalTitle = match ($this->modelClass) { diff --git a/code/SudoModeController.php b/code/SudoModeController.php index 873048eed..fd29e20c0 100644 --- a/code/SudoModeController.php +++ b/code/SudoModeController.php @@ -45,7 +45,6 @@ class SudoModeController extends LeftAndMain public function getClientConfig() { - /** @var HTTPRequest $request */ $request = Injector::inst()->get(HTTPRequest::class); return array_merge_recursive(parent::getClientConfig(), [