Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. File.php

class File

Same name in this branch
  1. 11.1.x vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php \SebastianBergmann\CodeCoverage\Report\Html\File
  2. 11.1.x vendor/phpunit/php-code-coverage/src/Report/Xml/File.php \SebastianBergmann\CodeCoverage\Report\Xml\File
  3. 11.1.x vendor/phpunit/phpunit/src/TextUI/Configuration/Value/File.php \PHPUnit\TextUI\Configuration\File
  4. 11.1.x vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php \PhpParser\Node\Scalar\MagicConst\File
  5. 11.1.x vendor/symfony/mime/Part/File.php \Symfony\Component\Mime\Part\File
  6. 11.1.x vendor/symfony/validator/Constraints/File.php \Symfony\Component\Validator\Constraints\File
  7. 11.1.x vendor/symfony/http-foundation/File/File.php \Symfony\Component\HttpFoundation\File\File
  8. 11.1.x vendor/squizlabs/php_codesniffer/src/Files/File.php \PHP_CodeSniffer\Files\File
  9. 11.1.x core/lib/Drupal/Core/Render/Element/File.php \Drupal\Core\Render\Element\File
  10. 11.1.x core/modules/file/src/Plugin/migrate/source/d6/File.php \Drupal\file\Plugin\migrate\source\d6\File
  11. 11.1.x core/modules/file/src/Plugin/migrate/source/d7/File.php \Drupal\file\Plugin\migrate\source\d7\File
  12. 11.1.x core/modules/file/src/Plugin/views/field/File.php \Drupal\file\Plugin\views\field\File
  13. 11.1.x core/modules/file/src/Plugin/views/wizard/File.php \Drupal\file\Plugin\views\wizard\File
  14. 11.1.x core/modules/file/src/Entity/File.php \Drupal\file\Entity\File
  15. 11.1.x core/modules/media/src/Plugin/media/Source/File.php \Drupal\media\Plugin\media\Source\File

@internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage

@psalm-import-type CodeUnitFunctionType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor @psalm-import-type CodeUnitMethodType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor @psalm-import-type CodeUnitClassType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor @psalm-import-type CodeUnitTraitType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor @psalm-import-type LinesOfCodeType from \SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser @psalm-import-type LinesType from \SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser

@psalm-type ProcessedFunctionType = array{ functionName: string, namespace: string, signature: string, startLine: int, endLine: int, executableLines: int, executedLines: int, executableBranches: int, executedBranches: int, executablePaths: int, executedPaths: int, ccn: int, coverage: int|float, crap: int|string, link: string } @psalm-type ProcessedMethodType = array{ methodName: string, visibility: string, signature: string, startLine: int, endLine: int, executableLines: int, executedLines: int, executableBranches: int, executedBranches: int, executablePaths: int, executedPaths: int, ccn: int, coverage: float|int, crap: int|string, link: string } @psalm-type ProcessedClassType = array{ className: string, namespace: string, methods: array<string, ProcessedMethodType>, startLine: int, executableLines: int, executedLines: int, executableBranches: int, executedBranches: int, executablePaths: int, executedPaths: int, ccn: int, coverage: int|float, crap: int|string, link: string } @psalm-type ProcessedTraitType = array{ traitName: string, namespace: string, methods: array<string, ProcessedMethodType>, startLine: int, executableLines: int, executedLines: int, executableBranches: int, executedBranches: int, executablePaths: int, executedPaths: int, ccn: int, coverage: float|int, crap: int|string, link: string }

Hierarchy

  • class \SebastianBergmann\CodeCoverage\Node\AbstractNode implements \Countable
    • class \SebastianBergmann\CodeCoverage\Node\File extends \SebastianBergmann\CodeCoverage\Node\AbstractNode

Expanded class hierarchy of File

7 files declare their use of File
Clover.php in vendor/phpunit/php-code-coverage/src/Report/Clover.php
Cobertura.php in vendor/phpunit/php-code-coverage/src/Report/Cobertura.php
Crap4j.php in vendor/phpunit/php-code-coverage/src/Report/Crap4j.php
Facade.php in vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php
File.php in vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php

... See full list

171 string references to 'File'
AbstractUriElement::__construct in vendor/symfony/dom-crawler/AbstractUriElement.php
ArchiveCommand::execute in vendor/composer/composer/src/Composer/Command/ArchiveCommand.php
Executes the current command.
AssetResolver::getCssAssets in core/lib/Drupal/Core/Asset/AssetResolver.php
Returns the CSS assets for the current response's libraries.
AssetResolver::getJsAssets in core/lib/Drupal/Core/Asset/AssetResolver.php
Returns the JavaScript assets for the current response's libraries.
BaseFieldFileFormatterBase::isApplicable in core/modules/file/src/Plugin/Field/FieldFormatter/BaseFieldFileFormatterBase.php
Returns if the formatter can be used for the provided field.

... See full list

File

vendor/phpunit/php-code-coverage/src/Node/File.php, line 93

Namespace

SebastianBergmann\CodeCoverage\Node
View source
final class File extends AbstractNode {
    
    /**
     * @psalm-var array<int, ?list<non-empty-string>>
     */
    private array $lineCoverageData;
    private array $functionCoverageData;
    private readonly array $testData;
    private int $numExecutableLines = 0;
    private int $numExecutedLines = 0;
    private int $numExecutableBranches = 0;
    private int $numExecutedBranches = 0;
    private int $numExecutablePaths = 0;
    private int $numExecutedPaths = 0;
    
    /**
     * @psalm-var array<string, ProcessedClassType>
     */
    private array $classes = [];
    
    /**
     * @psalm-var array<string, ProcessedTraitType>
     */
    private array $traits = [];
    
    /**
     * @psalm-var array<string, ProcessedFunctionType>
     */
    private array $functions = [];
    
    /**
     * @psalm-var LinesOfCodeType
     */
    private readonly array $linesOfCode;
    private ?int $numClasses = null;
    private int $numTestedClasses = 0;
    private ?int $numTraits = null;
    private int $numTestedTraits = 0;
    private ?int $numMethods = null;
    private ?int $numTestedMethods = null;
    private ?int $numTestedFunctions = null;
    
    /**
     * @var array<int, array|array{0: CodeUnitClassType, 1: string}|array{0: CodeUnitFunctionType}|array{0: CodeUnitTraitType, 1: string}>
     */
    private array $codeUnitsByLine = [];
    
    /**
     * @psalm-param array<int, ?list<non-empty-string>> $lineCoverageData
     * @psalm-param LinesOfCodeType $linesOfCode
     * @psalm-param array<string, CodeUnitClassType> $classes
     * @psalm-param array<string, CodeUnitTraitType> $traits
     * @psalm-param array<string, CodeUnitFunctionType> $functions
     */
    public function __construct(string $name, AbstractNode $parent, array $lineCoverageData, array $functionCoverageData, array $testData, array $classes, array $traits, array $functions, array $linesOfCode) {
        parent::__construct($name, $parent);
        $this->lineCoverageData = $lineCoverageData;
        $this->functionCoverageData = $functionCoverageData;
        $this->testData = $testData;
        $this->linesOfCode = $linesOfCode;
        $this->calculateStatistics($classes, $traits, $functions);
    }
    public function count() : int {
        return 1;
    }
    
    /**
     * @psalm-return array<int, ?list<non-empty-string>>
     */
    public function lineCoverageData() : array {
        return $this->lineCoverageData;
    }
    public function functionCoverageData() : array {
        return $this->functionCoverageData;
    }
    public function testData() : array {
        return $this->testData;
    }
    public function classes() : array {
        return $this->classes;
    }
    public function traits() : array {
        return $this->traits;
    }
    public function functions() : array {
        return $this->functions;
    }
    public function linesOfCode() : array {
        return $this->linesOfCode;
    }
    public function numberOfExecutableLines() : int {
        return $this->numExecutableLines;
    }
    public function numberOfExecutedLines() : int {
        return $this->numExecutedLines;
    }
    public function numberOfExecutableBranches() : int {
        return $this->numExecutableBranches;
    }
    public function numberOfExecutedBranches() : int {
        return $this->numExecutedBranches;
    }
    public function numberOfExecutablePaths() : int {
        return $this->numExecutablePaths;
    }
    public function numberOfExecutedPaths() : int {
        return $this->numExecutedPaths;
    }
    public function numberOfClasses() : int {
        if ($this->numClasses === null) {
            $this->numClasses = 0;
            foreach ($this->classes as $class) {
                foreach ($class['methods'] as $method) {
                    if ($method['executableLines'] > 0) {
                        $this->numClasses++;
                        continue 2;
                    }
                }
            }
        }
        return $this->numClasses;
    }
    public function numberOfTestedClasses() : int {
        return $this->numTestedClasses;
    }
    public function numberOfTraits() : int {
        if ($this->numTraits === null) {
            $this->numTraits = 0;
            foreach ($this->traits as $trait) {
                foreach ($trait['methods'] as $method) {
                    if ($method['executableLines'] > 0) {
                        $this->numTraits++;
                        continue 2;
                    }
                }
            }
        }
        return $this->numTraits;
    }
    public function numberOfTestedTraits() : int {
        return $this->numTestedTraits;
    }
    public function numberOfMethods() : int {
        if ($this->numMethods === null) {
            $this->numMethods = 0;
            foreach ($this->classes as $class) {
                foreach ($class['methods'] as $method) {
                    if ($method['executableLines'] > 0) {
                        $this->numMethods++;
                    }
                }
            }
            foreach ($this->traits as $trait) {
                foreach ($trait['methods'] as $method) {
                    if ($method['executableLines'] > 0) {
                        $this->numMethods++;
                    }
                }
            }
        }
        return $this->numMethods;
    }
    public function numberOfTestedMethods() : int {
        if ($this->numTestedMethods === null) {
            $this->numTestedMethods = 0;
            foreach ($this->classes as $class) {
                foreach ($class['methods'] as $method) {
                    if ($method['executableLines'] > 0 && $method['coverage'] === 100) {
                        $this->numTestedMethods++;
                    }
                }
            }
            foreach ($this->traits as $trait) {
                foreach ($trait['methods'] as $method) {
                    if ($method['executableLines'] > 0 && $method['coverage'] === 100) {
                        $this->numTestedMethods++;
                    }
                }
            }
        }
        return $this->numTestedMethods;
    }
    public function numberOfFunctions() : int {
        return count($this->functions);
    }
    public function numberOfTestedFunctions() : int {
        if ($this->numTestedFunctions === null) {
            $this->numTestedFunctions = 0;
            foreach ($this->functions as $function) {
                if ($function['executableLines'] > 0 && $function['coverage'] === 100) {
                    $this->numTestedFunctions++;
                }
            }
        }
        return $this->numTestedFunctions;
    }
    
    /**
     * @psalm-param array<string, CodeUnitClassType> $classes
     * @psalm-param array<string, CodeUnitTraitType> $traits
     * @psalm-param array<string, CodeUnitFunctionType> $functions
     */
    private function calculateStatistics(array $classes, array $traits, array $functions) : void {
        foreach (range(1, $this->linesOfCode['linesOfCode']) as $lineNumber) {
            $this->codeUnitsByLine[$lineNumber] = [];
        }
        $this->processClasses($classes);
        $this->processTraits($traits);
        $this->processFunctions($functions);
        foreach (range(1, $this->linesOfCode['linesOfCode']) as $lineNumber) {
            if (isset($this->lineCoverageData[$lineNumber])) {
                foreach ($this->codeUnitsByLine[$lineNumber] as &$codeUnit) {
                    $codeUnit['executableLines']++;
                }
                unset($codeUnit);
                $this->numExecutableLines++;
                if (count($this->lineCoverageData[$lineNumber]) > 0) {
                    foreach ($this->codeUnitsByLine[$lineNumber] as &$codeUnit) {
                        $codeUnit['executedLines']++;
                    }
                    unset($codeUnit);
                    $this->numExecutedLines++;
                }
            }
        }
        foreach ($this->traits as &$trait) {
            foreach ($trait['methods'] as &$method) {
                $methodLineCoverage = $method['executableLines'] ? $method['executedLines'] / $method['executableLines'] * 100 : 100;
                $methodBranchCoverage = $method['executableBranches'] ? $method['executedBranches'] / $method['executableBranches'] * 100 : 0;
                $methodPathCoverage = $method['executablePaths'] ? $method['executedPaths'] / $method['executablePaths'] * 100 : 0;
                $method['coverage'] = $methodBranchCoverage ?: $methodLineCoverage;
                $method['crap'] = (new CrapIndex($method['ccn'], $methodPathCoverage ?: $methodLineCoverage))->asString();
                $trait['ccn'] += $method['ccn'];
            }
            unset($method);
            $traitLineCoverage = $trait['executableLines'] ? $trait['executedLines'] / $trait['executableLines'] * 100 : 100;
            $traitBranchCoverage = $trait['executableBranches'] ? $trait['executedBranches'] / $trait['executableBranches'] * 100 : 0;
            $traitPathCoverage = $trait['executablePaths'] ? $trait['executedPaths'] / $trait['executablePaths'] * 100 : 0;
            $trait['coverage'] = $traitBranchCoverage ?: $traitLineCoverage;
            $trait['crap'] = (new CrapIndex($trait['ccn'], $traitPathCoverage ?: $traitLineCoverage))->asString();
            if ($trait['executableLines'] > 0 && $trait['coverage'] === 100) {
                $this->numTestedClasses++;
            }
        }
        unset($trait);
        foreach ($this->classes as &$class) {
            foreach ($class['methods'] as &$method) {
                $methodLineCoverage = $method['executableLines'] ? $method['executedLines'] / $method['executableLines'] * 100 : 100;
                $methodBranchCoverage = $method['executableBranches'] ? $method['executedBranches'] / $method['executableBranches'] * 100 : 0;
                $methodPathCoverage = $method['executablePaths'] ? $method['executedPaths'] / $method['executablePaths'] * 100 : 0;
                $method['coverage'] = $methodBranchCoverage ?: $methodLineCoverage;
                $method['crap'] = (new CrapIndex($method['ccn'], $methodPathCoverage ?: $methodLineCoverage))->asString();
                $class['ccn'] += $method['ccn'];
            }
            unset($method);
            $classLineCoverage = $class['executableLines'] ? $class['executedLines'] / $class['executableLines'] * 100 : 100;
            $classBranchCoverage = $class['executableBranches'] ? $class['executedBranches'] / $class['executableBranches'] * 100 : 0;
            $classPathCoverage = $class['executablePaths'] ? $class['executedPaths'] / $class['executablePaths'] * 100 : 0;
            $class['coverage'] = $classBranchCoverage ?: $classLineCoverage;
            $class['crap'] = (new CrapIndex($class['ccn'], $classPathCoverage ?: $classLineCoverage))->asString();
            if ($class['executableLines'] > 0 && $class['coverage'] === 100) {
                $this->numTestedClasses++;
            }
        }
        unset($class);
        foreach ($this->functions as &$function) {
            $functionLineCoverage = $function['executableLines'] ? $function['executedLines'] / $function['executableLines'] * 100 : 100;
            $functionBranchCoverage = $function['executableBranches'] ? $function['executedBranches'] / $function['executableBranches'] * 100 : 0;
            $functionPathCoverage = $function['executablePaths'] ? $function['executedPaths'] / $function['executablePaths'] * 100 : 0;
            $function['coverage'] = $functionBranchCoverage ?: $functionLineCoverage;
            $function['crap'] = (new CrapIndex($function['ccn'], $functionPathCoverage ?: $functionLineCoverage))->asString();
            if ($function['coverage'] === 100) {
                $this->numTestedFunctions++;
            }
        }
    }
    
    /**
     * @psalm-param array<string, CodeUnitClassType> $classes
     */
    private function processClasses(array $classes) : void {
        $link = $this->id() . '.html#';
        foreach ($classes as $className => $class) {
            $this->classes[$className] = [
                'className' => $className,
                'namespace' => $class['namespace'],
                'methods' => [],
                'startLine' => $class['startLine'],
                'executableLines' => 0,
                'executedLines' => 0,
                'executableBranches' => 0,
                'executedBranches' => 0,
                'executablePaths' => 0,
                'executedPaths' => 0,
                'ccn' => 0,
                'coverage' => 0,
                'crap' => 0,
                'link' => $link . $class['startLine'],
            ];
            foreach ($class['methods'] as $methodName => $method) {
                $methodData = $this->newMethod($className, $methodName, $method, $link);
                $this->classes[$className]['methods'][$methodName] = $methodData;
                $this->classes[$className]['executableBranches'] += $methodData['executableBranches'];
                $this->classes[$className]['executedBranches'] += $methodData['executedBranches'];
                $this->classes[$className]['executablePaths'] += $methodData['executablePaths'];
                $this->classes[$className]['executedPaths'] += $methodData['executedPaths'];
                $this->numExecutableBranches += $methodData['executableBranches'];
                $this->numExecutedBranches += $methodData['executedBranches'];
                $this->numExecutablePaths += $methodData['executablePaths'];
                $this->numExecutedPaths += $methodData['executedPaths'];
                foreach (range($method['startLine'], $method['endLine']) as $lineNumber) {
                    $this->codeUnitsByLine[$lineNumber] = [
                        &$this->classes[$className],
                        &$this->classes[$className]['methods'][$methodName],
                    ];
                }
            }
        }
    }
    
    /**
     * @psalm-param array<string, CodeUnitTraitType> $traits
     */
    private function processTraits(array $traits) : void {
        $link = $this->id() . '.html#';
        foreach ($traits as $traitName => $trait) {
            $this->traits[$traitName] = [
                'traitName' => $traitName,
                'namespace' => $trait['namespace'],
                'methods' => [],
                'startLine' => $trait['startLine'],
                'executableLines' => 0,
                'executedLines' => 0,
                'executableBranches' => 0,
                'executedBranches' => 0,
                'executablePaths' => 0,
                'executedPaths' => 0,
                'ccn' => 0,
                'coverage' => 0,
                'crap' => 0,
                'link' => $link . $trait['startLine'],
            ];
            foreach ($trait['methods'] as $methodName => $method) {
                $methodData = $this->newMethod($traitName, $methodName, $method, $link);
                $this->traits[$traitName]['methods'][$methodName] = $methodData;
                $this->traits[$traitName]['executableBranches'] += $methodData['executableBranches'];
                $this->traits[$traitName]['executedBranches'] += $methodData['executedBranches'];
                $this->traits[$traitName]['executablePaths'] += $methodData['executablePaths'];
                $this->traits[$traitName]['executedPaths'] += $methodData['executedPaths'];
                $this->numExecutableBranches += $methodData['executableBranches'];
                $this->numExecutedBranches += $methodData['executedBranches'];
                $this->numExecutablePaths += $methodData['executablePaths'];
                $this->numExecutedPaths += $methodData['executedPaths'];
                foreach (range($method['startLine'], $method['endLine']) as $lineNumber) {
                    $this->codeUnitsByLine[$lineNumber] = [
                        &$this->traits[$traitName],
                        &$this->traits[$traitName]['methods'][$methodName],
                    ];
                }
            }
        }
    }
    
    /**
     * @psalm-param array<string, CodeUnitFunctionType> $functions
     */
    private function processFunctions(array $functions) : void {
        $link = $this->id() . '.html#';
        foreach ($functions as $functionName => $function) {
            $this->functions[$functionName] = [
                'functionName' => $functionName,
                'namespace' => $function['namespace'],
                'signature' => $function['signature'],
                'startLine' => $function['startLine'],
                'endLine' => $function['endLine'],
                'executableLines' => 0,
                'executedLines' => 0,
                'executableBranches' => 0,
                'executedBranches' => 0,
                'executablePaths' => 0,
                'executedPaths' => 0,
                'ccn' => $function['ccn'],
                'coverage' => 0,
                'crap' => 0,
                'link' => $link . $function['startLine'],
            ];
            foreach (range($function['startLine'], $function['endLine']) as $lineNumber) {
                $this->codeUnitsByLine[$lineNumber] = [
                    &$this->functions[$functionName],
                ];
            }
            if (isset($this->functionCoverageData[$functionName]['branches'])) {
                $this->functions[$functionName]['executableBranches'] = count($this->functionCoverageData[$functionName]['branches']);
                $this->functions[$functionName]['executedBranches'] = count(array_filter($this->functionCoverageData[$functionName]['branches'], static function (array $branch) {
                    return (bool) $branch['hit'];
                }));
            }
            if (isset($this->functionCoverageData[$functionName]['paths'])) {
                $this->functions[$functionName]['executablePaths'] = count($this->functionCoverageData[$functionName]['paths']);
                $this->functions[$functionName]['executedPaths'] = count(array_filter($this->functionCoverageData[$functionName]['paths'], static function (array $path) {
                    return (bool) $path['hit'];
                }));
            }
            $this->numExecutableBranches += $this->functions[$functionName]['executableBranches'];
            $this->numExecutedBranches += $this->functions[$functionName]['executedBranches'];
            $this->numExecutablePaths += $this->functions[$functionName]['executablePaths'];
            $this->numExecutedPaths += $this->functions[$functionName]['executedPaths'];
        }
    }
    
    /**
     * @psalm-param CodeUnitMethodType $method
     *
     * @psalm-return ProcessedMethodType
     */
    private function newMethod(string $className, string $methodName, array $method, string $link) : array {
        $methodData = [
            'methodName' => $methodName,
            'visibility' => $method['visibility'],
            'signature' => $method['signature'],
            'startLine' => $method['startLine'],
            'endLine' => $method['endLine'],
            'executableLines' => 0,
            'executedLines' => 0,
            'executableBranches' => 0,
            'executedBranches' => 0,
            'executablePaths' => 0,
            'executedPaths' => 0,
            'ccn' => $method['ccn'],
            'coverage' => 0,
            'crap' => 0,
            'link' => $link . $method['startLine'],
        ];
        $key = $className . '->' . $methodName;
        if (isset($this->functionCoverageData[$key]['branches'])) {
            $methodData['executableBranches'] = count($this->functionCoverageData[$key]['branches']);
            $methodData['executedBranches'] = count(array_filter($this->functionCoverageData[$key]['branches'], static function (array $branch) {
                return (bool) $branch['hit'];
            }));
        }
        if (isset($this->functionCoverageData[$key]['paths'])) {
            $methodData['executablePaths'] = count($this->functionCoverageData[$key]['paths']);
            $methodData['executedPaths'] = count(array_filter($this->functionCoverageData[$key]['paths'], static function (array $path) {
                return (bool) $path['hit'];
            }));
        }
        return $methodData;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title
AbstractNode::$id private property
AbstractNode::$name private property
AbstractNode::$parent private property
AbstractNode::$pathAsArray private property
AbstractNode::$pathAsString private property
AbstractNode::classesAndTraits public function
AbstractNode::id public function
AbstractNode::name public function
AbstractNode::numberOfClassesAndTraits public function
AbstractNode::numberOfFunctionsAndMethods public function
AbstractNode::numberOfTestedClassesAndTraits public function
AbstractNode::numberOfTestedFunctionsAndMethods public function
AbstractNode::parent public function
AbstractNode::pathAsArray public function
AbstractNode::pathAsString public function
AbstractNode::percentageOfExecutedBranches public function
AbstractNode::percentageOfExecutedLines public function
AbstractNode::percentageOfExecutedPaths public function
AbstractNode::percentageOfTestedClasses public function
AbstractNode::percentageOfTestedClassesAndTraits public function
AbstractNode::percentageOfTestedFunctions public function
AbstractNode::percentageOfTestedFunctionsAndMethods public function
AbstractNode::percentageOfTestedMethods public function
AbstractNode::percentageOfTestedTraits public function
AbstractNode::processId private function
AbstractNode::processPath private function
File::$classes private property @psalm-var array&lt;string, ProcessedClassType&gt;
File::$codeUnitsByLine private property
File::$functionCoverageData private property
File::$functions private property @psalm-var array&lt;string, ProcessedFunctionType&gt;
File::$lineCoverageData private property @psalm-var array&lt;int, ?list&lt;non-empty-string&gt;&gt;
File::$linesOfCode private property @psalm-var LinesOfCodeType
File::$numClasses private property
File::$numExecutableBranches private property
File::$numExecutableLines private property
File::$numExecutablePaths private property
File::$numExecutedBranches private property
File::$numExecutedLines private property
File::$numExecutedPaths private property
File::$numMethods private property
File::$numTestedClasses private property
File::$numTestedFunctions private property
File::$numTestedMethods private property
File::$numTestedTraits private property
File::$numTraits private property
File::$testData private property
File::$traits private property @psalm-var array&lt;string, ProcessedTraitType&gt;
File::calculateStatistics private function @psalm-param array&lt;string, CodeUnitClassType&gt; $classes
@psalm-param array&lt;string, CodeUnitTraitType&gt; $traits
@psalm-param array&lt;string, CodeUnitFunctionType&gt; $functions
File::classes public function @psalm-return array&lt;string, ProcessedClassType&gt; Overrides AbstractNode::classes
File::count public function
File::functionCoverageData public function
File::functions public function @psalm-return array&lt;string, ProcessedFunctionType&gt; Overrides AbstractNode::functions
File::lineCoverageData public function @psalm-return array&lt;int, ?list&lt;non-empty-string&gt;&gt;
File::linesOfCode public function @psalm-return LinesOfCodeType Overrides AbstractNode::linesOfCode
File::newMethod private function @psalm-param CodeUnitMethodType $method
File::numberOfClasses public function Overrides AbstractNode::numberOfClasses
File::numberOfExecutableBranches public function Overrides AbstractNode::numberOfExecutableBranches
File::numberOfExecutableLines public function Overrides AbstractNode::numberOfExecutableLines
File::numberOfExecutablePaths public function Overrides AbstractNode::numberOfExecutablePaths
File::numberOfExecutedBranches public function Overrides AbstractNode::numberOfExecutedBranches
File::numberOfExecutedLines public function Overrides AbstractNode::numberOfExecutedLines
File::numberOfExecutedPaths public function Overrides AbstractNode::numberOfExecutedPaths
File::numberOfFunctions public function Overrides AbstractNode::numberOfFunctions
File::numberOfMethods public function Overrides AbstractNode::numberOfMethods
File::numberOfTestedClasses public function Overrides AbstractNode::numberOfTestedClasses
File::numberOfTestedFunctions public function Overrides AbstractNode::numberOfTestedFunctions
File::numberOfTestedMethods public function Overrides AbstractNode::numberOfTestedMethods
File::numberOfTestedTraits public function Overrides AbstractNode::numberOfTestedTraits
File::numberOfTraits public function Overrides AbstractNode::numberOfTraits
File::processClasses private function @psalm-param array&lt;string, CodeUnitClassType&gt; $classes
File::processFunctions private function @psalm-param array&lt;string, CodeUnitFunctionType&gt; $functions
File::processTraits private function @psalm-param array&lt;string, CodeUnitTraitType&gt; $traits
File::testData public function
File::traits public function @psalm-return array&lt;string, ProcessedTraitType&gt; Overrides AbstractNode::traits
File::__construct public function @psalm-param array&lt;int, ?list&lt;non-empty-string&gt;&gt; $lineCoverageData
@psalm-param LinesOfCodeType $linesOfCode
@psalm-param array&lt;string, CodeUnitClassType&gt; $classes
@psalm-param array&lt;string, CodeUnitTraitType&gt;…
Overrides AbstractNode::__construct

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal