private void AddAssemblyToCache(Assembly assembly) { var cachedAssembly = new CachedAssembly(assembly); CachedAssemblies.Add(cachedAssembly.FullName, cachedAssembly); Options.Logger?.Log($"Cached assembly '{assembly.GetName().Name}'"); }
private void CacheTypes(CachedAssembly cachedAssembly) { if (cachedAssembly.TypesAndExtensionsAreCached) { return; } foreach (var type in cachedAssembly.Assembly.GetExportedTypes()) { if (Options.ExcludedTypes.Contains(type)) { Options.Logger?.Log($"Type '{type.Name}' is excluded from processing."); } else { var cachedType = new CachedType(type); CachedTypes.Add(cachedType.Type, cachedType); Statistics.CachedTypes++; } } }