public INamedTypeSymbol ResolveType(QualifiedName name) { Debug.Assert(!name.IsReservedClassName); Debug.Assert(!name.IsEmpty()); return (ExportedTypes.TryGetOrDefault(name) ?? GetTypeFromNonExtensionAssemblies(name.ClrName()) ?? _next.ResolveType(name)); }
public INamedTypeSymbol ResolveType(QualifiedName name, Dictionary <QualifiedName, INamedTypeSymbol> resolved = null) { Debug.Assert(!name.IsReservedClassName); Debug.Assert(!name.IsEmpty()); if (resolved != null && resolved.TryGetValue(name, out var type)) { return(type); } return (ExportedTypes.TryGetOrDefault(name) ?? GetTypeFromNonExtensionAssemblies(name.ClrName()) ?? _next.ResolveType(name, resolved)); }