Skip to content
代码片段 群组 项目
提交 caae8b5a 编辑于 作者: Kevin Pilch's avatar Kevin Pilch 提交者: GitHub
浏览文件

Merge pull request #21174 from CyrusNajmabadi/generatedCode

Change Generated-Code analysis to be a language service, not a workspace service
No related branches found
No related tags found
无相关合并请求
显示
35 个添加10 个删除
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
Imports Microsoft.CodeAnalysis.CSharp.GeneratedCodeRecognition
Imports Microsoft.CodeAnalysis.Editor.Host
Imports Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces
Imports Microsoft.CodeAnalysis.GeneratedCodeRecognition
Imports Microsoft.CodeAnalysis.Navigation
Imports Microsoft.CodeAnalysis.Text
Imports Microsoft.CodeAnalysis.VisualBasic.GeneratedCodeRecognition
Imports Microsoft.VisualStudio.Composition
Imports Microsoft.VisualStudio.Text
......@@ -13,7 +15,8 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Utilities.GoToHelpers
Public ReadOnly Catalog As ComposableCatalog = TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic.WithParts(
GetType(MockDocumentNavigationServiceFactory),
GetType(DefaultSymbolNavigationServiceFactory),
GetType(GeneratedCodeRecognitionService))
GetType(CSharpGeneratedCodeRecognitionService),
GetType(VisualBasicGeneratedCodeRecognitionService))
Public ReadOnly ExportProvider As ExportProvider = MinimalTestExportProvider.CreateExportProvider(Catalog)
......
......@@ -190,6 +190,7 @@
<Compile Include="Formatting\Rules\SuppressFormattingRule.cs" />
<Compile Include="Formatting\Rules\TokenBasedFormattingRule.cs" />
<Compile Include="Formatting\Rules\WrappingFormattingRule.cs" />
<Compile Include="GeneratedCodeRecognition\CSharpGeneratedCodeRecognitionService.cs" />
<Compile Include="LanguageServices\CSharpCompilationFactoryService.cs" />
<Compile Include="LanguageServices\CSharpDocumentationCommentService.cs" />
<Compile Include="LanguageServices\CSharpParseOptionsService.cs" />
......
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Composition;
using Microsoft.CodeAnalysis.GeneratedCodeRecognition;
using Microsoft.CodeAnalysis.Host.Mef;
namespace Microsoft.CodeAnalysis.CSharp.GeneratedCodeRecognition
{
[ExportLanguageService(typeof(IGeneratedCodeRecognitionService), LanguageNames.CSharp), Shared]
internal class CSharpGeneratedCodeRecognitionService : AbstractGeneratedCodeRecognitionService
{
}
}
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Composition;
using System.Threading;
using Microsoft.CodeAnalysis.Host.Mef;
using Microsoft.CodeAnalysis.LanguageServices;
using Microsoft.CodeAnalysis.Shared.Extensions;
using Roslyn.Utilities;
namespace Microsoft.CodeAnalysis.GeneratedCodeRecognition
{
[ExportWorkspaceService(typeof(IGeneratedCodeRecognitionService)), Shared]
internal class GeneratedCodeRecognitionService : IGeneratedCodeRecognitionService
internal abstract class AbstractGeneratedCodeRecognitionService : IGeneratedCodeRecognitionService
{
public bool IsGeneratedCode(Document document, CancellationToken cancellationToken)
{
var syntaxTree = document.GetSyntaxTreeSynchronously(cancellationToken);
......
......@@ -5,7 +5,7 @@
namespace Microsoft.CodeAnalysis.GeneratedCodeRecognition
{
internal interface IGeneratedCodeRecognitionService : IWorkspaceService
internal interface IGeneratedCodeRecognitionService : ILanguageService
{
bool IsGeneratedCode(Document document, CancellationToken cancellationToken);
}
......
......@@ -192,8 +192,7 @@ public static async Task<SemanticModel> GetPartialSemanticModelAsync(this Docume
public static bool IsGeneratedCode(this Document document, CancellationToken cancellationToken)
{
var solution = document.Project.Solution;
var generatedCodeRecognitionService = solution.Workspace.Services.GetService<IGeneratedCodeRecognitionService>();
var generatedCodeRecognitionService = document.GetLanguageService<IGeneratedCodeRecognitionService>();
return generatedCodeRecognitionService?.IsGeneratedCode(document, cancellationToken) == true;
}
}
......
......@@ -773,7 +773,7 @@
<Compile Include="Formatting\TriviaEngine\LineColumnDelta.cs" />
<Compile Include="Formatting\TriviaEngine\LineColumnRule.cs" />
<Compile Include="Formatting\TriviaEngine\TriviaList.cs" />
<Compile Include="GeneratedCodeRecognition\GeneratedCodeRecognitionServiceFactory.cs" />
<Compile Include="GeneratedCodeRecognition\AbstractGeneratedCodeRecognitionService.cs" />
<Compile Include="GeneratedCodeRecognition\IGeneratedCodeRecognitionService.cs" />
<Compile Include="IOrderableMetadata.cs" />
<Compile Include="Utilities\ImmutableArrayExtensions.cs" />
......
......@@ -164,6 +164,7 @@
<Compile Include="Formatting\Rules\NodeBasedFormattingRule.vb" />
<Compile Include="Formatting\Rules\StructuredTriviaFormattingRule.vb" />
<Compile Include="Formatting\VisualBasicSyntaxFormattingService.vb" />
<Compile Include="GeneratedCodeRecognition\VisualBasicGeneratedCodeRecognitionService.vb" />
<Compile Include="LanguageServices\VisualBasicCompilationFactoryService.vb" />
<Compile Include="LanguageServices\VisualBasicCommandLineParserService.vb" />
<Compile Include="LanguageServices\VisualBasicDocumentationCommentService.vb" />
......
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
Imports System.Composition
Imports Microsoft.CodeAnalysis.GeneratedCodeRecognition
Imports Microsoft.CodeAnalysis.Host.Mef
Namespace Microsoft.CodeAnalysis.VisualBasic.GeneratedCodeRecognition
<ExportLanguageService(GetType(IGeneratedCodeRecognitionService), LanguageNames.VisualBasic), [Shared]>
Friend Class VisualBasicGeneratedCodeRecognitionService
Inherits AbstractGeneratedCodeRecognitionService
End Class
End Namespace
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册