From 65fb50f9fbbed08a7357a8f171569c383e28622f Mon Sep 17 00:00:00 2001
From: Christoph Wurst <christoph@winzerhof-wurst.at>
Date: Thu, 15 Oct 2020 10:58:51 +0200
Subject: [PATCH] Add psalm types for the migration schema closure

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
---
 lib/public/Migration/IMigrationStep.php      |  6 ++++++
 lib/public/Migration/SimpleMigrationStep.php | 21 +++++++++-----------
 2 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/lib/public/Migration/IMigrationStep.php b/lib/public/Migration/IMigrationStep.php
index e5c4d50a299..3d0e23e5d38 100644
--- a/lib/public/Migration/IMigrationStep.php
+++ b/lib/public/Migration/IMigrationStep.php
@@ -1,4 +1,7 @@
 <?php
+
+declare(strict_types=1);
+
 /**
  * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
  *
@@ -49,6 +52,7 @@ interface IMigrationStep {
 	/**
 	 * @param IOutput $output
 	 * @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+	 * @psalm-param Closure():ISchemaWrapper $schemaClosure
 	 * @param array $options
 	 * @since 13.0.0
 	 */
@@ -57,6 +61,7 @@ interface IMigrationStep {
 	/**
 	 * @param IOutput $output
 	 * @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+	 * @psalm-param Closure():ISchemaWrapper $schemaClosure
 	 * @param array $options
 	 * @return null|ISchemaWrapper
 	 * @since 13.0.0
@@ -66,6 +71,7 @@ interface IMigrationStep {
 	/**
 	 * @param IOutput $output
 	 * @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+	 * @psalm-param Closure():ISchemaWrapper $schemaClosure
 	 * @param array $options
 	 * @since 13.0.0
 	 */
diff --git a/lib/public/Migration/SimpleMigrationStep.php b/lib/public/Migration/SimpleMigrationStep.php
index 76d86b8f04c..4abf8ea2871 100644
--- a/lib/public/Migration/SimpleMigrationStep.php
+++ b/lib/public/Migration/SimpleMigrationStep.php
@@ -1,4 +1,7 @@
 <?php
+
+declare(strict_types=1);
+
 /**
  * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
  *
@@ -25,8 +28,6 @@
 
 namespace OCP\Migration;
 
-use OCP\DB\ISchemaWrapper;
-
 /**
  * @since 13.0.0
  */
@@ -52,19 +53,16 @@ abstract class SimpleMigrationStep implements IMigrationStep {
 	}
 
 	/**
-	 * @param IOutput $output
-	 * @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
-	 * @param array $options
+	 * {@inheritDoc}
+	 *
 	 * @since 13.0.0
 	 */
 	public function preSchemaChange(IOutput $output, \Closure $schemaClosure, array $options) {
 	}
 
 	/**
-	 * @param IOutput $output
-	 * @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
-	 * @param array $options
-	 * @return null|ISchemaWrapper
+	 * {@inheritDoc}
+	 *
 	 * @since 13.0.0
 	 */
 	public function changeSchema(IOutput $output, \Closure $schemaClosure, array $options) {
@@ -72,9 +70,8 @@ abstract class SimpleMigrationStep implements IMigrationStep {
 	}
 
 	/**
-	 * @param IOutput $output
-	 * @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
-	 * @param array $options
+	 * {@inheritDoc}
+	 *
 	 * @since 13.0.0
 	 */
 	public function postSchemaChange(IOutput $output, \Closure $schemaClosure, array $options) {
-- 
GitLab