Skip to content

Commit 167c79c

Browse files
committed
Fix
1 parent 3f4d5a4 commit 167c79c

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

src/Features/CSharpTest/EditAndContinue/CSharpEditAndContinueAnalyzerTests.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ private static async Task<DocumentAnalysisResults> AnalyzeDocumentAsync(
122122
EditAndContinueCapabilities capabilities = EditAndContinueTestVerifier.Net5RuntimeCapabilities,
123123
ImmutableArray<ActiveStatementLineSpan> newActiveStatementSpans = default)
124124
{
125-
var analyzer = EditAndContinueTestVerifier.CreateAnalyzer(faultInjector: null, LanguageNames.CSharp);
125+
var analyzer = oldProject.Services.GetRequiredService<IEditAndContinueAnalyzer>();
126126
var baseActiveStatements = AsyncLazy.Create(activeStatementMap ?? ActiveStatementsMap.Empty);
127127
var lazyCapabilities = AsyncLazy.Create(capabilities);
128128
return await analyzer.AnalyzeDocumentAsync(oldProject, baseActiveStatements, newDocument, newActiveStatementSpans.NullToEmpty(), lazyCapabilities, CancellationToken.None);
@@ -749,13 +749,14 @@ public async Task AnalyzeDocumentAsync_InternalError(bool outOfMemory)
749749
var baseActiveStatements = AsyncLazy.Create(ActiveStatementsMap.Empty);
750750
var capabilities = AsyncLazy.Create(EditAndContinueTestVerifier.Net5RuntimeCapabilities);
751751

752-
var analyzer = EditAndContinueTestVerifier.CreateAnalyzer(faultInjector: node =>
752+
var analyzer = Assert.IsType<CSharpEditAndContinueAnalyzer>(oldProject.Services.GetRequiredService<IEditAndContinueAnalyzer>());
753+
analyzer.GetTestAccessor().FaultInjector = node =>
753754
{
754755
if (node is CompilationUnitSyntax)
755756
{
756757
throw outOfMemory ? new OutOfMemoryException() : new NullReferenceException("NullRef!");
757758
}
758-
}, LanguageNames.CSharp);
759+
};
759760

760761
var result = await analyzer.AnalyzeDocumentAsync(oldProject, baseActiveStatements, newDocument, [], capabilities, CancellationToken.None);
761762

src/Features/TestUtilities/EditAndContinue/EditAndContinueTestVerifier.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
using Xunit;
2020
using static Microsoft.CodeAnalysis.EditAndContinue.AbstractEditAndContinueAnalyzer;
2121
using Microsoft.CodeAnalysis.Host.Mef;
22+
using Microsoft.CodeAnalysis.Host;
2223

2324
namespace Microsoft.CodeAnalysis.EditAndContinue.UnitTests
2425
{
@@ -61,7 +62,12 @@ protected EditAndContinueTestVerifier(Action<SyntaxNode>? faultInjector)
6162
internal static AbstractEditAndContinueAnalyzer CreateAnalyzer(Action<SyntaxNode>? faultInjector, string languageName)
6263
{
6364
var exportProvider = FeaturesTestCompositions.Features.ExportProviderFactory.CreateExportProvider();
64-
var analyzer = (AbstractEditAndContinueAnalyzer)exportProvider.GetExports<IEditAndContinueAnalyzer, LanguageMetadata>().Single(e => e.Metadata.Language == languageName).Value;
65+
66+
var analyzer = (AbstractEditAndContinueAnalyzer)exportProvider
67+
.GetExports<ILanguageService, LanguageServiceMetadata>()
68+
.Single(e => e.Metadata.Language == languageName && e.Metadata.ServiceType == typeof(IEditAndContinueAnalyzer).AssemblyQualifiedName)
69+
.Value;
70+
6571
analyzer.GetTestAccessor().FaultInjector = faultInjector;
6672
return analyzer;
6773
}

src/Features/VisualBasicTest/EditAndContinue/VisualBasicEditAndContinueAnalyzerTests.vb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.EditAndContinue.UnitTests
120120
End Sub
121121

122122
Private Shared Async Function AnalyzeDocumentAsync(oldProject As Project, newDocument As Document, Optional activeStatementMap As ActiveStatementsMap = Nothing) As Task(Of DocumentAnalysisResults)
123-
Dim analyzer = EditAndContinueTestVerifier.CreateAnalyzer(faultInjector:=Nothing, LanguageNames.VisualBasic)
123+
Dim analyzer = oldProject.Services.GetRequiredService(Of IEditAndContinueAnalyzer)
124124
Dim baseActiveStatements = AsyncLazy.Create(If(activeStatementMap, ActiveStatementsMap.Empty))
125125
Dim capabilities = AsyncLazy.Create(EditAndContinueTestVerifier.Net5RuntimeCapabilities)
126126
Return Await analyzer.AnalyzeDocumentAsync(oldProject, baseActiveStatements, newDocument, ImmutableArray(Of ActiveStatementLineSpan).Empty, capabilities, CancellationToken.None)

0 commit comments

Comments
 (0)