* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace SebastianBergmann\CodeCoverage\StaticAnalysis; /** * @phpstan-type LinesType array * * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage */ final readonly class AnalysisResult { /** * @var array */ private array $interfaces; /** * @var array */ private array $classes; /** * @var array */ private array $traits; /** * @var array */ private array $functions; private LinesOfCode $linesOfCode; /** * @var LinesType */ private array $executableLines; /** * @var LinesType */ private array $ignoredLines; /** * @param array $interfaces * @param array $classes * @param array $traits * @param array $functions * @param LinesType $executableLines * @param LinesType $ignoredLines */ public function __construct(array $interfaces, array $classes, array $traits, array $functions, LinesOfCode $linesOfCode, array $executableLines, array $ignoredLines) { $this->interfaces = $interfaces; $this->classes = $classes; $this->traits = $traits; $this->functions = $functions; $this->linesOfCode = $linesOfCode; $this->executableLines = $executableLines; $this->ignoredLines = $ignoredLines; } /** * @return array */ public function interfaces(): array { return $this->interfaces; } /** * @return array */ public function classes(): array { return $this->classes; } /** * @return array */ public function traits(): array { return $this->traits; } /** * @return array */ public function functions(): array { return $this->functions; } public function linesOfCode(): LinesOfCode { return $this->linesOfCode; } /** * @return LinesType */ public function executableLines(): array { return $this->executableLines; } /** * @return LinesType */ public function ignoredLines(): array { return $this->ignoredLines; } }