<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="4.29.0@7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3">
  <file src="src/Address.php">
    <DocblockTypeContradiction occurrences="2">
      <code>! is_string($email)</code>
      <code>is_string($name)</code>
    </DocblockTypeContradiction>
    <InvalidArgument occurrences="1">
      <code>Hostname::ALLOW_DNS | Hostname::ALLOW_LOCAL</code>
    </InvalidArgument>
    <MixedArgument occurrences="1">
      <code>$email</code>
    </MixedArgument>
    <PossiblyNullArgument occurrences="1">
      <code>$name</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedVariable occurrences="1">
      <code>$email</code>
    </PossiblyUndefinedVariable>
    <UnsafeInstantiation occurrences="1">
      <code>new static($email, $name, $comment)</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/AddressList.php">
    <DocblockTypeContradiction occurrences="2">
      <code>gettype($emailOrAddress)</code>
      <code>is_string($key)</code>
    </DocblockTypeContradiction>
    <LessSpecificImplementedReturnType occurrences="2">
      <code>mixed</code>
      <code>mixed</code>
    </LessSpecificImplementedReturnType>
    <MixedArgument occurrences="2">
      <code>$value</code>
      <code>$value</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$value</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="2">
      <code>Address</code>
      <code>bool|Address\AddressInterface</code>
    </MixedInferredReturnType>
    <MixedReturnStatement occurrences="2">
      <code>$this-&gt;addresses[$email]</code>
      <code>current($this-&gt;addresses)</code>
    </MixedReturnStatement>
    <MixedReturnTypeCoercion occurrences="2">
      <code>key($this-&gt;addresses)</code>
      <code>string</code>
    </MixedReturnTypeCoercion>
    <RedundantConditionGivenDocblockType occurrences="2">
      <code>$key !== false</code>
      <code>is_object($emailOrAddress)</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="src/Header/AbstractAddressList.php">
    <DocblockTypeContradiction occurrences="1">
      <code>null === $this-&gt;addressList</code>
    </DocblockTypeContradiction>
    <LessSpecificImplementedReturnType occurrences="1">
      <code>self</code>
    </LessSpecificImplementedReturnType>
    <MissingConstructor occurrences="5">
      <code>$addressList</code>
      <code>$addressList</code>
      <code>$addressList</code>
      <code>$addressList</code>
      <code>$addressList</code>
    </MissingConstructor>
    <MissingReturnType occurrences="1">
      <code>setAddressList</code>
    </MissingReturnType>
    <MixedArgument occurrences="1">
      <code>$value</code>
    </MixedArgument>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>$format !== HeaderInterface::FORMAT_RAW</code>
    </RedundantConditionGivenDocblockType>
    <UnnecessaryVarAnnotation occurrences="1">
      <code>AddressList</code>
    </UnnecessaryVarAnnotation>
    <UnsafeInstantiation occurrences="1">
      <code>new static()</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Header/ContentDisposition.php">
    <MixedArgument occurrences="9">
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$values[$i]</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$value</code>
      <code>$value</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>null|string</code>
    </MixedInferredReturnType>
    <MixedReturnStatement occurrences="1">
      <code>$this-&gt;parameters[$name]</code>
    </MixedReturnStatement>
    <UnsafeInstantiation occurrences="1">
      <code>new static()</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Header/ContentTransferEncoding.php">
    <LessSpecificImplementedReturnType occurrences="1">
      <code>self</code>
    </LessSpecificImplementedReturnType>
    <MissingConstructor occurrences="1">
      <code>$transferEncoding</code>
    </MissingConstructor>
    <MixedArgumentTypeCoercion occurrences="1">
      <code>static::$allowedTransferEncodings</code>
    </MixedArgumentTypeCoercion>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(string) $transferEncoding</code>
    </RedundantCastGivenDocblockType>
    <UnsafeInstantiation occurrences="1">
      <code>new static()</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Header/ContentType.php">
    <LessSpecificImplementedReturnType occurrences="1">
      <code>self</code>
    </LessSpecificImplementedReturnType>
    <MissingConstructor occurrences="1">
      <code>$type</code>
    </MissingConstructor>
    <MixedArgument occurrences="5">
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$values[$i]</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$value</code>
      <code>$value</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>null|string</code>
    </MixedInferredReturnType>
    <MixedReturnStatement occurrences="1">
      <code>$this-&gt;parameters[$name]</code>
    </MixedReturnStatement>
    <RedundantCastGivenDocblockType occurrences="2">
      <code>(string) $type</code>
      <code>(string) $value</code>
    </RedundantCastGivenDocblockType>
    <UnsafeInstantiation occurrences="1">
      <code>new static()</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Header/Date.php">
    <LessSpecificImplementedReturnType occurrences="1">
      <code>self</code>
    </LessSpecificImplementedReturnType>
    <UnsafeInstantiation occurrences="1">
      <code>new static($value)</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Header/GenericHeader.php">
    <DocblockTypeContradiction occurrences="2">
      <code>! is_string($fieldName)</code>
      <code>$encoding === null</code>
    </DocblockTypeContradiction>
    <LessSpecificImplementedReturnType occurrences="2">
      <code>GenericHeader</code>
      <code>self</code>
    </LessSpecificImplementedReturnType>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(string) $fieldValue</code>
    </RedundantCastGivenDocblockType>
    <UndefinedDocblockClass occurrences="2">
      <code>Exception\InvalidArgumentException;</code>
      <code>Exception\InvalidArgumentException;</code>
    </UndefinedDocblockClass>
    <UnsafeInstantiation occurrences="1">
      <code>new static($name, $value)</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Header/GenericMultiHeader.php">
    <ImplementedReturnTypeMismatch occurrences="1">
      <code>array|GenericHeader|GenericMultiHeader|static</code>
    </ImplementedReturnTypeMismatch>
    <MixedArgumentTypeCoercion occurrences="1">
      <code>$values</code>
    </MixedArgumentTypeCoercion>
    <MixedAssignment occurrences="2">
      <code>$header</code>
      <code>$values[]</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="1">
      <code>getFieldValue</code>
    </MixedMethodCall>
    <UnsafeInstantiation occurrences="2">
      <code>new static($fieldName, $fieldValue)</code>
      <code>new static($fieldName, $multiValue)</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Header/HeaderLocator.php">
    <MixedInferredReturnType occurrences="1">
      <code>?string</code>
    </MixedInferredReturnType>
    <MixedReturnStatement occurrences="1">
      <code>$this-&gt;plugins[$name] ?? $default</code>
    </MixedReturnStatement>
  </file>
  <file src="src/Header/HeaderWrap.php">
    <MixedOperand occurrences="1">
      <code>$accumulator</code>
    </MixedOperand>
    <MixedPropertyFetch occurrences="1">
      <code>$headerPart-&gt;text</code>
    </MixedPropertyFetch>
  </file>
  <file src="src/Header/IdentificationField.php">
    <MissingConstructor occurrences="2">
      <code>$messageIds</code>
      <code>$messageIds</code>
    </MissingConstructor>
    <UnsafeInstantiation occurrences="1">
      <code>new static()</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Header/MessageId.php">
    <LessSpecificImplementedReturnType occurrences="1">
      <code>self</code>
    </LessSpecificImplementedReturnType>
    <MissingConstructor occurrences="1">
      <code>$messageId</code>
    </MissingConstructor>
    <UnsafeInstantiation occurrences="1">
      <code>new static()</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Header/MimeVersion.php">
    <LessSpecificImplementedReturnType occurrences="1">
      <code>self</code>
    </LessSpecificImplementedReturnType>
    <UnsafeInstantiation occurrences="1">
      <code>new static()</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Header/MultipleHeadersInterface.php">
    <MissingReturnType occurrences="1">
      <code>toStringMultipleHeaders</code>
    </MissingReturnType>
  </file>
  <file src="src/Header/Received.php">
    <LessSpecificImplementedReturnType occurrences="1">
      <code>self</code>
    </LessSpecificImplementedReturnType>
    <UnsafeInstantiation occurrences="1">
      <code>new static($value)</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Header/Sender.php">
    <DocblockTypeContradiction occurrences="1">
      <code>gettype($emailOrAddress)</code>
    </DocblockTypeContradiction>
    <LessSpecificImplementedReturnType occurrences="1">
      <code>self</code>
    </LessSpecificImplementedReturnType>
    <MissingConstructor occurrences="1">
      <code>$address</code>
    </MissingConstructor>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>is_object($emailOrAddress)</code>
    </RedundantConditionGivenDocblockType>
    <UnsafeInstantiation occurrences="1">
      <code>new static()</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Header/Subject.php">
    <DocblockTypeContradiction occurrences="1">
      <code>$encoding === null</code>
    </DocblockTypeContradiction>
    <LessSpecificImplementedReturnType occurrences="1">
      <code>self</code>
    </LessSpecificImplementedReturnType>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(string) $subject</code>
    </RedundantCastGivenDocblockType>
    <UnsafeInstantiation occurrences="1">
      <code>new static()</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Headers.php">
    <DocblockTypeContradiction occurrences="5">
      <code>! $instanceOrFieldName instanceof Header\HeaderInterface &amp;&amp; ! is_string($instanceOrFieldName)</code>
      <code>gettype($headers)</code>
      <code>is_array($fieldValue)</code>
      <code>is_array($headers)</code>
      <code>is_string($headerFieldNameOrLine)</code>
    </DocblockTypeContradiction>
    <MixedArgument occurrences="6">
      <code>$headers</code>
      <code>$key</code>
      <code>$value</code>
      <code>$value[0]</code>
      <code>$value[1]</code>
      <code>current($value)</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="1">
      <code>key($value)</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayOffset occurrences="2">
      <code>$this-&gt;headersKeys[$index]</code>
      <code>$this-&gt;headers[$index]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="9">
      <code>$current</code>
      <code>$current</code>
      <code>$header</code>
      <code>$i</code>
      <code>$index</code>
      <code>$key</code>
      <code>$name</code>
      <code>$results[]</code>
      <code>$value</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="2">
      <code>HeaderInterface</code>
      <code>false|ArrayIterator|HeaderInterface</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="2">
      <code>setEncoding</code>
      <code>setEncoding</code>
    </MixedMethodCall>
    <MixedOperand occurrences="1">
      <code>$i</code>
    </MixedOperand>
    <MixedPropertyTypeCoercion occurrences="2">
      <code>$this-&gt;headers</code>
      <code>$this-&gt;headers</code>
    </MixedPropertyTypeCoercion>
    <MixedReturnStatement occurrences="2">
      <code>$current</code>
      <code>$results[0]</code>
    </MixedReturnStatement>
    <PossiblyInvalidArgument occurrences="1">
      <code>Header\GenericMultiHeader::fromString($headerFieldNameOrLine . ':' . $i)</code>
    </PossiblyInvalidArgument>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>is_object($headers)</code>
    </RedundantConditionGivenDocblockType>
    <UnsafeInstantiation occurrences="1">
      <code>new static()</code>
    </UnsafeInstantiation>
    <UnusedForeachValue occurrences="1">
      <code>$item</code>
    </UnusedForeachValue>
  </file>
  <file src="src/Message.php">
    <ArgumentTypeCoercion occurrences="4">
      <code>$emailOrAddressList</code>
      <code>$emailOrAddressList</code>
      <code>$emailOrAddressList</code>
      <code>$header</code>
    </ArgumentTypeCoercion>
    <DocblockTypeContradiction occurrences="3">
      <code>gettype($emailOrAddressOrList)</code>
      <code>is_object($body)</code>
      <code>null === $this-&gt;headers</code>
    </DocblockTypeContradiction>
    <FalsableReturnStatement occurrences="1">
      <code>$header</code>
    </FalsableReturnStatement>
    <InvalidStringClass occurrences="1">
      <code>new $headerClass()</code>
    </InvalidStringClass>
    <LessSpecificReturnStatement occurrences="1">
      <code>$header</code>
    </LessSpecificReturnStatement>
    <MissingConstructor occurrences="2">
      <code>$body</code>
      <code>$headers</code>
    </MissingConstructor>
    <MissingReturnType occurrences="2">
      <code>clearHeaderByName</code>
      <code>updateAddressList</code>
    </MissingReturnType>
    <MixedArgument occurrences="3">
      <code>$address</code>
      <code>$emailOrAddress</code>
      <code>$name</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$address</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>null|string</code>
    </MixedInferredReturnType>
    <MixedReturnStatement occurrences="1">
      <code>$header-&gt;getFieldValue()</code>
    </MixedReturnStatement>
    <MoreSpecificReturnType occurrences="1">
      <code>Header\HeaderInterface|ArrayIterator</code>
    </MoreSpecificReturnType>
    <NullArgument occurrences="1">
      <code>$content</code>
    </NullArgument>
    <PossiblyFalseReference occurrences="3">
      <code>getFieldValue</code>
      <code>setEncoding</code>
      <code>setSubject</code>
    </PossiblyFalseReference>
    <PossiblyInvalidCast occurrences="1">
      <code>$this-&gt;body</code>
    </PossiblyInvalidCast>
    <PossiblyNullPropertyAssignmentValue occurrences="1">
      <code>$body</code>
    </PossiblyNullPropertyAssignmentValue>
    <PossiblyUndefinedMethod occurrences="2">
      <code>getFieldValue</code>
      <code>setEncoding</code>
    </PossiblyUndefinedMethod>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>is_object($emailOrAddressOrList)</code>
    </RedundantConditionGivenDocblockType>
    <UndefinedMethod occurrences="1">
      <code>setSubject</code>
    </UndefinedMethod>
    <UnsafeInstantiation occurrences="1">
      <code>new static()</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/MessageFactory.php">
    <DocblockTypeContradiction occurrences="1">
      <code>gettype($options)</code>
    </DocblockTypeContradiction>
    <MixedArgument occurrences="1">
      <code>$key</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$key</code>
      <code>$value</code>
    </MixedAssignment>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>is_object($options)</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="src/Protocol/AbstractProtocol.php">
    <DocblockTypeContradiction occurrences="1">
      <code>$cmd === null</code>
    </DocblockTypeContradiction>
    <InvalidArgument occurrences="1">
      <code>Validator\Hostname::ALLOW_ALL</code>
    </InvalidArgument>
    <InvalidPropertyAssignmentValue occurrences="1">
      <code>$this-&gt;socket</code>
    </InvalidPropertyAssignmentValue>
    <MissingReturnType occurrences="5">
      <code>_addLog</code>
      <code>_disconnect</code>
      <code>connect</code>
      <code>resetLog</code>
      <code>setMaximumLog</code>
    </MissingReturnType>
    <MixedArgumentTypeCoercion occurrences="1">
      <code>$this-&gt;log</code>
    </MixedArgumentTypeCoercion>
    <PropertyNotSetInConstructor occurrences="2">
      <code>$request</code>
      <code>$response</code>
    </PropertyNotSetInConstructor>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(int) $maximumLog</code>
    </RedundantCastGivenDocblockType>
  </file>
  <file src="src/Protocol/Imap.php">
    <DocblockTypeContradiction occurrences="2">
      <code>$to === INF</code>
      <code>$to === INF</code>
    </DocblockTypeContradiction>
    <InvalidPropertyAssignmentValue occurrences="1">
      <code>$this-&gt;socket</code>
    </InvalidPropertyAssignmentValue>
    <InvalidScalarArgument occurrences="3">
      <code>$chars</code>
      <code>$chars</code>
      <code>$ssl</code>
    </InvalidScalarArgument>
    <MissingReturnType occurrences="1">
      <code>sendRequest</code>
    </MissingReturnType>
    <MixedArgument occurrences="12">
      <code>$ids</code>
      <code>$item</code>
      <code>$line</code>
      <code>$string</code>
      <code>$tokens[1]</code>
      <code>$tokens[2]</code>
      <code>$tokens[2]</code>
      <code>$tokens[2]</code>
      <code>$tokens[2]</code>
      <code>$tokens[2]</code>
      <code>$tokens[2]</code>
      <code>$tokens[2]</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="3">
      <code>$from</code>
      <code>$result</code>
      <code>$string</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayAccess occurrences="18">
      <code>$ids[0]</code>
      <code>$item[0]</code>
      <code>$item[1]</code>
      <code>$item[2]</code>
      <code>$item[3]</code>
      <code>$token[0]</code>
      <code>$token[1]</code>
      <code>$token[2]</code>
      <code>$token[2]</code>
      <code>$tokens[2][$count - 2]</code>
      <code>$tokens[2][$i + 1]</code>
      <code>$tokens[2][$i]</code>
      <code>$tokens[2][$uidKey]</code>
      <code>$tokens[2][$uidKey]</code>
      <code>$tokens[2][0]</code>
      <code>$tokens[2][1]</code>
      <code>$tokens[2][2]</code>
      <code>$tokens[2][3]</code>
    </MixedArrayAccess>
    <MixedArrayOffset occurrences="6">
      <code>$data[current($tokens[2])]</code>
      <code>$result[$item[3]]</code>
      <code>$result[$token[0]]</code>
      <code>$result[$tokens[0]]</code>
      <code>$tokens[2][$uidKey]</code>
      <code>$tokens[2][$uidKey]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="23">
      <code>$data</code>
      <code>$data</code>
      <code>$data</code>
      <code>$data[current($tokens[2])]</code>
      <code>$ids</code>
      <code>$item</code>
      <code>$line</code>
      <code>$line</code>
      <code>$list</code>
      <code>$response</code>
      <code>$response</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result[$token[0]]</code>
      <code>$result[$tokens[0]]</code>
      <code>$result[]</code>
      <code>$result[strtolower($tokens[1])]</code>
      <code>$string</code>
      <code>$token</code>
      <code>$token</code>
      <code>$tokens</code>
      <code>$uidKey</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="12">
      <code>array</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>string|array</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="6">
      <code>$line</code>
      <code>$line</code>
      <code>$line</code>
      <code>$token</code>
      <code>$token[0]</code>
      <code>array_search('UID', $tokens[2])</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="13">
      <code>$data</code>
      <code>$ids</code>
      <code>$response</code>
      <code>$result</code>
      <code>$this-&gt;requestAndResponse('APPEND', $tokens, true)</code>
      <code>$this-&gt;requestAndResponse('COPY', [$set, $this-&gt;escapeString($folder)], true)</code>
      <code>$this-&gt;requestAndResponse('CREATE', [$this-&gt;escapeString($folder)], true)</code>
      <code>$this-&gt;requestAndResponse('DELETE', [$this-&gt;escapeString($folder)], true)</code>
      <code>$this-&gt;requestAndResponse('EXPUNGE')</code>
      <code>$this-&gt;requestAndResponse('LOGIN', $this-&gt;escapeString($user, $password), true)</code>
      <code>$this-&gt;requestAndResponse('NOOP')</code>
      <code>$this-&gt;requestAndResponse('RENAME', $this-&gt;escapeString($old, $new), true)</code>
      <code>$this-&gt;requestAndResponse('SUBSCRIBE', [$this-&gt;escapeString($folder)], true)</code>
    </MixedReturnStatement>
    <NullArgument occurrences="1">
      <code>$tag</code>
    </NullArgument>
    <PossiblyFalseOperand occurrences="1">
      <code>$endPos</code>
    </PossiblyFalseOperand>
    <PossiblyInvalidArgument occurrences="7">
      <code>$string</code>
      <code>$string</code>
      <code>$this-&gt;escapeString($old, $new)</code>
      <code>$this-&gt;escapeString($reference, $mailbox)</code>
      <code>$this-&gt;escapeString($user, $password)</code>
      <code>$tokens</code>
      <code>$tokens</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayOffset occurrences="6">
      <code>$tokens[2][$count - 2]</code>
      <code>$tokens[2][$i + 1]</code>
      <code>$tokens[2][$i]</code>
      <code>$tokens[2][1]</code>
      <code>$tokens[2][2]</code>
      <code>$tokens[2][3]</code>
    </PossiblyInvalidArrayOffset>
    <PossiblyInvalidCast occurrences="2">
      <code>$string</code>
      <code>$tokens</code>
    </PossiblyInvalidCast>
    <PossiblyNullArgument occurrences="9">
      <code>$tag</code>
      <code>$tag</code>
      <code>$tag</code>
      <code>$this-&gt;socket</code>
      <code>$this-&gt;socket</code>
      <code>$this-&gt;socket</code>
      <code>$tokens</code>
      <code>$tokens</code>
      <code>$tokens</code>
    </PossiblyNullArgument>
    <PossiblyNullArrayAccess occurrences="3">
      <code>$tokens[0]</code>
      <code>$tokens[0]</code>
      <code>$tokens[0]</code>
    </PossiblyNullArrayAccess>
    <PossiblyUndefinedVariable occurrences="4">
      <code>$data</code>
      <code>$data</code>
      <code>$uidKey</code>
      <code>$uidKey</code>
    </PossiblyUndefinedVariable>
    <RedundantCastGivenDocblockType occurrences="7">
      <code>(int) $from</code>
      <code>(int) $from</code>
      <code>(int) $from</code>
      <code>(int) $from</code>
      <code>(int) $to</code>
      <code>(int) $to</code>
      <code>(int) $to</code>
    </RedundantCastGivenDocblockType>
  </file>
  <file src="src/Protocol/Pop3.php">
    <InvalidPropertyAssignmentValue occurrences="1">
      <code>$this-&gt;socket</code>
    </InvalidPropertyAssignmentValue>
    <InvalidScalarArgument occurrences="1">
      <code>$ssl</code>
    </InvalidScalarArgument>
    <MissingReturnType occurrences="7">
      <code>delete</code>
      <code>login</code>
      <code>logout</code>
      <code>noop</code>
      <code>sendRequest</code>
      <code>status</code>
      <code>undelete</code>
    </MissingReturnType>
    <PossiblyNullArgument occurrences="4">
      <code>$this-&gt;socket</code>
      <code>$this-&gt;socket</code>
      <code>$this-&gt;socket</code>
      <code>$this-&gt;socket</code>
    </PossiblyNullArgument>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(int) $lines</code>
    </RedundantCastGivenDocblockType>
    <ReferenceConstraintViolation occurrences="2">
      <code>$messages</code>
      <code>$octets</code>
    </ReferenceConstraintViolation>
    <UnusedFunctionCall occurrences="1">
      <code>strtok</code>
    </UnusedFunctionCall>
  </file>
  <file src="src/Protocol/ProtocolTrait.php">
    <PossiblyNullArgument occurrences="1">
      <code>$port</code>
    </PossiblyNullArgument>
  </file>
  <file src="src/Protocol/Smtp.php">
    <InvalidScalarArgument occurrences="9">
      <code>220</code>
      <code>220</code>
      <code>221</code>
      <code>250</code>
      <code>250</code>
      <code>250</code>
      <code>250</code>
      <code>250</code>
      <code>354</code>
    </InvalidScalarArgument>
    <MismatchingDocblockReturnType occurrences="1">
      <code>Generator|string[]</code>
    </MismatchingDocblockReturnType>
    <MissingReturnType occurrences="14">
      <code>_disconnect</code>
      <code>auth</code>
      <code>data</code>
      <code>disconnect</code>
      <code>ehlo</code>
      <code>helo</code>
      <code>mail</code>
      <code>noop</code>
      <code>quit</code>
      <code>rcpt</code>
      <code>rset</code>
      <code>startSession</code>
      <code>stopSession</code>
      <code>vrfy</code>
    </MissingReturnType>
    <MixedArgument occurrences="5">
      <code>$config['novalidatecert']</code>
      <code>$config['ssl']</code>
      <code>$config['use_complete_quit']</code>
      <code>$host</code>
      <code>$port</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$host</code>
      <code>$port</code>
    </MixedAssignment>
    <MixedOperand occurrences="1">
      <code>$config['ssl']</code>
    </MixedOperand>
    <PossiblyNullArgument occurrences="1">
      <code>$this-&gt;socket</code>
    </PossiblyNullArgument>
    <PropertyNotSetInConstructor occurrences="4">
      <code>$data</code>
      <code>$secure</code>
      <code>Smtp</code>
      <code>Smtp</code>
    </PropertyNotSetInConstructor>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(bool) $useCompleteQuit</code>
    </RedundantCastGivenDocblockType>
  </file>
  <file src="src/Protocol/Smtp/Auth/Crammd5.php">
    <InvalidScalarArgument occurrences="2">
      <code>235</code>
      <code>334</code>
    </InvalidScalarArgument>
    <MissingReturnType occurrences="1">
      <code>auth</code>
    </MissingReturnType>
    <MixedArgument occurrences="2">
      <code>$config['password']</code>
      <code>$config['username']</code>
    </MixedArgument>
    <PropertyNotSetInConstructor occurrences="6">
      <code>$password</code>
      <code>$username</code>
      <code>Crammd5</code>
      <code>Crammd5</code>
      <code>Crammd5</code>
      <code>Crammd5</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="src/Protocol/Smtp/Auth/Login.php">
    <DocblockTypeContradiction occurrences="1">
      <code>is_array($host)</code>
    </DocblockTypeContradiction>
    <InvalidScalarArgument occurrences="3">
      <code>235</code>
      <code>334</code>
      <code>334</code>
    </InvalidScalarArgument>
    <MissingReturnType occurrences="1">
      <code>auth</code>
    </MissingReturnType>
    <MixedArgument occurrences="3">
      <code>$config['password']</code>
      <code>$config['username']</code>
      <code>$host</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$config</code>
    </MixedAssignment>
    <PropertyNotSetInConstructor occurrences="6">
      <code>$password</code>
      <code>$username</code>
      <code>Login</code>
      <code>Login</code>
      <code>Login</code>
      <code>Login</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="src/Protocol/Smtp/Auth/Plain.php">
    <DocblockTypeContradiction occurrences="1">
      <code>is_array($host)</code>
    </DocblockTypeContradiction>
    <InvalidScalarArgument occurrences="2">
      <code>235</code>
      <code>334</code>
    </InvalidScalarArgument>
    <MissingReturnType occurrences="1">
      <code>auth</code>
    </MissingReturnType>
    <MixedArgument occurrences="3">
      <code>$config['password']</code>
      <code>$config['username']</code>
      <code>$host</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$config</code>
    </MixedAssignment>
    <PropertyNotSetInConstructor occurrences="6">
      <code>$password</code>
      <code>$username</code>
      <code>Plain</code>
      <code>Plain</code>
      <code>Plain</code>
      <code>Plain</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="src/Protocol/SmtpPluginManager.php">
    <MissingReturnType occurrences="1">
      <code>validatePlugin</code>
    </MissingReturnType>
    <NonInvariantDocblockPropertyType occurrences="2">
      <code>$aliases</code>
      <code>$instanceOf</code>
    </NonInvariantDocblockPropertyType>
  </file>
  <file src="src/Protocol/SmtpPluginManagerFactory.php">
    <DeprecatedInterface occurrences="1">
      <code>SmtpPluginManagerFactory</code>
    </DeprecatedInterface>
    <MissingConstructor occurrences="1">
      <code>$creationOptions</code>
    </MissingConstructor>
    <MissingParamType occurrences="3">
      <code>$name</code>
      <code>$name</code>
      <code>$requestedName</code>
    </MissingParamType>
    <MoreSpecificImplementedParamType occurrences="1">
      <code>$options</code>
    </MoreSpecificImplementedParamType>
    <ParamNameMismatch occurrences="1">
      <code>$container</code>
    </ParamNameMismatch>
  </file>
  <file src="src/Storage/AbstractStorage.php">
    <ImplementedReturnTypeMismatch occurrences="3">
      <code>Message</code>
      <code>bool</code>
      <code>int</code>
    </ImplementedReturnTypeMismatch>
    <LessSpecificReturnStatement occurrences="2">
      <code>$this-&gt;getMessage($id)</code>
      <code>$this-&gt;getMessage($this-&gt;iterationPos)</code>
    </LessSpecificReturnStatement>
    <MissingReturnType occurrences="3">
      <code>close</code>
      <code>noop</code>
      <code>removeMessage</code>
    </MissingReturnType>
    <MixedInferredReturnType occurrences="2">
      <code>bool</code>
      <code>null|bool</code>
    </MixedInferredReturnType>
    <MixedReturnStatement occurrences="2">
      <code>$this-&gt;has[$var] ?? null</code>
      <code>$this-&gt;removeMessage($id)</code>
    </MixedReturnStatement>
    <MoreSpecificReturnType occurrences="2">
      <code>Message</code>
      <code>Message</code>
    </MoreSpecificReturnType>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>$this-&gt;getMessage($id)</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="src/Storage/Folder.php">
    <ImplementedReturnTypeMismatch occurrences="2">
      <code>Folder</code>
      <code>string</code>
    </ImplementedReturnTypeMismatch>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(string) $this-&gt;getGlobalName()</code>
    </RedundantCastGivenDocblockType>
    <RedundantConditionGivenDocblockType occurrences="3">
      <code>$current</code>
      <code>$current</code>
      <code>$current &amp;&amp; $current instanceof self</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="src/Storage/Folder/FolderInterface.php">
    <MissingReturnType occurrences="1">
      <code>selectFolder</code>
    </MissingReturnType>
  </file>
  <file src="src/Storage/Folder/Maildir.php">
    <MissingReturnType occurrences="2">
      <code>buildFolderTree</code>
      <code>selectFolder</code>
    </MissingReturnType>
    <MixedAssignment occurrences="3">
      <code>$currentFolder</code>
      <code>$delim</code>
      <code>$folder</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>Folder</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>getGlobalName</code>
    </MixedMethodCall>
    <MixedPropertyFetch occurrences="1">
      <code>$currentFolder-&gt;$entry</code>
    </MixedPropertyFetch>
    <MixedReturnStatement occurrences="1">
      <code>$currentFolder</code>
    </MixedReturnStatement>
    <PossiblyNullArgument occurrences="1">
      <code>$parent</code>
    </PossiblyNullArgument>
    <RedundantCondition occurrences="2">
      <code>$stack</code>
      <code>$stack</code>
    </RedundantCondition>
    <TypeDoesNotContainType occurrences="2">
      <code>! $stack</code>
      <code>$stack</code>
    </TypeDoesNotContainType>
  </file>
  <file src="src/Storage/Folder/Mbox.php">
    <MissingReturnType occurrences="2">
      <code>buildFolderTree</code>
      <code>selectFolder</code>
    </MissingReturnType>
    <MixedAssignment occurrences="2">
      <code>$currentFolder</code>
      <code>$folder</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>Storage\Folder</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>getGlobalName</code>
    </MixedMethodCall>
    <MixedPropertyFetch occurrences="1">
      <code>$currentFolder-&gt;$entry</code>
    </MixedPropertyFetch>
    <MixedReturnStatement occurrences="1">
      <code>$currentFolder</code>
    </MixedReturnStatement>
    <PropertyNotSetInConstructor occurrences="4">
      <code>$rootFolder</code>
      <code>Mbox</code>
      <code>Mbox</code>
      <code>Mbox</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="src/Storage/Imap.php">
    <ImplicitToStringCast occurrences="2">
      <code>$folder</code>
      <code>$folder</code>
    </ImplicitToStringCast>
    <InvalidReturnStatement occurrences="4">
      <code>$this-&gt;protocol-&gt;fetch('RFC822.HEADER', $id)</code>
      <code>$this-&gt;protocol-&gt;fetch('RFC822.SIZE', $id)</code>
      <code>$this-&gt;protocol-&gt;fetch('RFC822.SIZE', 1, INF)</code>
      <code>$this-&gt;protocol-&gt;fetch('RFC822.TEXT', $id)</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="3">
      <code>int|array</code>
      <code>string</code>
      <code>string</code>
    </InvalidReturnType>
    <InvalidScalarArgument occurrences="2">
      <code>INF</code>
      <code>INF</code>
    </InvalidScalarArgument>
    <LessSpecificReturnStatement occurrences="1">
      <code>new $this-&gt;messageClass(['handler' =&gt; $this, 'id' =&gt; $id, 'headers' =&gt; $header, 'flags' =&gt; $flags])</code>
    </LessSpecificReturnStatement>
    <MissingReturnType occurrences="11">
      <code>appendMessage</code>
      <code>close</code>
      <code>copyMessage</code>
      <code>createFolder</code>
      <code>moveMessage</code>
      <code>noop</code>
      <code>removeFolder</code>
      <code>removeMessage</code>
      <code>renameFolder</code>
      <code>selectFolder</code>
      <code>setFlags</code>
    </MissingReturnType>
    <MixedArgument occurrences="2">
      <code>$data['flags']</code>
      <code>$flag</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="5">
      <code>$globalName</code>
      <code>$globalName</code>
      <code>$globalName</code>
      <code>$globalName</code>
      <code>$localName</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayAccess occurrences="4">
      <code>$data['delim']</code>
      <code>$data['delim']</code>
      <code>$data['delim']</code>
      <code>$data['flags']</code>
    </MixedArrayAccess>
    <MixedArrayOffset occurrences="2">
      <code>static::$knownFlags[$flag]</code>
      <code>static::$searchFlags[$flag]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="13">
      <code>$data</code>
      <code>$flag</code>
      <code>$flag</code>
      <code>$flags[]</code>
      <code>$folder</code>
      <code>$header</code>
      <code>$host</code>
      <code>$params[]</code>
      <code>$password</code>
      <code>$port</code>
      <code>$ssl</code>
      <code>$this-&gt;delimiter</code>
      <code>$v</code>
    </MixedAssignment>
    <MixedOperand occurrences="1">
      <code>$data['delim']</code>
    </MixedOperand>
    <MixedReturnTypeCoercion occurrences="2">
      <code>$k</code>
      <code>int</code>
    </MixedReturnTypeCoercion>
    <MoreSpecificImplementedParamType occurrences="1">
      <code>$message</code>
    </MoreSpecificImplementedParamType>
    <MoreSpecificReturnType occurrences="1">
      <code>Message</code>
    </MoreSpecificReturnType>
    <PossiblyInvalidArrayOffset occurrences="2">
      <code>$data['FLAGS']</code>
      <code>$data['RFC822.HEADER']</code>
    </PossiblyInvalidArrayOffset>
    <PossiblyInvalidIterator occurrences="1">
      <code>$ids</code>
    </PossiblyInvalidIterator>
    <PossiblyNullReference occurrences="21">
      <code>append</code>
      <code>copy</code>
      <code>create</code>
      <code>delete</code>
      <code>escapeString</code>
      <code>fetch</code>
      <code>fetch</code>
      <code>fetch</code>
      <code>fetch</code>
      <code>fetch</code>
      <code>fetch</code>
      <code>fetch</code>
      <code>listMailbox</code>
      <code>logout</code>
      <code>noop</code>
      <code>rename</code>
      <code>search</code>
      <code>search</code>
      <code>select</code>
      <code>store</code>
      <code>store</code>
    </PossiblyNullReference>
    <RedundantCondition occurrences="2">
      <code>$stack</code>
      <code>$stack</code>
    </RedundantCondition>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>$flags === null</code>
    </RedundantConditionGivenDocblockType>
    <TypeDoesNotContainType occurrences="2">
      <code>! $stack</code>
      <code>$stack</code>
    </TypeDoesNotContainType>
  </file>
  <file src="src/Storage/Maildir.php">
    <InvalidOperand occurrences="3">
      <code>$num</code>
      <code>$num</code>
      <code>$num</code>
    </InvalidOperand>
    <InvalidReturnStatement occurrences="3">
      <code>$ids</code>
      <code>$num + 1</code>
      <code>$result</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="2">
      <code>array|string</code>
      <code>int</code>
    </InvalidReturnType>
    <LessSpecificReturnStatement occurrences="2"/>
    <MissingReturnType occurrences="4">
      <code>close</code>
      <code>getMaildirFiles</code>
      <code>openMaildir</code>
      <code>removeMessage</code>
    </MissingReturnType>
    <MixedArgument occurrences="4">
      <code>$a['filename']</code>
      <code>$b['filename']</code>
      <code>$data['filename']</code>
      <code>$filedata['filename']</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="7">
      <code>$a['filename']</code>
      <code>$b['filename']</code>
      <code>$data['filename']</code>
      <code>$data['size']</code>
      <code>$file['uniq']</code>
      <code>$file['uniq']</code>
      <code>$this-&gt;files[$id - 1][$field]</code>
    </MixedArrayAccess>
    <MixedArrayOffset occurrences="1">
      <code>$file['flaglookup'][$flags]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="8">
      <code>$data</code>
      <code>$file</code>
      <code>$file</code>
      <code>$file</code>
      <code>$file</code>
      <code>$ids[$num + 1]</code>
      <code>$namedFlags[$flag]</code>
      <code>$result[$num + 1]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="2">
      <code>int|array</code>
      <code>string|array</code>
    </MixedInferredReturnType>
    <MixedReturnStatement occurrences="3">
      <code>$filedata['size'] ?? filesize($filedata['filename'])</code>
      <code>$this-&gt;files[$id - 1]</code>
      <code>$this-&gt;files[$id - 1][$field]</code>
    </MixedReturnStatement>
    <MoreSpecificReturnType occurrences="1">
      <code>File</code>
    </MoreSpecificReturnType>
    <PossiblyInvalidArgument occurrences="2">
      <code>$this-&gt;getFileData($id, 'filename')</code>
      <code>$this-&gt;getFileData($id, 'filename')</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayOffset occurrences="1">
      <code>$filedata['filename']</code>
    </PossiblyInvalidArrayOffset>
    <PossiblyInvalidCast occurrences="2">
      <code>$this-&gt;getFileData($id, 'filename')</code>
      <code>$this-&gt;getFileData($id, 'filename')</code>
    </PossiblyInvalidCast>
    <UnusedForeachValue occurrences="1">
      <code>$v</code>
    </UnusedForeachValue>
  </file>
  <file src="src/Storage/Mbox.php">
    <InvalidOperand occurrences="1">
      <code>$num</code>
    </InvalidOperand>
    <InvalidPropertyAssignmentValue occurrences="2">
      <code>$this-&gt;fh</code>
      <code>$this-&gt;fh</code>
    </InvalidPropertyAssignmentValue>
    <InvalidReturnStatement occurrences="3">
      <code>$id</code>
      <code>$id</code>
      <code>$result</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="2">
      <code>array|string</code>
      <code>int</code>
    </InvalidReturnType>
    <InvalidScalarArgument occurrences="1">
      <code>$id</code>
    </InvalidScalarArgument>
    <LessSpecificReturnStatement occurrences="2">
      <code>new $this-&gt;messageClass($messageClassParams)</code>
      <code>new $this-&gt;messageClass(['handler' =&gt; $this, 'id' =&gt; $id, 'headers' =&gt; $message])</code>
    </LessSpecificReturnStatement>
    <MissingReturnType occurrences="3">
      <code>close</code>
      <code>openMboxFile</code>
      <code>removeMessage</code>
    </MissingReturnType>
    <MixedArgument occurrences="4">
      <code>$messagePos['end'] - $messagePos['separator']</code>
      <code>$messagePos['separator']</code>
      <code>$messagePos['separator'] - $messagePos['start']</code>
      <code>$messagePos['start']</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="4">
      <code>$pos['end']</code>
      <code>$pos['end']</code>
      <code>$pos['start']</code>
      <code>$pos['start']</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="3">
      <code>$pos</code>
      <code>$pos</code>
      <code>$result[$num + 1]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>int|array</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="4">
      <code>$messagePos['end']</code>
      <code>$messagePos['separator']</code>
      <code>$pos['end']</code>
      <code>$pos['end']</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="2">
      <code>$pos['end'] - $pos['start']</code>
      <code>$this-&gt;positions[$id - 1]</code>
    </MixedReturnStatement>
    <MoreSpecificReturnType occurrences="1">
      <code>File</code>
    </MoreSpecificReturnType>
    <PossiblyInvalidArgument occurrences="4">
      <code>$file</code>
      <code>$file</code>
      <code>$file</code>
      <code>$file</code>
    </PossiblyInvalidArgument>
    <PossiblyNullArgument occurrences="2">
      <code>$this-&gt;fh</code>
      <code>$this-&gt;fh</code>
    </PossiblyNullArgument>
    <PropertyNotSetInConstructor occurrences="1">
      <code>$positions</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="src/Storage/Message.php">
    <MixedArgument occurrences="3">
      <code>$params['file']</code>
      <code>$params['flags']</code>
      <code>$params['flags']</code>
    </MixedArgument>
    <MixedArrayOffset occurrences="1">
      <code>$this-&gt;flags[$flag]</code>
    </MixedArrayOffset>
  </file>
  <file src="src/Storage/Message/File.php">
    <MixedArgument occurrences="2">
      <code>$params['flags']</code>
      <code>$params['flags']</code>
    </MixedArgument>
    <MixedArrayOffset occurrences="1">
      <code>$this-&gt;flags[$flag]</code>
    </MixedArrayOffset>
  </file>
  <file src="src/Storage/Part.php">
    <ImplementedReturnTypeMismatch occurrences="2">
      <code>Part</code>
      <code>string</code>
    </ImplementedReturnTypeMismatch>
    <InvalidReturnStatement occurrences="2">
      <code>$this-&gt;getHeader($name, 'string')</code>
      <code>$this-&gt;iterationPos</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="3">
      <code>null</code>
      <code>string</code>
      <code>string</code>
    </InvalidReturnType>
    <MixedArgument occurrences="5">
      <code>$params['headers']</code>
      <code>$params['headers']</code>
      <code>$params['raw']</code>
      <code>$params['strict']</code>
      <code>current($this-&gt;getHeader($name, 'array'))</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$part['body']</code>
      <code>$part['header']</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="6">
      <code>$h</code>
      <code>$params['strict']</code>
      <code>$part</code>
      <code>$return[]</code>
      <code>$this-&gt;content</code>
      <code>$this-&gt;messageNum</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="2">
      <code>Part</code>
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="2">
      <code>getFieldValue</code>
      <code>getFieldValue</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="3">
      <code>$header-&gt;getFieldValue(HeaderInterface::FORMAT_RAW)</code>
      <code>$this-&gt;parts[$num]</code>
      <code>$this-&gt;parts[$num]</code>
    </MixedReturnStatement>
    <PossiblyInvalidArgument occurrences="2">
      <code>$boundary</code>
      <code>$this-&gt;getHeader($name, 'array')</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidCast occurrences="1">
      <code>$boundary</code>
    </PossiblyInvalidCast>
    <PossiblyNullArgument occurrences="4">
      <code>$this-&gt;content</code>
      <code>$this-&gt;content</code>
      <code>$this-&gt;headers</code>
      <code>$this-&gt;headers</code>
    </PossiblyNullArgument>
    <RedundantConditionGivenDocblockType occurrences="3">
      <code>$current</code>
      <code>$current</code>
      <code>$current &amp;&amp; $current instanceof self</code>
    </RedundantConditionGivenDocblockType>
    <UnsafeInstantiation occurrences="1">
      <code>new static(['headers' =&gt; $part['header'], 'content' =&gt; $part['body']])</code>
    </UnsafeInstantiation>
  </file>
  <file src="src/Storage/Part/File.php">
    <InvalidReturnStatement occurrences="1">
      <code>stream_copy_to_stream($this-&gt;fh, $stream, $this-&gt;contentPos[1] - $this-&gt;contentPos[0])</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="1">
      <code>string</code>
    </InvalidReturnType>
    <MixedArgument occurrences="6">
      <code>$length</code>
      <code>$params['EOL']</code>
      <code>$params['file']</code>
      <code>$params['startPos']</code>
      <code>$this-&gt;contentPos[0]</code>
      <code>$this-&gt;contentPos[1] - $this-&gt;contentPos[0]</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$this-&gt;partPos[$num][0]</code>
      <code>$this-&gt;partPos[$num][1]</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="2">
      <code>$endPos</code>
      <code>$length</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>int</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="3">
      <code>$this-&gt;contentPos[1]</code>
      <code>$this-&gt;contentPos[1]</code>
      <code>$this-&gt;contentPos[1]</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1">
      <code>$this-&gt;contentPos[1] - $this-&gt;contentPos[0]</code>
    </MixedReturnStatement>
    <PossiblyInvalidOperand occurrences="2">
      <code>$boundary</code>
      <code>$boundary</code>
    </PossiblyInvalidOperand>
    <UnsafeInstantiation occurrences="1"/>
  </file>
  <file src="src/Storage/Pop3.php">
    <ImplementedReturnTypeMismatch occurrences="1">
      <code>null|string</code>
    </ImplementedReturnTypeMismatch>
    <InvalidReturnStatement occurrences="5">
      <code>$id</code>
      <code>$id</code>
      <code>$result</code>
      <code>$this-&gt;has['uniqueid']</code>
      <code>$this-&gt;protocol-&gt;hasTop</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="2">
      <code>array|string</code>
      <code>null|string</code>
    </InvalidReturnType>
    <LessSpecificReturnStatement occurrences="1"/>
    <MissingReturnType occurrences="3">
      <code>close</code>
      <code>noop</code>
      <code>removeMessage</code>
    </MissingReturnType>
    <MixedAssignment occurrences="5">
      <code>$host</code>
      <code>$password</code>
      <code>$port</code>
      <code>$ssl</code>
      <code>$v</code>
    </MixedAssignment>
    <MixedReturnTypeCoercion occurrences="2">
      <code>$k</code>
      <code>int</code>
    </MixedReturnTypeCoercion>
    <MoreSpecificReturnType occurrences="1">
      <code>Message</code>
    </MoreSpecificReturnType>
    <NullArgument occurrences="2">
      <code>$body</code>
      <code>$headers</code>
    </NullArgument>
    <PossiblyInvalidIterator occurrences="1">
      <code>$ids</code>
    </PossiblyInvalidIterator>
    <PossiblyNullPropertyFetch occurrences="1">
      <code>$this-&gt;protocol-&gt;hasTop</code>
    </PossiblyNullPropertyFetch>
    <PossiblyNullReference occurrences="11">
      <code>delete</code>
      <code>getList</code>
      <code>logout</code>
      <code>noop</code>
      <code>retrieve</code>
      <code>status</code>
      <code>top</code>
      <code>top</code>
      <code>top</code>
      <code>uniqueid</code>
      <code>uniqueid</code>
    </PossiblyNullReference>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(int) $count</code>
    </RedundantCastGivenDocblockType>
  </file>
  <file src="src/Storage/Writable/Maildir.php">
    <DocblockTypeContradiction occurrences="2">
      <code>is_array($this-&gt;quota)</code>
      <code>is_array($this-&gt;quota)</code>
    </DocblockTypeContradiction>
    <ImplementedParamTypeMismatch occurrences="1">
      <code>$message</code>
    </ImplementedParamTypeMismatch>
    <InvalidArrayOffset occurrences="2">
      <code>$filedata['filename']</code>
      <code>$filedata['flags']</code>
    </InvalidArrayOffset>
    <InvalidOperand occurrences="2">
      <code>$count</code>
      <code>$size</code>
    </InvalidOperand>
    <InvalidReturnStatement occurrences="1">
      <code>$this-&gt;quota</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="1">
      <code>bool|array</code>
    </InvalidReturnType>
    <MissingReturnType occurrences="9">
      <code>appendMessage</code>
      <code>copyMessage</code>
      <code>initMaildir</code>
      <code>moveMessage</code>
      <code>removeFolder</code>
      <code>removeMessage</code>
      <code>renameFolder</code>
      <code>setFlags</code>
      <code>setQuota</code>
    </MissingReturnType>
    <MixedArgument occurrences="27">
      <code>$fh</code>
      <code>$fh</code>
      <code>$fh</code>
      <code>$filedata['filename']</code>
      <code>$filedata['filename']</code>
      <code>$flags</code>
      <code>$flags</code>
      <code>$flags</code>
      <code>$flags</code>
      <code>$oldFile</code>
      <code>$oldFile</code>
      <code>$oldFile</code>
      <code>$oldFile</code>
      <code>$params-&gt;dirname</code>
      <code>$tempFile['filename']</code>
      <code>$tempFile['filename']</code>
      <code>$tempFile['filename']</code>
      <code>$tempFile['filename']</code>
      <code>$tempFile['filename']</code>
      <code>$tempFile['filename']</code>
      <code>$tempFile['filename']</code>
      <code>$tempFile['handle']</code>
      <code>$tempFile['handle']</code>
      <code>$tempFile['handle']</code>
      <code>$tempFile['handle']</code>
      <code>$tempFile['handle']</code>
      <code>$tmp['filename']</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$flags[$key]</code>
      <code>$flags[$key]</code>
    </MixedArrayAccess>
    <MixedArrayOffset occurrences="3">
      <code>$flags[$key]</code>
      <code>$flags[$key]</code>
      <code>$wantedFlags[$flag]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="20">
      <code>$fh</code>
      <code>$flag</code>
      <code>$flags</code>
      <code>$flags</code>
      <code>$flags[$char]</code>
      <code>$folder</code>
      <code>$key</code>
      <code>$key</code>
      <code>$messages</code>
      <code>$messages</code>
      <code>$oldFile</code>
      <code>$oldFile</code>
      <code>$quota</code>
      <code>$quota</code>
      <code>$quota</code>
      <code>$quota</code>
      <code>$subdir</code>
      <code>$totalSize</code>
      <code>$totalSize</code>
      <code>$value</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>bool|array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>getGlobalName</code>
    </MixedMethodCall>
    <MixedOperand occurrences="10">
      <code>$params-&gt;dirname</code>
      <code>$subdir</code>
      <code>$tempFile['dirname']</code>
      <code>$tempFile['dirname']</code>
      <code>$tempFile['dirname']</code>
      <code>$tempFile['uniq']</code>
      <code>$tempFile['uniq']</code>
      <code>$tempFile['uniq']</code>
      <code>$uniq</code>
      <code>$value</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1">
      <code>$detailedResponse ? $result : $result['over_quota']</code>
    </MixedReturnStatement>
    <PossiblyFalseArgument occurrences="2">
      <code>strrpos($folder, $this-&gt;delim)</code>
      <code>strrpos($name, $this-&gt;delim)</code>
    </PossiblyFalseArgument>
    <PossiblyInvalidArgument occurrences="3">
      <code>$filename</code>
      <code>$filename</code>
      <code>$message</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayOffset occurrences="6">
      <code>$filedata['filename']</code>
      <code>$filedata['filename']</code>
      <code>$filedata['filename']</code>
      <code>$filedata['flags']</code>
      <code>$filedata['flags']</code>
      <code>$filedata[uniq]</code>
    </PossiblyInvalidArrayOffset>
    <PossiblyInvalidCast occurrences="2">
      <code>$filename</code>
      <code>$filename</code>
    </PossiblyInvalidCast>
    <PossiblyInvalidIterator occurrences="1">
      <code>$quota</code>
    </PossiblyInvalidIterator>
    <PossiblyInvalidPropertyAssignmentValue occurrences="1">
      <code>$value</code>
    </PossiblyInvalidPropertyAssignmentValue>
    <PossiblyUndefinedVariable occurrences="4">
      <code>$fh</code>
      <code>$size</code>
      <code>$uniq</code>
      <code>$uniq</code>
    </PossiblyUndefinedVariable>
    <PropertyNotSetInConstructor occurrences="1">
      <code>$quota</code>
    </PropertyNotSetInConstructor>
    <TypeDoesNotContainType occurrences="2">
      <code>$overQuota</code>
      <code>$overQuota</code>
    </TypeDoesNotContainType>
    <UnusedFunctionCall occurrences="1">
      <code>strtok</code>
    </UnusedFunctionCall>
  </file>
  <file src="src/Storage/Writable/WritableInterface.php">
    <MissingReturnType occurrences="7">
      <code>appendMessage</code>
      <code>copyMessage</code>
      <code>createFolder</code>
      <code>moveMessage</code>
      <code>removeFolder</code>
      <code>renameFolder</code>
      <code>setFlags</code>
    </MissingReturnType>
  </file>
  <file src="src/Transport/Envelope.php">
    <InvalidNullableReturnType occurrences="1">
      <code>string</code>
    </InvalidNullableReturnType>
    <MissingReturnType occurrences="2">
      <code>setFrom</code>
      <code>setTo</code>
    </MissingReturnType>
    <NullableReturnStatement occurrences="1">
      <code>$this-&gt;from</code>
    </NullableReturnStatement>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(string) $from</code>
    </RedundantCastGivenDocblockType>
  </file>
  <file src="src/Transport/Factory.php">
    <DocblockTypeContradiction occurrences="2">
      <code>$spec instanceof Traversable</code>
      <code>is_array($spec)</code>
    </DocblockTypeContradiction>
    <MixedArgument occurrences="6">
      <code>$spec</code>
      <code>$spec['options']</code>
      <code>$spec['options']</code>
      <code>$type</code>
      <code>$type</code>
      <code>$type</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$type</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="1">
      <code>new $type()</code>
    </MixedMethodCall>
  </file>
  <file src="src/Transport/File.php">
    <MissingReturnType occurrences="1">
      <code>setOptions</code>
    </MissingReturnType>
    <MixedAssignment occurrences="1">
      <code>$filename</code>
    </MixedAssignment>
    <MixedOperand occurrences="1">
      <code>$filename</code>
    </MixedOperand>
    <PropertyNotSetInConstructor occurrences="1">
      <code>$lastFile</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="src/Transport/FileOptions.php">
    <DocblockTypeContradiction occurrences="3">
      <code>is_object($callback)</code>
      <code>null === $this-&gt;callback</code>
      <code>null === $this-&gt;path</code>
    </DocblockTypeContradiction>
    <PropertyNotSetInConstructor occurrences="2">
      <code>$callback</code>
      <code>$path</code>
    </PropertyNotSetInConstructor>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(string) $path</code>
    </RedundantCastGivenDocblockType>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>gettype($callback)</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="src/Transport/Sendmail.php">
    <DocblockTypeContradiction occurrences="3">
      <code>! is_array($parameters) &amp;&amp; ! $parameters instanceof Traversable</code>
      <code>$this-&gt;errstr !== null</code>
      <code>is_object($callable)</code>
    </DocblockTypeContradiction>
    <InvalidNullableReturnType occurrences="1">
      <code>string</code>
    </InvalidNullableReturnType>
    <InvalidScalarArgument occurrences="1">
      <code>[$this, 'handleMailErrors']</code>
    </InvalidScalarArgument>
    <MissingReturnType occurrences="1">
      <code>mailHandler</code>
    </MissingReturnType>
    <MixedAssignment occurrences="1">
      <code>$param</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="1">
      <code>$param</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1">
      <code>$header-&gt;getFieldValue(HeaderInterface::FORMAT_ENCODED)</code>
    </MixedReturnStatement>
    <PossiblyFalseReference occurrences="1">
      <code>getFieldValue</code>
    </PossiblyFalseReference>
    <PossiblyNullPropertyAssignmentValue occurrences="1">
      <code>$parameters</code>
    </PossiblyNullPropertyAssignmentValue>
    <PossiblyUndefinedMethod occurrences="1">
      <code>getFieldValue</code>
    </PossiblyUndefinedMethod>
    <PropertyNotSetInConstructor occurrences="3">
      <code>$errstr</code>
      <code>$operatingSystem</code>
      <code>$parameters</code>
    </PropertyNotSetInConstructor>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(string) $this-&gt;parameters</code>
    </RedundantCastGivenDocblockType>
    <RedundantConditionGivenDocblockType occurrences="4">
      <code>$from</code>
      <code>$from</code>
      <code>$this-&gt;errstr !== null</code>
      <code>gettype($callable)</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="src/Transport/Smtp.php">
    <DocblockTypeContradiction occurrences="1">
      <code>null === $this-&gt;plugins</code>
    </DocblockTypeContradiction>
    <MissingReturnType occurrences="2">
      <code>setConnection</code>
      <code>setEnvelope</code>
    </MissingReturnType>
    <MixedArgument occurrences="1">
      <code>$recipient</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$recipient</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>Protocol\Smtp</code>
    </MixedInferredReturnType>
    <MixedReturnStatement occurrences="1">
      <code>$this-&gt;getPluginManager()-&gt;get($name, $options)</code>
    </MixedReturnStatement>
    <PossiblyNullReference occurrences="4">
      <code>getFrom</code>
      <code>getFrom</code>
      <code>getTo</code>
      <code>getTo</code>
    </PossiblyNullReference>
    <PropertyNotSetInConstructor occurrences="1">
      <code>$plugins</code>
    </PropertyNotSetInConstructor>
    <PropertyTypeCoercion occurrences="1">
      <code>$connection</code>
    </PropertyTypeCoercion>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(bool) $flag</code>
    </RedundantCastGivenDocblockType>
  </file>
  <file src="src/Transport/SmtpOptions.php">
    <DocblockTypeContradiction occurrences="2">
      <code>! is_string($connectionClass)</code>
      <code>! is_string($name)</code>
    </DocblockTypeContradiction>
    <PossiblyNullPropertyAssignmentValue occurrences="2">
      <code>$connectionClass</code>
      <code>$name</code>
    </PossiblyNullPropertyAssignmentValue>
    <RedundantCastGivenDocblockType occurrences="3">
      <code>(int) $port</code>
      <code>(int) $seconds</code>
      <code>(string) $host</code>
    </RedundantCastGivenDocblockType>
  </file>
  <file src="test/AddressListTest.php">
    <NullArgument occurrences="1">
      <code>null</code>
    </NullArgument>
    <PossiblyInvalidMethodCall occurrences="6">
      <code>getComment</code>
      <code>getEmail</code>
      <code>getName</code>
      <code>getName</code>
      <code>getName</code>
      <code>getName</code>
    </PossiblyInvalidMethodCall>
    <UndefinedInterfaceMethod occurrences="1">
      <code>getComment</code>
    </UndefinedInterfaceMethod>
  </file>
  <file src="test/AddressTest.php">
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
  </file>
  <file src="test/Header/AddressListHeaderTest.php">
    <MixedArgument occurrences="2">
      <code>$list</code>
      <code>$list</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="2">
      <code>$k</code>
      <code>$k</code>
    </MixedArgumentTypeCoercion>
    <MixedAssignment occurrences="13">
      <code>$address</code>
      <code>$address</code>
      <code>$address</code>
      <code>$address</code>
      <code>$address</code>
      <code>$address</code>
      <code>$address</code>
      <code>$address</code>
      <code>$header</code>
      <code>$header</code>
      <code>$list</code>
      <code>$list</code>
      <code>$v</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="6">
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="26">
      <code>get</code>
      <code>get</code>
      <code>get</code>
      <code>get</code>
      <code>get</code>
      <code>get</code>
      <code>get</code>
      <code>get</code>
      <code>getAddressList</code>
      <code>getAddressList</code>
      <code>getName</code>
      <code>getName</code>
      <code>getName</code>
      <code>getName</code>
      <code>getName</code>
      <code>getName</code>
      <code>getName</code>
      <code>getName</code>
      <code>has</code>
      <code>has</code>
      <code>has</code>
      <code>has</code>
      <code>has</code>
      <code>has</code>
      <code>has</code>
      <code>has</code>
    </MixedMethodCall>
    <PossiblyInvalidMethodCall occurrences="1">
      <code>getName</code>
    </PossiblyInvalidMethodCall>
    <PossiblyNullArgument occurrences="1">
      <code>$sample</code>
    </PossiblyNullArgument>
  </file>
  <file src="test/Header/ContentDispositionTest.php">
    <ArgumentTypeCoercion occurrences="3">
      <code>$exception</code>
      <code>$expectedException</code>
      <code>$expectedException</code>
    </ArgumentTypeCoercion>
    <MixedArgument occurrences="1">
      <code>$value</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="1">
      <code>$name</code>
    </MixedArgumentTypeCoercion>
    <MixedAssignment occurrences="1">
      <code>$value</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="7">
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>iterable</code>
      <code>iterable</code>
    </MixedInferredReturnType>
  </file>
  <file src="test/Header/ContentTransferEncodingTest.php">
    <MixedInferredReturnType occurrences="3">
      <code>array</code>
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <UnusedVariable occurrences="1">
      <code>$contentTransferEncodingHeader</code>
    </UnusedVariable>
  </file>
  <file src="test/Header/ContentTypeTest.php">
    <ArgumentTypeCoercion occurrences="2">
      <code>$expectedException</code>
      <code>$expectedException</code>
    </ArgumentTypeCoercion>
    <MixedArgument occurrences="1">
      <code>$value</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="1">
      <code>$name</code>
    </MixedArgumentTypeCoercion>
    <MixedAssignment occurrences="1">
      <code>$value</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="5">
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>iterable</code>
    </MixedInferredReturnType>
  </file>
  <file src="test/Header/DateTest.php">
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
    <UnusedVariable occurrences="1">
      <code>$address</code>
    </UnusedVariable>
  </file>
  <file src="test/Header/GenericHeaderTest.php">
    <InvalidScalarArgument occurrences="1">
      <code>0</code>
    </InvalidScalarArgument>
    <MixedInferredReturnType occurrences="4">
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <NullArgument occurrences="1">
      <code>null</code>
    </NullArgument>
  </file>
  <file src="test/Header/GenericMultiHeaderTest.php">
    <MixedAssignment occurrences="1">
      <code>$header</code>
    </MixedAssignment>
    <PossibleRawObjectIteration occurrences="1">
      <code>$headers</code>
    </PossibleRawObjectIteration>
    <PossiblyInvalidArgument occurrences="1">
      <code>$headers</code>
    </PossiblyInvalidArgument>
  </file>
  <file src="test/Header/HeaderLocatorTest.php">
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
  </file>
  <file src="test/Header/HeaderNameTest.php">
    <MixedInferredReturnType occurrences="3">
      <code>array</code>
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
  </file>
  <file src="test/Header/HeaderValueTest.php">
    <MixedInferredReturnType occurrences="3">
      <code>array</code>
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
  </file>
  <file src="test/Header/HeaderWrapTest.php">
    <PossiblyFalseReference occurrences="1">
      <code>getFieldValue</code>
    </PossiblyFalseReference>
    <PossiblyUndefinedMethod occurrences="1">
      <code>getFieldValue</code>
    </PossiblyUndefinedMethod>
    <TooManyArguments occurrences="1">
      <code>new Bcc('test@example.org')</code>
    </TooManyArguments>
  </file>
  <file src="test/Header/IdentificationFieldTest.php">
    <InvalidStringClass occurrences="6">
      <code>$className::fromString($headerString)</code>
      <code>$className::fromString($headerString)</code>
      <code>$className::fromString($headerString)</code>
      <code>$className::fromString('Foo: bar')</code>
      <code>new $className()</code>
      <code>new $className()</code>
    </InvalidStringClass>
    <MixedInferredReturnType occurrences="3">
      <code>array</code>
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <UnusedVariable occurrences="1">
      <code>$header</code>
    </UnusedVariable>
  </file>
  <file src="test/Header/MessageIdTest.php">
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <UnusedVariable occurrences="1">
      <code>$messageid</code>
    </UnusedVariable>
  </file>
  <file src="test/Header/MimeVersionTest.php">
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <UnusedVariable occurrences="1">
      <code>$mime</code>
    </UnusedVariable>
  </file>
  <file src="test/Header/ReceivedTest.php">
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <UnevaluatedCode occurrences="4">
      <code>$receivedHeader = new Header\Received();</code>
      <code>$receivedHeader = new Header\Received();</code>
      <code>$this-&gt;assertEmpty('Received: xxx', $receivedHeader-&gt;toString());</code>
      <code>$this-&gt;assertEquals('xxx', $receivedHeader-&gt;getFieldValue());</code>
    </UnevaluatedCode>
    <UnusedVariable occurrences="1">
      <code>$received</code>
    </UnusedVariable>
  </file>
  <file src="test/Header/SenderTest.php">
    <ArgumentTypeCoercion occurrences="2">
      <code>$expectedException</code>
      <code>$expectedException</code>
    </ArgumentTypeCoercion>
    <MixedArgument occurrences="1">
      <code>$parameters</code>
    </MixedArgument>
    <MixedInferredReturnType occurrences="6">
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <PossiblyNullReference occurrences="2">
      <code>getEmail</code>
      <code>getName</code>
    </PossiblyNullReference>
  </file>
  <file src="test/Header/SubjectTest.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>$expectedException</code>
    </ArgumentTypeCoercion>
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <NullArgument occurrences="1">
      <code>null</code>
    </NullArgument>
    <PossiblyNullArgument occurrences="1">
      <code>$expectedExceptionMessage</code>
    </PossiblyNullArgument>
  </file>
  <file src="test/Header/ToTest.php">
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
  </file>
  <file src="test/HeadersTest.php">
    <DeprecatedMethod occurrences="2">
      <code>getPluginClassLoader</code>
      <code>setPluginClassLoader</code>
    </DeprecatedMethod>
    <InternalClass occurrences="1">
      <code>new Deprecated($errstr, $errno, $errfile, $errline)</code>
    </InternalClass>
    <InvalidArgument occurrences="3">
      <code>$object</code>
      <code>'foo'</code>
      <code>["foo-bar\r\n\r\nevilContent"]</code>
    </InvalidArgument>
    <InvalidCast occurrences="1">
      <code>$object</code>
    </InvalidCast>
    <MixedArgument occurrences="1">
      <code>$header</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$header</code>
      <code>$index</code>
    </MixedAssignment>
    <NullArgument occurrences="1">
      <code>null</code>
    </NullArgument>
    <PossiblyFalseReference occurrences="13">
      <code>current</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
    </PossiblyFalseReference>
    <PossiblyInvalidMethodCall occurrences="2">
      <code>getEmail</code>
      <code>getName</code>
    </PossiblyInvalidMethodCall>
    <PossiblyUndefinedMethod occurrences="13">
      <code>current</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
    </PossiblyUndefinedMethod>
  </file>
  <file src="test/MessageFactoryTest.php">
    <MixedArgument occurrences="1">
      <code>$options</code>
    </MixedArgument>
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
    <PossiblyInvalidMethodCall occurrences="1">
      <code>getName</code>
    </PossiblyInvalidMethodCall>
    <PossiblyNullReference occurrences="1">
      <code>getEmail</code>
    </PossiblyNullReference>
  </file>
  <file src="test/MessageTest.php">
    <DocblockTypeContradiction occurrences="5">
      <code>assertSame</code>
      <code>assertSame</code>
      <code>assertSame</code>
      <code>assertSame</code>
      <code>assertSame</code>
    </DocblockTypeContradiction>
    <MixedArgument occurrences="8">
      <code>$body</code>
      <code>$header-&gt;getAddressList()</code>
      <code>$header-&gt;getAddressList()</code>
      <code>$header-&gt;getAddressList()</code>
      <code>$header-&gt;getAddressList()</code>
      <code>$header-&gt;getAddressList()</code>
      <code>$test</code>
      <code>$test</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$test</code>
      <code>$test</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <PossiblyFalseReference occurrences="17">
      <code>getAddressList</code>
      <code>getAddressList</code>
      <code>getAddressList</code>
      <code>getAddressList</code>
      <code>getAddressList</code>
      <code>getEncoding</code>
      <code>getEncoding</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getType</code>
      <code>toString</code>
      <code>toString</code>
    </PossiblyFalseReference>
    <PossiblyUndefinedMethod occurrences="11">
      <code>getEncoding</code>
      <code>getEncoding</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>getFieldValue</code>
      <code>toString</code>
      <code>toString</code>
    </PossiblyUndefinedMethod>
    <UndefinedMethod occurrences="6">
      <code>getAddressList</code>
      <code>getAddressList</code>
      <code>getAddressList</code>
      <code>getAddressList</code>
      <code>getAddressList</code>
      <code>getType</code>
    </UndefinedMethod>
    <UnusedVariable occurrences="1">
      <code>$sender</code>
    </UnusedVariable>
  </file>
  <file src="test/Protocol/AbstractProtocolTest.php">
    <PropertyNotSetInConstructor occurrences="2"/>
    <UnusedClosureParam occurrences="1">
      <code>$type</code>
    </UnusedClosureParam>
  </file>
  <file src="test/Protocol/HttpStatusService/index.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>(int) $_GET['sleep']</code>
    </ArgumentTypeCoercion>
    <RiskyCast occurrences="1">
      <code>$_GET['sleep']</code>
    </RiskyCast>
  </file>
  <file src="test/Protocol/ProtocolTraitTest.php">
    <InvalidScalarArgument occurrences="1">
      <code>ProtocolTrait::class</code>
    </InvalidScalarArgument>
    <UndefinedInterfaceMethod occurrences="1">
      <code>getCryptoMethod</code>
    </UndefinedInterfaceMethod>
  </file>
  <file src="test/Protocol/Smtp/Auth/Crammd5Test.php">
    <MixedAssignment occurrences="1">
      <code>$result</code>
    </MixedAssignment>
  </file>
  <file src="test/Protocol/SmtpPluginManagerFactoryTest.php">
    <DeprecatedMethod occurrences="1">
      <code>getServiceLocator</code>
    </DeprecatedMethod>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>method_exists($plugins, 'configure')</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="test/Protocol/TestAsset/ErroneousSmtp.php">
    <DeprecatedMethod occurrences="1">
      <code>_connect</code>
    </DeprecatedMethod>
    <PossiblyNullArgument occurrences="1">
      <code>$customRemote</code>
    </PossiblyNullArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>ErroneousSmtp</code>
      <code>ErroneousSmtp</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="test/Storage/ImapTest.php">
    <InvalidArgument occurrences="9">
      <code>$mail-&gt;getRawHeader(1)</code>
      <code>Storage::FLAG_ANSWERED</code>
      <code>Storage::FLAG_ANSWERED</code>
      <code>Storage::FLAG_FLAGGED</code>
      <code>Storage::FLAG_FLAGGED</code>
      <code>Storage::FLAG_SEEN</code>
      <code>Storage::FLAG_SEEN</code>
      <code>[Storage::FLAG_SEEN, Storage::FLAG_ANSWERED]</code>
      <code>[Storage::FLAG_SEEN, Storage::FLAG_FLAGGED]</code>
    </InvalidArgument>
    <InvalidScalarArgument occurrences="2">
      <code>INF</code>
      <code>INF</code>
    </InvalidScalarArgument>
    <MixedArgument occurrences="30">
      <code>$id</code>
      <code>$result[1]</code>
      <code>$result[1]</code>
      <code>$result[1]</code>
      <code>$this-&gt;params['host']</code>
      <code>$this-&gt;params['host']</code>
      <code>$this-&gt;params['host']</code>
      <code>$this-&gt;params['host']</code>
      <code>$this-&gt;params['host']</code>
      <code>$this-&gt;params['host']</code>
      <code>$this-&gt;params['host']</code>
      <code>$this-&gt;params['host']</code>
      <code>$this-&gt;params['host']</code>
      <code>$this-&gt;params['password']</code>
      <code>$this-&gt;params['password']</code>
      <code>$this-&gt;params['password']</code>
      <code>$this-&gt;params['password']</code>
      <code>$this-&gt;params['password']</code>
      <code>$this-&gt;params['password']</code>
      <code>$this-&gt;params['password']</code>
      <code>$this-&gt;params['password']</code>
      <code>$this-&gt;params['user']</code>
      <code>$this-&gt;params['user']</code>
      <code>$this-&gt;params['user']</code>
      <code>$this-&gt;params['user']</code>
      <code>$this-&gt;params['user']</code>
      <code>$this-&gt;params['user']</code>
      <code>$this-&gt;params['user']</code>
      <code>$this-&gt;params['user']</code>
      <code>$uid</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$v['FLAGS']</code>
      <code>$v['UID']</code>
    </MixedArrayAccess>
    <MixedArrayOffset occurrences="2">
      <code>$foundFolders[$folder-&gt;__toString()]</code>
      <code>$searchFolders[$folder-&gt;getGlobalName()]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="9">
      <code>$folder</code>
      <code>$folder</code>
      <code>$foundFolders[$folder-&gt;__toString()]</code>
      <code>$id</code>
      <code>$innerId</code>
      <code>$localName</code>
      <code>$localName</code>
      <code>$uid</code>
      <code>$v</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="3">
      <code>__toString</code>
      <code>getGlobalName</code>
      <code>getLocalName</code>
    </MixedMethodCall>
    <PossiblyFalseArgument occurrences="2">
      <code>getenv('TESTS_LAMINAS_MAIL_SERVER_TESTDIR')</code>
      <code>getenv('TESTS_LAMINAS_MAIL_SERVER_TESTDIR')</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="4">
      <code>getenv('TESTS_LAMINAS_MAIL_SERVER_FORMAT')</code>
      <code>getenv('TESTS_LAMINAS_MAIL_SERVER_TESTDIR')</code>
      <code>getenv('TESTS_LAMINAS_MAIL_SERVER_TESTDIR')</code>
      <code>getenv('TESTS_LAMINAS_MAIL_SERVER_TESTDIR')</code>
    </PossiblyFalseOperand>
    <PossiblyInvalidArgument occurrences="1">
      <code>$mail-&gt;getUniqueId(1)</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="7">
      <code>$result[1]</code>
      <code>$result[1]</code>
      <code>$result[1]</code>
      <code>$status['exists']</code>
      <code>$status['exists']</code>
      <code>$status['flags']</code>
      <code>$status['flags']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidArrayOffset occurrences="2">
      <code>$message['UID']</code>
      <code>$result['UID']</code>
    </PossiblyInvalidArrayOffset>
    <PossiblyInvalidCast occurrences="1">
      <code>$mail-&gt;getUniqueId(1)</code>
    </PossiblyInvalidCast>
    <PossiblyInvalidIterator occurrences="3">
      <code>$ids</code>
      <code>$ids</code>
      <code>$result</code>
    </PossiblyInvalidIterator>
    <PossiblyNullArgument occurrences="1">
      <code>$delimiter</code>
    </PossiblyNullArgument>
    <UndefinedMethod occurrences="5">
      <code>assertInternalType</code>
      <code>assertInternalType</code>
      <code>assertInternalType</code>
      <code>assertInternalType</code>
      <code>assertInternalType</code>
    </UndefinedMethod>
    <UnusedForeachValue occurrences="1">
      <code>$message</code>
    </UnusedForeachValue>
  </file>
  <file src="test/Storage/MaildirFolderTest.php">
    <MixedArgument occurrences="1">
      <code>$this-&gt;params['dirname']</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$folder</code>
      <code>$localName</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="1">
      <code>getLocalName</code>
    </MixedMethodCall>
    <MixedOperand occurrences="6">
      <code>$this-&gt;params['dirname']</code>
      <code>$this-&gt;params['dirname']</code>
      <code>$this-&gt;params['dirname']</code>
      <code>$this-&gt;params['dirname']</code>
      <code>$this-&gt;params['dirname']</code>
      <code>$this-&gt;params['dirname']</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="3">
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="3">
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="1">
      <code>getenv('TESTS_LAMINAS_MAIL_TEMPDIR')</code>
    </PossiblyFalsePropertyAssignmentValue>
    <RedundantPropertyInitializationCheck occurrences="1">
      <code>isset($this-&gt;tmpdir)</code>
    </RedundantPropertyInitializationCheck>
    <UnevaluatedCode occurrences="56">
      <code>$check = false;</code>
      <code>$count = $mail-&gt;countMessages();</code>
      <code>$count = $mail-&gt;countMessages();</code>
      <code>$foundFolders  = [];</code>
      <code>$foundFolders  = [];</code>
      <code>$foundFolders  = [];</code>
      <code>$iterator = new RecursiveIteratorIterator($mail-&gt;getFolders(), RecursiveIteratorIterator::SELF_FIRST);</code>
      <code>$iterator = new RecursiveIteratorIterator($mail-&gt;getFolders(), RecursiveIteratorIterator::SELF_FIRST);</code>
      <code>$mail        = new Folder\Maildir($this-&gt;params);</code>
      <code>$mail     = new Folder\Maildir($this-&gt;params);</code>
      <code>$mail     = new Folder\Maildir($this-&gt;params);</code>
      <code>$mail     = new Folder\Maildir($this-&gt;params);</code>
      <code>$mail = new Folder\Maildir($this-&gt;params);</code>
      <code>$mail = new Folder\Maildir($this-&gt;params);</code>
      <code>$mail = new Folder\Maildir($this-&gt;params);</code>
      <code>$mail = new Folder\Maildir($this-&gt;params);</code>
      <code>$mail = new Folder\Maildir($this-&gt;params);</code>
      <code>$mail-&gt;selectFolder('subfolder.test');</code>
      <code>$mail-&gt;selectFolder('subfolder.test');</code>
      <code>$mail-&gt;selectFolder('subfolder.test');</code>
      <code>$mail-&gt;selectFolder('subfolder.test');</code>
      <code>$searchFolders = ['subfolder.test' =&gt; 'test'];</code>
      <code>$shouldSizes = [1 =&gt; 397, 89, 694, 452, 497];</code>
      <code>$sizes = $mail-&gt;getSize();</code>
      <code>$sizes = $mail-&gt;getSize();</code>
      <code>$stat = stat($this-&gt;params['dirname'] . '.subfolder');</code>
      <code>$statcheck = stat($this-&gt;params['dirname'] . '.subfolder');</code>
      <code>$subject = $mail-&gt;getMessage(1)-&gt;subject;</code>
      <code>$subject = $mail-&gt;getMessage(1)-&gt;subject;</code>
      <code>$this-&gt;assertEquals($mail-&gt;getCurrentFolder(), 'subfolder.test');</code>
      <code>$this-&gt;assertEquals($mail-&gt;getFolders()-&gt;subfolder-&gt;__toString(), 'subfolder');</code>
      <code>$this-&gt;assertEquals($mail-&gt;getFolders()-&gt;subfolder-&gt;key(), 'test');</code>
      <code>$this-&gt;assertEquals($searchFolders, $foundFolders);</code>
      <code>$this-&gt;assertEquals($searchFolders, $foundFolders);</code>
      <code>$this-&gt;assertEquals($searchFolders, $foundFolders);</code>
      <code>$this-&gt;assertEquals($shouldSizes, $sizes);</code>
      <code>$this-&gt;assertEquals('Message in subfolder', $subject);</code>
      <code>$this-&gt;assertEquals('Simple Message', $subject);</code>
      <code>$this-&gt;assertEquals(1, $count);</code>
      <code>$this-&gt;assertEquals(5, $count);</code>
      <code>$this-&gt;assertEquals([1 =&gt; 467], $sizes);</code>
      <code>chmod($this-&gt;params['dirname'] . '.subfolder', $stat['mode']);</code>
      <code>chmod($this-&gt;params['dirname'] . '.subfolder', 0);</code>
      <code>clearstatcache();</code>
      <code>return;</code>
      <code>return;</code>
      <code>return;</code>
    </UnevaluatedCode>
  </file>
  <file src="test/Storage/MaildirMessageOldTest.php">
    <PossiblyFalseArgument occurrences="3">
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="2">
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="2">
      <code>$this-&gt;tmpdir</code>
      <code>getenv('TESTS_LAMINAS_MAIL_TEMPDIR')</code>
    </PossiblyFalsePropertyAssignmentValue>
    <RedundantPropertyInitializationCheck occurrences="1">
      <code>isset($this-&gt;tmpdir)</code>
    </RedundantPropertyInitializationCheck>
    <UnevaluatedCode occurrences="3">
      <code>return;</code>
      <code>return;</code>
      <code>return;</code>
    </UnevaluatedCode>
  </file>
  <file src="test/Storage/MaildirTest.php">
    <MixedArgument occurrences="1">
      <code>$id</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$id</code>
    </MixedAssignment>
    <PossiblyFalseArgument occurrences="3">
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="2">
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="2">
      <code>$this-&gt;tmpdir</code>
      <code>getenv('TESTS_LAMINAS_MAIL_TEMPDIR')</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyInvalidArgument occurrences="1">
      <code>$mail-&gt;getUniqueId(1)</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidCast occurrences="1">
      <code>$mail-&gt;getUniqueId(1)</code>
    </PossiblyInvalidCast>
    <PossiblyInvalidIterator occurrences="1">
      <code>$ids</code>
    </PossiblyInvalidIterator>
    <RedundantPropertyInitializationCheck occurrences="1">
      <code>isset($this-&gt;tmpdir)</code>
    </RedundantPropertyInitializationCheck>
    <UnevaluatedCode occurrences="3">
      <code>return;</code>
      <code>return;</code>
      <code>return;</code>
    </UnevaluatedCode>
  </file>
  <file src="test/Storage/MaildirWritableTest.php">
    <MixedArgument occurrences="2">
      <code>$this-&gt;params['dirname']</code>
      <code>$this-&gt;params['dirname']</code>
    </MixedArgument>
    <MixedOperand occurrences="1">
      <code>$this-&gt;params['dirname']</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="3">
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="4">
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="1">
      <code>getenv('TESTS_LAMINAS_MAIL_TEMPDIR')</code>
    </PossiblyFalsePropertyAssignmentValue>
    <RedundantPropertyInitializationCheck occurrences="1">
      <code>isset($this-&gt;tmpdir)</code>
    </RedundantPropertyInitializationCheck>
    <UnevaluatedCode occurrences="96">
      <code>$count = $mail-&gt;countMessages();</code>
      <code>$fromCount = $mail-&gt;countMessages();</code>
      <code>$mail        = new Writable\Maildir($this-&gt;params);</code>
      <code>$mail   = new Writable\Maildir($this-&gt;params);</code>
      <code>$mail = new Writable\Maildir($this-&gt;params);</code>
      <code>$mail = new Writable\Maildir($this-&gt;params);</code>
      <code>$mail = new Writable\Maildir($this-&gt;params);</code>
      <code>$mail = new Writable\Maildir($this-&gt;params);</code>
      <code>$mail = new Writable\Maildir($this-&gt;params);</code>
      <code>$mail = new Writable\Maildir($this-&gt;params);</code>
      <code>$mail = new Writable\Maildir($this-&gt;params);</code>
      <code>$mail = new Writable\Maildir($this-&gt;params);</code>
      <code>$mail = new Writable\Maildir($this-&gt;params);</code>
      <code>$mail = new Writable\Maildir($this-&gt;params);</code>
      <code>$mail-&gt;appendMessage("Subject: test\r\n\r\n");</code>
      <code>$mail-&gt;appendMessage("Subject: test\r\n\r\n");</code>
      <code>$mail-&gt;appendMessage("Subject: test\r\n\r\n");</code>
      <code>$mail-&gt;copyMessage(1, 'justARandomFolder');</code>
      <code>$mail-&gt;copyMessage(1, 'subfolder');</code>
      <code>$mail-&gt;copyMessage(1, 'subfolder.test');</code>
      <code>$mail-&gt;createFolder('foo.bar');</code>
      <code>$mail-&gt;createFolder('subfolder.test1');</code>
      <code>$mail-&gt;createFolder('test2', 'INBOX.subfolder');</code>
      <code>$mail-&gt;createFolder('test3', $mail-&gt;getFolders()-&gt;subfolder);</code>
      <code>$mail-&gt;moveMessage(1, $target);</code>
      <code>$mail-&gt;removeFolder('subfolder.test');</code>
      <code>$mail-&gt;removeMessage(1);</code>
      <code>$mail-&gt;renameFolder('subfolder.test', 'foo');</code>
      <code>$mail-&gt;selectFolder($mail-&gt;getFolders()-&gt;foo-&gt;bar);</code>
      <code>$mail-&gt;selectFolder($mail-&gt;getFolders()-&gt;subfolder-&gt;test1);</code>
      <code>$mail-&gt;selectFolder($mail-&gt;getFolders()-&gt;subfolder-&gt;test2);</code>
      <code>$mail-&gt;selectFolder($mail-&gt;getFolders()-&gt;subfolder-&gt;test3);</code>
      <code>$mail-&gt;selectFolder($target);</code>
      <code>$mail-&gt;selectFolder($target);</code>
      <code>$mail-&gt;selectFolder('INBOX');</code>
      <code>$mail-&gt;selectFolder('INBOX');</code>
      <code>$mail-&gt;selectFolder('subfolder.test');</code>
      <code>$mail-&gt;selectFolder('subfolder.test');</code>
      <code>$mail-&gt;selectFolder('subfolder.test');</code>
      <code>$mail-&gt;selectFolder('subfolder.test');</code>
      <code>$mail-&gt;setQuota(['size' =&gt; 100, 'count' =&gt; 2, 'X' =&gt; 0]);</code>
      <code>$mail-&gt;setQuota(['size' =&gt; 100, 'count' =&gt; 2, 'X' =&gt; 0]);</code>
      <code>$mail-&gt;setQuota(['size' =&gt; 3000, 'count' =&gt; 5, 'X' =&gt; 0]);</code>
      <code>$mail-&gt;setQuota(['size' =&gt; 3000, 'count' =&gt; 6, 'X' =&gt; 0]);</code>
      <code>$mail-&gt;setQuota(['size' =&gt; 3000, 'count' =&gt; 6, 'X' =&gt; 0]);</code>
      <code>$mail-&gt;setQuota(false);</code>
      <code>$mail-&gt;setQuota(false);</code>
      <code>$mail-&gt;setQuota(true);</code>
      <code>$mail-&gt;setQuota(true);</code>
      <code>$message = $mail-&gt;getMessage(1);</code>
      <code>$target = $mail-&gt;getFolders()-&gt;subfolder-&gt;test;</code>
      <code>$this-&gt;assertEquals($count + 1, $mail-&gt;countMessages());</code>
      <code>$this-&gt;assertEquals($fromCount - 1, $mail-&gt;countMessages());</code>
      <code>$this-&gt;assertEquals($mail-&gt;checkQuota(true), $quotaResult);</code>
      <code>$this-&gt;assertEquals($mail-&gt;checkQuota(true), $quotaResult);</code>
      <code>$this-&gt;assertEquals($mail-&gt;checkQuota(true), $quotaResult);</code>
      <code>$this-&gt;assertEquals($mail-&gt;getMessage($count + 1)-&gt;from, $message-&gt;from);</code>
      <code>$this-&gt;assertEquals($mail-&gt;getMessage($count + 1)-&gt;subject, $message-&gt;subject);</code>
      <code>$this-&gt;assertEquals($mail-&gt;getMessage($count + 1)-&gt;to, $message-&gt;to);</code>
      <code>$this-&gt;assertEquals($mail-&gt;getQuota(), ['size' =&gt; 100, 'count' =&gt; 2, 'X' =&gt; 0]);</code>
      <code>$this-&gt;assertEquals($mail-&gt;getQuota(true), $quotaResult['quota']);</code>
      <code>$this-&gt;assertEquals($mail-&gt;getQuota(true), ['size' =&gt; 3000, 'L' =&gt; 1, 'count' =&gt; 10]);</code>
      <code>$this-&gt;assertEquals($quotaResult, $mail-&gt;checkQuota(true));</code>
      <code>$this-&gt;assertEquals($quotaResult, $mail-&gt;checkQuota(true, true));</code>
      <code>$this-&gt;assertEquals($toCount + 1, $mail-&gt;countMessages());</code>
      <code>$this-&gt;assertEquals(['size' =&gt; 100, 'count' =&gt; 2, 'X' =&gt; 0], $mail-&gt;getQuota(true));</code>
      <code>$this-&gt;assertFalse($mail-&gt;checkQuota());</code>
      <code>$this-&gt;assertFalse($mail-&gt;checkQuota(false, true));</code>
      <code>$this-&gt;assertFalse($mail-&gt;checkQuota(false, true));</code>
      <code>$this-&gt;assertFalse($mail-&gt;getQuota());</code>
      <code>$this-&gt;assertNull($mail-&gt;getQuota());</code>
      <code>$this-&gt;assertTrue($mail-&gt;checkQuota());</code>
      <code>$this-&gt;assertTrue($mail-&gt;checkQuota());</code>
      <code>$this-&gt;assertTrue($mail-&gt;checkQuota(false, true));</code>
      <code>$this-&gt;assertTrue($mail-&gt;getQuota());</code>
      <code>$this-&gt;expectException(Exception\InvalidArgumentException::class);</code>
      <code>$this-&gt;expectException(Exception\InvalidArgumentException::class);</code>
      <code>$this-&gt;expectException(Exception\InvalidArgumentException::class);</code>
      <code>$this-&gt;expectException(Exception\InvalidArgumentException::class);</code>
      <code>$this-&gt;expectException(Exception\InvalidArgumentException::class);</code>
      <code>$this-&gt;subdirs[] = '.foo';</code>
      <code>$this-&gt;subdirs[] = '.foo.bar';</code>
      <code>$this-&gt;subdirs[] = '.subfolder.test1';</code>
      <code>$this-&gt;subdirs[] = '.subfolder.test2';</code>
      <code>$this-&gt;subdirs[] = '.subfolder.test3';</code>
      <code>$toCount = $mail-&gt;countMessages();</code>
      <code>return;</code>
      <code>return;</code>
      <code>return;</code>
      <code>unlink($this-&gt;params['dirname'] . 'cur/1000000000.P1.example.org:2,S');</code>
      <code>unlink($this-&gt;tmpdir . 'maildirsize');</code>
    </UnevaluatedCode>
    <UnusedVariable occurrences="5">
      <code>$count</code>
      <code>$e</code>
      <code>$e</code>
      <code>$mail</code>
      <code>$mail</code>
    </UnusedVariable>
  </file>
  <file src="test/Storage/MboxFolderTest.php">
    <InternalMethod occurrences="2">
      <code>addToAssertionCount</code>
      <code>addToAssertionCount</code>
    </InternalMethod>
    <MixedArrayOffset occurrences="4">
      <code>$foundFolders[$folder-&gt;__toString()]</code>
      <code>$foundFolders[$folder-&gt;__toString()]</code>
      <code>$searchFolders[$folder-&gt;getGlobalName()]</code>
      <code>$searchFolders[$folder-&gt;getGlobalName()]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="9">
      <code>$folder</code>
      <code>$folder</code>
      <code>$folder</code>
      <code>$foundFolders[$folder-&gt;__toString()]</code>
      <code>$foundFolders[$folder-&gt;__toString()]</code>
      <code>$localName</code>
      <code>$localName</code>
      <code>$localName</code>
      <code>$mail</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="12">
      <code>__toString</code>
      <code>__toString</code>
      <code>countMessages</code>
      <code>countMessages</code>
      <code>getContent</code>
      <code>getContent</code>
      <code>getGlobalName</code>
      <code>getGlobalName</code>
      <code>getLocalName</code>
      <code>getMessage</code>
      <code>getMessage</code>
      <code>selectFolder</code>
    </MixedMethodCall>
    <MixedOperand occurrences="6">
      <code>$this-&gt;params['dirname']</code>
      <code>$this-&gt;params['dirname']</code>
      <code>$this-&gt;params['dirname']</code>
      <code>$this-&gt;params['dirname']</code>
      <code>$this-&gt;params['dirname']</code>
      <code>$this-&gt;params['dirname']</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="3">
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="2">
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="1">
      <code>getenv('TESTS_LAMINAS_MAIL_TEMPDIR')</code>
    </PossiblyFalsePropertyAssignmentValue>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>assertIsArray</code>
    </RedundantConditionGivenDocblockType>
    <RedundantPropertyInitializationCheck occurrences="1">
      <code>isset($this-&gt;tmpdir)</code>
    </RedundantPropertyInitializationCheck>
    <UnevaluatedCode occurrences="2">
      <code>return;</code>
      <code>return;</code>
    </UnevaluatedCode>
    <UnusedVariable occurrences="1">
      <code>$mail</code>
    </UnusedVariable>
  </file>
  <file src="test/Storage/MboxInterfaceTest.php">
    <MixedAssignment occurrences="2">
      <code>$message</code>
      <code>$message</code>
    </MixedAssignment>
    <UnusedForeachValue occurrences="4">
      <code>$message</code>
      <code>$message</code>
      <code>$message</code>
      <code>$message</code>
    </UnusedForeachValue>
  </file>
  <file src="test/Storage/MboxMessageOldTest.php">
    <PossiblyFalseArgument occurrences="3">
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="1">
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="1">
      <code>getenv('TESTS_LAMINAS_MAIL_TEMPDIR')</code>
    </PossiblyFalsePropertyAssignmentValue>
    <RedundantPropertyInitializationCheck occurrences="1">
      <code>isset($this-&gt;tmpdir)</code>
    </RedundantPropertyInitializationCheck>
    <UnevaluatedCode occurrences="1">
      <code>return;</code>
    </UnevaluatedCode>
  </file>
  <file src="test/Storage/MboxTest.php">
    <InternalMethod occurrences="3">
      <code>addToAssertionCount</code>
      <code>addToAssertionCount</code>
      <code>addToAssertionCount</code>
    </InternalMethod>
    <InvalidScalarArgument occurrences="1">
      <code>INF</code>
    </InvalidScalarArgument>
    <MixedArgument occurrences="1">
      <code>$id</code>
    </MixedArgument>
    <MixedAssignment occurrences="3">
      <code>$id</code>
      <code>$mail</code>
      <code>$mail</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="3">
      <code>countMessages</code>
      <code>getContent</code>
      <code>getMessage</code>
    </MixedMethodCall>
    <PossiblyFalseArgument occurrences="3">
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="1">
      <code>$this-&gt;tmpdir</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="1">
      <code>getenv('TESTS_LAMINAS_MAIL_TEMPDIR')</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyInvalidArgument occurrences="1">
      <code>$mail-&gt;getUniqueId(1)</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidCast occurrences="1">
      <code>$mail-&gt;getUniqueId(1)</code>
    </PossiblyInvalidCast>
    <PossiblyInvalidIterator occurrences="1">
      <code>$ids</code>
    </PossiblyInvalidIterator>
    <RedundantPropertyInitializationCheck occurrences="1">
      <code>isset($this-&gt;tmpdir)</code>
    </RedundantPropertyInitializationCheck>
    <UnevaluatedCode occurrences="2">
      <code>return;</code>
      <code>return;</code>
    </UnevaluatedCode>
    <UnusedVariable occurrences="5">
      <code>$content</code>
      <code>$count</code>
      <code>$mail</code>
      <code>$mail</code>
      <code>$mail</code>
    </UnusedVariable>
  </file>
  <file src="test/Storage/MessageTest.php">
    <InvalidArgument occurrences="2">
      <code>MimeException\ExceptionInterface::class</code>
      <code>MimeException\ExceptionInterface::class</code>
    </InvalidArgument>
    <MixedArgument occurrences="1">
      <code>$part-&gt;__toString()</code>
    </MixedArgument>
    <MixedAssignment occurrences="3">
      <code>$badMessage</code>
      <code>$num</code>
      <code>$part</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="2">
      <code>__toString</code>
      <code>getHeaders</code>
    </MixedMethodCall>
    <MixedPropertyFetch occurrences="1">
      <code>$part-&gt;contentType</code>
    </MixedPropertyFetch>
    <NullReference occurrences="3">
      <code>$body</code>
      <code>$headers1</code>
      <code>$headers2</code>
    </NullReference>
    <PossiblyInvalidMethodCall occurrences="1">
      <code>getName</code>
    </PossiblyInvalidMethodCall>
    <PossiblyNullArgument occurrences="2">
      <code>$decodedBody</code>
      <code>$decodedHeaders</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedVariable occurrences="1">
      <code>$part</code>
    </PossiblyUndefinedVariable>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(string) $body</code>
    </RedundantCastGivenDocblockType>
    <RedundantConditionGivenDocblockType occurrences="2">
      <code>assertTrue</code>
      <code>assertTrue</code>
    </RedundantConditionGivenDocblockType>
    <UnusedVariable occurrences="1">
      <code>$message</code>
    </UnusedVariable>
  </file>
  <file src="test/Storage/Pop3Test.php">
    <DocblockTypeContradiction occurrences="3">
      <code>assertFalse</code>
      <code>assertTrue</code>
      <code>assertTrue</code>
    </DocblockTypeContradiction>
    <InvalidArgument occurrences="1">
      <code>$mail-&gt;getRawHeader(1)</code>
    </InvalidArgument>
    <MixedArgument occurrences="7">
      <code>$id</code>
      <code>$this-&gt;params['host']</code>
      <code>$this-&gt;params['host']</code>
      <code>$this-&gt;params['host']</code>
      <code>$this-&gt;params['host']</code>
      <code>$this-&gt;params['password']</code>
      <code>$this-&gt;params['user']</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$id</code>
      <code>$innerId</code>
    </MixedAssignment>
    <PossiblyFalseArgument occurrences="2">
      <code>getenv('TESTS_LAMINAS_MAIL_SERVER_TESTDIR')</code>
      <code>getenv('TESTS_LAMINAS_MAIL_SERVER_TESTDIR')</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="4">
      <code>getenv('TESTS_LAMINAS_MAIL_SERVER_FORMAT')</code>
      <code>getenv('TESTS_LAMINAS_MAIL_SERVER_TESTDIR')</code>
      <code>getenv('TESTS_LAMINAS_MAIL_SERVER_TESTDIR')</code>
      <code>getenv('TESTS_LAMINAS_MAIL_SERVER_TESTDIR')</code>
    </PossiblyFalseOperand>
    <PossiblyInvalidArgument occurrences="2">
      <code>$mail-&gt;getUniqueId(1)</code>
      <code>$uids</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidCast occurrences="1">
      <code>$mail-&gt;getUniqueId(1)</code>
    </PossiblyInvalidCast>
    <PossiblyInvalidIterator occurrences="2">
      <code>$ids</code>
      <code>$ids</code>
    </PossiblyInvalidIterator>
    <UndefinedMethod occurrences="1">
      <code>assertInternalType</code>
    </UndefinedMethod>
    <UnusedVariable occurrences="1">
      <code>$count</code>
    </UnusedVariable>
  </file>
  <file src="test/Storage/TestAsset/MaildirOldMessage.php">
    <NonInvariantDocblockPropertyType occurrences="1">
      <code>$messageClass</code>
    </NonInvariantDocblockPropertyType>
  </file>
  <file src="test/Storage/TestAsset/MboxOldMessage.php">
    <PropertyNotSetInConstructor occurrences="1">
      <code>MboxOldMessage</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="test/TestAsset/SmtpProtocolSpy.php">
    <PropertyNotSetInConstructor occurrences="4">
      <code>SmtpProtocolSpy</code>
      <code>SmtpProtocolSpy</code>
      <code>SmtpProtocolSpy</code>
      <code>SmtpProtocolSpy</code>
    </PropertyNotSetInConstructor>
    <RedundantCastGivenDocblockType occurrences="2">
      <code>(bool) $status</code>
      <code>(bool) $status</code>
    </RedundantCastGivenDocblockType>
  </file>
  <file src="test/Transport/FactoryTest.php">
    <InvalidArgument occurrences="2">
      <code>$spec</code>
    </InvalidArgument>
    <MixedArgument occurrences="1">
      <code>$spec</code>
    </MixedArgument>
    <MixedInferredReturnType occurrences="4">
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="2">
      <code>getHost</code>
      <code>getPath</code>
    </MixedMethodCall>
    <UndefinedInterfaceMethod occurrences="2">
      <code>getOptions</code>
      <code>getOptions</code>
    </UndefinedInterfaceMethod>
    <UnusedClosureParam occurrences="2">
      <code>$code</code>
      <code>$message</code>
    </UnusedClosureParam>
  </file>
  <file src="test/Transport/FileOptionsTest.php">
    <MissingClosureParamType occurrences="1">
      <code>$transport</code>
    </MissingClosureParamType>
    <MixedArgument occurrences="1">
      <code>$test</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$test</code>
    </MixedAssignment>
    <NullArgument occurrences="1">
      <code>null</code>
    </NullArgument>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>assertIsCallable</code>
    </RedundantConditionGivenDocblockType>
    <UnusedClosureParam occurrences="1">
      <code>$transport</code>
    </UnusedClosureParam>
  </file>
  <file src="test/Transport/FileTest.php">
    <MixedArgument occurrences="1">
      <code>$file</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$file</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="3">
      <code>getLastFile</code>
      <code>getLastFile</code>
      <code>send</code>
    </MixedMethodCall>
    <UndefinedThisPropertyAssignment occurrences="1">
      <code>$this-&gt;transport</code>
    </UndefinedThisPropertyAssignment>
    <UndefinedThisPropertyFetch occurrences="1">
      <code>$this-&gt;transport</code>
    </UndefinedThisPropertyFetch>
  </file>
  <file src="test/Transport/SendmailTest.php">
    <MixedAssignment occurrences="2">
      <code>$parameters</code>
      <code>$parameters</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>iterable</code>
    </MixedInferredReturnType>
  </file>
  <file src="test/Transport/SmtpTest.php">
    <DeprecatedMethod occurrences="2">
      <code>setMethods</code>
      <code>setMethods</code>
    </DeprecatedMethod>
    <MixedAssignment occurrences="1">
      <code>$connectedTimeAfterFirstMail</code>
    </MixedAssignment>
    <RedundantCondition occurrences="1">
      <code>assertNotNull</code>
    </RedundantCondition>
  </file>
</files>
