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

Move diagnostic analyzer down.

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