예제 #1
0
 public CSharpSetup(IMetadataReferenceCollector referenceCollector, IFeatureDiscovery featureDiscovery)
 {
     _references = referenceCollector.SlowGetMetadataReferencesRecursive(
         typeof(Binder).Assembly,
         typeof(ValueTuple <>).Assembly
         ).ToImmutableList();
     _features = featureDiscovery.SlowDiscoverAll().ToDictionary(f => f, f => (string)null);
 }
예제 #2
0
 public VisualBasicSetup(IMetadataReferenceCollector referenceCollector, IFeatureDiscovery featureDiscovery)
 {
     _references = referenceCollector.SlowGetMetadataReferencesRecursive(
         typeof(StandardModuleAttribute).Assembly,
         typeof(ValueTuple <>).Assembly
         ).ToImmutableList();
     _features = featureDiscovery.SlowDiscoverAll().ToDictionary(f => f, f => (string)null);
 }
예제 #3
0
        public CSharpAdapter(IMetadataReferenceCollector referenceCollector, IFeatureDiscovery featureDiscovery)
        {
            _references = referenceCollector.SlowGetMetadataReferencesRecursive(
                // Essential
                typeof(Binder).Assembly,
                NetFrameworkRuntime.AssemblyOfValueTuple,

                // Runtime
                typeof(JitGenericAttribute).Assembly,

                // Requested
                typeof(IDataReader).Assembly // System.Data
                ).ToImmutableList();
            _features = featureDiscovery.SlowDiscoverAll().ToDictionary(f => f, f => (string)null);
        }
예제 #4
0
        public void SlowApplyTo(MirrorSharpOptions options)
        {
            // ReSharper disable HeapView.ObjectAllocation.Evident
            // ReSharper disable HeapView.DelegateAllocation
            options.EnableVisualBasic(o => {
                // This setup will only run if the language is used, so branches
                // where no one ever used VB will be faster to open.
                var maxLanguageVersion = Enum.GetValues(typeof(LanguageVersion)).Cast <LanguageVersion>().Max();
                var features           = _featureDiscovery.SlowDiscoverAll().ToDictionary(f => f, f => (string)null);

                o.ParseOptions       = new VisualBasicParseOptions(maxLanguageVersion).WithFeatures(features);
                o.MetadataReferences = _referenceCollector.SlowGetMetadataReferencesRecursive(
                    typeof(StandardModuleAttribute).Assembly,
                    typeof(ValueTuple <>).Assembly,
                    typeof(JitGenericAttribute).Assembly
                    ).ToImmutableList();
            });
            // ReSharper restore HeapView.DelegateAllocation
            // ReSharper restore HeapView.ObjectAllocation.Evident
        }
예제 #5
0
 public CSharpLanguage(IFeatureDiscovery featureDiscovery)
 {
     _features = featureDiscovery.SlowDiscoverAll().ToDictionary(f => f, f => (string)null);
 }