ApiPlatform\SchemaGenerator\TypesGenerator::generateClassUses PHP Method

generateClassUses() private method

Generates uses.
private generateClassUses ( ApiPlatform\SchemaGenerator\AnnotationGenerator\AnnotationGeneratorInterface[] $annotationGenerators, array $classes, string $className ) : array
$annotationGenerators ApiPlatform\SchemaGenerator\AnnotationGenerator\AnnotationGeneratorInterface[]
$classes array
$className string
return array
    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;
    }