public function _get_declared_interfaces(array $interfaces = [])
{
if (count($this->whitelist['interfaces'])) {
$interfaces = [];
foreach ($this->whitelist['interfaces'] as $name => $value) {
if (interface_exists($name)) {
$interfaces[strtolower($name)] = $name;
}
}
foreach ($this->definitions['interfaces'] as $name => $value) {
if (interface_exists($value)) {
$interfaces[strtolower($name)] = $value;
}
}
return array_values($interfaces);
} else {
if (count($this->blacklist['interfaces'])) {
$valid_interfaces = [];
foreach ($interfaces as $interface) {
$valid_interfaces[$this->normalizeInterface($interface)] = $interface;
}
foreach ($this->definitions['interfaces'] as $name => $value) {
if (interface_exists($value)) {
$valid_interfaces[$this->normalizeInterface($name)] = $value;
}
}
foreach ($valid_interfaces as $index => $name) {
if (isset($this->blacklist['interfaces'][$this->normalizeInterface($name)])) {
unset($valid_interfaces[$index]);
}
}
return array_values($interfaces);
}
}
$interfaces = [];
foreach ($this->definitions['interfaces'] as $value) {
if (interface_exists($value)) {
$interfaces[strtolower($value)] = $value;
}
}
return array_values($interfaces);
}