<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="5.6.0@e784128902dfe01d489c4123d69918a9f3c1eac5">
  <file src="src/Aggregate/AggregateHydrator.php">
    <DocblockTypeContradiction>
      <code>null === $this-&gt;eventManager</code>
    </DocblockTypeContradiction>
    <MissingConstructor>
      <code>$eventManager</code>
    </MissingConstructor>
  </file>
  <file src="src/ArraySerializable.php">
    <DeprecatedClass>
      <code>ArraySerializable::class</code>
    </DeprecatedClass>
  </file>
  <file src="src/ArraySerializableHydrator.php">
    <MixedArgument>
      <code>$original</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion>
      <code>$key</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayAccess>
      <code>$data[$name]</code>
      <code>$data[$name]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment>
      <code>$data[$name]</code>
    </MixedArrayAssignment>
    <MixedAssignment>
      <code>$data</code>
      <code>$data[$name]</code>
      <code>$name</code>
      <code>$original</code>
      <code>$replacement[$name]</code>
      <code>$value</code>
      <code>$value</code>
    </MixedAssignment>
    <MixedInferredReturnType>
      <code>array</code>
    </MixedInferredReturnType>
    <MixedReturnStatement>
      <code>$data</code>
      <code>$data</code>
    </MixedReturnStatement>
  </file>
  <file src="src/ClassMethods.php">
    <DeprecatedClass>
      <code>ClassMethods::class</code>
    </DeprecatedClass>
  </file>
  <file src="src/ClassMethodsHydrator.php">
    <DocblockTypeContradiction>
      <code>$options instanceof Traversable</code>
      <code>null === $this-&gt;extractionMethodsCache[$objectClass]</code>
    </DocblockTypeContradiction>
    <MixedArgument>
      <code>$options</code>
      <code>$options['methodExistsCheck']</code>
      <code>$options['underscoreSeparatedKeys']</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion>
      <code>$property</code>
      <code>$property</code>
    </MixedArgumentTypeCoercion>
    <MixedAssignment>
      <code>$value</code>
      <code>$values[$realAttributeName]</code>
    </MixedAssignment>
    <MixedMethodCall>
      <code>$this-&gt;hydrationMethodsCache[$propertyFqn]</code>
    </MixedMethodCall>
  </file>
  <file src="src/DelegatingHydrator.php">
    <MixedInferredReturnType>
      <code>HydratorInterface</code>
    </MixedInferredReturnType>
    <MixedReturnStatement>
      <code>$this-&gt;hydrators-&gt;get($object::class)</code>
    </MixedReturnStatement>
  </file>
  <file src="src/DelegatingHydratorFactory.php">
    <MixedInferredReturnType>
      <code>ContainerInterface</code>
    </MixedInferredReturnType>
    <MixedReturnStatement>
      <code>$container-&gt;get('HydratorManager')</code>
      <code>$container-&gt;get('Zend\Hydrator\HydratorPluginManager')</code>
      <code>$container-&gt;get(HydratorPluginManager::class)</code>
    </MixedReturnStatement>
  </file>
  <file src="src/Filter/FilterComposite.php">
    <MixedArgument>
      <code>$filter</code>
      <code>$filter</code>
    </MixedArgument>
    <MixedAssignment>
      <code>$filter</code>
      <code>$filter</code>
    </MixedAssignment>
  </file>
  <file src="src/HydratorPluginManager.php">
    <DeprecatedClass>
      <code>ArraySerializable::class</code>
      <code>ClassMethods::class</code>
      <code>ObjectProperty::class</code>
      <code>Reflection::class</code>
    </DeprecatedClass>
  </file>
  <file src="src/Iterator/HydratingIteratorIterator.php">
    <InvalidArgument>
      <code>$data</code>
    </InvalidArgument>
    <MixedMethodCall>
      <code>new $prototype()</code>
    </MixedMethodCall>
  </file>
  <file src="src/Module.php">
    <MixedAssignment>
      <code>$container</code>
      <code>$serviceListener</code>
    </MixedAssignment>
    <MixedMethodCall>
      <code>addServiceManager</code>
      <code>get</code>
    </MixedMethodCall>
  </file>
  <file src="src/NamingStrategy/MapNamingStrategy.php">
    <MissingClosureParamType>
      <code>$key</code>
      <code>$value</code>
    </MissingClosureParamType>
  </file>
  <file src="src/NamingStrategy/UnderscoreNamingStrategy/CamelCaseToUnderscoreFilter.php">
    <MissingClosureParamType>
      <code>$value</code>
      <code>$value</code>
    </MissingClosureParamType>
    <MixedArgument>
      <code>$value</code>
      <code>$value</code>
    </MixedArgument>
  </file>
  <file src="src/NamingStrategy/UnderscoreNamingStrategy/StringSupportTrait.php">
    <DocblockTypeContradiction>
      <code>$this-&gt;mbStringSupport === null</code>
      <code>$this-&gt;pcreUnicodeSupport === null</code>
    </DocblockTypeContradiction>
    <MissingConstructor>
      <code>$mbStringSupport</code>
      <code>$mbStringSupport</code>
      <code>$pcreUnicodeSupport</code>
      <code>$pcreUnicodeSupport</code>
    </MissingConstructor>
  </file>
  <file src="src/NamingStrategy/UnderscoreNamingStrategy/UnderscoreToCamelCaseFilter.php">
    <MissingClosureParamType>
      <code>$matches</code>
      <code>$matches</code>
      <code>$matches</code>
      <code>$value</code>
    </MissingClosureParamType>
    <MixedArgument>
      <code>$matches[2]</code>
      <code>$matches[2]</code>
      <code>$matches[2]</code>
      <code>$value</code>
      <code>$value[0]</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion>
      <code>$pcreInfo-&gt;replacement</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayAccess>
      <code>$matches[2]</code>
      <code>$matches[2]</code>
      <code>$matches[2]</code>
      <code>$value[0]</code>
    </MixedArrayAccess>
  </file>
  <file src="src/ObjectProperty.php">
    <DeprecatedClass>
      <code>ObjectProperty::class</code>
    </DeprecatedClass>
  </file>
  <file src="src/ObjectPropertyHydrator.php">
    <MixedArgumentTypeCoercion>
      <code>$name</code>
    </MixedArgumentTypeCoercion>
    <MixedAssignment>
      <code>$data[$name]</code>
      <code>$value</code>
      <code>$value</code>
    </MixedAssignment>
    <UnsupportedReferenceUsage>
      <code>$properties = &amp;self::$skippedPropertiesCache[$object::class]</code>
    </UnsupportedReferenceUsage>
  </file>
  <file src="src/Reflection.php">
    <DeprecatedClass>
      <code>Reflection::class</code>
    </DeprecatedClass>
  </file>
  <file src="src/ReflectionHydrator.php">
    <MixedArgumentTypeCoercion>
      <code>$key</code>
    </MixedArgumentTypeCoercion>
    <MixedAssignment>
      <code>$result[$propertyName]</code>
      <code>$value</code>
      <code>$value</code>
    </MixedAssignment>
  </file>
  <file src="src/StandaloneHydratorPluginManager.php">
    <DeprecatedClass>
      <code>ArraySerializable::class</code>
      <code>ClassMethods::class</code>
      <code>ObjectProperty::class</code>
      <code>Reflection::class</code>
    </DeprecatedClass>
    <InvalidStringClass>
      <code>new $class()</code>
    </InvalidStringClass>
  </file>
  <file src="src/Strategy/BackedEnumStrategy.php">
    <MixedInferredReturnType>
      <code>T</code>
    </MixedInferredReturnType>
    <MixedReturnStatement>
      <code>$this-&gt;enumClass::from($value)</code>
    </MixedReturnStatement>
    <UndefinedClass>
      <code>$this-&gt;enumClass</code>
      <code>$value-&gt;value</code>
      <code>string</code>
    </UndefinedClass>
  </file>
  <file src="src/Strategy/BooleanStrategy.php">
    <DocblockTypeContradiction>
      <code>! is_int($falseValue) &amp;&amp; ! is_string($falseValue)</code>
      <code>! is_int($trueValue) &amp;&amp; ! is_string($trueValue)</code>
      <code>! is_string($value) &amp;&amp; ! is_int($value)</code>
      <code>is_bool($value)</code>
    </DocblockTypeContradiction>
    <MoreSpecificImplementedParamType>
      <code>$value</code>
      <code>$value</code>
    </MoreSpecificImplementedParamType>
  </file>
  <file src="src/Strategy/CollectionStrategy.php">
    <ArgumentTypeCoercion>
      <code>$this-&gt;objectClassName</code>
    </ArgumentTypeCoercion>
    <DocblockTypeContradiction>
      <code>is_array($value)</code>
      <code>is_array($value)</code>
    </DocblockTypeContradiction>
    <MixedArgument>
      <code>$data</code>
      <code>$object</code>
    </MixedArgument>
    <MoreSpecificImplementedParamType>
      <code>$value</code>
      <code>$value</code>
    </MoreSpecificImplementedParamType>
  </file>
  <file src="src/Strategy/DateTimeImmutableFormatterStrategy.php">
    <MixedAssignment>
      <code>$hydrated</code>
    </MixedAssignment>
  </file>
  <file src="src/Strategy/ExplodeStrategy.php">
    <DocblockTypeContradiction>
      <code>is_array($value)</code>
      <code>is_string($value)</code>
    </DocblockTypeContradiction>
    <MoreSpecificImplementedParamType>
      <code>$value</code>
      <code>$value</code>
    </MoreSpecificImplementedParamType>
    <RedundantCast>
      <code>(string) $value</code>
      <code>(string) $value</code>
    </RedundantCast>
    <RedundantConditionGivenDocblockType>
      <code>is_string($value)</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="src/Strategy/HydratorStrategy.php">
    <ArgumentTypeCoercion>
      <code>$this-&gt;objectClassName</code>
    </ArgumentTypeCoercion>
    <DocblockTypeContradiction>
      <code>gettype($value)</code>
    </DocblockTypeContradiction>
    <MixedInferredReturnType>
      <code>object|string|null</code>
    </MixedInferredReturnType>
    <MixedReturnStatement>
      <code>$value</code>
    </MixedReturnStatement>
    <MoreSpecificImplementedParamType>
      <code>$value</code>
    </MoreSpecificImplementedParamType>
    <RedundantConditionGivenDocblockType>
      <code>is_object($value)</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="src/Strategy/SerializableStrategy.php">
    <DocblockTypeContradiction>
      <code>iterator_to_array($serializerOptions)</code>
      <code>null === $this-&gt;serializer</code>
    </DocblockTypeContradiction>
    <MixedArgument>
      <code>$serializerOptions</code>
      <code>$value</code>
    </MixedArgument>
    <RedundantConditionGivenDocblockType>
      <code>is_array($serializerOptions)</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="src/Strategy/StrategyChain.php">
    <MixedAssignment>
      <code>$value</code>
      <code>$value</code>
    </MixedAssignment>
  </file>
  <file src="test/Aggregate/HydratorListenerTest.php">
    <InternalMethod>
      <code>onExtract</code>
      <code>onHydrate</code>
    </InternalMethod>
  </file>
  <file src="test/ArraySerializableHydratorTest.php">
    <InvalidArgument>
      <code>'thisIsNotAnObject'</code>
      <code>'thisIsNotAnObject'</code>
    </InvalidArgument>
  </file>
  <file src="test/ArraySerializableTest.php">
    <DeprecatedClass>
      <code>new ArraySerializable()</code>
    </DeprecatedClass>
  </file>
  <file src="test/ClassMethodsHydratorTest.php">
    <InvalidArgument>
      <code>$options</code>
      <code>'invalid options'</code>
      <code>'non-object'</code>
      <code>'non-object'</code>
    </InvalidArgument>
  </file>
  <file src="test/ClassMethodsTest.php">
    <DeprecatedClass>
      <code>new ClassMethods()</code>
    </DeprecatedClass>
  </file>
  <file src="test/Filter/FilterCompositeTest.php">
    <MixedArgument>
      <code>$andFilters</code>
      <code>$orFilters</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion>
      <code>$andFilters</code>
      <code>$andFilters</code>
      <code>$andFilters</code>
      <code>$name</code>
      <code>$orFilters</code>
      <code>$orFilters</code>
      <code>$orFilters</code>
    </MixedArgumentTypeCoercion>
    <MixedAssignment>
      <code>$andFilters</code>
      <code>$orFilters</code>
      <code>$value</code>
    </MixedAssignment>
  </file>
  <file src="test/HydratorAwareTraitTest.php">
    <InvalidArgument>
      <code>HydratorAwareTrait::class</code>
      <code>HydratorAwareTrait::class</code>
    </InvalidArgument>
    <MixedMethodCall>
      <code>getHydrator</code>
      <code>getHydrator</code>
      <code>getHydrator</code>
      <code>getHydrator</code>
      <code>setHydrator</code>
      <code>setHydrator</code>
    </MixedMethodCall>
  </file>
  <file src="test/HydratorClosureStrategyTest.php">
    <MissingClosureParamType>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
    </MissingClosureParamType>
    <MixedArgument>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
    </MixedArgument>
    <UndefinedInterfaceMethod>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>getStrategy</code>
      <code>hasStrategy</code>
      <code>hasStrategy</code>
      <code>hasStrategy</code>
      <code>hasStrategy</code>
      <code>hasStrategy</code>
      <code>hasStrategy</code>
      <code>hasStrategy</code>
      <code>removeStrategy</code>
    </UndefinedInterfaceMethod>
    <UndefinedPropertyFetch>
      <code>$entity-&gt;field3</code>
    </UndefinedPropertyFetch>
  </file>
  <file src="test/HydratorObjectPropertyTest.php">
    <MissingClosureParamType>
      <code>$property</code>
    </MissingClosureParamType>
  </file>
  <file src="test/HydratorStrategyTest.php">
    <MixedArgument>
      <code>$attributes['entities']</code>
      <code>$attributes['entities']</code>
    </MixedArgument>
    <MixedArrayAssignment>
      <code>$attributes['entities'][]</code>
    </MixedArrayAssignment>
    <UndefinedInterfaceMethod>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>addStrategy</code>
      <code>getStrategy</code>
      <code>hasStrategy</code>
      <code>hasStrategy</code>
      <code>hasStrategy</code>
      <code>hasStrategy</code>
      <code>hasStrategy</code>
      <code>hasStrategy</code>
      <code>hasStrategy</code>
      <code>removeStrategy</code>
    </UndefinedInterfaceMethod>
  </file>
  <file src="test/HydratorTest.php">
    <MissingClosureParamType>
      <code>$property</code>
      <code>$property</code>
      <code>$property</code>
    </MissingClosureParamType>
    <MixedArgument>
      <code>$property</code>
      <code>$property</code>
    </MixedArgument>
  </file>
  <file src="test/Iterator/HydratingArrayIteratorTest.php">
    <ArgumentTypeCoercion>
      <code>'not a real class'</code>
    </ArgumentTypeCoercion>
  </file>
  <file src="test/Iterator/HydratingIteratorIteratorTest.php">
    <ArgumentTypeCoercion>
      <code>'not a real class'</code>
    </ArgumentTypeCoercion>
  </file>
  <file src="test/NamingStrategy/UnderscoreNamingStrategy/CamelCaseToUnderscoreFilterTest.php">
    <InternalClass>
      <code>new CamelCaseToUnderscoreFilter()</code>
      <code>new CamelCaseToUnderscoreFilter()</code>
      <code>new CamelCaseToUnderscoreFilter()</code>
    </InternalClass>
    <InternalMethod>
      <code>filter</code>
      <code>filter</code>
      <code>filter</code>
    </InternalMethod>
  </file>
  <file src="test/NamingStrategy/UnderscoreNamingStrategy/UnderscoreToCamelCaseFilterTest.php">
    <InternalClass>
      <code>new UnderscoreToCamelCaseFilter()</code>
      <code>new UnderscoreToCamelCaseFilter()</code>
      <code>new UnderscoreToCamelCaseFilter()</code>
    </InternalClass>
    <InternalMethod>
      <code>filter</code>
      <code>filter</code>
      <code>filter</code>
    </InternalMethod>
  </file>
  <file src="test/ObjectPropertyHydratorTest.php">
    <InvalidArgument>
      <code>'thisIsNotAnObject'</code>
      <code>'thisIsNotAnObject'</code>
    </InvalidArgument>
  </file>
  <file src="test/ObjectPropertyTest.php">
    <DeprecatedClass>
      <code>new ObjectProperty()</code>
    </DeprecatedClass>
  </file>
  <file src="test/ReflectionHydratorTest.php">
    <InvalidArgument>
      <code>$argument</code>
      <code>$argument</code>
    </InvalidArgument>
  </file>
  <file src="test/ReflectionTest.php">
    <DeprecatedClass>
      <code>new Reflection()</code>
    </DeprecatedClass>
  </file>
  <file src="test/StandaloneHydratorPluginManagerFactoryTest.php">
    <DeprecatedClass>
      <code>ArraySerializable::class</code>
      <code>ArraySerializable::class</code>
      <code>ClassMethods::class</code>
      <code>ClassMethods::class</code>
      <code>ObjectProperty::class</code>
      <code>ObjectProperty::class</code>
      <code>Reflection::class</code>
      <code>Reflection::class</code>
    </DeprecatedClass>
  </file>
  <file src="test/StandaloneHydratorPluginManagerTest.php">
    <DeprecatedClass>
      <code>Hydrator\ArraySerializable::class</code>
      <code>Hydrator\ClassMethods::class</code>
      <code>Hydrator\ObjectProperty::class</code>
      <code>Hydrator\Reflection::class</code>
    </DeprecatedClass>
    <MixedArgument>
      <code>$factories</code>
    </MixedArgument>
    <MixedArrayAccess>
      <code>$factories[$class]</code>
      <code>$factories[Hydrator\DelegatingHydrator::class]</code>
    </MixedArrayAccess>
    <MixedAssignment>
      <code>$factories</code>
      <code>$factories</code>
      <code>$instance</code>
    </MixedAssignment>
  </file>
  <file src="test/Strategy/BackedEnumStrategyTest.php">
    <MixedArgument>
      <code>TestBackedEnum::class</code>
      <code>TestBackedEnum::class</code>
      <code>TestBackedEnum::class</code>
      <code>TestBackedEnum::class</code>
      <code>TestBackedEnum::class</code>
      <code>TestBackedEnum::class</code>
    </MixedArgument>
    <MixedAssignment>
      <code>$expected</code>
    </MixedAssignment>
    <MixedOperand>
      <code>TestBackedEnum::class</code>
    </MixedOperand>
    <UndefinedClass>
      <code>TestBackedEnum</code>
      <code>TestBackedEnum</code>
      <code>TestBackedEnum</code>
      <code>TestBackedEnum</code>
      <code>TestBackedEnum</code>
      <code>TestBackedEnum</code>
      <code>TestBackedEnum</code>
      <code>TestBackedEnum</code>
      <code>TestBackedEnum</code>
      <code>TestBackedEnum</code>
      <code>TestBackedEnum</code>
      <code>TestUnitEnum</code>
    </UndefinedClass>
  </file>
  <file src="test/Strategy/BooleanStrategyTest.php">
    <InvalidArgument>
      <code>5</code>
      <code>false</code>
      <code>true</code>
    </InvalidArgument>
  </file>
  <file src="test/Strategy/CollectionStrategyTest.php">
    <MissingClosureParamType>
      <code>$data</code>
    </MissingClosureParamType>
    <MissingClosureReturnType>
      <code>static function ($data) {</code>
    </MissingClosureReturnType>
    <MixedArgument>
      <code>$data</code>
    </MixedArgument>
    <MixedMethodCall>
      <code>hydrate</code>
    </MixedMethodCall>
  </file>
  <file src="test/Strategy/DateTimeFormatterStrategyTest.php">
    <MixedAssignment>
      <code>$date</code>
      <code>$date</code>
      <code>$extracted</code>
      <code>$extracted</code>
      <code>$hydrated</code>
    </MixedAssignment>
    <MixedMethodCall>
      <code>format</code>
      <code>getName</code>
      <code>getTimezone</code>
    </MixedMethodCall>
  </file>
  <file src="test/Strategy/DateTimeImmutableFormatterStrategyTest.php">
    <MixedMethodCall>
      <code>format</code>
    </MixedMethodCall>
  </file>
  <file src="test/Strategy/HydratorStrategyTest.php">
    <MissingClosureParamType>
      <code>$data</code>
    </MissingClosureParamType>
    <MissingClosureReturnType>
      <code>static function ($data) {</code>
    </MissingClosureReturnType>
    <MixedArgument>
      <code>$data</code>
      <code>$object</code>
      <code>$objectClassName</code>
      <code>$value</code>
    </MixedArgument>
    <MixedMethodCall>
      <code>hydrate</code>
    </MixedMethodCall>
  </file>
  <file src="test/Strategy/SerializableStrategyTest.php">
    <MixedAssignment>
      <code>$serialized</code>
      <code>$serialized</code>
    </MixedAssignment>
  </file>
</files>
