Example #1
0
        /// <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));
 }