public UsageBasedMetadataManager( CompilationModuleGroup group, CompilerTypeSystemContext typeSystemContext, MetadataBlockingPolicy blockingPolicy, ManifestResourceBlockingPolicy resourceBlockingPolicy, string logFile, StackTraceEmissionPolicy stackTracePolicy, DynamicInvokeThunkGenerationPolicy invokeThunkGenerationPolicy, FlowAnnotations flowAnnotations, UsageBasedMetadataGenerationOptions generationOptions, Logger logger, IEnumerable <KeyValuePair <string, bool> > featureSwitchValues, IEnumerable <string> rootEntireAssembliesModules, IEnumerable <string> trimmedAssemblies) : base(typeSystemContext, blockingPolicy, resourceBlockingPolicy, logFile, stackTracePolicy, invokeThunkGenerationPolicy) { // We use this to mark places that would behave differently if we tracked exact fields used. _hasPreciseFieldUsageInformation = false; _compilationModuleGroup = group; _generationOptions = generationOptions; FlowAnnotations = flowAnnotations; Logger = logger; _featureSwitchHashtable = new FeatureSwitchHashtable(new Dictionary <string, bool>(featureSwitchValues)); _rootEntireAssembliesModules = new HashSet <string>(rootEntireAssembliesModules); _trimmedAssemblies = new HashSet <string>(trimmedAssemblies); }
public FeatureSwitchManager(ILProvider nestedILProvider, IEnumerable <KeyValuePair <string, bool> > switchValues) { _nestedILProvider = nestedILProvider; _hashtable = new FeatureSwitchHashtable(new Dictionary <string, bool>(switchValues)); }
public ManifestResourceBlockingPolicy(IEnumerable <KeyValuePair <string, bool> > switchValues) { _hashtable = new FeatureSwitchHashtable(new Dictionary <string, bool>(switchValues)); }