Pinq\Analysis\TypeSystem::flattenComposedTypes PHP Method

flattenComposedTypes() protected method

Flattens all the composed types.
protected flattenComposedTypes ( array $types ) : Pinq\Analysis\IType[]
$types array
return Pinq\Analysis\IType[]
    protected function flattenComposedTypes(array $types)
    {
        $composedTypes = [];
        foreach ($types as $type) {
            if ($type instanceof ICompositeType) {
                $composedTypes += $this->flattenComposedTypes($type->getComposedTypes());
            } else {
                $composedTypes[$type->getIdentifier()] = $type;
            }
        }
        return $composedTypes;
    }