コード例 #1
0
        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);
        }
コード例 #2
0
 public FeatureSwitchManager(ILProvider nestedILProvider, IEnumerable <KeyValuePair <string, bool> > switchValues)
 {
     _nestedILProvider = nestedILProvider;
     _hashtable        = new FeatureSwitchHashtable(new Dictionary <string, bool>(switchValues));
 }
コード例 #3
0
 public ManifestResourceBlockingPolicy(IEnumerable <KeyValuePair <string, bool> > switchValues)
 {
     _hashtable = new FeatureSwitchHashtable(new Dictionary <string, bool>(switchValues));
 }