提交 d88d013a 编写于 作者: C Cyrus Najmabadi

Move diagnostic analyzer down.

上级 37876752
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.CodeFixes;
using Microsoft.CodeAnalysis.CSharp.ValidateJsonString; using Microsoft.CodeAnalysis.CSharp.ValidateEmbeddedLanguageString;
using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.Diagnostics; using Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.Diagnostics;
using Microsoft.CodeAnalysis.EmbeddedLanguages.Json; using Microsoft.CodeAnalysis.EmbeddedLanguages.Json;
...@@ -14,10 +14,10 @@ ...@@ -14,10 +14,10 @@
namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.ValidateJsonString namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.ValidateJsonString
{ {
public class ValidateJsonStringTests : AbstractCSharpDiagnosticProviderBasedUserDiagnosticTest public class ValidateValidateEmbeddedLanguageStringTests : AbstractCSharpDiagnosticProviderBasedUserDiagnosticTest
{ {
internal override (DiagnosticAnalyzer, CodeFixProvider) CreateDiagnosticProviderAndFixer(Workspace workspace) internal override (DiagnosticAnalyzer, CodeFixProvider) CreateDiagnosticProviderAndFixer(Workspace workspace)
=> (new CSharpValidateJsonStringDiagnosticAnalyzer(), null); => (new CSharpValidateEmbeddedLanguageStringDiagnosticAnalyzer(), null);
private IDictionary<OptionKey, object> OptionOn() private IDictionary<OptionKey, object> OptionOn()
{ {
...@@ -41,7 +41,7 @@ void Main() ...@@ -41,7 +41,7 @@ void Main()
options: OptionOn(), options: OptionOn(),
diagnosticId: IDEDiagnosticIds.JsonPatternDiagnosticId, diagnosticId: IDEDiagnosticIds.JsonPatternDiagnosticId,
diagnosticSeverity: DiagnosticSeverity.Warning, diagnosticSeverity: DiagnosticSeverity.Warning,
diagnosticMessage: string.Format(FeaturesResources.JSON_issue_0, WorkspacesResources.Constructors_not_allowed)); diagnosticMessage: string.Format(WorkspacesResources.JSON_issue_0, WorkspacesResources.Constructors_not_allowed));
} }
[Fact, Trait(Traits.Feature, Traits.Features.ValidateJsonString)] [Fact, Trait(Traits.Feature, Traits.Features.ValidateJsonString)]
...@@ -58,7 +58,7 @@ void Main() ...@@ -58,7 +58,7 @@ void Main()
options: OptionOn(), options: OptionOn(),
diagnosticId: IDEDiagnosticIds.JsonPatternDiagnosticId, diagnosticId: IDEDiagnosticIds.JsonPatternDiagnosticId,
diagnosticSeverity: DiagnosticSeverity.Warning, diagnosticSeverity: DiagnosticSeverity.Warning,
diagnosticMessage: string.Format(FeaturesResources.JSON_issue_0, diagnosticMessage: string.Format(WorkspacesResources.JSON_issue_0,
string.Format(WorkspacesResources._0_unexpected, '}'))); string.Format(WorkspacesResources._0_unexpected, '}')));
} }
} }
......
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // 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 Microsoft.CodeAnalysis.CSharp.EmbeddedLanguages.VirtualChars; using Microsoft.CodeAnalysis.CSharp.EmbeddedLanguages.LanguageServices;
using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.ValidateJsonString; using Microsoft.CodeAnalysis.ValidateJsonString;
namespace Microsoft.CodeAnalysis.CSharp.ValidateJsonString namespace Microsoft.CodeAnalysis.CSharp.ValidateEmbeddedLanguageString
{ {
[DiagnosticAnalyzer(LanguageNames.CSharp)] [DiagnosticAnalyzer(LanguageNames.CSharp)]
internal class CSharpValidateJsonStringDiagnosticAnalyzer : AbstractValidateJsonStringDiagnosticAnalyzer internal class CSharpValidateEmbeddedLanguageStringDiagnosticAnalyzer : AbstractValidateEmbeddedLanguageStringDiagnosticAnalyzer
{ {
public CSharpValidateJsonStringDiagnosticAnalyzer() public CSharpValidateEmbeddedLanguageStringDiagnosticAnalyzer()
: base((int)SyntaxKind.StringLiteralToken, : base(CSharpEmbeddedLanguageProvider.Instance)
CSharpSyntaxFactsService.Instance,
CSharpSemanticFactsService.Instance,
CSharpVirtualCharService.Instance)
{ {
} }
} }
......
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // 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.Collections.Immutable; using System.Collections.Immutable;
using System.Threading;
using Microsoft.CodeAnalysis.CodeStyle;
using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.EmbeddedLanguages.Json;
using Microsoft.CodeAnalysis.EmbeddedLanguages.LanguageServices; using Microsoft.CodeAnalysis.EmbeddedLanguages.LanguageServices;
using Microsoft.CodeAnalysis.EmbeddedLanguages.VirtualChars;
using Microsoft.CodeAnalysis.LanguageServices;
using Microsoft.CodeAnalysis.PooledObjects; using Microsoft.CodeAnalysis.PooledObjects;
namespace Microsoft.CodeAnalysis.ValidateJsonString namespace Microsoft.CodeAnalysis.ValidateJsonString
{ {
internal abstract class AbstractValidateEmbeddedLanguageDiagnosticAnalyzer : DiagnosticAnalyzer, IBuiltInAnalyzer internal abstract class AbstractValidateEmbeddedLanguageStringDiagnosticAnalyzer : DiagnosticAnalyzer, IBuiltInAnalyzer
{ {
private readonly ImmutableArray<IEmbeddedDiagnosticAnalyzer> _analyzers; private readonly ImmutableArray<IEmbeddedDiagnosticAnalyzer> _analyzers;
protected AbstractValidateEmbeddedLanguageDiagnosticAnalyzer( protected AbstractValidateEmbeddedLanguageStringDiagnosticAnalyzer(
IEmbeddedLanguageProvider embeddedLanguageProvider) IEmbeddedLanguageProvider embeddedLanguageProvider)
{ {
var supportedDiagnostics = ArrayBuilder<DiagnosticDescriptor>.GetInstance(); var supportedDiagnostics = ArrayBuilder<DiagnosticDescriptor>.GetInstance();
......
...@@ -2,18 +2,15 @@ ...@@ -2,18 +2,15 @@
Imports Microsoft.CodeAnalysis.Diagnostics Imports Microsoft.CodeAnalysis.Diagnostics
Imports Microsoft.CodeAnalysis.ValidateJsonString Imports Microsoft.CodeAnalysis.ValidateJsonString
Imports Microsoft.CodeAnalysis.VisualBasic.EmbeddedLanguages.VirtualChars Imports Microsoft.CodeAnalysis.VisualBasic.EmbeddedLanguages.LanguageServices
Namespace Microsoft.CodeAnalysis.VisualBasic.ValidateRegexString Namespace Microsoft.CodeAnalysis.VisualBasic.ValidateEmbeddedLanguageString
<DiagnosticAnalyzer(LanguageNames.VisualBasic)> <DiagnosticAnalyzer(LanguageNames.VisualBasic)>
Friend Class VisualBasicValidateJsonStringDiagnosticAnalyzer Friend Class VisualBasicValidateEmbeddedLanguageStringDiagnosticAnalyzer
Inherits AbstractValidateJsonStringDiagnosticAnalyzer Inherits AbstractValidateEmbeddedLanguageStringDiagnosticAnalyzer
Public Sub New() Public Sub New()
MyBase.New(SyntaxKind.StringLiteralToken, MyBase.New(VisualBasicEmbeddedLanguageProvider.Instance)
VisualBasicSyntaxFactsService.Instance,
VisualBasicSemanticFactsService.Instance,
VisualBasicVirtualCharService.Instance)
End Sub End Sub
End Class End Class
End Namespace End Namespace
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册