Skip to content

Commit 6a71ddd

Browse files
Just report error if wrong number found
1 parent 9f4f5cd commit 6a71ddd

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

CodeConverter/Shared/ProjectConversion.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,16 @@ private ProjectConversion(IProjectContentsConverter projectContentsConverter, IE
6969

7070
var conversion = new ProjectConversion(projectContentsConverter, new[] { document }, Enumerable.Empty<TextDocument>(), languageConversion, cancellationToken, conversionOptions.ShowCompilationErrors, returnSelectedNode);
7171
var conversionResults = await conversion.Convert(progress).ToArrayAsync();
72-
var codeResult = conversionResults.SingleOrDefault(x => !string.IsNullOrWhiteSpace(x.ConvertedCode))
73-
?? conversionResults.First();
72+
return GetSingleResultForDocument(conversionResults, document, progress);
73+
}
74+
75+
private static ConversionResult GetSingleResultForDocument(ConversionResult[] conversionResults, Document document, IProgress<ConversionProgress> progress)
76+
{
77+
var codeResults = conversionResults.Where(x => !string.IsNullOrWhiteSpace(x.ConvertedCode)).OrderByDescending(r => r.SourcePathOrNull == document.FilePath).ToArray();
78+
if (codeResults.Count() != 1) {
79+
progress.Report(new ConversionProgress($"ERROR: Expected one result, but received {codeResults.Count()}:{Environment.NewLine}{string.Join(Environment.NewLine, codeResults.Select(r => r.TargetPathOrNull))}"));
80+
}
81+
var codeResult = codeResults.First();
7482
codeResult.Exceptions = conversionResults.SelectMany(x => x.Exceptions).ToArray();
7583
return codeResult;
7684
}

0 commit comments

Comments
 (0)