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

Breadcrumb

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

function SourceMapper::map

@psalm-return array<non-empty-string, true>

File

vendor/phpunit/phpunit/src/TextUI/Configuration/SourceMapper.php, line 31

Class

SourceMapper
@no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit

Namespace

PHPUnit\TextUI\Configuration

Code

public function map(Source $source) : array {
    if (self::$files === null) {
        self::$files = new SplObjectStorage();
    }
    if (isset(self::$files[$source])) {
        return self::$files[$source];
    }
    $files = [];
    foreach ($source->includeDirectories() as $directory) {
        foreach ((new FileIteratorFacade())->getFilesAsArray($directory->path(), $directory->suffix(), $directory->prefix()) as $file) {
            $file = realpath($file);
            if (!$file) {
                continue;
            }
            $files[$file] = true;
        }
    }
    foreach ($source->includeFiles() as $file) {
        $file = realpath($file->path());
        if (!$file) {
            continue;
        }
        $files[$file] = true;
    }
    foreach ($source->excludeDirectories() as $directory) {
        foreach ((new FileIteratorFacade())->getFilesAsArray($directory->path(), $directory->suffix(), $directory->prefix()) as $file) {
            $file = realpath($file);
            if (!$file) {
                continue;
            }
            if (!isset($files[$file])) {
                continue;
            }
            unset($files[$file]);
        }
    }
    foreach ($source->excludeFiles() as $file) {
        $file = realpath($file->path());
        if (!$file) {
            continue;
        }
        if (!isset($files[$file])) {
            continue;
        }
        unset($files[$file]);
    }
    self::$files[$source] = $files;
    return $files;
}

API Navigation

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