| File: Microsoft.CodeQuality.Analyzers\QualityGuidelines\BasicUseLiteralsWhereAppropriate.Fixer.vb | Web Access |
| Project: src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers\Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers.vbproj (Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers) |
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the MIT license. See License.txt in the project root for license information. Imports System.Composition Imports Microsoft.CodeAnalysis Imports Microsoft.CodeAnalysis.CodeFixes Imports Microsoft.CodeAnalysis.VisualBasic Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Imports Microsoft.CodeQuality.Analyzers.QualityGuidelines Namespace Microsoft.CodeQuality.VisualBasic.Analyzers.QualityGuidelines ''' <summary> ''' CA1802: Use literals where appropriate ''' </summary> <ExportCodeFixProvider(LanguageNames.VisualBasic), [Shared]> Public NotInheritable Class BasicUseLiteralsWhereAppropriateFixer Inherits UseLiteralsWhereAppropriateFixer Protected Overrides Function GetFieldDeclaration(syntaxNode As SyntaxNode) As SyntaxNode While syntaxNode IsNot Nothing AndAlso Not (TypeOf syntaxNode Is FieldDeclarationSyntax) syntaxNode = syntaxNode.Parent End While Dim field = DirectCast(syntaxNode, FieldDeclarationSyntax) ' Multiple declarators are not supported, as one of them may not be constant. Return If(field IsNot Nothing AndAlso field.Declarators.Count > 1, Nothing, field) End Function Protected Overrides Function IsStaticKeyword(syntaxToken As SyntaxToken) As Boolean Return syntaxToken.IsKind(SyntaxKind.SharedKeyword) End Function Protected Overrides Function IsReadonlyKeyword(syntaxToken As SyntaxToken) As Boolean Return syntaxToken.IsKind(SyntaxKind.ReadOnlyKeyword) End Function Protected Overrides Function GetConstKeywordToken() As SyntaxToken Return SyntaxFactory.Token(SyntaxKind.ConstKeyword) End Function Protected Overrides Function GetModifiers(fieldSyntax As SyntaxNode) As SyntaxTokenList Dim field = DirectCast(fieldSyntax, FieldDeclarationSyntax) Return field.Modifiers End Function Protected Overrides Function WithModifiers(fieldSyntax As SyntaxNode, modifiers As SyntaxTokenList) As SyntaxNode Dim field = DirectCast(fieldSyntax, FieldDeclarationSyntax) Return field.WithModifiers(modifiers) End Function End Class End Namespace