private BoundType BindQualifiedType(QualifiedNameSyntax qualifiedName)
{
var container = LookupContainer(qualifiedName.Left);
if (container == null)
return new BoundUnknownType();
var symbols = container.Members.OfType<TypeSymbol>()
.Where(x => x.Name == qualifiedName.Right.Name.Text)
.ToImmutableArray();
if (symbols.Length == 0)
{
Diagnostics.ReportUndeclaredType(qualifiedName);
return new BoundUnknownType();
}
if (symbols.Length > 1)
Diagnostics.ReportAmbiguousType(qualifiedName.Right.Name, symbols);
Bind(qualifiedName.Right, x => new BoundName(symbols.First()));
return new BoundName(symbols.First());
}