From 3e57a7ea6534afe690a6f832c8cf2bf52ec8c1ba Mon Sep 17 00:00:00 2001 From: Umherirrender Date: Wed, 4 Sep 2019 20:46:57 +0200 Subject: [PATCH] Document $file in FileDeleteForm as LocalFile (not File) Deletion is only possible for files on the local wiki, so this is always a LocalFile. The static self::doDelete already requires a LocalFile. Caught by PhanTypeMismatchArgument, to be enabled with I34d65fe3ff191. Change-Id: Iee0774340208b493b075085485343e05f922751c --- includes/FileDeleteForm.php | 12 ++++++------ includes/page/ImagePage.php | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/includes/FileDeleteForm.php b/includes/FileDeleteForm.php index 1241e1c7cb..e31f9d218d 100644 --- a/includes/FileDeleteForm.php +++ b/includes/FileDeleteForm.php @@ -36,18 +36,18 @@ class FileDeleteForm { private $title = null; /** - * @var File + * @var LocalFile */ private $file = null; /** - * @var File + * @var LocalFile */ private $oldfile = null; private $oldimage = ''; /** - * @param File $file File object we're deleting + * @param LocalFile $file File object we're deleting */ public function __construct( $file ) { $this->title = $file->getTitle(); @@ -451,9 +451,9 @@ class FileDeleteForm { * value was provided, does it correspond to an * existing, local, old version of this file? * - * @param File &$file - * @param File &$oldfile - * @param File $oldimage + * @param LocalFile &$file + * @param LocalFile &$oldfile + * @param LocalFile $oldimage * @return bool */ public static function haveDeletableFile( &$file, &$oldfile, $oldimage ) { diff --git a/includes/page/ImagePage.php b/includes/page/ImagePage.php index 2f6d4da028..653e443a66 100644 --- a/includes/page/ImagePage.php +++ b/includes/page/ImagePage.php @@ -987,6 +987,7 @@ EOT parent::delete(); return; } + '@phan-var LocalFile $file'; $deleter = new FileDeleteForm( $file ); $deleter->execute(); -- 2.20.1