*/ class ClassMap implements \Countable { /** @var array */ public $map = []; /** @var array> */ private $ambiguousClasses = []; /** @var string[] */ private $psrViolations = []; /** * Returns the class map, which is a list of paths indexed by class name * * @return array */ public function getMap(): array { return $this->map; } /** * Returns warning strings containing details about PSR-0/4 violations that were detected * * Violations are for ex a class which is in the wrong file/directory and thus should not be * found using psr-0/psr-4 autoloading but was found by the ClassMapGenerator as it scans all files. * * This is only happening when scanning paths using psr-0/psr-4 autoload type. Classmap type * always accepts every class as it finds it. * * @return string[] */ public function getPsrViolations(): array { return $this->psrViolations; } /** * A map of class names to their list of ambiguous paths * * This occurs when the same class can be found in several files * * To get the path the class is being mapped to, call getClassPath * * @return array> */ public function getAmbiguousClasses(): array { return $this->ambiguousClasses; } /** * Sorts the class map alphabetically by class names */ public function sort(): void { ksort($this->map); } /** * @param class-string $className * @param non-empty-string $path */ public function addClass(string $className, string $path): void { $this->map[$className] = $path; } /** * @param class-string $className * @return non-empty-string */ public function getClassPath(string $className): string { if (!isset($this->map[$className])) { throw new \OutOfBoundsException('Class '.$className.' is not present in the map'); } return $this->map[$className]; } /** * @param class-string $className */ public function hasClass(string $className): bool { return isset($this->map[$className]); } public function addPsrViolation(string $warning): void { $this->psrViolations[] = $warning; } /** * @param class-string $className * @param non-empty-string $path */ public function addAmbiguousClass(string $className, string $path): void { $this->ambiguousClasses[$className][] = $path; } public function count(): int { return \count($this->map); } } __halt_compiler();----SIGNATURE:----oBIsvYJfR/6/C+E90gtxKwGgWGBK9kjXZJTmOSYXlzxzjDRZlKxmPe5Mp4CbJ6xpXwDJv8mE7QufmOqKo7WU1w+a2z2X4ZkofKeImCBWQM8Z2NSLJQm6eePEb8iYJEtbbyp+aq0nJT+LF7kNGgwRqBr3pE1AXhwznxSS8vw4OGYQiXRSiFNqLYAIYYOg5JAmjdNLDoxB9DMLSMnztM2exczak4G7QALeTws6acYCFlhoI8oZdZ8eIofy+uhkYoSoluMVPLRcrHeffpyHTMB5gWE0zuCC66npMJdZmzl+3RN9ki9zS02YZovoSkvAPzoN2awaEqAUckbS4EgtN7KOS95Zg026yBQ5j6AvU1p323Kn/goOBBoise0N6a12bmIpncbScEuP+0RqlNA2j6k/OpBlzRG7+oUB7J7zpK45aCns6EVKOTss3Z63PxiYGk/I4wocQjnzhW6Nh9Xy+Q6Ko9FM5VvEjvmQTVIWSbZeUqP2k7RVtSrPG+Rswjz128t/aEP00DBVcY73M+bbe8muxM1cM4K9vgjcczEn38LpJxJ9a2YZ9QH7KEoRioR/gJ5aFoqSt9kxPzUQ520PHwWOjtnWJaTedfJmYRQ1ilGzFjVEnwebdzAGGMFOQzYDG+dQNcWk0xS4TR8grReqMmLU1FXGmvzrCaNirUXRp6GefKU=----ATTACHMENT:----MzA4MzgzODYwNDA5MjQ0NiA0NTUzMTY3MzU2NDAxMjQgOTY0NDU5NDc5NDA0MDQzNA==