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

Breadcrumb

  1. Drupal Core 11.1.x

Source.php

Same filename in this branch
  1. 11.1.x vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php
  2. 11.1.x vendor/twig/twig/src/Source.php
  3. 11.1.x vendor/squizlabs/php_codesniffer/src/Reports/Source.php
  4. 11.1.x vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Source.php

Namespace

PHPUnit\TextUI\Configuration

File

vendor/phpunit/phpunit/src/TextUI/Configuration/Value/Source.php

View source
<?php

declare (strict_types=1);

/*
 * This file is part of PHPUnit.
 *
 * (c) Sebastian Bergmann <sebastian@phpunit.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace PHPUnit\TextUI\Configuration;


/**
 * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
 *
 * @psalm-immutable
 */
final class Source {
    
    /**
     * @psalm-var non-empty-string
     */
    private readonly ?string $baseline;
    private readonly bool $ignoreBaseline;
    private readonly FilterDirectoryCollection $includeDirectories;
    private readonly FileCollection $includeFiles;
    private readonly FilterDirectoryCollection $excludeDirectories;
    private readonly FileCollection $excludeFiles;
    private readonly bool $restrictDeprecations;
    private readonly bool $restrictNotices;
    private readonly bool $restrictWarnings;
    private readonly bool $ignoreSuppressionOfDeprecations;
    private readonly bool $ignoreSuppressionOfPhpDeprecations;
    private readonly bool $ignoreSuppressionOfErrors;
    private readonly bool $ignoreSuppressionOfNotices;
    private readonly bool $ignoreSuppressionOfPhpNotices;
    private readonly bool $ignoreSuppressionOfWarnings;
    private readonly bool $ignoreSuppressionOfPhpWarnings;
    
    /**
     * @psalm-param non-empty-string $baseline
     */
    public function __construct(?string $baseline, bool $ignoreBaseline, FilterDirectoryCollection $includeDirectories, FileCollection $includeFiles, FilterDirectoryCollection $excludeDirectories, FileCollection $excludeFiles, bool $restrictDeprecations, bool $restrictNotices, bool $restrictWarnings, bool $ignoreSuppressionOfDeprecations, bool $ignoreSuppressionOfPhpDeprecations, bool $ignoreSuppressionOfErrors, bool $ignoreSuppressionOfNotices, bool $ignoreSuppressionOfPhpNotices, bool $ignoreSuppressionOfWarnings, bool $ignoreSuppressionOfPhpWarnings) {
        $this->baseline = $baseline;
        $this->ignoreBaseline = $ignoreBaseline;
        $this->includeDirectories = $includeDirectories;
        $this->includeFiles = $includeFiles;
        $this->excludeDirectories = $excludeDirectories;
        $this->excludeFiles = $excludeFiles;
        $this->restrictDeprecations = $restrictDeprecations;
        $this->restrictNotices = $restrictNotices;
        $this->restrictWarnings = $restrictWarnings;
        $this->ignoreSuppressionOfDeprecations = $ignoreSuppressionOfDeprecations;
        $this->ignoreSuppressionOfPhpDeprecations = $ignoreSuppressionOfPhpDeprecations;
        $this->ignoreSuppressionOfErrors = $ignoreSuppressionOfErrors;
        $this->ignoreSuppressionOfNotices = $ignoreSuppressionOfNotices;
        $this->ignoreSuppressionOfPhpNotices = $ignoreSuppressionOfPhpNotices;
        $this->ignoreSuppressionOfWarnings = $ignoreSuppressionOfWarnings;
        $this->ignoreSuppressionOfPhpWarnings = $ignoreSuppressionOfPhpWarnings;
    }
    
    /**
     * @psalm-assert-if-true !null $this->baseline
     */
    public function useBaseline() : bool {
        return $this->hasBaseline() && !$this->ignoreBaseline;
    }
    
    /**
     * @psalm-assert-if-true !null $this->baseline
     */
    public function hasBaseline() : bool {
        return $this->baseline !== null;
    }
    
    /**
     * @psalm-return non-empty-string
     *
     * @throws NoBaselineException
     */
    public function baseline() : string {
        if (!$this->hasBaseline()) {
            throw new NoBaselineException();
        }
        return $this->baseline;
    }
    public function includeDirectories() : FilterDirectoryCollection {
        return $this->includeDirectories;
    }
    public function includeFiles() : FileCollection {
        return $this->includeFiles;
    }
    public function excludeDirectories() : FilterDirectoryCollection {
        return $this->excludeDirectories;
    }
    public function excludeFiles() : FileCollection {
        return $this->excludeFiles;
    }
    public function notEmpty() : bool {
        return $this->includeDirectories
            ->notEmpty() || $this->includeFiles
            ->notEmpty();
    }
    public function restrictDeprecations() : bool {
        return $this->restrictDeprecations;
    }
    public function restrictNotices() : bool {
        return $this->restrictNotices;
    }
    public function restrictWarnings() : bool {
        return $this->restrictWarnings;
    }
    public function ignoreSuppressionOfDeprecations() : bool {
        return $this->ignoreSuppressionOfDeprecations;
    }
    public function ignoreSuppressionOfPhpDeprecations() : bool {
        return $this->ignoreSuppressionOfPhpDeprecations;
    }
    public function ignoreSuppressionOfErrors() : bool {
        return $this->ignoreSuppressionOfErrors;
    }
    public function ignoreSuppressionOfNotices() : bool {
        return $this->ignoreSuppressionOfNotices;
    }
    public function ignoreSuppressionOfPhpNotices() : bool {
        return $this->ignoreSuppressionOfPhpNotices;
    }
    public function ignoreSuppressionOfWarnings() : bool {
        return $this->ignoreSuppressionOfWarnings;
    }
    public function ignoreSuppressionOfPhpWarnings() : bool {
        return $this->ignoreSuppressionOfPhpWarnings;
    }

}

Classes

Title Deprecated Summary
Source @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit

API Navigation

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