<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="5.7.1@8e0fd880141f236847ab49a06f94f788d41a4292">
  <file src="src/CodeCoverage.php">
    <ArgumentTypeCoercion>
      <code>$unit[0]</code>
    </ArgumentTypeCoercion>
    <DocblockTypeContradiction>
      <code><![CDATA[!is_array($linesToBeCovered) && $linesToBeCovered !== false]]></code>
    </DocblockTypeContradiction>
    <InternalClass>
      <code>Test::LARGE</code>
      <code>Test::MEDIUM</code>
      <code>Test::SMALL</code>
    </InternalClass>
    <InternalMethod>
      <code>getName</code>
      <code>getName</code>
      <code>getSize</code>
      <code>isLarge</code>
      <code>isMedium</code>
    </InternalMethod>
    <RedundantCondition>
      <code><![CDATA[$class->isSubclassOf($parentClass)]]></code>
      <code>is_array($linesToBeCovered)</code>
    </RedundantCondition>
    <UnresolvableInclude>
      <code>include_once $uncoveredFile</code>
    </UnresolvableInclude>
  </file>
  <file src="src/Driver/PcovDriver.php">
    <UndefinedConstant>
      <code>inclusive</code>
    </UndefinedConstant>
    <UndefinedFunction>
      <code>clear()</code>
      <code>collect(inclusive, $filesToCollectCoverageFor)</code>
      <code>start()</code>
      <code>stop()</code>
      <code>waiting()</code>
    </UndefinedFunction>
  </file>
  <file src="src/Driver/Xdebug2Driver.php">
    <UndefinedConstant>
      <code>XDEBUG_CC_BRANCH_CHECK</code>
      <code>XDEBUG_CC_DEAD_CODE</code>
      <code>XDEBUG_CC_UNUSED</code>
    </UndefinedConstant>
  </file>
  <file src="src/Driver/Xdebug3Driver.php">
    <UndefinedConstant>
      <code>XDEBUG_CC_BRANCH_CHECK</code>
      <code>XDEBUG_CC_DEAD_CODE</code>
      <code>XDEBUG_CC_UNUSED</code>
      <code>XDEBUG_FILTER_CODE_COVERAGE</code>
      <code>XDEBUG_PATH_INCLUDE</code>
    </UndefinedConstant>
  </file>
  <file src="src/Filter.php">
    <InvalidDocblockParamName>
      <code>$files</code>
    </InvalidDocblockParamName>
  </file>
  <file src="src/Node/AbstractNode.php">
    <DocblockTypeContradiction>
      <code><![CDATA[$this->id === null]]></code>
      <code><![CDATA[$this->parent === null]]></code>
      <code><![CDATA[$this->parent === null]]></code>
      <code><![CDATA[$this->pathAsArray === null]]></code>
      <code><![CDATA[$this->pathAsString === null]]></code>
    </DocblockTypeContradiction>
    <PossiblyNullPropertyAssignmentValue>
      <code>$parent</code>
    </PossiblyNullPropertyAssignmentValue>
    <PropertyNotSetInConstructor>
      <code>$id</code>
      <code>$pathAsArray</code>
      <code>$pathAsString</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="src/Node/Builder.php">
    <UnsupportedReferenceUsage>
      <code><![CDATA[$pointer = &$pointer[$path[$i] . $type]]]></code>
    </UnsupportedReferenceUsage>
  </file>
  <file src="src/Node/Directory.php">
    <DocblockTypeContradiction>
      <code><![CDATA[$this->classes === null]]></code>
      <code><![CDATA[$this->functions === null]]></code>
      <code><![CDATA[$this->traits === null]]></code>
    </DocblockTypeContradiction>
    <MissingTemplateParam>
      <code>IteratorAggregate</code>
    </MissingTemplateParam>
    <PropertyNotSetInConstructor>
      <code>$classes</code>
      <code>$functions</code>
      <code>$traits</code>
    </PropertyNotSetInConstructor>
    <PropertyTypeCoercion>
      <code><![CDATA[$this->directories]]></code>
      <code><![CDATA[$this->files]]></code>
    </PropertyTypeCoercion>
    <UnsupportedReferenceUsage>
      <code><![CDATA[$this->directories[] = &$this->children[count($this->children) - 1]]]></code>
      <code><![CDATA[$this->files[]    = &$this->children[count($this->children) - 1]]]></code>
    </UnsupportedReferenceUsage>
  </file>
  <file src="src/Node/File.php">
    <DocblockTypeContradiction>
      <code><![CDATA[$this->numClasses === null]]></code>
      <code><![CDATA[$this->numMethods === null]]></code>
      <code><![CDATA[$this->numTestedFunctions === null]]></code>
      <code><![CDATA[$this->numTestedMethods === null]]></code>
      <code><![CDATA[$this->numTraits === null]]></code>
    </DocblockTypeContradiction>
    <InvalidPropertyAssignmentValue>
      <code><![CDATA[$this->codeUnitsByLine]]></code>
      <code><![CDATA[$this->codeUnitsByLine]]></code>
      <code><![CDATA[$this->codeUnitsByLine]]></code>
    </InvalidPropertyAssignmentValue>
    <PropertyNotSetInConstructor>
      <code>$numClasses</code>
      <code>$numMethods</code>
      <code>$numTestedFunctions</code>
      <code>$numTestedMethods</code>
      <code>$numTraits</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="src/Node/Iterator.php">
    <ArgumentTypeCoercion>
      <code><![CDATA[$this->nodes[$this->position]]]></code>
    </ArgumentTypeCoercion>
    <MissingTemplateParam>
      <code>RecursiveIterator</code>
    </MissingTemplateParam>
    <PropertyNotSetInConstructor>
      <code>$position</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="src/ProcessedCodeCoverageData.php">
    <PossiblyNullArgument>
      <code><![CDATA[$this->functionCoverage[$file][$functionName]['branches'][$branchId]['hit']]]></code>
    </PossiblyNullArgument>
    <PossiblyNullArrayAccess>
      <code><![CDATA[$this->functionCoverage[$file][$functionName]['branches']]]></code>
      <code><![CDATA[$this->functionCoverage[$file][$functionName]['branches'][$branchId]]]></code>
      <code><![CDATA[$this->functionCoverage[$file][$functionName]['branches'][$branchId]['hit']]]></code>
    </PossiblyNullArrayAccess>
    <PossiblyNullArrayAssignment>
      <code><![CDATA[$this->functionCoverage[$file][$functionName]['branches']]]></code>
    </PossiblyNullArrayAssignment>
  </file>
  <file src="src/Report/Html/Renderer.php">
    <PossiblyUndefinedArrayOffset>
      <code><![CDATA[$data['branchesExecutedPercentAsString']]]></code>
      <code><![CDATA[$data['linesExecutedPercentAsString']]]></code>
      <code><![CDATA[$data['pathsExecutedPercentAsString']]]></code>
      <code><![CDATA[$data['testedMethodsPercentAsString']]]></code>
    </PossiblyUndefinedArrayOffset>
  </file>
  <file src="src/Report/Html/Renderer/File.php">
    <InternalClass>
      <code>BaseTestRunner::STATUS_ERROR</code>
      <code>BaseTestRunner::STATUS_FAILURE</code>
      <code>BaseTestRunner::STATUS_INCOMPLETE</code>
      <code>BaseTestRunner::STATUS_PASSED</code>
      <code>BaseTestRunner::STATUS_RISKY</code>
      <code>BaseTestRunner::STATUS_SKIPPED</code>
      <code>BaseTestRunner::STATUS_WARNING</code>
    </InternalClass>
    <InvalidArrayOffset>
      <code>$tokens[$j - 1]</code>
    </InvalidArrayOffset>
  </file>
  <file src="src/Report/Xml/BuildInformation.php">
    <PossiblyNullReference>
      <code>createElementNS</code>
    </PossiblyNullReference>
  </file>
  <file src="src/Report/Xml/Coverage.php">
    <PossiblyNullReference>
      <code>createDocumentFragment</code>
      <code>replaceChild</code>
    </PossiblyNullReference>
  </file>
  <file src="src/Report/Xml/Facade.php">
    <PropertyNotSetInConstructor>
      <code>$project</code>
      <code>$target</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="src/Report/Xml/File.php">
    <ArgumentTypeCoercion>
      <code>$totalsContainer</code>
    </ArgumentTypeCoercion>
    <PossiblyNullPropertyAssignmentValue>
      <code><![CDATA[$context->ownerDocument]]></code>
    </PossiblyNullPropertyAssignmentValue>
  </file>
  <file src="src/Report/Xml/Node.php">
    <ArgumentTypeCoercion>
      <code>$totalsContainer</code>
    </ArgumentTypeCoercion>
    <PossiblyNullPropertyAssignmentValue>
      <code><![CDATA[$context->ownerDocument]]></code>
    </PossiblyNullPropertyAssignmentValue>
    <PropertyNotSetInConstructor>
      <code>$contextNode</code>
      <code>$dom</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="src/Report/Xml/Report.php">
    <MissingParamType>
      <code>$name</code>
      <code>$name</code>
      <code>$name</code>
      <code>$name</code>
    </MissingParamType>
  </file>
  <file src="src/Report/Xml/Source.php">
    <PossiblyNullArgument>
      <code><![CDATA[$context->namespaceURI]]></code>
    </PossiblyNullArgument>
    <PossiblyNullReference>
      <code>importNode</code>
      <code>replaceChild</code>
    </PossiblyNullReference>
  </file>
  <file src="src/Report/Xml/Tests.php">
    <MissingPropertyType>
      <code>$codeMap</code>
    </MissingPropertyType>
    <PossiblyNullReference>
      <code>createElementNS</code>
    </PossiblyNullReference>
  </file>
  <file src="src/Report/Xml/Totals.php">
    <PossiblyNullReference>
      <code>createElementNS</code>
    </PossiblyNullReference>
  </file>
  <file src="src/Report/Xml/Unit.php">
    <PossiblyNullReference>
      <code>createElementNS</code>
      <code>createElementNS</code>
    </PossiblyNullReference>
  </file>
  <file src="src/StaticAnalysis/CachingFileAnalyser.php">
    <NullableReturnStatement>
      <code><![CDATA[$this->cache[$filename]['classesIn']]]></code>
      <code><![CDATA[$this->cache[$filename]['executableLinesIn']]]></code>
      <code><![CDATA[$this->cache[$filename]['functionsIn']]]></code>
      <code><![CDATA[$this->cache[$filename]['ignoredLinesFor']]]></code>
      <code><![CDATA[$this->cache[$filename]['linesOfCodeFor']]]></code>
      <code><![CDATA[$this->cache[$filename]['traitsIn']]]></code>
    </NullableReturnStatement>
    <PossiblyNullArrayAccess>
      <code><![CDATA[$this->cache[$filename]['classesIn']]]></code>
      <code><![CDATA[$this->cache[$filename]['executableLinesIn']]]></code>
      <code><![CDATA[$this->cache[$filename]['functionsIn']]]></code>
      <code><![CDATA[$this->cache[$filename]['ignoredLinesFor']]]></code>
      <code><![CDATA[$this->cache[$filename]['linesOfCodeFor']]]></code>
      <code><![CDATA[$this->cache[$filename]['traitsIn']]]></code>
    </PossiblyNullArrayAccess>
    <PossiblyUndefinedArrayOffset>
      <code><![CDATA[$this->cache[$filename]]]></code>
      <code><![CDATA[$this->cache[$filename]]]></code>
      <code><![CDATA[$this->cache[$filename]]]></code>
      <code><![CDATA[$this->cache[$filename]]]></code>
      <code><![CDATA[$this->cache[$filename]]]></code>
      <code><![CDATA[$this->cache[$filename]]]></code>
    </PossiblyUndefinedArrayOffset>
  </file>
  <file src="src/StaticAnalysis/CodeUnitFindingVisitor.php">
    <PossiblyInvalidOperand>
      <code><![CDATA[$parameter->var->name]]></code>
    </PossiblyInvalidOperand>
    <PossiblyNullReference>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
    </PossiblyNullReference>
    <PossiblyUndefinedMethod>
      <code>toString</code>
    </PossiblyUndefinedMethod>
    <RedundantConditionGivenDocblockType>
      <code>$node instanceof Function_</code>
      <code>$node instanceof Function_</code>
      <code>$type instanceof ComplexType</code>
      <code><![CDATA[assert($node->namespacedName instanceof Name)]]></code>
      <code><![CDATA[assert($node->namespacedName instanceof Name)]]></code>
      <code><![CDATA[assert($parentNode->namespacedName instanceof Name)]]></code>
      <code><![CDATA[assert(isset($node->name))]]></code>
      <code><![CDATA[assert(isset($node->namespacedName))]]></code>
      <code><![CDATA[assert(isset($parameter->var->name))]]></code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="src/Version.php">
    <DocblockTypeContradiction>
      <code>self::$version === null</code>
    </DocblockTypeContradiction>
  </file>
</files>
