public function getAllImplementationClassNamesForInterface($interfaceName)
{
if (!$this->initialized) {
$this->initialize();
}
$interfaceName = $this->cleanClassName($interfaceName);
if (interface_exists($interfaceName) === false) {
throw new \InvalidArgumentException('"' . $interfaceName . '" does not exist or is not the name of an interface.', 1238769560);
}
$this->loadOrReflectClassIfNecessary($interfaceName);
return isset($this->classReflectionData[$interfaceName][self::DATA_INTERFACE_IMPLEMENTATIONS]) ? array_keys($this->classReflectionData[$interfaceName][self::DATA_INTERFACE_IMPLEMENTATIONS]) : [];
}