/// <summary> /// Converts the specified provider. /// </summary> /// <param name="provider">The provider.</param> /// <returns>ISymbolProvider.</returns> public ISymbolProvider Convert(ClrMd.ISymbolProvider provider) { if (provider == null) { return(null); } var item = new SymbolProviderAdapter(this, provider); return(Cache.GetOrAdd <ISymbolProvider>(provider, () => item, () => item.Setup())); }
/// <summary> /// Initializes a new instance of the <see cref="SymbolProviderAdapter" /> class. /// </summary> /// <param name="provider">The provider.</param> /// <exception cref="ArgumentNullException">provider</exception> /// <inheritdoc /> public SymbolProviderAdapter(IConverter converter, ClrMd.ISymbolProvider provider) : base(converter) { Provider = provider ?? throw new ArgumentNullException(nameof(provider)); }