From 45630c7c3483180639eb2a5fdd013a3dee623588 Mon Sep 17 00:00:00 2001
From: catch <catch@35733.no-reply.drupal.org>
Date: Mon, 13 Dec 2021 13:08:43 +0000
Subject: [PATCH] Issue #3232080 by paulocs, daffie, longwave: [Symfony 6] Add
 "mixed" type hint to all Normalizer classes that implement the method
 ::denormalize()

---
 core/modules/hal/src/Normalizer/ContentEntityNormalizer.php     | 2 +-
 core/modules/hal/src/Normalizer/FieldItemNormalizer.php         | 2 +-
 core/modules/jsonapi/src/Normalizer/EntityDenormalizerBase.php  | 2 +-
 core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php     | 2 +-
 core/modules/jsonapi/src/Normalizer/FieldNormalizer.php         | 2 +-
 .../src/Normalizer/JsonApiDocumentTopLevelNormalizer.php        | 2 +-
 .../jsonapi/src/Normalizer/ResourceIdentifierNormalizer.php     | 2 +-
 core/modules/jsonapi/src/Serializer/Serializer.php              | 2 +-
 .../jsonapi_test_data_type/src/Normalizer/StringNormalizer.php  | 2 +-
 .../serialization/src/Normalizer/ConfigEntityNormalizer.php     | 2 +-
 .../serialization/src/Normalizer/DateTimeIso8601Normalizer.php  | 2 +-
 .../modules/serialization/src/Normalizer/DateTimeNormalizer.php | 2 +-
 core/modules/serialization/src/Normalizer/EntityNormalizer.php  | 2 +-
 .../serialization/src/Normalizer/FieldItemNormalizer.php        | 2 +-
 core/modules/serialization/src/Normalizer/FieldNormalizer.php   | 2 +-
 .../serialization/src/Normalizer/TimestampNormalizer.php        | 2 +-
 .../src/Normalizer/BooleanNormalizer.php                        | 2 +-
 17 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/core/modules/hal/src/Normalizer/ContentEntityNormalizer.php b/core/modules/hal/src/Normalizer/ContentEntityNormalizer.php
index dc05563a21d3..2ed0a8fb4a93 100644
--- a/core/modules/hal/src/Normalizer/ContentEntityNormalizer.php
+++ b/core/modules/hal/src/Normalizer/ContentEntityNormalizer.php
@@ -123,7 +123,7 @@ public function normalize($entity, $format = NULL, array $context = []) {
    *
    * @throws \Symfony\Component\Serializer\Exception\UnexpectedValueException
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     // Get type, necessary for determining which bundle to create.
     if (!isset($data['_links']['type'])) {
       throw new UnexpectedValueException('The type link relation must be specified.');
diff --git a/core/modules/hal/src/Normalizer/FieldItemNormalizer.php b/core/modules/hal/src/Normalizer/FieldItemNormalizer.php
index de7ff4b771b7..f4d8447ee199 100644
--- a/core/modules/hal/src/Normalizer/FieldItemNormalizer.php
+++ b/core/modules/hal/src/Normalizer/FieldItemNormalizer.php
@@ -38,7 +38,7 @@ public function normalize($field_item, $format = NULL, array $context = []) {
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     if (!isset($context['target_instance'])) {
       throw new InvalidArgumentException('$context[\'target_instance\'] must be set to denormalize with the FieldItemNormalizer');
     }
diff --git a/core/modules/jsonapi/src/Normalizer/EntityDenormalizerBase.php b/core/modules/jsonapi/src/Normalizer/EntityDenormalizerBase.php
index efdae5241dc2..a5715dedae7d 100644
--- a/core/modules/jsonapi/src/Normalizer/EntityDenormalizerBase.php
+++ b/core/modules/jsonapi/src/Normalizer/EntityDenormalizerBase.php
@@ -81,7 +81,7 @@ public function normalize($object, $format = NULL, array $context = []) {
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     if (empty($context['resource_type']) || !$context['resource_type'] instanceof ResourceType) {
       throw new PreconditionFailedHttpException('Missing context during denormalization.');
     }
diff --git a/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php b/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php
index 9409aab03e60..7a26ebe62816 100644
--- a/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php
@@ -89,7 +89,7 @@ public function normalize($field_item, $format = NULL, array $context = []) {
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     $item_definition = $context['field_definition']->getItemDefinition();
     assert($item_definition instanceof FieldItemDataDefinitionInterface);
 
diff --git a/core/modules/jsonapi/src/Normalizer/FieldNormalizer.php b/core/modules/jsonapi/src/Normalizer/FieldNormalizer.php
index aff9f2ff7238..eaa1d56ecf53 100644
--- a/core/modules/jsonapi/src/Normalizer/FieldNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/FieldNormalizer.php
@@ -42,7 +42,7 @@ public function normalize($field, $format = NULL, array $context = []) {
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     $field_definition = $context['field_definition'];
     assert($field_definition instanceof FieldDefinitionInterface);
     $resource_type = $context['resource_type'];
diff --git a/core/modules/jsonapi/src/Normalizer/JsonApiDocumentTopLevelNormalizer.php b/core/modules/jsonapi/src/Normalizer/JsonApiDocumentTopLevelNormalizer.php
index 010645d7e6f5..0c9d45fca20f 100644
--- a/core/modules/jsonapi/src/Normalizer/JsonApiDocumentTopLevelNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/JsonApiDocumentTopLevelNormalizer.php
@@ -70,7 +70,7 @@ public function __construct(EntityTypeManagerInterface $entity_type_manager, Res
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     $resource_type = $context['resource_type'];
 
     // Validate a few common errors in document formatting.
diff --git a/core/modules/jsonapi/src/Normalizer/ResourceIdentifierNormalizer.php b/core/modules/jsonapi/src/Normalizer/ResourceIdentifierNormalizer.php
index 8e65b7789c72..2b9837ae0d3d 100644
--- a/core/modules/jsonapi/src/Normalizer/ResourceIdentifierNormalizer.php
+++ b/core/modules/jsonapi/src/Normalizer/ResourceIdentifierNormalizer.php
@@ -63,7 +63,7 @@ public function normalize($object, $format = NULL, array $context = []) {
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     // If we get here, it's via a relationship POST/PATCH.
     /** @var \Drupal\jsonapi\ResourceType\ResourceType $resource_type */
     $resource_type = $context['resource_type'];
diff --git a/core/modules/jsonapi/src/Serializer/Serializer.php b/core/modules/jsonapi/src/Serializer/Serializer.php
index cb45e8984cc3..745fa30465a7 100644
--- a/core/modules/jsonapi/src/Serializer/Serializer.php
+++ b/core/modules/jsonapi/src/Serializer/Serializer.php
@@ -70,7 +70,7 @@ public function normalize($data, $format = NULL, array $context = []) {
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $type, $format = NULL, array $context = []) {
+  public function denormalize($data, $type, $format = NULL, array $context = []): mixed {
     if ($this->selfSupportsDenormalization($data, $type, $format, $context)) {
       return parent::denormalize($data, $type, $format, $context);
     }
diff --git a/core/modules/jsonapi/tests/modules/jsonapi_test_data_type/src/Normalizer/StringNormalizer.php b/core/modules/jsonapi/tests/modules/jsonapi_test_data_type/src/Normalizer/StringNormalizer.php
index 9dd4851574e2..7ceddc26346c 100644
--- a/core/modules/jsonapi/tests/modules/jsonapi_test_data_type/src/Normalizer/StringNormalizer.php
+++ b/core/modules/jsonapi/tests/modules/jsonapi_test_data_type/src/Normalizer/StringNormalizer.php
@@ -26,7 +26,7 @@ public function normalize($object, $format = NULL, array $context = []) {
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     return str_replace('NOT', 'super', $data);
   }
 
diff --git a/core/modules/serialization/src/Normalizer/ConfigEntityNormalizer.php b/core/modules/serialization/src/Normalizer/ConfigEntityNormalizer.php
index f7f7ee2e1391..a5d1e4f4915f 100644
--- a/core/modules/serialization/src/Normalizer/ConfigEntityNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/ConfigEntityNormalizer.php
@@ -24,7 +24,7 @@ public function normalize($object, $format = NULL, array $context = []) {
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     return parent::denormalize(static::getDataWithoutInternals($data), $class, $format, $context);
   }
 
diff --git a/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php b/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php
index 10d0037bf39e..458425369050 100644
--- a/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php
+++ b/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php
@@ -54,7 +54,7 @@ public function normalize($datetime, $format = NULL, array $context = []) {
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     // @todo Move the date-only handling out of here in https://www.drupal.org/project/drupal/issues/2958416.
     if (isset($context['target_instance'])) {
       $field_definition = $context['target_instance']->getFieldDefinition();
diff --git a/core/modules/serialization/src/Normalizer/DateTimeNormalizer.php b/core/modules/serialization/src/Normalizer/DateTimeNormalizer.php
index 42a715092b75..61cb1a369fa4 100644
--- a/core/modules/serialization/src/Normalizer/DateTimeNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/DateTimeNormalizer.php
@@ -85,7 +85,7 @@ protected function getNormalizationTimezone() {
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     // This only knows how to denormalize datetime strings and timestamps. If
     // something else is received, let validation constraints handle this.
     if (!is_string($data) && !is_numeric($data)) {
diff --git a/core/modules/serialization/src/Normalizer/EntityNormalizer.php b/core/modules/serialization/src/Normalizer/EntityNormalizer.php
index 83ba556e0a77..d8670fa5b259 100644
--- a/core/modules/serialization/src/Normalizer/EntityNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/EntityNormalizer.php
@@ -40,7 +40,7 @@ public function __construct(EntityTypeManagerInterface $entity_type_manager, Ent
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     $entity_type_id = $this->determineEntityTypeId($class, $context);
     $entity_type_definition = $this->getEntityTypeDefinition($entity_type_id);
 
diff --git a/core/modules/serialization/src/Normalizer/FieldItemNormalizer.php b/core/modules/serialization/src/Normalizer/FieldItemNormalizer.php
index 2af0afc86ab0..820f42b97942 100644
--- a/core/modules/serialization/src/Normalizer/FieldItemNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/FieldItemNormalizer.php
@@ -22,7 +22,7 @@ class FieldItemNormalizer extends ComplexDataNormalizer implements DenormalizerI
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     if (!isset($context['target_instance'])) {
       throw new InvalidArgumentException('$context[\'target_instance\'] must be set to denormalize with the FieldItemNormalizer');
     }
diff --git a/core/modules/serialization/src/Normalizer/FieldNormalizer.php b/core/modules/serialization/src/Normalizer/FieldNormalizer.php
index 963ac96ef106..f012a9685786 100644
--- a/core/modules/serialization/src/Normalizer/FieldNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/FieldNormalizer.php
@@ -26,7 +26,7 @@ class FieldNormalizer extends ListNormalizer implements DenormalizerInterface {
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     if (!isset($context['target_instance'])) {
       throw new InvalidArgumentException('$context[\'target_instance\'] must be set to denormalize with the FieldNormalizer');
     }
diff --git a/core/modules/serialization/src/Normalizer/TimestampNormalizer.php b/core/modules/serialization/src/Normalizer/TimestampNormalizer.php
index 9be4d6ef949b..6bb7c03d3172 100644
--- a/core/modules/serialization/src/Normalizer/TimestampNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/TimestampNormalizer.php
@@ -39,7 +39,7 @@ protected function getNormalizationTimezone() {
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     $denormalized = parent::denormalize($data, $class, $format, $context);
     return $denormalized->getTimestamp();
   }
diff --git a/core/modules/serialization/tests/modules/test_datatype_boolean_emoji_normalizer/src/Normalizer/BooleanNormalizer.php b/core/modules/serialization/tests/modules/test_datatype_boolean_emoji_normalizer/src/Normalizer/BooleanNormalizer.php
index b1b1bd8cc9ae..a2910eab046c 100644
--- a/core/modules/serialization/tests/modules/test_datatype_boolean_emoji_normalizer/src/Normalizer/BooleanNormalizer.php
+++ b/core/modules/serialization/tests/modules/test_datatype_boolean_emoji_normalizer/src/Normalizer/BooleanNormalizer.php
@@ -26,7 +26,7 @@ public function normalize($object, $format = NULL, array $context = []) {
   /**
    * {@inheritdoc}
    */
-  public function denormalize($data, $class, $format = NULL, array $context = []) {
+  public function denormalize($data, $class, $format = NULL, array $context = []): mixed {
     if (!in_array($data, ['👍', '👎'], TRUE)) {
       throw new \UnexpectedValueException('Only 👍 and 👎 are acceptable values.');
     }
-- 
GitLab