private function generateClassUses($annotationGenerators, $classes, $className)
{
$uses = $classes[$className]['uses'];
if (isset($classes[$className]['interfaceNamespace']) && $classes[$className]['interfaceNamespace'] !== $classes[$className]['namespace']) {
$uses[] = sprintf('%s\\%s', $classes[$className]['interfaceNamespace'], $classes[$className]['interfaceName']);
}
foreach ($classes[$className]['fields'] as $field) {
if (isset($classes[$field['range']]['interfaceName'])) {
$use = sprintf('%s\\%s', $classes[$field['range']]['interfaceNamespace'], $classes[$field['range']]['interfaceName']);
if (!in_array($use, $uses)) {
$uses[] = $use;
}
}
}
foreach ($annotationGenerators as $generator) {
$uses = array_merge($uses, $generator->generateUses($className));
}
// Order alphabetically
sort($uses);
return $uses;
}