提交 0666f374 编写于 作者: S Sam Harwell

Use Create and GetOrCreate method prefixes as appropriate for clarity

上级 3c17eae5
...@@ -272,7 +272,7 @@ void M() ...@@ -272,7 +272,7 @@ void M()
public void ChangeSignatureCommandDisabledInSubmission() public void ChangeSignatureCommandDisabledInSubmission()
{ {
var exportProvider = ExportProviderCache var exportProvider = ExportProviderCache
.CreateExportProviderFactory( .GetOrCreateExportProviderFactory(
TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService))) TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService)))
.CreateExportProvider(); .CreateExportProvider();
......
...@@ -193,7 +193,7 @@ static void Main(string[] args) ...@@ -193,7 +193,7 @@ static void Main(string[] args)
public void EncapsulateFieldCommandDisabledInSubmission() public void EncapsulateFieldCommandDisabledInSubmission()
{ {
var exportProvider = ExportProviderCache var exportProvider = ExportProviderCache
.CreateExportProviderFactory( .GetOrCreateExportProviderFactory(
TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService))) TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService)))
.CreateExportProvider(); .CreateExportProvider();
......
...@@ -28,7 +28,7 @@ internal class EncapsulateFieldTestState : IDisposable ...@@ -28,7 +28,7 @@ internal class EncapsulateFieldTestState : IDisposable
public string NotificationMessage { get; private set; } public string NotificationMessage { get; private set; }
private static readonly IExportProviderFactory s_exportProviderFactory = private static readonly IExportProviderFactory s_exportProviderFactory =
ExportProviderCache.CreateExportProviderFactory( ExportProviderCache.GetOrCreateExportProviderFactory(
TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic.WithParts( TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic.WithParts(
typeof(CSharpEncapsulateFieldService), typeof(CSharpEncapsulateFieldService),
typeof(EditorNotificationServiceFactory), typeof(EditorNotificationServiceFactory),
......
...@@ -1061,7 +1061,7 @@ class $$Test<T, U> ...@@ -1061,7 +1061,7 @@ class $$Test<T, U>
public void ExtractInterfaceCommandDisabledInSubmission() public void ExtractInterfaceCommandDisabledInSubmission()
{ {
var exportProvider = ExportProviderCache var exportProvider = ExportProviderCache
.CreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService))) .GetOrCreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService)))
.CreateExportProvider(); .CreateExportProvider();
using (var workspace = TestWorkspace.Create(XElement.Parse(@" using (var workspace = TestWorkspace.Create(XElement.Parse(@"
......
...@@ -10353,7 +10353,7 @@ public async Task ExtractMethod_Argument2() ...@@ -10353,7 +10353,7 @@ public async Task ExtractMethod_Argument2()
public void ExtractMethodCommandDisabledInSubmission() public void ExtractMethodCommandDisabledInSubmission()
{ {
var exportProvider = ExportProviderCache var exportProvider = ExportProviderCache
.CreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService))) .GetOrCreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService)))
.CreateExportProvider(); .CreateExportProvider();
using (var workspace = TestWorkspace.Create(XElement.Parse(@" using (var workspace = TestWorkspace.Create(XElement.Parse(@"
......
...@@ -1077,7 +1077,7 @@ void B() ...@@ -1077,7 +1077,7 @@ void B()
public void OrganizingCommandsDisabledInSubmission() public void OrganizingCommandsDisabledInSubmission()
{ {
var exportProvider = ExportProviderCache var exportProvider = ExportProviderCache
.CreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService))) .GetOrCreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService)))
.CreateExportProvider(); .CreateExportProvider();
using (var workspace = TestWorkspace.Create(XElement.Parse(@" using (var workspace = TestWorkspace.Create(XElement.Parse(@"
......
...@@ -19,7 +19,7 @@ private static IExportProviderFactory CreateExportProviderFactory() ...@@ -19,7 +19,7 @@ private static IExportProviderFactory CreateExportProviderFactory()
var assemblies = TestExportProvider var assemblies = TestExportProvider
.GetCSharpAndVisualBasicAssemblies() .GetCSharpAndVisualBasicAssemblies()
.Concat(new[] { typeof(EditorServicesUtil).Assembly }); .Concat(new[] { typeof(EditorServicesUtil).Assembly });
return ExportProviderCache.CreateExportProviderFactory(ExportProviderCache.CreateAssemblyCatalog(assemblies, ExportProviderCache.CreateResolver())); return ExportProviderCache.GetOrCreateExportProviderFactory(ExportProviderCache.GetOrCreateAssemblyCatalog(assemblies, ExportProviderCache.CreateResolver()));
} }
} }
} }
...@@ -30,7 +30,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Classification ...@@ -30,7 +30,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Classification
</Workspace> </Workspace>
Dim exportProvider = ExportProviderCache _ Dim exportProvider = ExportProviderCache _
.CreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic().WithParts(GetType(NoCompilationEditorClassificationService))) _ .GetOrCreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic().WithParts(GetType(NoCompilationEditorClassificationService))) _
.CreateExportProvider() .CreateExportProvider()
Using workspace = TestWorkspace.Create(workspaceDefinition, exportProvider:=exportProvider) Using workspace = TestWorkspace.Create(workspaceDefinition, exportProvider:=exportProvider)
......
...@@ -56,7 +56,7 @@ class C ...@@ -56,7 +56,7 @@ class C
Using workspace = TestWorkspace.Create( Using workspace = TestWorkspace.Create(
definition, definition,
exportProvider:=ExportProviderCache.CreateExportProviderFactory(GoToTestHelpers.Catalog.WithPart(GetType(CSharpGoToDefinitionService))).CreateExportProvider()) exportProvider:=ExportProviderCache.GetOrCreateExportProviderFactory(GoToTestHelpers.Catalog.WithPart(GetType(CSharpGoToDefinitionService))).CreateExportProvider())
Dim baseDocument = workspace.Documents.First(Function(d) Not d.IsLinkFile) Dim baseDocument = workspace.Documents.First(Function(d) Not d.IsLinkFile)
Dim linkDocument = workspace.Documents.First(Function(d) d.IsLinkFile) Dim linkDocument = workspace.Documents.First(Function(d) d.IsLinkFile)
......
...@@ -20,7 +20,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.NavigableSymbols ...@@ -20,7 +20,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.NavigableSymbols
Public Class NavigableSymbolsTest Public Class NavigableSymbolsTest
Private Shared ReadOnly s_exportProviderFactory As IExportProviderFactory = Private Shared ReadOnly s_exportProviderFactory As IExportProviderFactory =
ExportProviderCache.CreateExportProviderFactory( ExportProviderCache.GetOrCreateExportProviderFactory(
TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts( TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(
GetType(MockDocumentNavigationServiceProvider), GetType(MockDocumentNavigationServiceProvider),
GetType(MockSymbolNavigationServiceProvider))) GetType(MockSymbolNavigationServiceProvider)))
......
...@@ -51,7 +51,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename ...@@ -51,7 +51,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename
<Trait(Traits.Feature, Traits.Features.Interactive)> <Trait(Traits.Feature, Traits.Features.Interactive)>
Public Sub RenameCommandDisabledInSubmission() Public Sub RenameCommandDisabledInSubmission()
Dim exportProvider = ExportProviderCache _ Dim exportProvider = ExportProviderCache _
.CreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(InteractiveDocumentSupportsFeatureService))) _ .GetOrCreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(InteractiveDocumentSupportsFeatureService))) _
.CreateExportProvider() .CreateExportProvider()
Using workspace = TestWorkspace.Create( Using workspace = TestWorkspace.Create(
......
...@@ -21,7 +21,7 @@ Imports Roslyn.Utilities ...@@ -21,7 +21,7 @@ Imports Roslyn.Utilities
Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Rename
Friend Module RenameTestHelpers Friend Module RenameTestHelpers
Friend _exportProviderFactory As IExportProviderFactory = ExportProviderCache.CreateExportProviderFactory( Friend _exportProviderFactory As IExportProviderFactory = ExportProviderCache.GetOrCreateExportProviderFactory(
TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(MockDocumentNavigationServiceFactory))) TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(MockDocumentNavigationServiceFactory)))
Friend ReadOnly Property ExportProviderFactory As IExportProviderFactory Friend ReadOnly Property ExportProviderFactory As IExportProviderFactory
......
...@@ -143,7 +143,7 @@ private static ExportProvider GetExportProvider(bool useMinimumCatalog, Composab ...@@ -143,7 +143,7 @@ private static ExportProvider GetExportProvider(bool useMinimumCatalog, Composab
? TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic ? TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic
: TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic; : TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic;
return ExportProviderCache.CreateExportProviderFactory(baseCatalog.WithParts(extraParts)).CreateExportProvider(); return ExportProviderCache.GetOrCreateExportProviderFactory(baseCatalog.WithParts(extraParts)).CreateExportProvider();
} }
public virtual ITextView TextView public virtual ITextView TextView
......
...@@ -80,7 +80,7 @@ public ChangeSignatureResult ChangeSignature() ...@@ -80,7 +80,7 @@ public ChangeSignatureResult ChangeSignature()
} }
private static readonly IExportProviderFactory s_exportProviderFactory = private static readonly IExportProviderFactory s_exportProviderFactory =
ExportProviderCache.CreateExportProviderFactory( ExportProviderCache.GetOrCreateExportProviderFactory(
TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic
.WithPart(typeof(TestChangeSignatureOptionsService)) .WithPart(typeof(TestChangeSignatureOptionsService))
.WithPart(typeof(CSharpChangeSignatureService)) .WithPart(typeof(CSharpChangeSignatureService))
......
...@@ -105,7 +105,7 @@ public TestProjectManagementService TestProjectManagementService ...@@ -105,7 +105,7 @@ public TestProjectManagementService TestProjectManagementService
} }
private static readonly IExportProviderFactory s_exportProviderFactory = private static readonly IExportProviderFactory s_exportProviderFactory =
ExportProviderCache.CreateExportProviderFactory( ExportProviderCache.GetOrCreateExportProviderFactory(
TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic.WithParts( TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic.WithParts(
typeof(TestGenerateTypeOptionsService), typeof(TestGenerateTypeOptionsService),
typeof(TestProjectManagementService), typeof(TestProjectManagementService),
......
...@@ -52,7 +52,7 @@ public ExtractInterfaceTestState(TestWorkspace workspace) ...@@ -52,7 +52,7 @@ public ExtractInterfaceTestState(TestWorkspace workspace)
} }
public static readonly IExportProviderFactory ExportProviderFactory = public static readonly IExportProviderFactory ExportProviderFactory =
ExportProviderCache.CreateExportProviderFactory( ExportProviderCache.GetOrCreateExportProviderFactory(
TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic
.WithPart(typeof(TestExtractInterfaceOptionsService)) .WithPart(typeof(TestExtractInterfaceOptionsService))
.WithPart(typeof(CSharpExtractInterfaceService)) .WithPart(typeof(CSharpExtractInterfaceService))
......
...@@ -20,7 +20,7 @@ public static class ServiceTestExportProvider ...@@ -20,7 +20,7 @@ public static class ServiceTestExportProvider
{ {
public static ComposableCatalog CreateAssemblyCatalog() public static ComposableCatalog CreateAssemblyCatalog()
{ {
return ExportProviderCache.CreateAssemblyCatalog( return ExportProviderCache.GetOrCreateAssemblyCatalog(
GetLanguageNeutralTypes().Select(t => t.Assembly).Distinct().Concat(MinimalTestExportProvider.GetEditorAssemblies()), ExportProviderCache.CreateResolver()); GetLanguageNeutralTypes().Select(t => t.Assembly).Distinct().Concat(MinimalTestExportProvider.GetEditorAssemblies()), ExportProviderCache.CreateResolver());
} }
......
...@@ -23,7 +23,7 @@ public static class TestExportProvider ...@@ -23,7 +23,7 @@ public static class TestExportProvider
new Lazy<ComposableCatalog>(() => CreateAssemblyCatalogWithCSharpAndVisualBasic()); new Lazy<ComposableCatalog>(() => CreateAssemblyCatalogWithCSharpAndVisualBasic());
private static Lazy<IExportProviderFactory> s_lazyExportProviderFactoryWithCSharpAndVisualBasic = private static Lazy<IExportProviderFactory> s_lazyExportProviderFactoryWithCSharpAndVisualBasic =
new Lazy<IExportProviderFactory>(() => ExportProviderCache.CreateExportProviderFactory(EntireAssemblyCatalogWithCSharpAndVisualBasic)); new Lazy<IExportProviderFactory>(() => ExportProviderCache.GetOrCreateExportProviderFactory(EntireAssemblyCatalogWithCSharpAndVisualBasic));
public static ComposableCatalog EntireAssemblyCatalogWithCSharpAndVisualBasic public static ComposableCatalog EntireAssemblyCatalogWithCSharpAndVisualBasic
=> s_lazyEntireAssemblyCatalogWithCSharpAndVisualBasic.Value; => s_lazyEntireAssemblyCatalogWithCSharpAndVisualBasic.Value;
...@@ -36,10 +36,10 @@ public static ExportProvider ExportProviderWithCSharpAndVisualBasic ...@@ -36,10 +36,10 @@ public static ExportProvider ExportProviderWithCSharpAndVisualBasic
private static Lazy<ComposableCatalog> s_lazyMinimumCatalogWithCSharpAndVisualBasic = private static Lazy<ComposableCatalog> s_lazyMinimumCatalogWithCSharpAndVisualBasic =
new Lazy<ComposableCatalog>(() => ExportProviderCache.CreateTypeCatalog(GetNeutralAndCSharpAndVisualBasicTypes()) new Lazy<ComposableCatalog>(() => ExportProviderCache.CreateTypeCatalog(GetNeutralAndCSharpAndVisualBasicTypes())
.WithParts(ExportProviderCache.CreateAssemblyCatalog(MinimalTestExportProvider.GetEditorAssemblies()))); .WithParts(ExportProviderCache.GetOrCreateAssemblyCatalog(MinimalTestExportProvider.GetEditorAssemblies())));
private static Lazy<IExportProviderFactory> s_lazyMinimumExportProviderFactoryWithCSharpAndVisualBasic = private static Lazy<IExportProviderFactory> s_lazyMinimumExportProviderFactoryWithCSharpAndVisualBasic =
new Lazy<IExportProviderFactory>(() => ExportProviderCache.CreateExportProviderFactory(MinimumCatalogWithCSharpAndVisualBasic)); new Lazy<IExportProviderFactory>(() => ExportProviderCache.GetOrCreateExportProviderFactory(MinimumCatalogWithCSharpAndVisualBasic));
public static ComposableCatalog MinimumCatalogWithCSharpAndVisualBasic public static ComposableCatalog MinimumCatalogWithCSharpAndVisualBasic
=> s_lazyMinimumCatalogWithCSharpAndVisualBasic.Value; => s_lazyMinimumCatalogWithCSharpAndVisualBasic.Value;
...@@ -116,13 +116,13 @@ private static Type[] GetNeutralAndCSharpAndVisualBasicTypes() ...@@ -116,13 +116,13 @@ private static Type[] GetNeutralAndCSharpAndVisualBasicTypes()
private static IExportProviderFactory CreateExportProviderFactoryWithCSharpAndVisualBasic() private static IExportProviderFactory CreateExportProviderFactoryWithCSharpAndVisualBasic()
{ {
return ExportProviderCache.CreateExportProviderFactory(EntireAssemblyCatalogWithCSharpAndVisualBasic); return ExportProviderCache.GetOrCreateExportProviderFactory(EntireAssemblyCatalogWithCSharpAndVisualBasic);
} }
private static ComposableCatalog CreateAssemblyCatalogWithCSharpAndVisualBasic() private static ComposableCatalog CreateAssemblyCatalogWithCSharpAndVisualBasic()
{ {
return ExportProviderCache return ExportProviderCache
.CreateAssemblyCatalog(GetCSharpAndVisualBasicAssemblies(), ExportProviderCache.CreateResolver()) .GetOrCreateAssemblyCatalog(GetCSharpAndVisualBasicAssemblies(), ExportProviderCache.CreateResolver())
.WithCompositionService(); .WithCompositionService();
} }
......
...@@ -19,7 +19,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Utilities.GoToHelpers ...@@ -19,7 +19,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Utilities.GoToHelpers
GetType(CSharpGeneratedCodeRecognitionService), GetType(CSharpGeneratedCodeRecognitionService),
GetType(VisualBasicGeneratedCodeRecognitionService)) GetType(VisualBasicGeneratedCodeRecognitionService))
Public ReadOnly ExportProviderFactory As IExportProviderFactory = ExportProviderCache.CreateExportProviderFactory(Catalog) Public ReadOnly ExportProviderFactory As IExportProviderFactory = ExportProviderCache.GetOrCreateExportProviderFactory(Catalog)
End Module End Module
Friend Structure FilePathAndSpan Friend Structure FilePathAndSpan
......
...@@ -96,7 +96,7 @@ End Module ...@@ -96,7 +96,7 @@ End Module
<Trait(Traits.Feature, Traits.Features.Interactive)> <Trait(Traits.Feature, Traits.Features.Interactive)>
Public Sub TestChangeSignatureCommandDisabledInSubmission() Public Sub TestChangeSignatureCommandDisabledInSubmission()
Dim exportProvider = ExportProviderCache _ Dim exportProvider = ExportProviderCache _
.CreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(InteractiveDocumentSupportsFeatureService))) _ .GetOrCreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(InteractiveDocumentSupportsFeatureService))) _
.CreateExportProvider() .CreateExportProvider()
Using workspace = TestWorkspace.Create( Using workspace = TestWorkspace.Create(
......
...@@ -134,7 +134,7 @@ End Class ...@@ -134,7 +134,7 @@ End Class
<Trait(Traits.Feature, Traits.Features.Interactive)> <Trait(Traits.Feature, Traits.Features.Interactive)>
Public Sub EncapsulateFieldCommandDisabledInSubmission() Public Sub EncapsulateFieldCommandDisabledInSubmission()
Dim exportProvider = ExportProviderCache _ Dim exportProvider = ExportProviderCache _
.CreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(InteractiveDocumentSupportsFeatureService))) _ .GetOrCreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(InteractiveDocumentSupportsFeatureService))) _
.CreateExportProvider() .CreateExportProvider()
Using workspace = TestWorkspace.Create( Using workspace = TestWorkspace.Create(
......
...@@ -20,7 +20,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.EncapsulateField ...@@ -20,7 +20,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.EncapsulateField
Public TargetDocument As Document Public TargetDocument As Document
Private Shared ReadOnly s_exportProviderFactory As IExportProviderFactory = Private Shared ReadOnly s_exportProviderFactory As IExportProviderFactory =
ExportProviderCache.CreateExportProviderFactory( ExportProviderCache.GetOrCreateExportProviderFactory(
TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic.WithParts( TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic.WithParts(
GetType(VisualBasicEncapsulateFieldService), GetType(VisualBasicEncapsulateFieldService),
GetType(DefaultDocumentSupportsFeatureService))) GetType(DefaultDocumentSupportsFeatureService)))
......
...@@ -1262,7 +1262,7 @@ End Namespace ...@@ -1262,7 +1262,7 @@ End Namespace
<Trait(Traits.Feature, Traits.Features.Interactive)> <Trait(Traits.Feature, Traits.Features.Interactive)>
Public Sub TestExtractInterfaceCommandDisabledInSubmission() Public Sub TestExtractInterfaceCommandDisabledInSubmission()
Dim exportProvider = ExportProviderCache _ Dim exportProvider = ExportProviderCache _
.CreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(InteractiveDocumentSupportsFeatureService))) _ .GetOrCreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(InteractiveDocumentSupportsFeatureService))) _
.CreateExportProvider() .CreateExportProvider()
Using workspace = TestWorkspace.Create( Using workspace = TestWorkspace.Create(
......
...@@ -3367,7 +3367,7 @@ End Namespace" ...@@ -3367,7 +3367,7 @@ End Namespace"
<Trait(Traits.Feature, Traits.Features.Interactive)> <Trait(Traits.Feature, Traits.Features.Interactive)>
Public Sub TestExtractMethodCommandDisabledInSubmission() Public Sub TestExtractMethodCommandDisabledInSubmission()
Dim exportProvider = ExportProviderCache _ Dim exportProvider = ExportProviderCache _
.CreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(InteractiveDocumentSupportsFeatureService))) _ .GetOrCreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(InteractiveDocumentSupportsFeatureService))) _
.CreateExportProvider() .CreateExportProvider()
Using workspace = TestWorkspace.Create( Using workspace = TestWorkspace.Create(
......
...@@ -939,7 +939,7 @@ End Namespace</element> ...@@ -939,7 +939,7 @@ End Namespace</element>
<Trait(Traits.Feature, Traits.Features.Interactive)> <Trait(Traits.Feature, Traits.Features.Interactive)>
Public Sub TestOrganizingCommandsDisabledInSubmission() Public Sub TestOrganizingCommandsDisabledInSubmission()
Dim exportProvider = ExportProviderCache _ Dim exportProvider = ExportProviderCache _
.CreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(InteractiveDocumentSupportsFeatureService))) _ .GetOrCreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(GetType(InteractiveDocumentSupportsFeatureService))) _
.CreateExportProvider() .CreateExportProvider()
Using workspace = TestWorkspace.Create( Using workspace = TestWorkspace.Create(
......
...@@ -13,9 +13,9 @@ public static class VisualStudioTestExportProvider ...@@ -13,9 +13,9 @@ public static class VisualStudioTestExportProvider
static VisualStudioTestExportProvider() static VisualStudioTestExportProvider()
{ {
Factory = ExportProviderCache.CreateExportProviderFactory( Factory = ExportProviderCache.GetOrCreateExportProviderFactory(
TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts( TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(
ExportProviderCache.CreateAssemblyCatalog(typeof(CSharpCodeModelService).Assembly))); ExportProviderCache.GetOrCreateAssemblyCatalog(typeof(CSharpCodeModelService).Assembly)));
} }
} }
} }
...@@ -21,8 +21,8 @@ public sealed class InteractiveWindowTestHost : IDisposable ...@@ -21,8 +21,8 @@ public sealed class InteractiveWindowTestHost : IDisposable
private readonly System.ComponentModel.Composition.Hosting.ExportProvider _exportProvider; private readonly System.ComponentModel.Composition.Hosting.ExportProvider _exportProvider;
internal static readonly IExportProviderFactory ExportProviderFactory = ExportProviderCache.CreateExportProviderFactory( internal static readonly IExportProviderFactory ExportProviderFactory = ExportProviderCache.GetOrCreateExportProviderFactory(
ExportProviderCache.CreateAssemblyCatalog( ExportProviderCache.GetOrCreateAssemblyCatalog(
new[] new[]
{ {
typeof(TestWaitIndicator).Assembly, typeof(TestWaitIndicator).Assembly,
......
...@@ -19,14 +19,14 @@ public static HostServices CreateHostServices(ExportProvider exportProvider = nu ...@@ -19,14 +19,14 @@ public static HostServices CreateHostServices(ExportProvider exportProvider = nu
public static ExportProvider CreateMinimalExportProvider() public static ExportProvider CreateMinimalExportProvider()
{ {
return ExportProviderCache return ExportProviderCache
.CreateExportProviderFactory(ServiceTestExportProvider.CreateAssemblyCatalog().WithPart(typeof(InProcRemoteHostClientFactory))) .GetOrCreateExportProviderFactory(ServiceTestExportProvider.CreateAssemblyCatalog().WithPart(typeof(InProcRemoteHostClientFactory)))
.CreateExportProvider(); .CreateExportProvider();
} }
public static ExportProvider CreateExportProvider() public static ExportProvider CreateExportProvider()
{ {
return ExportProviderCache return ExportProviderCache
.CreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithPart(typeof(InProcRemoteHostClientFactory))) .GetOrCreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithPart(typeof(InProcRemoteHostClientFactory)))
.CreateExportProvider(); .CreateExportProvider();
} }
} }
......
...@@ -14,7 +14,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.Preview ...@@ -14,7 +14,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.Preview
<[UseExportProvider]> <[UseExportProvider]>
Public Class PreviewChangesTests Public Class PreviewChangesTests
Private _exportProviderFactory As IExportProviderFactory = ExportProviderCache.CreateExportProviderFactory( Private _exportProviderFactory As IExportProviderFactory = ExportProviderCache.GetOrCreateExportProviderFactory(
TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic.WithPart(GetType(StubVsEditorAdaptersFactoryService))) TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic.WithPart(GetType(StubVsEditorAdaptersFactoryService)))
<WpfFact> <WpfFact>
......
...@@ -11,7 +11,7 @@ Imports <xmlns="http://schemas.microsoft.com/vs/2009/dgml"> ...@@ -11,7 +11,7 @@ Imports <xmlns="http://schemas.microsoft.com/vs/2009/dgml">
Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.Progression Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.Progression
Friend Module ProgressionTestHelpers Friend Module ProgressionTestHelpers
Public ReadOnly ExportProviderFactory As IExportProviderFactory = ExportProviderCache.CreateExportProviderFactory( Public ReadOnly ExportProviderFactory As IExportProviderFactory = ExportProviderCache.GetOrCreateExportProviderFactory(
TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts( TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(
GetType(CSharpProgressionLanguageService), GetType(CSharpProgressionLanguageService),
GetType(VisualBasicProgressionLanguageService))) GetType(VisualBasicProgressionLanguageService)))
......
...@@ -24,7 +24,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.CallHierarchy ...@@ -24,7 +24,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.CallHierarchy
.WithPart(GetType(CallHierarchyProvider)) _ .WithPart(GetType(CallHierarchyProvider)) _
.WithPart(GetType(DefaultSymbolMappingService)) _ .WithPart(GetType(DefaultSymbolMappingService)) _
.WithPart(GetType(EditorNotificationServiceFactory)) .WithPart(GetType(EditorNotificationServiceFactory))
Private Shared ReadOnly ExportProviderFactory As IExportProviderFactory = ExportProviderCache.CreateExportProviderFactory(DefaultCatalog) Private Shared ReadOnly ExportProviderFactory As IExportProviderFactory = ExportProviderCache.GetOrCreateExportProviderFactory(DefaultCatalog)
Private ReadOnly _commandHandler As CallHierarchyCommandHandler Private ReadOnly _commandHandler As CallHierarchyCommandHandler
Private ReadOnly _presenter As MockCallHierarchyPresenter Private ReadOnly _presenter As MockCallHierarchyPresenter
...@@ -113,7 +113,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.CallHierarchy ...@@ -113,7 +113,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.CallHierarchy
End If End If
Dim catalog = DefaultCatalog.WithParts(additionalTypes) Dim catalog = DefaultCatalog.WithParts(additionalTypes)
Return ExportProviderCache.CreateExportProviderFactory(catalog).CreateExportProvider() Return ExportProviderCache.GetOrCreateExportProviderFactory(catalog).CreateExportProvider()
End Function End Function
Public Shared Function Create(markup As String, ParamArray additionalTypes As Type()) As CallHierarchyTestState Public Shared Function Create(markup As String, ParamArray additionalTypes As Type()) As CallHierarchyTestState
......
...@@ -12,7 +12,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests ...@@ -12,7 +12,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests
Dim additionalAssemblies = {GetType(CSharpCodeModelService).Assembly, Dim additionalAssemblies = {GetType(CSharpCodeModelService).Assembly,
GetType(VisualBasicCodeModelService).Assembly} GetType(VisualBasicCodeModelService).Assembly}
Factory = ExportProviderCache.CreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(ExportProviderCache.CreateAssemblyCatalog(additionalAssemblies))) Factory = ExportProviderCache.GetOrCreateExportProviderFactory(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(ExportProviderCache.GetOrCreateAssemblyCatalog(additionalAssemblies)))
End Sub End Sub
Public ReadOnly Property Factory As IExportProviderFactory Public ReadOnly Property Factory As IExportProviderFactory
......
...@@ -22,7 +22,7 @@ public static ComposableCatalog Catalog ...@@ -22,7 +22,7 @@ public static ComposableCatalog Catalog
{ {
if (s_catalog == null) if (s_catalog == null)
{ {
var tmp = ExportProviderCache.CreateAssemblyCatalog(Assemblies); var tmp = ExportProviderCache.GetOrCreateAssemblyCatalog(Assemblies);
System.Threading.Interlocked.CompareExchange(ref s_catalog, tmp, null); System.Threading.Interlocked.CompareExchange(ref s_catalog, tmp, null);
} }
......
...@@ -19,24 +19,24 @@ public static class ExportProviderCache ...@@ -19,24 +19,24 @@ public static class ExportProviderCache
// Cache the catalog and export provider factory for MefHostServices.DefaultAssemblies // Cache the catalog and export provider factory for MefHostServices.DefaultAssemblies
private static readonly ComposableCatalog s_defaultHostCatalog = private static readonly ComposableCatalog s_defaultHostCatalog =
CreateAssemblyCatalogNoCache(MefHostServices.DefaultAssemblies); CreateAssemblyCatalog(MefHostServices.DefaultAssemblies);
private static readonly IExportProviderFactory s_defaultHostExportProviderFactory = private static readonly IExportProviderFactory s_defaultHostExportProviderFactory =
CreateExportProviderFactoryNoCache(s_defaultHostCatalog); CreateExportProviderFactory(s_defaultHostCatalog);
// Cache the catalog and export provider factory for DesktopMefHostServices.DefaultAssemblies // Cache the catalog and export provider factory for DesktopMefHostServices.DefaultAssemblies
private static readonly ComposableCatalog s_desktopHostCatalog = private static readonly ComposableCatalog s_desktopHostCatalog =
CreateAssemblyCatalogNoCache(DesktopMefHostServices.DefaultAssemblies); CreateAssemblyCatalog(DesktopMefHostServices.DefaultAssemblies);
private static readonly IExportProviderFactory s_desktopHostExportProviderFactory = private static readonly IExportProviderFactory s_desktopHostExportProviderFactory =
CreateExportProviderFactoryNoCache(s_desktopHostCatalog); CreateExportProviderFactory(s_desktopHostCatalog);
// Cache the catalog and export provider factory for RoslynServices.RemoteHostAssemblies // Cache the catalog and export provider factory for RoslynServices.RemoteHostAssemblies
private static readonly ComposableCatalog s_remoteHostCatalog = private static readonly ComposableCatalog s_remoteHostCatalog =
CreateAssemblyCatalogNoCache(RoslynServices.RemoteHostAssemblies); CreateAssemblyCatalog(RoslynServices.RemoteHostAssemblies);
private static readonly IExportProviderFactory s_remoteHostExportProviderFactory = private static readonly IExportProviderFactory s_remoteHostExportProviderFactory =
CreateExportProviderFactoryNoCache(s_remoteHostCatalog); CreateExportProviderFactory(s_remoteHostCatalog);
private static bool _enabled; private static bool _enabled;
...@@ -59,12 +59,12 @@ internal static void SetEnabled_OnlyUseExportProviderAttributeCanCall(bool value ...@@ -59,12 +59,12 @@ internal static void SetEnabled_OnlyUseExportProviderAttributeCanCall(bool value
} }
} }
public static ComposableCatalog CreateAssemblyCatalog(Assembly assembly) public static ComposableCatalog GetOrCreateAssemblyCatalog(Assembly assembly)
{ {
return CreateAssemblyCatalog(SpecializedCollections.SingletonEnumerable(assembly)); return GetOrCreateAssemblyCatalog(SpecializedCollections.SingletonEnumerable(assembly));
} }
public static ComposableCatalog CreateAssemblyCatalog(IEnumerable<Assembly> assemblies, Resolver resolver = null) public static ComposableCatalog GetOrCreateAssemblyCatalog(IEnumerable<Assembly> assemblies, Resolver resolver = null)
{ {
if (assemblies is ImmutableArray<Assembly> assembliesArray) if (assemblies is ImmutableArray<Assembly> assembliesArray)
{ {
...@@ -82,10 +82,10 @@ public static ComposableCatalog CreateAssemblyCatalog(IEnumerable<Assembly> asse ...@@ -82,10 +82,10 @@ public static ComposableCatalog CreateAssemblyCatalog(IEnumerable<Assembly> asse
} }
} }
return CreateAssemblyCatalogNoCache(assemblies, resolver); return CreateAssemblyCatalog(assemblies, resolver);
} }
private static ComposableCatalog CreateAssemblyCatalogNoCache(IEnumerable<Assembly> assemblies, Resolver resolver = null) private static ComposableCatalog CreateAssemblyCatalog(IEnumerable<Assembly> assemblies, Resolver resolver = null)
{ {
var discovery = resolver == null ? s_partDiscovery : CreatePartDiscovery(resolver); var discovery = resolver == null ? s_partDiscovery : CreatePartDiscovery(resolver);
...@@ -138,7 +138,7 @@ public static ComposableCatalog WithPart(this ComposableCatalog catalog, Type t) ...@@ -138,7 +138,7 @@ public static ComposableCatalog WithPart(this ComposableCatalog catalog, Type t)
return catalog.WithParts(CreateTypeCatalog(SpecializedCollections.SingletonEnumerable(t))); return catalog.WithParts(CreateTypeCatalog(SpecializedCollections.SingletonEnumerable(t)));
} }
public static IExportProviderFactory CreateExportProviderFactory(ComposableCatalog catalog) public static IExportProviderFactory GetOrCreateExportProviderFactory(ComposableCatalog catalog)
{ {
if (s_defaultHostExportProviderFactory != null && catalog == s_defaultHostCatalog) if (s_defaultHostExportProviderFactory != null && catalog == s_defaultHostCatalog)
{ {
...@@ -153,10 +153,10 @@ public static IExportProviderFactory CreateExportProviderFactory(ComposableCatal ...@@ -153,10 +153,10 @@ public static IExportProviderFactory CreateExportProviderFactory(ComposableCatal
return s_remoteHostExportProviderFactory; return s_remoteHostExportProviderFactory;
} }
return CreateExportProviderFactoryNoCache(catalog); return CreateExportProviderFactory(catalog);
} }
private static IExportProviderFactory CreateExportProviderFactoryNoCache(ComposableCatalog catalog) private static IExportProviderFactory CreateExportProviderFactory(ComposableCatalog catalog)
{ {
var configuration = CompositionConfiguration.Create(catalog.WithCompositionService()); var configuration = CompositionConfiguration.Create(catalog.WithCompositionService());
var runtimeComposition = RuntimeComposition.CreateRuntimeComposition(configuration); var runtimeComposition = RuntimeComposition.CreateRuntimeComposition(configuration);
...@@ -175,7 +175,7 @@ public SingleExportProviderFactory(ComposableCatalog catalog, IExportProviderFac ...@@ -175,7 +175,7 @@ public SingleExportProviderFactory(ComposableCatalog catalog, IExportProviderFac
_exportProviderFactory = exportProviderFactory; _exportProviderFactory = exportProviderFactory;
} }
public ExportProvider CreateExportProvider() public ExportProvider GetOrCreateExportProvider()
{ {
if (!Enabled) if (!Enabled)
{ {
...@@ -201,6 +201,17 @@ public ExportProvider CreateExportProvider() ...@@ -201,6 +201,17 @@ public ExportProvider CreateExportProvider()
return exportProvider; return exportProvider;
} }
ExportProvider IExportProviderFactory.CreateExportProvider()
{
// Currently this implementation deviates from the typical behavior of IExportProviderFactory. For the
// duration of a single test, an instance of SingleExportProviderFactory will continue returning the
// same ExportProvider instance each time this method is called.
//
// It may be clearer to refactor the implementation to only allow one call to CreateExportProvider in
// the context of a single test. https://github.com/dotnet/roslyn/issues/25863
return GetOrCreateExportProvider();
}
private static void RequireForSingleExportProvider(bool condition) private static void RequireForSingleExportProvider(bool condition)
{ {
if (!condition) if (!condition)
......
...@@ -152,10 +152,10 @@ private MefHostServices CreateMefHostServices(IEnumerable<Assembly> assemblies, ...@@ -152,10 +152,10 @@ private MefHostServices CreateMefHostServices(IEnumerable<Assembly> assemblies,
return _hostServices; return _hostServices;
} }
var catalog = ExportProviderCache.CreateAssemblyCatalog(assemblies); var catalog = ExportProviderCache.GetOrCreateAssemblyCatalog(assemblies);
Interlocked.CompareExchange( Interlocked.CompareExchange(
ref _hostServices, ref _hostServices,
new ExportProviderMefHostServices(ExportProviderCache.CreateExportProviderFactory(catalog).CreateExportProvider()), new ExportProviderMefHostServices(ExportProviderCache.GetOrCreateExportProviderFactory(catalog).CreateExportProvider()),
null); null);
return _hostServices; return _hostServices;
...@@ -174,7 +174,7 @@ private HostServices GetOrCreateRemoteHostServices() ...@@ -174,7 +174,7 @@ private HostServices GetOrCreateRemoteHostServices()
{ {
if (s_remoteHostExportProviderFactory == null) if (s_remoteHostExportProviderFactory == null)
{ {
var configuration = CompositionConfiguration.Create(ExportProviderCache.CreateAssemblyCatalog(RoslynServices.RemoteHostAssemblies).WithCompositionService()); var configuration = CompositionConfiguration.Create(ExportProviderCache.GetOrCreateAssemblyCatalog(RoslynServices.RemoteHostAssemblies).WithCompositionService());
var runtimeComposition = RuntimeComposition.CreateRuntimeComposition(configuration); var runtimeComposition = RuntimeComposition.CreateRuntimeComposition(configuration);
s_remoteHostExportProviderFactory = runtimeComposition.CreateExportProviderFactory(); s_remoteHostExportProviderFactory = runtimeComposition.CreateExportProviderFactory();
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册