Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
d57cddba
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
d57cddba
编写于
12月 17, 2020
作者:
M
Manish Vasani
提交者:
GitHub
12月 17, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #49995 from mavasani/PassEnforceOnBuild
Set EnforceOnBuild values for code style analyzers
上级
ad294e9c
8c876a0c
变更
99
隐藏空白更改
内联
并排
Showing
99 changed file
with
329 addition
and
53 deletion
+329
-53
src/Analyzers/CSharp/Analyzers/AddBraces/CSharpAddBracesDiagnosticAnalyzer.cs
.../Analyzers/AddBraces/CSharpAddBracesDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/ConvertSwitchStatementToExpression/ConvertSwitchStatementToExpressionDiagnosticAnalyzer.cs
...n/ConvertSwitchStatementToExpressionDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/InlineDeclaration/CSharpInlineDeclarationDiagnosticAnalyzer.cs
...eDeclaration/CSharpInlineDeclarationDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/InvokeDelegateWithConditionalAccess/InvokeDelegateWithConditionalAccessAnalyzer.cs
...onalAccess/InvokeDelegateWithConditionalAccessAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/MakeLocalFunctionStatic/MakeLocalFunctionStaticDiagnosticAnalyzer.cs
...nctionStatic/MakeLocalFunctionStaticDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/MakeStructFieldsWritable/CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs
...table/CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/MisplacedUsingDirectives/MisplacedUsingDirectivesDiagnosticAnalyzer.cs
...gDirectives/MisplacedUsingDirectivesDiagnosticAnalyzer.cs
+6
-2
src/Analyzers/CSharp/Analyzers/RemoveConfusingSuppression/CSharpRemoveConfusingSuppressionDiagnosticAnalyzer.cs
...ion/CSharpRemoveConfusingSuppressionDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/RemoveUnnecessaryDiscardDesignation/CSharpRemoveUnnecessaryDiscardDesignationDiagnosticAnalyzer.cs
...pRemoveUnnecessaryDiscardDesignationDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/RemoveUnreachableCode/CSharpRemoveUnreachableCodeDiagnosticAnalyzer.cs
...ableCode/CSharpRemoveUnreachableCodeDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseCompoundAssignment/CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs
.../CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseDeconstruction/CSharpUseDeconstructionDiagnosticAnalyzer.cs
...construction/CSharpUseDeconstructionDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseDefaultLiteral/CSharpUseDefaultLiteralDiagnosticAnalyzer.cs
...faultLiteral/CSharpUseDefaultLiteralDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForAccessorsHelper.cs
...essionBody/Helpers/UseExpressionBodyForAccessorsHelper.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForConstructorsHelper.cs
...ionBody/Helpers/UseExpressionBodyForConstructorsHelper.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForConversionOperatorsHelper.cs
.../Helpers/UseExpressionBodyForConversionOperatorsHelper.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForIndexersHelper.cs
...ressionBody/Helpers/UseExpressionBodyForIndexersHelper.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForLocalFunctionHelper.cs
...onBody/Helpers/UseExpressionBodyForLocalFunctionHelper.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForMethodsHelper.cs
...pressionBody/Helpers/UseExpressionBodyForMethodsHelper.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForOperatorsHelper.cs
...essionBody/Helpers/UseExpressionBodyForOperatorsHelper.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForPropertiesHelper.cs
...ssionBody/Helpers/UseExpressionBodyForPropertiesHelper.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyHelper.cs
...zers/UseExpressionBody/Helpers/UseExpressionBodyHelper.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyHelper`1.cs
...rs/UseExpressionBody/Helpers/UseExpressionBodyHelper`1.cs
+3
-0
src/Analyzers/CSharp/Analyzers/UseExpressionBody/UseExpressionBodyDiagnosticAnalyzer.cs
.../UseExpressionBody/UseExpressionBodyDiagnosticAnalyzer.cs
+3
-3
src/Analyzers/CSharp/Analyzers/UseImplicitObjectCreation/CSharpUseImplicitObjectCreationDiagnosticAnalyzer.cs
...tion/CSharpUseImplicitObjectCreationDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseImplicitOrExplicitType/CSharpTypeStyleDiagnosticAnalyzerBase.cs
...itOrExplicitType/CSharpTypeStyleDiagnosticAnalyzerBase.cs
+2
-1
src/Analyzers/CSharp/Analyzers/UseImplicitOrExplicitType/CSharpUseExplicitTypeDiagnosticAnalyzer.cs
...OrExplicitType/CSharpUseExplicitTypeDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseImplicitOrExplicitType/CSharpUseImplicitTypeDiagnosticAnalyzer.cs
...OrExplicitType/CSharpUseImplicitTypeDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseIndexOrRangeOperator/CSharpUseIndexOperatorDiagnosticAnalyzer.cs
...RangeOperator/CSharpUseIndexOperatorDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseIndexOrRangeOperator/CSharpUseRangeOperatorDiagnosticAnalyzer.cs
...RangeOperator/CSharpUseRangeOperatorDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseIsNullCheck/CSharpUseIsNullCheckForCastAndEqualityOperatorDiagnosticAnalyzer.cs
...sNullCheckForCastAndEqualityOperatorDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseLocalFunction/CSharpUseLocalFunctionDiagnosticAnalyzer.cs
...LocalFunction/CSharpUseLocalFunctionDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UsePatternCombinators/CSharpUsePatternCombinatorsDiagnosticAnalyzer.cs
...binators/CSharpUsePatternCombinatorsDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UsePatternMatching/CSharpAsAndNullCheckDiagnosticAnalyzer.cs
...PatternMatching/CSharpAsAndNullCheckDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UsePatternMatching/CSharpIsAndCastCheckDiagnosticAnalyzer.cs
...PatternMatching/CSharpIsAndCastCheckDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UsePatternMatching/CSharpUseNotPatternDiagnosticAnalyzer.cs
...ePatternMatching/CSharpUseNotPatternDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/CSharp/Analyzers/UseSimpleUsingStatement/UseSimpleUsingStatementDiagnosticAnalyzer.cs
...ingStatement/UseSimpleUsingStatementDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/AbstractBuiltInCodeStyleDiagnosticAnalyzer.cs
...e/Analyzers/AbstractBuiltInCodeStyleDiagnosticAnalyzer.cs
+12
-4
src/Analyzers/Core/Analyzers/AbstractBuiltInCodeStyleDiagnosticAnalyzer_Core.cs
...lyzers/AbstractBuiltInCodeStyleDiagnosticAnalyzer_Core.cs
+7
-5
src/Analyzers/Core/Analyzers/AbstractCodeQualityDiagnosticAnalyzer.cs
...s/Core/Analyzers/AbstractCodeQualityDiagnosticAnalyzer.cs
+4
-3
src/Analyzers/Core/Analyzers/AbstractParenthesesDiagnosticAnalyzer.cs
...s/Core/Analyzers/AbstractParenthesesDiagnosticAnalyzer.cs
+2
-1
src/Analyzers/Core/Analyzers/AddAccessibilityModifiers/AbstractAddAccessibilityModifiersDiagnosticAnalyzer.cs
...rs/AbstractAddAccessibilityModifiersDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/AddRequiredParentheses/AbstractAddRequiredParenthesesDiagnosticAnalyzer.cs
...heses/AbstractAddRequiredParenthesesDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/Analyzers.projitems
src/Analyzers/Core/Analyzers/Analyzers.projitems
+2
-1
src/Analyzers/Core/Analyzers/ConvertAnonymousTypeToTuple/AbstractConvertAnonymousTypeToTupleDiagnosticAnalyzer.cs
.../AbstractConvertAnonymousTypeToTupleDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/ConvertTypeofToNameof/AbstractConvertTypeOfToNameOfDiagnosticAnalyzer.cs
...Nameof/AbstractConvertTypeOfToNameOfDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/DiagnosticCustomTags.cs
src/Analyzers/Core/Analyzers/DiagnosticCustomTags.cs
+30
-13
src/Analyzers/Core/Analyzers/EnforceOnBuild.cs
src/Analyzers/Core/Analyzers/EnforceOnBuild.cs
+19
-0
src/Analyzers/Core/Analyzers/EnforceOnBuildValues.cs
src/Analyzers/Core/Analyzers/EnforceOnBuildValues.cs
+113
-0
src/Analyzers/Core/Analyzers/FileHeaders/AbstractFileHeaderDiagnosticAnalyzer.cs
...yzers/FileHeaders/AbstractFileHeaderDiagnosticAnalyzer.cs
+2
-1
src/Analyzers/Core/Analyzers/MakeFieldReadonly/MakeFieldReadonlyDiagnosticAnalyzer.cs
.../MakeFieldReadonly/MakeFieldReadonlyDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/NamingStyle/NamingStyleDiagnosticAnalyzerBase.cs
...nalyzers/NamingStyle/NamingStyleDiagnosticAnalyzerBase.cs
+1
-0
src/Analyzers/Core/Analyzers/OrderModifiers/AbstractOrderModifiersDiagnosticAnalyzer.cs
...rderModifiers/AbstractOrderModifiersDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/PopulateSwitch/AbstractPopulateSwitchDiagnosticAnalyzer.cs
...opulateSwitch/AbstractPopulateSwitchDiagnosticAnalyzer.cs
+2
-1
src/Analyzers/Core/Analyzers/PopulateSwitch/AbstractPopulateSwitchExpressionDiagnosticAnalyzer.cs
...tch/AbstractPopulateSwitchExpressionDiagnosticAnalyzer.cs
+2
-1
src/Analyzers/Core/Analyzers/PopulateSwitch/AbstractPopulateSwitchStatementDiagnosticAnalyzer.cs
...itch/AbstractPopulateSwitchStatementDiagnosticAnalyzer.cs
+2
-1
src/Analyzers/Core/Analyzers/QualifyMemberAccess/AbstractQualifyMemberAccessDiagnosticAnalyzer.cs
...erAccess/AbstractQualifyMemberAccessDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/RemoveRedundantEquality/AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs
...lity/AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/RemoveUnnecessaryCast/AbstractRemoveUnnecessaryCastDiagnosticAnalyzer.cs
...ryCast/AbstractRemoveUnnecessaryCastDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/RemoveUnnecessaryImports/AbstractRemoveUnnecessaryImportsDiagnosticAnalyzer.cs
...rts/AbstractRemoveUnnecessaryImportsDiagnosticAnalyzer.cs
+7
-5
src/Analyzers/Core/Analyzers/RemoveUnnecessaryParentheses/AbstractRemoveUnnecessaryParenthesesDiagnosticAnalyzer.cs
...AbstractRemoveUnnecessaryParenthesesDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/RemoveUnnecessarySuppressions/AbstractRemoveUnnecessaryAttributeSuppressionsDiagnosticAnalyzer.cs
...moveUnnecessaryAttributeSuppressionsDiagnosticAnalyzer.cs
+9
-3
src/Analyzers/Core/Analyzers/RemoveUnnecessarySuppressions/AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs
...tRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs
+3
-1
src/Analyzers/Core/Analyzers/RemoveUnusedMembers/AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs
...dMembers/AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs
+2
-0
src/Analyzers/Core/Analyzers/RemoveUnusedParametersAndValues/AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs
...tractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs
+3
-0
src/Analyzers/Core/Analyzers/SimplifyBooleanExpression/AbstractSimplifyConditionalDiagnosticAnalyzer.cs
...pression/AbstractSimplifyConditionalDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/SimplifyInterpolation/AbstractSimplifyInterpolationDiagnosticAnalyzer.cs
...lation/AbstractSimplifyInterpolationDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/UseAutoProperty/AbstractUseAutoPropertyAnalyzer.cs
...lyzers/UseAutoProperty/AbstractUseAutoPropertyAnalyzer.cs
+1
-1
src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionDiagnosticAnalyzer.cs
...ession/AbstractUseCoalesceExpressionDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs
...ractUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/UseCollectionInitializer/AbstractUseCollectionInitializerDiagnosticAnalyzer.cs
...zer/AbstractUseCollectionInitializerDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/UseCompoundAssignment/AbstractUseCompoundAssignmentDiagnosticAnalyzer.cs
...gnment/AbstractUseCompoundAssignmentDiagnosticAnalyzer.cs
+3
-0
src/Analyzers/Core/Analyzers/UseConditionalExpression/AbstractUseConditionalExpressionDiagnosticAnalyzer.cs
...ion/AbstractUseConditionalExpressionDiagnosticAnalyzer.cs
+2
-0
src/Analyzers/Core/Analyzers/UseConditionalExpression/ForAssignment/AbstractUseConditionalExpressionForAssignmentDiagnosticAnalyzer.cs
...seConditionalExpressionForAssignmentDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/UseConditionalExpression/ForReturn/AbstractUseConditionalExpressionForReturnDiagnosticAnalyzer.cs
...actUseConditionalExpressionForReturnDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/UseExplicitTupleName/UseExplicitTupleNameDiagnosticAnalyzer.cs
...plicitTupleName/UseExplicitTupleNameDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/UseInferredMemberName/AbstractUseInferredMemberNameDiagnosticAnalyzer.cs
...erName/AbstractUseInferredMemberNameDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/UseIsNullCheck/AbstractUseIsNullForReferenceEqualsDiagnosticAnalyzer.cs
.../AbstractUseIsNullForReferenceEqualsDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/UseNullPropagation/AbstractUseNullPropagationDiagnosticAnalyzer.cs
...opagation/AbstractUseNullPropagationDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/UseObjectInitializer/AbstractUseObjectInitializerDiagnosticAnalyzer.cs
...ializer/AbstractUseObjectInitializerDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/UseSystemHashCode/UseSystemHashCodeDiagnosticAnalyzer.cs
.../UseSystemHashCode/UseSystemHashCodeDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/UseThrowExpression/AbstractUseThrowExpressionDiagnosticAnalyzer.cs
...xpression/AbstractUseThrowExpressionDiagnosticAnalyzer.cs
+1
-0
src/Analyzers/Core/Analyzers/ValidateFormatString/AbstractValidateFormatStringDiagnosticAnalyzer.cs
...tString/AbstractValidateFormatStringDiagnosticAnalyzer.cs
+3
-1
src/Analyzers/VisualBasic/Analyzers/RemoveUnnecessaryByVal/VisualBasicRemoveUnnecessaryByValDiagnosticAnalyzer.vb
...al/VisualBasicRemoveUnnecessaryByValDiagnosticAnalyzer.vb
+1
-0
src/Analyzers/VisualBasic/Analyzers/UseIsNotExpression/VisualBasicUseIsNotDiagnosticAnalyzer.vb
...eIsNotExpression/VisualBasicUseIsNotDiagnosticAnalyzer.vb
+1
-0
src/CodeStyle/Core/Analyzers/AbstractFormattingAnalyzer.cs
src/CodeStyle/Core/Analyzers/AbstractFormattingAnalyzer.cs
+1
-0
src/CodeStyle/Tools/Program.cs
src/CodeStyle/Tools/Program.cs
+4
-0
src/EditorFeatures/Test/Diagnostics/DiagnosticsClassificationTaggerProviderTests.cs
...agnostics/DiagnosticsClassificationTaggerProviderTests.cs
+2
-1
src/EditorFeatures/Test/EditAndContinue/EditAndContinueDiagnosticDescriptorsTests.cs
...tAndContinue/EditAndContinueDiagnosticDescriptorsTests.cs
+4
-3
src/Features/CSharp/Portable/UseExpressionBodyForLambda/UseExpressionBodyForLambdaCodeStyleProvider.cs
...yForLambda/UseExpressionBodyForLambdaCodeStyleProvider.cs
+1
-0
src/Features/CSharp/Portable/UsePatternMatching/CSharpIsAndCastCheckWithoutNameDiagnosticAnalyzer.cs
...hing/CSharpIsAndCastCheckWithoutNameDiagnosticAnalyzer.cs
+2
-1
src/Features/Core/Portable/CodeStyle/AbstractCodeStyleProvider.Analysis.cs
.../Portable/CodeStyle/AbstractCodeStyleProvider.Analysis.cs
+1
-0
src/Features/Core/Portable/CodeStyle/AbstractCodeStyleProvider.cs
...ures/Core/Portable/CodeStyle/AbstractCodeStyleProvider.cs
+3
-0
src/Features/Core/Portable/DisposeAnalysis/DisposableFieldsShouldBeDisposedDiagnosticAnalyzer.cs
...sis/DisposableFieldsShouldBeDisposedDiagnosticAnalyzer.cs
+1
-0
src/Features/Core/Portable/DisposeAnalysis/DisposeObjectsBeforeLosingScopeDiagnosticAnalyzer.cs
...ysis/DisposeObjectsBeforeLosingScopeDiagnosticAnalyzer.cs
+2
-0
src/Features/Core/Portable/EmbeddedLanguages/RegularExpressions/AbstractRegexDiagnosticAnalyzer.cs
...ges/RegularExpressions/AbstractRegexDiagnosticAnalyzer.cs
+1
-0
src/Features/Core/Portable/Formatting/FormattingDiagnosticAnalyzer.cs
.../Core/Portable/Formatting/FormattingDiagnosticAnalyzer.cs
+1
-0
src/Features/Core/Portable/PreferFrameworkType/PreferFrameworkTypeDiagnosticAnalyzerBase.cs
...rameworkType/PreferFrameworkTypeDiagnosticAnalyzerBase.cs
+1
-0
src/Features/Core/Portable/SimplifyThisOrMe/AbstractSimplifyThisOrMeDiagnosticAnalyzer.cs
...ifyThisOrMe/AbstractSimplifyThisOrMeDiagnosticAnalyzer.cs
+1
-0
未找到文件。
src/Analyzers/CSharp/Analyzers/AddBraces/CSharpAddBracesDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -22,6 +22,7 @@ internal sealed class CSharpAddBracesDiagnosticAnalyzer :
{
public
CSharpAddBracesDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
AddBracesDiagnosticId
,
EnforceOnBuildValues
.
AddBraces
,
CSharpCodeStyleOptions
.
PreferBraces
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Add_braces
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
...
...
src/Analyzers/CSharp/Analyzers/ConvertSwitchStatementToExpression/ConvertSwitchStatementToExpressionDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -22,6 +22,7 @@ internal sealed partial class ConvertSwitchStatementToExpressionDiagnosticAnalyz
{
public
ConvertSwitchStatementToExpressionDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
ConvertSwitchStatementToExpressionDiagnosticId
,
EnforceOnBuildValues
.
ConvertSwitchStatementToExpression
,
CSharpCodeStyleOptions
.
PreferSwitchExpression
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Convert_switch_statement_to_expression
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
...
...
src/Analyzers/CSharp/Analyzers/InlineDeclaration/CSharpInlineDeclarationDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -36,6 +36,7 @@ internal class CSharpInlineDeclarationDiagnosticAnalyzer : AbstractBuiltInCodeSt
public
CSharpInlineDeclarationDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
InlineDeclarationDiagnosticId
,
EnforceOnBuildValues
.
InlineDeclaration
,
CSharpCodeStyleOptions
.
PreferInlinedVariableDeclaration
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Inline_variable_declaration
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
...
...
src/Analyzers/CSharp/Analyzers/InvokeDelegateWithConditionalAccess/InvokeDelegateWithConditionalAccessAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -27,6 +27,7 @@ internal class InvokeDelegateWithConditionalAccessAnalyzer : AbstractBuiltInCode
{
public
InvokeDelegateWithConditionalAccessAnalyzer
()
:
base
(
IDEDiagnosticIds
.
InvokeDelegateWithConditionalAccessId
,
EnforceOnBuildValues
.
InvokeDelegateWithConditionalAccess
,
CSharpCodeStyleOptions
.
PreferConditionalDelegateCall
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Delegate_invocation_can_be_simplified
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)))
...
...
src/Analyzers/CSharp/Analyzers/MakeLocalFunctionStatic/MakeLocalFunctionStaticDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -17,6 +17,7 @@ internal class MakeLocalFunctionStaticDiagnosticAnalyzer : AbstractBuiltInCodeSt
{
public
MakeLocalFunctionStaticDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
MakeLocalFunctionStaticDiagnosticId
,
EnforceOnBuildValues
.
MakeLocalFunctionStatic
,
CSharpCodeStyleOptions
.
PreferStaticLocalFunction
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Make_local_function_static
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
...
...
src/Analyzers/CSharp/Analyzers/MakeStructFieldsWritable/CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -18,6 +18,7 @@ internal sealed class CSharpMakeStructFieldsWritableDiagnosticAnalyzer : Abstrac
{
private
static
readonly
DiagnosticDescriptor
s_diagnosticDescriptor
=
CreateDescriptor
(
IDEDiagnosticIds
.
MakeStructFieldsWritable
,
EnforceOnBuildValues
.
MakeStructFieldsWritable
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Make_readonly_fields_writable
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Struct_contains_assignment_to_this_outside_of_constructor_Make_readonly_fields_writable
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
isUnnecessary
:
false
);
...
...
src/Analyzers/CSharp/Analyzers/MisplacedUsingDirectives/MisplacedUsingDirectivesDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -27,13 +27,17 @@ internal sealed class MisplacedUsingDirectivesDiagnosticAnalyzer : AbstractBuilt
nameof
(
CSharpAnalyzersResources
.
Using_directives_must_be_placed_outside_of_a_namespace_declaration
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
));
private
static
readonly
DiagnosticDescriptor
s_outsideDiagnosticDescriptor
=
CreateDescriptorWithId
(
IDEDiagnosticIds
.
MoveMisplacedUsingDirectivesDiagnosticId
,
s_localizableTitle
,
s_localizableOutsideMessage
);
IDEDiagnosticIds
.
MoveMisplacedUsingDirectivesDiagnosticId
,
EnforceOnBuildValues
.
MoveMisplacedUsingDirectives
,
s_localizableTitle
,
s_localizableOutsideMessage
);
private
static
readonly
LocalizableResourceString
s_localizableInsideMessage
=
new
(
nameof
(
CSharpAnalyzersResources
.
Using_directives_must_be_placed_inside_of_a_namespace_declaration
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
));
private
static
readonly
DiagnosticDescriptor
s_insideDiagnosticDescriptor
=
CreateDescriptorWithId
(
IDEDiagnosticIds
.
MoveMisplacedUsingDirectivesDiagnosticId
,
s_localizableTitle
,
s_localizableInsideMessage
);
IDEDiagnosticIds
.
MoveMisplacedUsingDirectivesDiagnosticId
,
EnforceOnBuildValues
.
MoveMisplacedUsingDirectives
,
s_localizableTitle
,
s_localizableInsideMessage
);
public
MisplacedUsingDirectivesDiagnosticAnalyzer
()
:
base
(
ImmutableDictionary
<
DiagnosticDescriptor
,
ILanguageSpecificOption
>.
Empty
...
...
src/Analyzers/CSharp/Analyzers/RemoveConfusingSuppression/CSharpRemoveConfusingSuppressionDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -15,6 +15,7 @@ internal sealed class CSharpRemoveConfusingSuppressionDiagnosticAnalyzer : Abstr
{
public
CSharpRemoveConfusingSuppressionDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
RemoveConfusingSuppressionForIsExpressionDiagnosticId
,
EnforceOnBuildValues
.
RemoveConfusingSuppressionForIsExpression
,
option
:
null
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Remove_unnecessary_suppression_operator
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Suppression_operator_has_no_effect_and_can_be_misinterpreted
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)))
...
...
src/Analyzers/CSharp/Analyzers/RemoveUnnecessaryDiscardDesignation/CSharpRemoveUnnecessaryDiscardDesignationDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -19,6 +19,7 @@ internal sealed class CSharpRemoveUnnecessaryDiscardDesignationDiagnosticAnalyze
{
public
CSharpRemoveUnnecessaryDiscardDesignationDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
RemoveUnnecessaryDiscardDesignationDiagnosticId
,
EnforceOnBuildValues
.
RemoveUnnecessaryDiscardDesignation
,
option
:
null
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Remove_unnessary_discard
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Discard_can_be_removed
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
...
...
src/Analyzers/CSharp/Analyzers/RemoveUnreachableCode/CSharpRemoveUnreachableCodeDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -26,6 +26,7 @@ internal class CSharpRemoveUnreachableCodeDiagnosticAnalyzer : AbstractBuiltInCo
public
CSharpRemoveUnreachableCodeDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
RemoveUnreachableCodeDiagnosticId
,
EnforceOnBuildValues
.
RemoveUnreachableCode
,
option
:
null
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Unreachable_code_detected
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
// This analyzer supports fading through AdditionalLocations since it's a user-controlled option
...
...
src/Analyzers/CSharp/Analyzers/UseCompoundAssignment/CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -23,6 +23,7 @@ internal class CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer
{
public
CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseCoalesceCompoundAssignmentDiagnosticId
,
EnforceOnBuildValues
.
UseCoalesceCompoundAssignment
,
CodeStyleOptions2
.
PreferCompoundAssignment
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Use_compound_assignment
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
{
...
...
src/Analyzers/CSharp/Analyzers/UseDeconstruction/CSharpUseDeconstructionDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -24,6 +24,7 @@ internal class CSharpUseDeconstructionDiagnosticAnalyzer : AbstractBuiltInCodeSt
{
public
CSharpUseDeconstructionDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseDeconstructionDiagnosticId
,
EnforceOnBuildValues
.
UseDeconstruction
,
CSharpCodeStyleOptions
.
PreferDeconstructedVariableDeclaration
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Deconstruct_variable_declaration
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
...
...
src/Analyzers/CSharp/Analyzers/UseDefaultLiteral/CSharpUseDefaultLiteralDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -19,6 +19,7 @@ internal class CSharpUseDefaultLiteralDiagnosticAnalyzer : AbstractBuiltInCodeSt
{
public
CSharpUseDefaultLiteralDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseDefaultLiteralDiagnosticId
,
EnforceOnBuildValues
.
UseDefaultLiteral
,
CSharpCodeStyleOptions
.
PreferSimpleDefaultExpression
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Simplify_default_expression
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
...
...
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForAccessorsHelper.cs
浏览文件 @
d57cddba
...
...
@@ -18,6 +18,7 @@ internal class UseExpressionBodyForAccessorsHelper :
private
UseExpressionBodyForAccessorsHelper
()
:
base
(
IDEDiagnosticIds
.
UseExpressionBodyForAccessorsDiagnosticId
,
EnforceOnBuildValues
.
UseExpressionBodyForAccessors
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_expression_body_for_accessors
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_block_body_for_accessors
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
CSharpCodeStyleOptions
.
PreferExpressionBodiedAccessors
,
...
...
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForConstructorsHelper.cs
浏览文件 @
d57cddba
...
...
@@ -18,6 +18,7 @@ internal class UseExpressionBodyForConstructorsHelper :
private
UseExpressionBodyForConstructorsHelper
()
:
base
(
IDEDiagnosticIds
.
UseExpressionBodyForConstructorsDiagnosticId
,
EnforceOnBuildValues
.
UseExpressionBodyForConstructors
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_expression_body_for_constructors
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_block_body_for_constructors
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
CSharpCodeStyleOptions
.
PreferExpressionBodiedConstructors
,
...
...
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForConversionOperatorsHelper.cs
浏览文件 @
d57cddba
...
...
@@ -18,6 +18,7 @@ internal class UseExpressionBodyForConversionOperatorsHelper :
private
UseExpressionBodyForConversionOperatorsHelper
()
:
base
(
IDEDiagnosticIds
.
UseExpressionBodyForConversionOperatorsDiagnosticId
,
EnforceOnBuildValues
.
UseExpressionBodyForConversionOperators
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_expression_body_for_operators
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_block_body_for_operators
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
CSharpCodeStyleOptions
.
PreferExpressionBodiedOperators
,
...
...
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForIndexersHelper.cs
浏览文件 @
d57cddba
...
...
@@ -20,6 +20,7 @@ internal class UseExpressionBodyForIndexersHelper :
private
UseExpressionBodyForIndexersHelper
()
:
base
(
IDEDiagnosticIds
.
UseExpressionBodyForIndexersDiagnosticId
,
EnforceOnBuildValues
.
UseExpressionBodyForIndexers
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_expression_body_for_indexers
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_block_body_for_indexers
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
CSharpCodeStyleOptions
.
PreferExpressionBodiedIndexers
,
...
...
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForLocalFunctionHelper.cs
浏览文件 @
d57cddba
...
...
@@ -19,6 +19,7 @@ internal class UseExpressionBodyForLocalFunctionHelper :
private
UseExpressionBodyForLocalFunctionHelper
()
:
base
(
IDEDiagnosticIds
.
UseExpressionBodyForLocalFunctionsDiagnosticId
,
EnforceOnBuildValues
.
UseExpressionBodyForLocalFunctions
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_expression_body_for_local_functions
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_block_body_for_local_functions
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
CSharpCodeStyleOptions
.
PreferExpressionBodiedLocalFunctions
,
...
...
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForMethodsHelper.cs
浏览文件 @
d57cddba
...
...
@@ -19,6 +19,7 @@ internal class UseExpressionBodyForMethodsHelper :
private
UseExpressionBodyForMethodsHelper
()
:
base
(
IDEDiagnosticIds
.
UseExpressionBodyForMethodsDiagnosticId
,
EnforceOnBuildValues
.
UseExpressionBodyForMethods
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_expression_body_for_methods
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_block_body_for_methods
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
CSharpCodeStyleOptions
.
PreferExpressionBodiedMethods
,
...
...
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForOperatorsHelper.cs
浏览文件 @
d57cddba
...
...
@@ -18,6 +18,7 @@ internal class UseExpressionBodyForOperatorsHelper :
private
UseExpressionBodyForOperatorsHelper
()
:
base
(
IDEDiagnosticIds
.
UseExpressionBodyForOperatorsDiagnosticId
,
EnforceOnBuildValues
.
UseExpressionBodyForOperators
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_expression_body_for_operators
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_block_body_for_operators
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
CSharpCodeStyleOptions
.
PreferExpressionBodiedOperators
,
...
...
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyForPropertiesHelper.cs
浏览文件 @
d57cddba
...
...
@@ -20,6 +20,7 @@ internal class UseExpressionBodyForPropertiesHelper :
private
UseExpressionBodyForPropertiesHelper
()
:
base
(
IDEDiagnosticIds
.
UseExpressionBodyForPropertiesDiagnosticId
,
EnforceOnBuildValues
.
UseExpressionBodyForProperties
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_expression_body_for_properties
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_block_body_for_properties
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
CSharpCodeStyleOptions
.
PreferExpressionBodiedProperties
,
...
...
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyHelper.cs
浏览文件 @
d57cddba
...
...
@@ -21,6 +21,7 @@ internal abstract class UseExpressionBodyHelper
public
abstract
LocalizableString
UseExpressionBodyTitle
{
get
;
}
public
abstract
LocalizableString
UseBlockBodyTitle
{
get
;
}
public
abstract
string
DiagnosticId
{
get
;
}
public
abstract
EnforceOnBuild
EnforceOnBuild
{
get
;
}
public
abstract
ImmutableArray
<
SyntaxKind
>
SyntaxKinds
{
get
;
}
public
abstract
BlockSyntax
GetBody
(
SyntaxNode
declaration
);
...
...
src/Analyzers/CSharp/Analyzers/UseExpressionBody/Helpers/UseExpressionBodyHelper`1.cs
浏览文件 @
d57cddba
...
...
@@ -31,16 +31,19 @@ internal abstract class UseExpressionBodyHelper<TDeclaration> : UseExpressionBod
public
override
LocalizableString
UseExpressionBodyTitle
{
get
;
}
public
override
LocalizableString
UseBlockBodyTitle
{
get
;
}
public
override
string
DiagnosticId
{
get
;
}
public
override
EnforceOnBuild
EnforceOnBuild
{
get
;
}
public
override
ImmutableArray
<
SyntaxKind
>
SyntaxKinds
{
get
;
}
protected
UseExpressionBodyHelper
(
string
diagnosticId
,
EnforceOnBuild
enforceOnBuild
,
LocalizableString
useExpressionBodyTitle
,
LocalizableString
useBlockBodyTitle
,
Option2
<
CodeStyleOption2
<
ExpressionBodyPreference
>>
option
,
ImmutableArray
<
SyntaxKind
>
syntaxKinds
)
{
DiagnosticId
=
diagnosticId
;
EnforceOnBuild
=
enforceOnBuild
;
Option
=
option
;
UseExpressionBodyTitle
=
useExpressionBodyTitle
;
UseBlockBodyTitle
=
useBlockBodyTitle
;
...
...
src/Analyzers/CSharp/Analyzers/UseExpressionBody/UseExpressionBodyDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -36,7 +36,7 @@ public UseExpressionBodyDiagnosticAnalyzer()
var
builder
=
ImmutableDictionary
.
CreateBuilder
<
DiagnosticDescriptor
,
ILanguageSpecificOption
>();
foreach
(
var
helper
in
_helpers
)
{
var
descriptor
=
CreateDescriptorWithId
(
helper
.
DiagnosticId
,
helper
.
UseExpressionBodyTitle
,
helper
.
UseExpressionBodyTitle
);
var
descriptor
=
CreateDescriptorWithId
(
helper
.
DiagnosticId
,
helper
.
EnforceOnBuild
,
helper
.
UseExpressionBodyTitle
,
helper
.
UseExpressionBodyTitle
);
builder
.
Add
(
descriptor
,
helper
.
Option
);
}
...
...
@@ -105,7 +105,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
var
additionalLocations
=
ImmutableArray
.
Create
(
declaration
.
GetLocation
());
var
properties
=
ImmutableDictionary
<
string
,
string
>.
Empty
.
Add
(
nameof
(
UseExpressionBody
),
""
);
return
DiagnosticHelper
.
Create
(
CreateDescriptorWithId
(
helper
.
DiagnosticId
,
helper
.
UseExpressionBodyTitle
,
helper
.
UseExpressionBodyTitle
),
CreateDescriptorWithId
(
helper
.
DiagnosticId
,
helper
.
EnforceOnBuild
,
helper
.
UseExpressionBodyTitle
,
helper
.
UseExpressionBodyTitle
),
location
,
severity
,
additionalLocations
:
additionalLocations
,
properties
:
properties
);
}
...
...
@@ -126,7 +126,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
var
additionalLocations
=
ImmutableArray
.
Create
(
declaration
.
GetLocation
());
return
DiagnosticHelper
.
Create
(
CreateDescriptorWithId
(
helper
.
DiagnosticId
,
helper
.
UseBlockBodyTitle
,
helper
.
UseBlockBodyTitle
),
CreateDescriptorWithId
(
helper
.
DiagnosticId
,
helper
.
EnforceOnBuild
,
helper
.
UseBlockBodyTitle
,
helper
.
UseBlockBodyTitle
),
location
,
severity
,
additionalLocations
:
additionalLocations
,
properties
:
properties
);
}
...
...
src/Analyzers/CSharp/Analyzers/UseImplicitObjectCreation/CSharpUseImplicitObjectCreationDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -18,6 +18,7 @@ internal class CSharpUseImplicitObjectCreationDiagnosticAnalyzer : AbstractBuilt
{
public
CSharpUseImplicitObjectCreationDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseImplicitObjectCreationDiagnosticId
,
EnforceOnBuildValues
.
UseImplicitObjectCreation
,
CSharpCodeStyleOptions
.
ImplicitObjectCreationWhenTypeIsApparent
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_new
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
...
...
src/Analyzers/CSharp/Analyzers/UseImplicitOrExplicitType/CSharpTypeStyleDiagnosticAnalyzerBase.cs
浏览文件 @
d57cddba
...
...
@@ -25,8 +25,9 @@ internal abstract partial class CSharpTypeStyleDiagnosticAnalyzerBase :
protected
abstract
CSharpTypeStyleHelper
Helper
{
get
;
}
protected
CSharpTypeStyleDiagnosticAnalyzerBase
(
string
diagnosticId
,
LocalizableString
title
,
LocalizableString
message
)
string
diagnosticId
,
EnforceOnBuild
enforceOnBuild
,
LocalizableString
title
,
LocalizableString
message
)
:
base
(
diagnosticId
,
enforceOnBuild
,
ImmutableHashSet
.
Create
<
ILanguageSpecificOption
>(
CSharpCodeStyleOptions
.
VarForBuiltInTypes
,
CSharpCodeStyleOptions
.
VarWhenTypeIsApparent
,
CSharpCodeStyleOptions
.
VarElsewhere
),
LanguageNames
.
CSharp
,
title
,
message
)
...
...
src/Analyzers/CSharp/Analyzers/UseImplicitOrExplicitType/CSharpUseExplicitTypeDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -22,6 +22,7 @@ internal sealed class CSharpUseExplicitTypeDiagnosticAnalyzer : CSharpTypeStyleD
public
CSharpUseExplicitTypeDiagnosticAnalyzer
()
:
base
(
diagnosticId
:
IDEDiagnosticIds
.
UseExplicitTypeDiagnosticId
,
enforceOnBuild
:
EnforceOnBuildValues
.
UseExplicitType
,
title
:
s_Title
,
message
:
s_Message
)
{
...
...
src/Analyzers/CSharp/Analyzers/UseImplicitOrExplicitType/CSharpUseImplicitTypeDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -22,6 +22,7 @@ internal sealed class CSharpUseImplicitTypeDiagnosticAnalyzer : CSharpTypeStyleD
public
CSharpUseImplicitTypeDiagnosticAnalyzer
()
:
base
(
diagnosticId
:
IDEDiagnosticIds
.
UseImplicitTypeDiagnosticId
,
enforceOnBuild
:
EnforceOnBuildValues
.
UseImplicitType
,
title
:
s_Title
,
message
:
s_Message
)
{
...
...
src/Analyzers/CSharp/Analyzers/UseIndexOrRangeOperator/CSharpUseIndexOperatorDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -46,6 +46,7 @@ internal partial class CSharpUseIndexOperatorDiagnosticAnalyzer : AbstractBuiltI
{
public
CSharpUseIndexOperatorDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseIndexOperatorDiagnosticId
,
EnforceOnBuildValues
.
UseIndexOperator
,
CSharpCodeStyleOptions
.
PreferIndexOperator
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_index_operator
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
...
...
src/Analyzers/CSharp/Analyzers/UseIndexOrRangeOperator/CSharpUseRangeOperatorDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -44,6 +44,7 @@ internal partial class CSharpUseRangeOperatorDiagnosticAnalyzer : AbstractBuiltI
public
CSharpUseRangeOperatorDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseRangeOperatorDiagnosticId
,
EnforceOnBuildValues
.
UseRangeOperator
,
CSharpCodeStyleOptions
.
PreferRangeOperator
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_range_operator
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
...
...
src/Analyzers/CSharp/Analyzers/UseIsNullCheck/CSharpUseIsNullCheckForCastAndEqualityOperatorDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -21,6 +21,7 @@ internal class CSharpUseIsNullCheckForCastAndEqualityOperatorDiagnosticAnalyzer
public
CSharpUseIsNullCheckForCastAndEqualityOperatorDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseIsNullCheckDiagnosticId
,
EnforceOnBuildValues
.
UseIsNullCheck
,
CodeStyleOptions2
.
PreferIsNullCheckOverReferenceEqualityMethod
,
CSharpAnalyzersResources
.
Use_is_null_check
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Null_check_can_be_simplified
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/CSharp/Analyzers/UseLocalFunction/CSharpUseLocalFunctionDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -44,6 +44,7 @@ internal class CSharpUseLocalFunctionDiagnosticAnalyzer : AbstractBuiltInCodeSty
{
public
CSharpUseLocalFunctionDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseLocalFunctionDiagnosticId
,
EnforceOnBuildValues
.
UseLocalFunction
,
CSharpCodeStyleOptions
.
PreferLocalOverAnonymousFunction
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
...
...
src/Analyzers/CSharp/Analyzers/UsePatternCombinators/CSharpUsePatternCombinatorsDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -20,6 +20,7 @@ internal sealed class CSharpUsePatternCombinatorsDiagnosticAnalyzer :
{
public
CSharpUsePatternCombinatorsDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UsePatternCombinatorsDiagnosticId
,
EnforceOnBuildValues
.
UsePatternCombinators
,
CSharpCodeStyleOptions
.
PreferPatternMatching
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_pattern_matching
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
...
...
src/Analyzers/CSharp/Analyzers/UsePatternMatching/CSharpAsAndNullCheckDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -31,6 +31,7 @@ internal partial class CSharpAsAndNullCheckDiagnosticAnalyzer : AbstractBuiltInC
{
public
CSharpAsAndNullCheckDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
InlineAsTypeCheckId
,
EnforceOnBuildValues
.
InlineAsType
,
CSharpCodeStyleOptions
.
PreferPatternMatchingOverAsWithNullCheck
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
...
...
src/Analyzers/CSharp/Analyzers/UsePatternMatching/CSharpIsAndCastCheckDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -36,6 +36,7 @@ internal class CSharpIsAndCastCheckDiagnosticAnalyzer : AbstractBuiltInCodeStyle
public
CSharpIsAndCastCheckDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
InlineIsTypeCheckId
,
EnforceOnBuildValues
.
InlineIsType
,
CSharpCodeStyleOptions
.
PreferPatternMatchingOverIsWithCastCheck
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
...
...
src/Analyzers/CSharp/Analyzers/UsePatternMatching/CSharpUseNotPatternDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -27,6 +27,7 @@ internal partial class CSharpUseNotPatternDiagnosticAnalyzer : AbstractBuiltInCo
{
public
CSharpUseNotPatternDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseNotPatternDiagnosticId
,
EnforceOnBuildValues
.
UseNotPattern
,
CSharpCodeStyleOptions
.
PreferNotPattern
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
...
...
src/Analyzers/CSharp/Analyzers/UseSimpleUsingStatement/UseSimpleUsingStatementDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -53,6 +53,7 @@ internal class UseSimpleUsingStatementDiagnosticAnalyzer : AbstractBuiltInCodeSt
{
public
UseSimpleUsingStatementDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseSimpleUsingStatementDiagnosticId
,
EnforceOnBuildValues
.
UseSimpleUsingStatement
,
CSharpCodeStyleOptions
.
PreferSimpleUsingStatement
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_simple_using_statement
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)),
...
...
src/Analyzers/Core/Analyzers/AbstractBuiltInCodeStyleDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -22,6 +22,7 @@ internal abstract partial class AbstractBuiltInCodeStyleDiagnosticAnalyzer
/// unique <see cref="IPerLanguageOption"/> code style option.
/// </summary>
/// <param name="diagnosticId">Diagnostic ID reported by this analyzer</param>
/// <param name="enforceOnBuild">Build enforcement recommendation for this analyzer</param>
/// <param name="option">
/// Per-language option that can be used to configure the given <paramref name="diagnosticId"/>.
/// <see langword="null"/>, if there is no such unique option.
...
...
@@ -35,12 +36,13 @@ internal abstract partial class AbstractBuiltInCodeStyleDiagnosticAnalyzer
/// <param name="configurable">Flag indicating if the reported diagnostics are configurable by the end users</param>
protected
AbstractBuiltInCodeStyleDiagnosticAnalyzer
(
string
diagnosticId
,
EnforceOnBuild
enforceOnBuild
,
IPerLanguageOption
?
option
,
LocalizableString
title
,
LocalizableString
?
messageFormat
=
null
,
bool
isUnnecessary
=
false
,
bool
configurable
=
true
)
:
this
(
diagnosticId
,
title
,
messageFormat
,
isUnnecessary
,
configurable
)
:
this
(
diagnosticId
,
enforceOnBuild
,
title
,
messageFormat
,
isUnnecessary
,
configurable
)
{
AddDiagnosticIdToOptionMapping
(
diagnosticId
,
option
);
}
...
...
@@ -50,6 +52,7 @@ internal abstract partial class AbstractBuiltInCodeStyleDiagnosticAnalyzer
/// unique <see cref="ILanguageSpecificOption"/> code style option for the given language.
/// </summary>
/// <param name="diagnosticId">Diagnostic ID reported by this analyzer</param>
/// <param name="enforceOnBuild">Build enforcement recommendation for this analyzer</param>
/// <param name="option">
/// Language specific option that can be used to configure the given <paramref name="diagnosticId"/>.
/// <see langword="null"/>, if there is no such unique option.
...
...
@@ -64,13 +67,14 @@ internal abstract partial class AbstractBuiltInCodeStyleDiagnosticAnalyzer
/// <param name="configurable">Flag indicating if the reported diagnostics are configurable by the end users</param>
protected
AbstractBuiltInCodeStyleDiagnosticAnalyzer
(
string
diagnosticId
,
EnforceOnBuild
enforceOnBuild
,
ILanguageSpecificOption
?
option
,
string
language
,
LocalizableString
title
,
LocalizableString
?
messageFormat
=
null
,
bool
isUnnecessary
=
false
,
bool
configurable
=
true
)
:
this
(
diagnosticId
,
title
,
messageFormat
,
isUnnecessary
,
configurable
)
:
this
(
diagnosticId
,
enforceOnBuild
,
title
,
messageFormat
,
isUnnecessary
,
configurable
)
{
AddDiagnosticIdToOptionMapping
(
diagnosticId
,
option
,
language
);
}
...
...
@@ -80,6 +84,7 @@ internal abstract partial class AbstractBuiltInCodeStyleDiagnosticAnalyzer
/// two or more <see cref="IPerLanguageOption"/> code style options.
/// </summary>
/// <param name="diagnosticId">Diagnostic ID reported by this analyzer</param>
/// <param name="enforceOnBuild">Build enforcement recommendation for this analyzer</param>
/// <param name="options">
/// Set of two or more per-language options that can be used to configure the diagnostic severity of the given diagnosticId.
/// </param>
...
...
@@ -92,12 +97,13 @@ internal abstract partial class AbstractBuiltInCodeStyleDiagnosticAnalyzer
/// <param name="configurable">Flag indicating if the reported diagnostics are configurable by the end users</param>
protected
AbstractBuiltInCodeStyleDiagnosticAnalyzer
(
string
diagnosticId
,
EnforceOnBuild
enforceOnBuild
,
ImmutableHashSet
<
IPerLanguageOption
>
options
,
LocalizableString
title
,
LocalizableString
?
messageFormat
=
null
,
bool
isUnnecessary
=
false
,
bool
configurable
=
true
)
:
this
(
diagnosticId
,
title
,
messageFormat
,
isUnnecessary
,
configurable
)
:
this
(
diagnosticId
,
enforceOnBuild
,
title
,
messageFormat
,
isUnnecessary
,
configurable
)
{
RoslynDebug
.
Assert
(
options
!=
null
);
Debug
.
Assert
(
options
.
Count
>
1
);
...
...
@@ -109,6 +115,7 @@ internal abstract partial class AbstractBuiltInCodeStyleDiagnosticAnalyzer
/// two or more <see cref="ILanguageSpecificOption"/> code style options for the given language.
/// </summary>
/// <param name="diagnosticId">Diagnostic ID reported by this analyzer</param>
/// <param name="enforceOnBuild">Build enforcement recommendation for this analyzer</param>
/// <param name="options">
/// Set of two or more language-specific options that can be used to configure the diagnostic severity of the given diagnosticId.
/// </param>
...
...
@@ -122,13 +129,14 @@ internal abstract partial class AbstractBuiltInCodeStyleDiagnosticAnalyzer
/// <param name="configurable">Flag indicating if the reported diagnostics are configurable by the end users</param>
protected
AbstractBuiltInCodeStyleDiagnosticAnalyzer
(
string
diagnosticId
,
EnforceOnBuild
enforceOnBuild
,
ImmutableHashSet
<
ILanguageSpecificOption
>
options
,
string
language
,
LocalizableString
title
,
LocalizableString
?
messageFormat
=
null
,
bool
isUnnecessary
=
false
,
bool
configurable
=
true
)
:
this
(
diagnosticId
,
title
,
messageFormat
,
isUnnecessary
,
configurable
)
:
this
(
diagnosticId
,
enforceOnBuild
,
title
,
messageFormat
,
isUnnecessary
,
configurable
)
{
RoslynDebug
.
Assert
(
options
!=
null
);
Debug
.
Assert
(
options
.
Count
>
1
);
...
...
src/Analyzers/Core/Analyzers/AbstractBuiltInCodeStyleDiagnosticAnalyzer_Core.cs
浏览文件 @
d57cddba
...
...
@@ -17,7 +17,9 @@ internal abstract partial class AbstractBuiltInCodeStyleDiagnosticAnalyzer : Dia
protected
readonly
LocalizableString
_localizableMessageFormat
;
private
AbstractBuiltInCodeStyleDiagnosticAnalyzer
(
string
descriptorId
,
LocalizableString
title
,
string
descriptorId
,
EnforceOnBuild
enforceOnBuild
,
LocalizableString
title
,
LocalizableString
?
messageFormat
,
bool
isUnnecessary
,
bool
configurable
)
...
...
@@ -26,7 +28,7 @@ internal abstract partial class AbstractBuiltInCodeStyleDiagnosticAnalyzer : Dia
_localizableTitle
=
title
;
_localizableMessageFormat
=
messageFormat
??
title
;
Descriptor
=
CreateDescriptorWithId
(
DescriptorId
,
_localizableTitle
,
_localizableMessageFormat
,
isUnnecessary
:
isUnnecessary
,
isConfigurable
:
configurable
);
Descriptor
=
CreateDescriptorWithId
(
DescriptorId
,
enforceOnBuild
,
_localizableTitle
,
_localizableMessageFormat
,
isUnnecessary
:
isUnnecessary
,
isConfigurable
:
configurable
);
SupportedDiagnostics
=
ImmutableArray
.
Create
(
Descriptor
);
}
...
...
@@ -46,12 +48,12 @@ protected AbstractBuiltInCodeStyleDiagnosticAnalyzer(ImmutableArray<DiagnosticDe
protected
static
DiagnosticDescriptor
CreateDescriptorWithId
(
string
id
,
EnforceOnBuild
enforceOnBuild
,
LocalizableString
title
,
LocalizableString
messageFormat
,
bool
isUnnecessary
=
false
,
bool
isConfigurable
=
true
,
LocalizableString
?
description
=
null
,
params
string
[]
customTags
)
LocalizableString
?
description
=
null
)
=>
new
(
id
,
title
,
messageFormat
,
DiagnosticCategory
.
Style
,
...
...
@@ -59,7 +61,7 @@ protected AbstractBuiltInCodeStyleDiagnosticAnalyzer(ImmutableArray<DiagnosticDe
isEnabledByDefault
:
true
,
description
:
description
,
helpLinkUri
:
DiagnosticHelper
.
GetHelpLinkForDiagnosticId
(
id
),
customTags
:
DiagnosticCustomTags
.
Create
(
isUnnecessary
,
isConfigurable
,
customTags
));
customTags
:
DiagnosticCustomTags
.
Create
(
isUnnecessary
,
isConfigurable
,
enforceOnBuild
));
public
sealed
override
void
Initialize
(
AnalysisContext
context
)
{
...
...
src/Analyzers/Core/Analyzers/AbstractCodeQualityDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -5,6 +5,7 @@
#
nullable
disable
using
System.Collections.Immutable
;
using
Microsoft.CodeAnalysis.CodeStyle
;
using
Microsoft.CodeAnalysis.Diagnostics
;
#if CODE_STYLE
...
...
@@ -46,13 +47,13 @@ public bool OpenFileOnly(OptionSet options)
protected
static
DiagnosticDescriptor
CreateDescriptor
(
string
id
,
EnforceOnBuild
enforceOnBuild
,
LocalizableString
title
,
LocalizableString
messageFormat
,
bool
isUnnecessary
,
bool
isEnabledByDefault
=
true
,
bool
isConfigurable
=
true
,
LocalizableString
description
=
null
,
params
string
[]
customTags
)
LocalizableString
description
=
null
)
=>
new
(
id
,
title
,
messageFormat
,
DiagnosticCategory
.
CodeQuality
,
...
...
@@ -60,6 +61,6 @@ public bool OpenFileOnly(OptionSet options)
isEnabledByDefault
,
description
,
helpLinkUri
:
DiagnosticHelper
.
GetHelpLinkForDiagnosticId
(
id
),
customTags
:
DiagnosticCustomTags
.
Create
(
isUnnecessary
,
isConfigurable
,
customTags
));
customTags
:
DiagnosticCustomTags
.
Create
(
isUnnecessary
,
isConfigurable
,
enforceOnBuild
));
}
}
src/Analyzers/Core/Analyzers/AbstractParenthesesDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -15,8 +15,9 @@ namespace Microsoft.CodeAnalysis.RemoveUnnecessaryParentheses
internal
abstract
class
AbstractParenthesesDiagnosticAnalyzer
:
AbstractBuiltInCodeStyleDiagnosticAnalyzer
{
protected
AbstractParenthesesDiagnosticAnalyzer
(
string
descriptorId
,
LocalizableString
title
,
LocalizableString
message
,
bool
isUnnecessary
=
false
)
string
descriptorId
,
EnforceOnBuild
enforceOnBuild
,
LocalizableString
title
,
LocalizableString
message
,
bool
isUnnecessary
=
false
)
:
base
(
descriptorId
,
enforceOnBuild
,
options
:
ImmutableHashSet
.
Create
<
IPerLanguageOption
>(
CodeStyleOptions2
.
ArithmeticBinaryParentheses
,
CodeStyleOptions2
.
RelationalBinaryParentheses
,
CodeStyleOptions2
.
OtherBinaryParentheses
,
CodeStyleOptions2
.
OtherParentheses
),
title
,
message
,
...
...
src/Analyzers/Core/Analyzers/AddAccessibilityModifiers/AbstractAddAccessibilityModifiersDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -15,6 +15,7 @@ internal abstract class AbstractAddAccessibilityModifiersDiagnosticAnalyzer<TCom
{
protected
AbstractAddAccessibilityModifiersDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
AddAccessibilityModifiersDiagnosticId
,
EnforceOnBuildValues
.
AddAccessibilityModifiers
,
CodeStyleOptions2
.
RequireAccessibilityModifiers
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Add_accessibility_modifiers
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Accessibility_modifiers_required
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/Core/Analyzers/AddRequiredParentheses/AbstractAddRequiredParenthesesDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -64,6 +64,7 @@ private static string GetEquivalenceKey(PerLanguageOption2<CodeStyleOption2<Pare
protected
AbstractAddRequiredParenthesesDiagnosticAnalyzer
(
IPrecedenceService
precedenceService
)
:
base
(
IDEDiagnosticIds
.
AddRequiredParenthesesDiagnosticId
,
EnforceOnBuildValues
.
AddRequiredParentheses
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Add_parentheses_for_clarity
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Parentheses_should_be_added_for_clarity
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
{
...
...
src/Analyzers/Core/Analyzers/Analyzers.projitems
浏览文件 @
d57cddba
...
...
@@ -29,6 +29,7 @@
<Compile
Include=
"$(MSBuildThisFileDirectory)Helpers\AnalyzerHelper.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)Helpers\DeserializationConstructorCheck.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)Helpers\DiagnosticHelper.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)EnforceOnBuildValues.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)EnforceOnBuild.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)IDEDiagnosticIds.cs"
/>
<Compile
Include=
"$(MSBuildThisFileDirectory)IDEDiagnosticIdToOptionMappingHelper.cs"
/>
...
...
@@ -92,4 +93,4 @@
<ItemGroup
Condition=
"'$(DefaultLanguageSourceExtension)' != '' AND '$(BuildingInsideVisualStudio)' != 'true'"
>
<ExpectedCompile
Include=
"$(MSBuildThisFileDirectory)**\*$(DefaultLanguageSourceExtension)"
/>
</ItemGroup>
</Project>
\ No newline at end of file
</Project>
src/Analyzers/Core/Analyzers/ConvertAnonymousTypeToTuple/AbstractConvertAnonymousTypeToTupleDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -19,6 +19,7 @@ internal abstract class AbstractConvertAnonymousTypeToTupleDiagnosticAnalyzer<
protected
AbstractConvertAnonymousTypeToTupleDiagnosticAnalyzer
(
ISyntaxKinds
syntaxKinds
)
:
base
(
IDEDiagnosticIds
.
ConvertAnonymousTypeToTupleDiagnosticId
,
EnforceOnBuildValues
.
ConvertAnonymousTypeToTuple
,
option
:
null
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Convert_to_tuple
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Convert_to_tuple
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/Core/Analyzers/ConvertTypeofToNameof/AbstractConvertTypeOfToNameOfDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -16,6 +16,7 @@ internal abstract class AbstractConvertTypeOfToNameOfDiagnosticAnalyzer : Abstra
{
protected
AbstractConvertTypeOfToNameOfDiagnosticAnalyzer
(
LocalizableString
title
,
string
language
)
:
base
(
diagnosticId
:
IDEDiagnosticIds
.
ConvertTypeOfToNameOfDiagnosticId
,
EnforceOnBuildValues
.
ConvertTypeOfToNameOf
,
option
:
null
,
language
:
language
,
title
:
title
)
...
...
src/Analyzers/Core/Analyzers/DiagnosticCustomTags.cs
浏览文件 @
d57cddba
...
...
@@ -6,19 +6,19 @@
using
System.Collections.Immutable
;
using
System.Diagnostics
;
using
System.Linq
;
using
Roslyn.Utilities
;
using
Microsoft.CodeAnalysis.CodeStyle
;
namespace
Microsoft.CodeAnalysis.Diagnostics
{
internal
static
class
DiagnosticCustomTags
{
/// <summary>
/// it is string[] because DiagnosticDescriptor expects string[].
/// </summary>
private
static
readonly
string
s_enforceOnBuildNeverTag
=
EnforceOnBuild
.
Never
.
ToCustomTag
();
private
static
readonly
string
[]
s_microsoftCustomTags
=
new
string
[]
{
WellKnownDiagnosticTags
.
Telemetry
};
private
static
readonly
string
[]
s_editAndContinueCustomTags
=
new
string
[]
{
WellKnownDiagnosticTags
.
EditAndContinue
,
WellKnownDiagnosticTags
.
Telemetry
,
WellKnownDiagnosticTags
.
NotConfigurable
};
private
static
readonly
string
[]
s_editAndContinueCustomTags
=
new
string
[]
{
WellKnownDiagnosticTags
.
EditAndContinue
,
WellKnownDiagnosticTags
.
Telemetry
,
WellKnownDiagnosticTags
.
NotConfigurable
,
s_enforceOnBuildNeverTag
};
private
static
readonly
string
[]
s_unnecessaryCustomTags
=
new
string
[]
{
WellKnownDiagnosticTags
.
Unnecessary
,
WellKnownDiagnosticTags
.
Telemetry
};
private
static
readonly
string
[]
s_notConfigurableCustomTags
=
new
string
[]
{
WellKnownDiagnosticTags
.
NotConfigurable
,
s_enforceOnBuildNeverTag
,
WellKnownDiagnosticTags
.
Telemetry
};
private
static
readonly
string
[]
s_unnecessaryAndNotConfigurableCustomTags
=
new
string
[]
{
WellKnownDiagnosticTags
.
Unnecessary
,
WellKnownDiagnosticTags
.
NotConfigurable
,
s_enforceOnBuildNeverTag
,
WellKnownDiagnosticTags
.
Telemetry
};
public
static
string
[]
Microsoft
{
...
...
@@ -33,7 +33,7 @@ public static string[] EditAndContinue
{
get
{
Assert
(
s_editAndContinueCustomTags
,
WellKnownDiagnosticTags
.
EditAndContinue
,
WellKnownDiagnosticTags
.
Telemetry
,
WellKnownDiagnosticTags
.
NotConfigurable
);
Assert
(
s_editAndContinueCustomTags
,
WellKnownDiagnosticTags
.
EditAndContinue
,
WellKnownDiagnosticTags
.
Telemetry
,
WellKnownDiagnosticTags
.
NotConfigurable
,
s_enforceOnBuildNeverTag
);
return
s_editAndContinueCustomTags
;
}
}
...
...
@@ -47,6 +47,24 @@ public static string[] Unnecessary
}
}
public
static
string
[]
NotConfigurable
{
get
{
Assert
(
s_notConfigurableCustomTags
,
WellKnownDiagnosticTags
.
NotConfigurable
,
s_enforceOnBuildNeverTag
,
WellKnownDiagnosticTags
.
Telemetry
);
return
s_notConfigurableCustomTags
;
}
}
public
static
string
[]
UnnecessaryAndNotConfigurable
{
get
{
Assert
(
s_unnecessaryAndNotConfigurableCustomTags
,
WellKnownDiagnosticTags
.
Unnecessary
,
WellKnownDiagnosticTags
.
NotConfigurable
,
s_enforceOnBuildNeverTag
,
WellKnownDiagnosticTags
.
Telemetry
);
return
s_unnecessaryAndNotConfigurableCustomTags
;
}
}
[
Conditional
(
"DEBUG"
)]
private
static
void
Assert
(
string
[]
customTags
,
params
string
[]
tags
)
{
...
...
@@ -58,15 +76,14 @@ private static void Assert(string[] customTags, params string[] tags)
}
}
internal
static
string
[]
Create
(
bool
isUnnecessary
,
bool
isConfigurable
,
params
string
[]
customTags
)
internal
static
string
[]
Create
(
bool
isUnnecessary
,
bool
isConfigurable
,
EnforceOnBuild
enforceOnBuild
)
{
if
(
customTags
.
Length
==
0
&&
isConfigurable
)
{
return
isUnnecessary
?
Unnecessary
:
Microsoft
;
}
Debug
.
Assert
(
isConfigurable
||
enforceOnBuild
==
EnforceOnBuild
.
Never
);
var
customTagsBuilder
=
ImmutableArray
.
CreateBuilder
<
string
>();
customTagsBuilder
.
AddRange
(
customTags
.
Concat
(
Microsoft
));
customTagsBuilder
.
AddRange
(
Microsoft
);
customTagsBuilder
.
Add
(
enforceOnBuild
.
ToCustomTag
());
if
(!
isConfigurable
)
{
...
...
src/Analyzers/Core/Analyzers/EnforceOnBuild.cs
浏览文件 @
d57cddba
...
...
@@ -9,9 +9,28 @@ namespace Microsoft.CodeAnalysis.CodeStyle
/// </summary>
internal
enum
EnforceOnBuild
{
/// <summary>
/// Indicates that the code style diagnostic is an IDE-only diagnostic that cannot be enforced on build.
/// </summary>
Never
,
/// <summary>
/// Indicates that the code style diagnostic can be enforced on build when explicitly enabled in a configuration file,
/// but is not part of the <see cref="Recommended"/> or <see cref="HighlyRecommended"/> group for build enforcement.
/// <para>This is the suggested <b>P3</b> bucket of code style diagnostics to enforce on build.</para>
/// </summary>
WhenExplicitlyEnabled
,
/// <summary>
/// Indicates that the code style diagnostic can be enforced on build and is part of the recommended group for build enforcement.
/// <para>This is the suggested <b>P2</b> bucket of code style diagnostics to enforce on build.</para>
/// </summary>
Recommended
,
/// <summary>
/// Indicates that the code style diagnostic can be enforced on build and is part of the highly recommended group for build enforcement.
/// <para>This is the suggested <b>P1</b> bucket of code style diagnostics to enforce on build.</para>
/// </summary>
HighlyRecommended
,
}
...
...
src/Analyzers/Core/Analyzers/EnforceOnBuildValues.cs
0 → 100644
浏览文件 @
d57cddba
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using
Microsoft.CodeAnalysis.CodeStyle
;
namespace
Microsoft.CodeAnalysis.Diagnostics
{
internal
static
class
EnforceOnBuildValues
{
/* EnforceOnBuild.HighlyRecommended */
public
const
EnforceOnBuild
RemoveUnnecessaryImports
=
/*IDE0005*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
UseImplicitType
=
/*IDE0007*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
UseExplicitType
=
/*IDE0008*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
AddBraces
=
/*IDE0011*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
OrderModifiers
=
/*IDE0036*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
AddAccessibilityModifiers
=
/*IDE0040*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
ValidateFormatString
=
/*IDE0043*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
MakeFieldReadonly
=
/*IDE0044*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
RemoveUnusedMembers
=
/*IDE0051*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
RemoveUnreadMembers
=
/*IDE0052*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
Formatting
=
/*IDE0055*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
ValueAssignedIsUnused
=
/*IDE0059*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
UnusedParameter
=
/*IDE0060*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
FileHeaderMismatch
=
/*IDE0073*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
InvalidSuppressMessageAttribute
=
/*IDE0076*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
LegacyFormatSuppressMessageAttribute
=
/*IDE0077*/
EnforceOnBuild
.
HighlyRecommended
;
public
const
EnforceOnBuild
RemoveConfusingSuppressionForIsExpression
=
/*IDE0080*/
EnforceOnBuild
.
HighlyRecommended
;
/* EnforceOnBuild.Recommended */
public
const
EnforceOnBuild
UseThrowExpression
=
/*IDE0016*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseObjectInitializer
=
/*IDE0017*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
InlineDeclaration
=
/*IDE0018*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
InlineAsType
=
/*IDE0019*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
InlineIsType
=
/*IDE0020*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseExpressionBodyForConstructors
=
/*IDE0021*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseExpressionBodyForMethods
=
/*IDE0022*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseExpressionBodyForConversionOperators
=
/*IDE0023*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseExpressionBodyForOperators
=
/*IDE0024*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseExpressionBodyForProperties
=
/*IDE0025*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseExpressionBodyForIndexers
=
/*IDE0026*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseExpressionBodyForAccessors
=
/*IDE0027*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseCollectionInitializer
=
/*IDE0028*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseCoalesceExpression
=
/*IDE0029*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseCoalesceExpressionForNullable
=
/*IDE0030*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseNullPropagation
=
/*IDE0031*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseAutoProperty
=
/*IDE0032*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseExplicitTupleName
=
/*IDE0033*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseDefaultLiteral
=
/*IDE0034*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
InlineIsTypeWithoutName
=
/*IDE0038*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseLocalFunction
=
/*IDE0039*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseDeconstruction
=
/*IDE0042*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseConditionalExpressionForAssignment
=
/*IDE0045*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseConditionalExpressionForReturn
=
/*IDE0046*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
RemoveUnnecessaryParentheses
=
/*IDE0047*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
ConvertAnonymousTypeToTuple
=
/*IDE0050*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseExpressionBodyForLambdaExpressions
=
/*IDE0053*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseCompoundAssignment
=
/*IDE0054*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseIndexOperator
=
/*IDE0056*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseRangeOperator
=
/*IDE0057*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseExpressionBodyForLocalFunctions
=
/*IDE0061*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
MakeLocalFunctionStatic
=
/*IDE0062*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseSimpleUsingStatement
=
/*IDE0063*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
MoveMisplacedUsingDirectives
=
/*IDE0065*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseSystemHashCode
=
/*IDE0070*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
SimplifyInterpolation
=
/*IDE0071*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseCoalesceCompoundAssignment
=
/*IDE0074*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
SimplifyConditionalExpression
=
/*IDE0075*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UsePatternCombinators
=
/*IDE0078*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
RemoveUnnecessaryByVal
=
/*IDE0081*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
ConvertTypeOfToNameOf
=
/*IDE0082*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseNotPattern
=
/*IDE0083*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseIsNotExpression
=
/*IDE0084*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
UseImplicitObjectCreation
=
/*IDE0090*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
RemoveRedundantEquality
=
/*IDE0100*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
RemoveUnnecessaryDiscardDesignation
=
/*IDE0110*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
InvokeDelegateWithConditionalAccess
=
/*IDE1005*/
EnforceOnBuild
.
Recommended
;
public
const
EnforceOnBuild
NamingRule
=
/*IDE1006*/
EnforceOnBuild
.
Recommended
;
/* EnforceOnBuild.WhenExplicitlyEnabled */
public
const
EnforceOnBuild
RemoveUnnecessaryCast
=
/*IDE0004*/
EnforceOnBuild
.
WhenExplicitlyEnabled
;
// TODO: Move to 'Recommended' OR 'HighlyRecommended' bucket once performance problems are addressed: https://github.com/dotnet/roslyn/issues/43304
public
const
EnforceOnBuild
PopulateSwitchStatement
=
/*IDE0010*/
EnforceOnBuild
.
WhenExplicitlyEnabled
;
public
const
EnforceOnBuild
UseInferredMemberName
=
/*IDE0037*/
EnforceOnBuild
.
WhenExplicitlyEnabled
;
public
const
EnforceOnBuild
UseIsNullCheck
=
/*IDE0041*/
EnforceOnBuild
.
WhenExplicitlyEnabled
;
public
const
EnforceOnBuild
AddRequiredParentheses
=
/*IDE0048*/
EnforceOnBuild
.
WhenExplicitlyEnabled
;
public
const
EnforceOnBuild
ExpressionValueIsUnused
=
/*IDE0058*/
EnforceOnBuild
.
WhenExplicitlyEnabled
;
public
const
EnforceOnBuild
MakeStructFieldsWritable
=
/*IDE0064*/
EnforceOnBuild
.
WhenExplicitlyEnabled
;
public
const
EnforceOnBuild
ConvertSwitchStatementToExpression
=
/*IDE0066*/
EnforceOnBuild
.
WhenExplicitlyEnabled
;
public
const
EnforceOnBuild
DisposeObjectsBeforeLosingScope
=
/*IDE0067*/
EnforceOnBuild
.
WhenExplicitlyEnabled
;
public
const
EnforceOnBuild
UseRecommendedDisposePattern
=
/*IDE0068*/
EnforceOnBuild
.
WhenExplicitlyEnabled
;
public
const
EnforceOnBuild
DisposableFieldsShouldBeDisposed
=
/*IDE0069*/
EnforceOnBuild
.
WhenExplicitlyEnabled
;
public
const
EnforceOnBuild
PopulateSwitchExpression
=
/*IDE0072*/
EnforceOnBuild
.
WhenExplicitlyEnabled
;
public
const
EnforceOnBuild
Regex
=
/*RE0001*/
EnforceOnBuild
.
WhenExplicitlyEnabled
;
/* EnforceOnBuild.Never */
// TODO: Allow enforcing simplify names and related diagnostics on build once we validate their performance charactericstics.
public
const
EnforceOnBuild
SimplifyNames
=
/*IDE0001*/
EnforceOnBuild
.
Never
;
public
const
EnforceOnBuild
SimplifyMemberAccess
=
/*IDE0002*/
EnforceOnBuild
.
Never
;
public
const
EnforceOnBuild
RemoveQualification
=
/*IDE0003*/
EnforceOnBuild
.
Never
;
public
const
EnforceOnBuild
AddQualification
=
/*IDE0009*/
EnforceOnBuild
.
Never
;
public
const
EnforceOnBuild
PreferBuiltInOrFrameworkType
=
/*IDE0049*/
EnforceOnBuild
.
Never
;
public
const
EnforceOnBuild
RemoveUnreachableCode
=
/*IDE0035*/
EnforceOnBuild
.
Never
;
// Non-configurable fading diagnostic corresponding to CS0162.
public
const
EnforceOnBuild
RemoveUnnecessarySuppression
=
/*IDE0079*/
EnforceOnBuild
.
Never
;
// IDE-only analyzer.
// Analyzer error Ids
public
const
EnforceOnBuild
IntellisenseBuildFailed
=
/*IDE0006*/
EnforceOnBuild
.
Never
;
public
const
EnforceOnBuild
AnalyzerChanged
=
/*IDE1001*/
EnforceOnBuild
.
Never
;
public
const
EnforceOnBuild
AnalyzerDependencyConflict
=
/*IDE1002*/
EnforceOnBuild
.
Never
;
public
const
EnforceOnBuild
MissingAnalyzerReference
=
/*IDE1003*/
EnforceOnBuild
.
Never
;
public
const
EnforceOnBuild
ErrorReadingRuleset
=
/*IDE1004*/
EnforceOnBuild
.
Never
;
public
const
EnforceOnBuild
UnboundIdentifier
=
/*IDE1007*/
EnforceOnBuild
.
Never
;
public
const
EnforceOnBuild
UnboundConstructor
=
/*IDE1008*/
EnforceOnBuild
.
Never
;
}
}
src/Analyzers/Core/Analyzers/FileHeaders/AbstractFileHeaderDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -14,6 +14,7 @@ internal abstract class AbstractFileHeaderDiagnosticAnalyzer : AbstractBuiltInCo
protected
AbstractFileHeaderDiagnosticAnalyzer
(
string
language
)
:
base
(
IDEDiagnosticIds
.
FileHeaderMismatch
,
EnforceOnBuildValues
.
FileHeaderMismatch
,
CodeStyleOptions2
.
FileHeaderTemplate
,
language
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
The_file_header_is_missing_or_not_located_at_the_top_of_the_file
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
...
...
@@ -23,7 +24,7 @@ protected AbstractFileHeaderDiagnosticAnalyzer(string language)
var
invalidHeaderTitle
=
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
The_file_header_does_not_match_the_required_text
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
));
var
invalidHeaderMessage
=
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
A_source_file_contains_a_header_that_does_not_match_the_required_text
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
));
InvalidHeaderDescriptor
=
CreateDescriptorWithId
(
DescriptorId
,
invalidHeaderTitle
,
invalidHeaderMessage
);
InvalidHeaderDescriptor
=
CreateDescriptorWithId
(
DescriptorId
,
EnforceOnBuildValues
.
FileHeaderMismatch
,
invalidHeaderTitle
,
invalidHeaderMessage
);
}
protected
abstract
AbstractFileHeaderHelper
FileHeaderHelper
{
get
;
}
...
...
src/Analyzers/Core/Analyzers/MakeFieldReadonly/MakeFieldReadonlyDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -22,6 +22,7 @@ internal sealed class MakeFieldReadonlyDiagnosticAnalyzer
public
MakeFieldReadonlyDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
MakeFieldReadonlyDiagnosticId
,
EnforceOnBuildValues
.
MakeFieldReadonly
,
CodeStyleOptions2
.
PreferReadonly
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Add_readonly_modifier
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Make_field_readonly
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/Core/Analyzers/NamingStyle/NamingStyleDiagnosticAnalyzerBase.cs
浏览文件 @
d57cddba
...
...
@@ -24,6 +24,7 @@ internal abstract class NamingStyleDiagnosticAnalyzerBase<TLanguageKindEnum>
protected
NamingStyleDiagnosticAnalyzerBase
()
:
base
(
IDEDiagnosticIds
.
NamingRuleId
,
EnforceOnBuildValues
.
NamingRule
,
option
:
null
,
// No unique option to configure the diagnosticId
s_localizableTitleNamingStyle
,
s_localizableMessageFormat
)
...
...
src/Analyzers/Core/Analyzers/OrderModifiers/AbstractOrderModifiersDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -25,6 +25,7 @@ internal abstract class AbstractOrderModifiersDiagnosticAnalyzer : AbstractBuilt
AbstractOrderModifiersHelpers
helpers
,
string
language
)
:
base
(
IDEDiagnosticIds
.
OrderModifiersDiagnosticId
,
EnforceOnBuildValues
.
OrderModifiers
,
option
,
language
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Order_modifiers
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
...
...
src/Analyzers/Core/Analyzers/PopulateSwitch/AbstractPopulateSwitchDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -19,8 +19,9 @@ internal abstract class AbstractPopulateSwitchDiagnosticAnalyzer<TSwitchOperatio
private
static
readonly
LocalizableString
s_localizableTitle
=
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Add_missing_cases
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
));
private
static
readonly
LocalizableString
s_localizableMessage
=
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Populate_switch
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
));
protected
AbstractPopulateSwitchDiagnosticAnalyzer
(
string
diagnosticId
)
protected
AbstractPopulateSwitchDiagnosticAnalyzer
(
string
diagnosticId
,
EnforceOnBuild
enforceOnBuild
)
:
base
(
diagnosticId
,
enforceOnBuild
,
option
:
null
,
s_localizableTitle
,
s_localizableMessage
)
{
...
...
src/Analyzers/Core/Analyzers/PopulateSwitch/AbstractPopulateSwitchExpressionDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -13,7 +13,8 @@ internal abstract class AbstractPopulateSwitchExpressionDiagnosticAnalyzer<TSwit
where
TSwitchSyntax
:
SyntaxNode
{
protected
AbstractPopulateSwitchExpressionDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
PopulateSwitchExpressionDiagnosticId
)
:
base
(
IDEDiagnosticIds
.
PopulateSwitchExpressionDiagnosticId
,
EnforceOnBuildValues
.
PopulateSwitchExpression
)
{
}
...
...
src/Analyzers/Core/Analyzers/PopulateSwitch/AbstractPopulateSwitchStatementDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -13,7 +13,8 @@ internal abstract class AbstractPopulateSwitchStatementDiagnosticAnalyzer<TSwitc
where
TSwitchSyntax
:
SyntaxNode
{
protected
AbstractPopulateSwitchStatementDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
PopulateSwitchStatementDiagnosticId
)
:
base
(
IDEDiagnosticIds
.
PopulateSwitchStatementDiagnosticId
,
EnforceOnBuildValues
.
PopulateSwitchStatement
)
{
}
...
...
src/Analyzers/Core/Analyzers/QualifyMemberAccess/AbstractQualifyMemberAccessDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -28,6 +28,7 @@ internal abstract class AbstractQualifyMemberAccessDiagnosticAnalyzer<
{
protected
AbstractQualifyMemberAccessDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
AddQualificationDiagnosticId
,
EnforceOnBuildValues
.
AddQualification
,
options
:
ImmutableHashSet
.
Create
<
IPerLanguageOption
>(
CodeStyleOptions2
.
QualifyFieldAccess
,
CodeStyleOptions2
.
QualifyPropertyAccess
,
CodeStyleOptions2
.
QualifyMethodAccess
,
CodeStyleOptions2
.
QualifyEventAccess
),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Member_access_should_be_qualified
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Add_this_or_Me_qualification
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/Core/Analyzers/RemoveRedundantEquality/AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -17,6 +17,7 @@ internal abstract class AbstractRemoveRedundantEqualityDiagnosticAnalyzer
protected
AbstractRemoveRedundantEqualityDiagnosticAnalyzer
(
ISyntaxFacts
syntaxFacts
)
:
base
(
IDEDiagnosticIds
.
RemoveRedundantEqualityDiagnosticId
,
EnforceOnBuildValues
.
RemoveRedundantEquality
,
option
:
null
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Remove_redundant_equality
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
{
...
...
src/Analyzers/Core/Analyzers/RemoveUnnecessaryCast/AbstractRemoveUnnecessaryCastDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -19,6 +19,7 @@ internal abstract class AbstractRemoveUnnecessaryCastDiagnosticAnalyzer<
{
protected
AbstractRemoveUnnecessaryCastDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
RemoveUnnecessaryCastDiagnosticId
,
EnforceOnBuildValues
.
RemoveUnnecessaryCast
,
option
:
null
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Remove_Unnecessary_Cast
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
CompilerExtensionsResources
.
Cast_is_redundant
),
CompilerExtensionsResources
.
ResourceManager
,
typeof
(
CompilerExtensionsResources
)),
...
...
src/Analyzers/Core/Analyzers/RemoveUnnecessaryImports/AbstractRemoveUnnecessaryImportsDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -9,6 +9,7 @@
using
System.Collections.Immutable
;
using
System.Linq
;
using
System.Threading
;
using
Microsoft.CodeAnalysis.CodeStyle
;
using
Microsoft.CodeAnalysis.Diagnostics
;
using
Microsoft.CodeAnalysis.Fading
;
using
Microsoft.CodeAnalysis.Shared.Extensions
;
...
...
@@ -37,7 +38,7 @@ internal abstract class AbstractRemoveUnnecessaryImportsDiagnosticAnalyzer
title
:
""
,
messageFormat
:
""
,
category
:
""
,
defaultSeverity
:
DiagnosticSeverity
.
Hidden
,
isEnabledByDefault
:
true
,
customTags
:
WellKnownDiagnostic
Tags
.
NotConfigurable
);
customTags
:
DiagnosticCustom
Tags
.
NotConfigurable
);
protected
abstract
LocalizableString
GetTitleAndMessageFormatForClassificationIdDescriptor
();
protected
abstract
ImmutableArray
<
SyntaxNode
>
MergeImports
(
ImmutableArray
<
SyntaxNode
>
unnecessaryImports
);
...
...
@@ -62,7 +63,7 @@ private void EnsureClassificationIdDescriptors()
DiagnosticCategory
.
Style
,
DiagnosticSeverity
.
Hidden
,
isEnabledByDefault
:
true
,
customTags
:
DiagnosticCustomTags
.
Unnecessary
);
customTags
:
DiagnosticCustomTags
.
Unnecessary
.
Concat
(
EnforceOnBuildValues
.
RemoveUnnecessaryImports
.
ToCustomTag
()).
ToArray
()
);
_classificationIdDescriptor
=
new
DiagnosticDescriptor
(
IDEDiagnosticIds
.
RemoveUnnecessaryImportsDiagnosticId
,
...
...
@@ -70,7 +71,8 @@ private void EnsureClassificationIdDescriptors()
titleAndMessageFormat
,
DiagnosticCategory
.
Style
,
DiagnosticSeverity
.
Hidden
,
isEnabledByDefault
:
true
);
isEnabledByDefault
:
true
,
customTags
:
EnforceOnBuildValues
.
RemoveUnnecessaryImports
.
ToCustomTag
());
_unnecessaryGeneratedCodeClassificationIdDescriptor
=
new
DiagnosticDescriptor
(
IDEDiagnosticIds
.
RemoveUnnecessaryImportsDiagnosticId
+
"_gen"
,
...
...
@@ -79,7 +81,7 @@ private void EnsureClassificationIdDescriptors()
DiagnosticCategory
.
Style
,
DiagnosticSeverity
.
Hidden
,
isEnabledByDefault
:
true
,
customTags
:
new
[]
{
WellKnownDiagnosticTags
.
Telemetry
,
WellKnownDiagnosticTags
.
Unnecessary
,
WellKnownDiagnosticTags
.
NotConfigurable
}
);
customTags
:
DiagnosticCustomTags
.
UnnecessaryAndNotConfigurable
);
_generatedCodeClassificationIdDescriptor
=
new
DiagnosticDescriptor
(
IDEDiagnosticIds
.
RemoveUnnecessaryImportsDiagnosticId
+
"_gen"
,
...
...
@@ -88,7 +90,7 @@ private void EnsureClassificationIdDescriptors()
DiagnosticCategory
.
Style
,
DiagnosticSeverity
.
Hidden
,
isEnabledByDefault
:
true
,
customTags
:
new
[]
{
WellKnownDiagnosticTags
.
Telemetry
,
WellKnownDiagnosticTags
.
NotConfigurable
}
);
customTags
:
DiagnosticCustomTags
.
NotConfigurable
);
}
}
...
...
src/Analyzers/Core/Analyzers/RemoveUnnecessaryParentheses/AbstractRemoveUnnecessaryParenthesesDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -23,6 +23,7 @@ internal abstract class AbstractRemoveUnnecessaryParenthesesDiagnosticAnalyzer<
{
protected
AbstractRemoveUnnecessaryParenthesesDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
RemoveUnnecessaryParenthesesDiagnosticId
,
EnforceOnBuildValues
.
RemoveUnnecessaryParentheses
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Remove_unnecessary_parentheses
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Parentheses_can_be_removed
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
isUnnecessary
:
true
)
...
...
src/Analyzers/Core/Analyzers/RemoveUnnecessarySuppressions/AbstractRemoveUnnecessaryAttributeSuppressionsDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -25,16 +25,22 @@ internal abstract class AbstractRemoveUnnecessaryAttributeSuppressionsDiagnostic
nameof
(
AnalyzersResources
.
Invalid_or_missing_target_for_SuppressMessageAttribute
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
));
private
static
readonly
DiagnosticDescriptor
s_invalidScopeDescriptor
=
CreateDescriptor
(
IDEDiagnosticIds
.
InvalidSuppressMessageAttributeDiagnosticId
,
s_localizableTitle
,
s_localizableInvalidScopeMessage
,
isUnnecessary
:
true
);
IDEDiagnosticIds
.
InvalidSuppressMessageAttributeDiagnosticId
,
EnforceOnBuildValues
.
InvalidSuppressMessageAttribute
,
s_localizableTitle
,
s_localizableInvalidScopeMessage
,
isUnnecessary
:
true
);
private
static
readonly
DiagnosticDescriptor
s_invalidOrMissingTargetDescriptor
=
CreateDescriptor
(
IDEDiagnosticIds
.
InvalidSuppressMessageAttributeDiagnosticId
,
s_localizableTitle
,
s_localizableInvalidOrMissingTargetMessage
,
isUnnecessary
:
true
);
IDEDiagnosticIds
.
InvalidSuppressMessageAttributeDiagnosticId
,
EnforceOnBuildValues
.
InvalidSuppressMessageAttribute
,
s_localizableTitle
,
s_localizableInvalidOrMissingTargetMessage
,
isUnnecessary
:
true
);
private
static
readonly
LocalizableResourceString
s_localizableLegacyFormatTitle
=
new
(
nameof
(
AnalyzersResources
.
Avoid_legacy_format_target_in_SuppressMessageAttribute
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
));
private
static
readonly
LocalizableResourceString
s_localizableLegacyFormatMessage
=
new
(
nameof
(
AnalyzersResources
.
Avoid_legacy_format_target_0_in_SuppressMessageAttribute
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
));
internal
static
readonly
DiagnosticDescriptor
LegacyFormatTargetDescriptor
=
CreateDescriptor
(
IDEDiagnosticIds
.
LegacyFormatSuppressMessageAttributeDiagnosticId
,
s_localizableLegacyFormatTitle
,
s_localizableLegacyFormatMessage
,
isUnnecessary
:
false
);
IDEDiagnosticIds
.
LegacyFormatSuppressMessageAttributeDiagnosticId
,
EnforceOnBuildValues
.
LegacyFormatSuppressMessageAttribute
,
s_localizableLegacyFormatTitle
,
s_localizableLegacyFormatMessage
,
isUnnecessary
:
false
);
protected
AbstractRemoveUnnecessaryAttributeSuppressionsDiagnosticAnalyzer
()
:
base
(
ImmutableArray
.
Create
(
s_invalidScopeDescriptor
,
s_invalidOrMissingTargetDescriptor
,
LegacyFormatTargetDescriptor
),
GeneratedCodeAnalysisFlags
.
None
)
...
...
src/Analyzers/Core/Analyzers/RemoveUnnecessarySuppressions/AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -28,7 +28,9 @@ internal abstract class AbstractRemoveUnnecessaryInlineSuppressionsDiagnosticAna
private
static
readonly
LocalizableResourceString
s_localizableRemoveUnnecessarySuppression
=
new
(
nameof
(
AnalyzersResources
.
Remove_unnecessary_suppression
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
));
internal
static
readonly
DiagnosticDescriptor
s_removeUnnecessarySuppressionDescriptor
=
CreateDescriptor
(
IDEDiagnosticIds
.
RemoveUnnecessarySuppressionDiagnosticId
,
s_localizableRemoveUnnecessarySuppression
,
s_localizableRemoveUnnecessarySuppression
,
isUnnecessary
:
true
);
IDEDiagnosticIds
.
RemoveUnnecessarySuppressionDiagnosticId
,
EnforceOnBuildValues
.
RemoveUnnecessarySuppression
,
s_localizableRemoveUnnecessarySuppression
,
s_localizableRemoveUnnecessarySuppression
,
isUnnecessary
:
true
);
private
readonly
Lazy
<
ImmutableHashSet
<
int
>>
_lazySupportedCompilerErrorCodes
;
...
...
src/Analyzers/Core/Analyzers/RemoveUnusedMembers/AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -27,6 +27,7 @@ internal abstract class AbstractRemoveUnusedMembersDiagnosticAnalyzer<TDocumenta
// IDE0051: "Remove unused members" (Symbol is declared but never referenced)
private
static
readonly
DiagnosticDescriptor
s_removeUnusedMembersRule
=
CreateDescriptor
(
IDEDiagnosticIds
.
RemoveUnusedMembersDiagnosticId
,
EnforceOnBuildValues
.
RemoveUnusedMembers
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Remove_unused_private_members
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Private_member_0_is_unused
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
isUnnecessary
:
true
);
...
...
@@ -34,6 +35,7 @@ internal abstract class AbstractRemoveUnusedMembersDiagnosticAnalyzer<TDocumenta
// IDE0052: "Remove unread members" (Value is written and/or symbol is referenced, but the assigned value is never read)
private
static
readonly
DiagnosticDescriptor
s_removeUnreadMembersRule
=
CreateDescriptor
(
IDEDiagnosticIds
.
RemoveUnreadMembersDiagnosticId
,
EnforceOnBuildValues
.
RemoveUnreadMembers
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Remove_unread_private_members
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
isUnnecessary
:
true
);
...
...
src/Analyzers/Core/Analyzers/RemoveUnusedParametersAndValues/AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -64,6 +64,7 @@ internal abstract partial class AbstractRemoveUnusedParametersAndValuesDiagnosti
// This is **not** an unnecessary (fading) diagnostic as the expression being flagged is not unncessary, but the dropped value is.
private
static
readonly
DiagnosticDescriptor
s_expressionValueIsUnusedRule
=
CreateDescriptorWithId
(
IDEDiagnosticIds
.
ExpressionValueIsUnusedDiagnosticId
,
EnforceOnBuildValues
.
ExpressionValueIsUnused
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Expression_value_is_never_used
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Expression_value_is_never_used
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
isUnnecessary
:
false
);
...
...
@@ -71,6 +72,7 @@ internal abstract partial class AbstractRemoveUnusedParametersAndValuesDiagnosti
// Diagnostic reported for value assignments to locals/parameters that are never used on any control flow path.
private
static
readonly
DiagnosticDescriptor
s_valueAssignedIsUnusedRule
=
CreateDescriptorWithId
(
IDEDiagnosticIds
.
ValueAssignedIsUnusedDiagnosticId
,
EnforceOnBuildValues
.
ValueAssignedIsUnused
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Unnecessary_assignment_of_a_value
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Unnecessary_assignment_of_a_value_to_0
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
description
:
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Avoid_unnecessary_value_assignments_in_your_code_as_these_likely_indicate_redundant_value_computations_If_the_value_computation_is_not_redundant_and_you_intend_to_retain_the_assignmentcomma_then_change_the_assignment_target_to_a_local_variable_whose_name_starts_with_an_underscore_and_is_optionally_followed_by_an_integercomma_such_as___comma__1_comma__2_comma_etc
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
...
...
@@ -79,6 +81,7 @@ internal abstract partial class AbstractRemoveUnusedParametersAndValuesDiagnosti
// Diagnostic reported for unnecessary parameters that can be removed.
private
static
readonly
DiagnosticDescriptor
s_unusedParameterRule
=
CreateDescriptorWithId
(
IDEDiagnosticIds
.
UnusedParameterDiagnosticId
,
EnforceOnBuildValues
.
UnusedParameter
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Remove_unused_parameter
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Remove_unused_parameter_0
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
description
:
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Avoid_unused_parameters_in_your_code_If_the_parameter_cannot_be_removed_then_change_its_name_so_it_starts_with_an_underscore_and_is_optionally_followed_by_an_integer_such_as__comma__1_comma__2_etc_These_are_treated_as_special_discard_symbol_names
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
...
...
src/Analyzers/Core/Analyzers/SimplifyBooleanExpression/AbstractSimplifyConditionalDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -40,6 +40,7 @@ internal abstract class AbstractSimplifyConditionalDiagnosticAnalyzer<
protected
AbstractSimplifyConditionalDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
SimplifyConditionalExpressionDiagnosticId
,
EnforceOnBuildValues
.
SimplifyConditionalExpression
,
CodeStyleOptions2
.
PreferSimplifiedBooleanExpressions
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Simplify_conditional_expression
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Conditional_expression_can_be_simplified
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/Core/Analyzers/SimplifyInterpolation/AbstractSimplifyInterpolationDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -25,6 +25,7 @@ internal abstract class AbstractSimplifyInterpolationDiagnosticAnalyzer<
{
protected
AbstractSimplifyInterpolationDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
SimplifyInterpolationId
,
EnforceOnBuildValues
.
SimplifyInterpolation
,
CodeStyleOptions2
.
PreferSimplifiedInterpolation
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Simplify_interpolation
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Interpolation_can_be_simplified
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
...
...
src/Analyzers/Core/Analyzers/UseAutoProperty/AbstractUseAutoPropertyAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -27,7 +27,7 @@ internal abstract class AbstractUseAutoPropertyAnalyzer<
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
));
protected
AbstractUseAutoPropertyAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseAutoPropertyDiagnosticId
,
CodeStyleOptions2
.
PreferAutoProperties
,
s_title
,
s_title
)
:
base
(
IDEDiagnosticIds
.
UseAutoPropertyDiagnosticId
,
EnforceOnBuildValues
.
UseAutoProperty
,
CodeStyleOptions2
.
PreferAutoProperties
,
s_title
,
s_title
)
{
}
...
...
src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -24,6 +24,7 @@ internal abstract class AbstractUseCoalesceExpressionDiagnosticAnalyzer<
{
protected
AbstractUseCoalesceExpressionDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseCoalesceExpressionDiagnosticId
,
EnforceOnBuildValues
.
UseCoalesceExpression
,
CodeStyleOptions2
.
PreferCoalesceExpression
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Use_coalesce_expression
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Null_check_can_be_simplified
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -26,6 +26,7 @@ internal abstract class AbstractUseCoalesceExpressionForNullableDiagnosticAnalyz
{
protected
AbstractUseCoalesceExpressionForNullableDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseCoalesceExpressionForNullableDiagnosticId
,
EnforceOnBuildValues
.
UseCoalesceExpressionForNullable
,
CodeStyleOptions2
.
PreferCoalesceExpression
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Use_coalesce_expression
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
{
...
...
src/Analyzers/Core/Analyzers/UseCollectionInitializer/AbstractUseCollectionInitializerDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -35,6 +35,7 @@ public override DiagnosticAnalyzerCategory GetAnalyzerCategory()
protected
AbstractUseCollectionInitializerDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseCollectionInitializerDiagnosticId
,
EnforceOnBuildValues
.
UseCollectionInitializer
,
CodeStyleOptions2
.
PreferCollectionInitializer
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Simplify_collection_initialization
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Collection_initialization_can_be_simplified
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/Core/Analyzers/UseCompoundAssignment/AbstractUseCompoundAssignmentDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -34,6 +34,7 @@ internal abstract class AbstractUseCompoundAssignmentDiagnosticAnalyzer<
ISyntaxFacts
syntaxFacts
,
ImmutableArray
<(
TSyntaxKind
exprKind
,
TSyntaxKind
assignmentKind
,
TSyntaxKind
tokenKind
)>
kinds
)
:
base
(
IDEDiagnosticIds
.
UseCompoundAssignmentDiagnosticId
,
EnforceOnBuildValues
.
UseCompoundAssignment
,
CodeStyleOptions2
.
PreferCompoundAssignment
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Use_compound_assignment
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
@@ -45,12 +46,14 @@ internal abstract class AbstractUseCompoundAssignmentDiagnosticAnalyzer<
nameof
(
AnalyzersResources
.
Use_increment_operator
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
));
_incrementDescriptor
=
CreateDescriptorWithId
(
IDEDiagnosticIds
.
UseCompoundAssignmentDiagnosticId
,
EnforceOnBuildValues
.
UseCompoundAssignment
,
useIncrementMessage
,
useIncrementMessage
);
var
useDecrementMessage
=
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Use_decrement_operator
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
));
_decrementDescriptor
=
CreateDescriptorWithId
(
IDEDiagnosticIds
.
UseCompoundAssignmentDiagnosticId
,
EnforceOnBuildValues
.
UseCompoundAssignment
,
useDecrementMessage
,
useDecrementMessage
);
}
...
...
src/Analyzers/Core/Analyzers/UseConditionalExpression/AbstractUseConditionalExpressionDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -23,9 +23,11 @@ public sealed override DiagnosticAnalyzerCategory GetAnalyzerCategory()
protected
AbstractUseConditionalExpressionDiagnosticAnalyzer
(
string
descriptorId
,
EnforceOnBuild
enforceOnBuild
,
LocalizableResourceString
message
,
PerLanguageOption2
<
CodeStyleOption2
<
bool
>>
option
)
:
base
(
descriptorId
,
enforceOnBuild
,
option
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Convert_to_conditional_expression
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
message
)
...
...
src/Analyzers/Core/Analyzers/UseConditionalExpression/ForAssignment/AbstractUseConditionalExpressionForAssignmentDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -18,6 +18,7 @@ internal abstract class AbstractUseConditionalExpressionForAssignmentDiagnosticA
protected
AbstractUseConditionalExpressionForAssignmentDiagnosticAnalyzer
(
LocalizableResourceString
message
)
:
base
(
IDEDiagnosticIds
.
UseConditionalExpressionForAssignmentDiagnosticId
,
EnforceOnBuildValues
.
UseConditionalExpressionForAssignment
,
message
,
CodeStyleOptions2
.
PreferConditionalExpressionOverAssignment
)
{
...
...
src/Analyzers/Core/Analyzers/UseConditionalExpression/ForReturn/AbstractUseConditionalExpressionForReturnDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -16,6 +16,7 @@ internal abstract class AbstractUseConditionalExpressionForReturnDiagnosticAnaly
protected
AbstractUseConditionalExpressionForReturnDiagnosticAnalyzer
(
LocalizableResourceString
message
)
:
base
(
IDEDiagnosticIds
.
UseConditionalExpressionForReturnDiagnosticId
,
EnforceOnBuildValues
.
UseConditionalExpressionForReturn
,
message
,
CodeStyleOptions2
.
PreferConditionalExpressionOverReturn
)
{
...
...
src/Analyzers/Core/Analyzers/UseExplicitTupleName/UseExplicitTupleNameDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -20,6 +20,7 @@ internal class UseExplicitTupleNameDiagnosticAnalyzer : AbstractBuiltInCodeStyle
public
UseExplicitTupleNameDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseExplicitTupleNameDiagnosticId
,
EnforceOnBuildValues
.
UseExplicitTupleName
,
CodeStyleOptions2
.
PreferExplicitTupleNames
,
title
:
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Use_explicitly_provided_tuple_name
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
messageFormat
:
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Prefer_explicitly_provided_tuple_element_name
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/Core/Analyzers/UseInferredMemberName/AbstractUseInferredMemberNameDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -18,6 +18,7 @@ internal abstract class AbstractUseInferredMemberNameDiagnosticAnalyzer : Abstra
public
AbstractUseInferredMemberNameDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseInferredMemberNameDiagnosticId
,
EnforceOnBuildValues
.
UseInferredMemberName
,
options
:
ImmutableHashSet
.
Create
<
IPerLanguageOption
>(
CodeStyleOptions2
.
PreferInferredAnonymousTypeMemberNames
,
CodeStyleOptions2
.
PreferInferredTupleNames
),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Use_inferred_member_name
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Member_name_can_be_simplified
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/Core/Analyzers/UseIsNullCheck/AbstractUseIsNullForReferenceEqualsDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -18,6 +18,7 @@ internal abstract class AbstractUseIsNullCheckForReferenceEqualsDiagnosticAnalyz
{
protected
AbstractUseIsNullCheckForReferenceEqualsDiagnosticAnalyzer
(
LocalizableString
title
)
:
base
(
IDEDiagnosticIds
.
UseIsNullCheckDiagnosticId
,
EnforceOnBuildValues
.
UseIsNullCheck
,
CodeStyleOptions2
.
PreferIsNullCheckOverReferenceEqualityMethod
,
title
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Null_check_can_be_simplified
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/Core/Analyzers/UseNullPropagation/AbstractUseNullPropagationDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -37,6 +37,7 @@ internal abstract class AbstractUseNullPropagationDiagnosticAnalyzer<
{
protected
AbstractUseNullPropagationDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseNullPropagationDiagnosticId
,
EnforceOnBuildValues
.
UseNullPropagation
,
CodeStyleOptions2
.
PreferNullPropagation
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Use_null_propagation
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Null_check_can_be_simplified
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/Core/Analyzers/UseObjectInitializer/AbstractUseObjectInitializerDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -32,6 +32,7 @@ internal abstract partial class AbstractUseObjectInitializerDiagnosticAnalyzer<
protected
AbstractUseObjectInitializerDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseObjectInitializerDiagnosticId
,
EnforceOnBuildValues
.
UseObjectInitializer
,
CodeStyleOptions2
.
PreferObjectInitializer
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Simplify_object_initialization
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Object_initialization_can_be_simplified
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/Core/Analyzers/UseSystemHashCode/UseSystemHashCodeDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -14,6 +14,7 @@ internal class UseSystemHashCodeDiagnosticAnalyzer : AbstractBuiltInCodeStyleDia
{
public
UseSystemHashCodeDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
UseSystemHashCode
,
EnforceOnBuildValues
.
UseSystemHashCode
,
CodeStyleOptions2
.
PreferSystemHashCode
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Use_System_HashCode
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
GetHashCode_implementation_can_be_simplified
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)))
...
...
src/Analyzers/Core/Analyzers/UseThrowExpression/AbstractUseThrowExpressionDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -40,6 +40,7 @@ internal abstract class AbstractUseThrowExpressionDiagnosticAnalyzer :
protected
AbstractUseThrowExpressionDiagnosticAnalyzer
(
Option2
<
CodeStyleOption2
<
bool
>>
preferThrowExpressionOption
,
string
language
)
:
base
(
IDEDiagnosticIds
.
UseThrowExpressionDiagnosticId
,
EnforceOnBuildValues
.
UseThrowExpression
,
preferThrowExpressionOption
,
language
,
new
LocalizableResourceString
(
nameof
(
AnalyzersResources
.
Use_throw_expression
),
AnalyzersResources
.
ResourceManager
,
typeof
(
AnalyzersResources
)),
...
...
src/Analyzers/Core/Analyzers/ValidateFormatString/AbstractValidateFormatStringDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -5,6 +5,7 @@
using
System.Collections.Immutable
;
using
System.Diagnostics
;
using
System.Text.RegularExpressions
;
using
Microsoft.CodeAnalysis.CodeStyle
;
using
Microsoft.CodeAnalysis.Diagnostics
;
using
Microsoft.CodeAnalysis.LanguageServices
;
using
Roslyn.Utilities
;
...
...
@@ -39,7 +40,8 @@ internal abstract class AbstractValidateFormatStringDiagnosticAnalyzer<TSyntaxKi
DiagnosticCategory
.
Compiler
,
DiagnosticSeverity
.
Info
,
isEnabledByDefault
:
true
,
description
:
Description
);
description
:
Description
,
customTags
:
EnforceOnBuildValues
.
ValidateFormatString
.
ToCustomTag
());
public
override
ImmutableArray
<
DiagnosticDescriptor
>
SupportedDiagnostics
=>
ImmutableArray
.
Create
(
Rule
);
...
...
src/Analyzers/VisualBasic/Analyzers/RemoveUnnecessaryByVal/VisualBasicRemoveUnnecessaryByValDiagnosticAnalyzer.vb
浏览文件 @
d57cddba
...
...
@@ -14,6 +14,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.RemoveUnnecessaryByVal
Public
Sub
New
()
MyBase
.
New
(
diagnosticId
:
=
IDEDiagnosticIds
.
RemoveUnnecessaryByValDiagnosticId
,
enforceOnBuild
:
=
EnforceOnBuildValues
.
RemoveUnnecessaryByVal
,
[
option
]
:
=
Nothing
,
title
:
=
New
LocalizableResourceString
(
NameOf
(
VisualBasicAnalyzersResources
.
Remove_ByVal
),
VisualBasicAnalyzersResources
.
ResourceManager
,
GetType
(
VisualBasicAnalyzersResources
)),
isUnnecessary
:
=
True
)
...
...
src/Analyzers/VisualBasic/Analyzers/UseIsNotExpression/VisualBasicUseIsNotDiagnosticAnalyzer.vb
浏览文件 @
d57cddba
...
...
@@ -25,6 +25,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.UseIsNotExpression
Public
Sub
New
()
MyBase
.
New
(
IDEDiagnosticIds
.
UseIsNotExpressionDiagnosticId
,
EnforceOnBuildValues
.
UseIsNotExpression
,
VisualBasicCodeStyleOptions
.
PreferIsNotExpression
,
LanguageNames
.
VisualBasic
,
New
LocalizableResourceString
(
...
...
src/CodeStyle/Core/Analyzers/AbstractFormattingAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -16,6 +16,7 @@ internal abstract class AbstractFormattingAnalyzer
protected
AbstractFormattingAnalyzer
()
:
base
(
IDEDiagnosticIds
.
FormattingDiagnosticId
,
EnforceOnBuildValues
.
Formatting
,
option
:
null
,
new
LocalizableResourceString
(
nameof
(
CodeStyleResources
.
Fix_formatting
),
CodeStyleResources
.
ResourceManager
,
typeof
(
CodeStyleResources
)),
new
LocalizableResourceString
(
nameof
(
CodeStyleResources
.
Fix_formatting
),
CodeStyleResources
.
ResourceManager
,
typeof
(
CodeStyleResources
)))
...
...
src/CodeStyle/Tools/Program.cs
浏览文件 @
d57cddba
...
...
@@ -22,6 +22,7 @@ public static class Program
private
const
int
ExpectedArguments
=
4
;
private
static
readonly
string
s_neverTag
=
EnforceOnBuild
.
Never
.
ToCustomTag
();
private
static
readonly
string
s_whenExplicitlyEnabledTag
=
EnforceOnBuild
.
WhenExplicitlyEnabled
.
ToCustomTag
();
private
static
readonly
string
s_recommendedTag
=
EnforceOnBuild
.
Recommended
.
ToCustomTag
();
private
static
readonly
string
s_highlyRecommendedTag
=
EnforceOnBuild
.
HighlyRecommended
.
ToCustomTag
();
...
...
@@ -152,6 +153,9 @@ bool AddRule(DiagnosticDescriptor rule)
(
bool
isEnabledByDefault
,
DiagnosticSeverity
effectiveSeverity
)
GetEnabledByDefaultAndSeverity
(
DiagnosticDescriptor
rule
,
AnalysisMode
analysisMode
)
{
Debug
.
Assert
(
rule
.
CustomTags
.
Any
(
c
=>
c
==
s_neverTag
||
c
==
s_whenExplicitlyEnabledTag
||
c
==
s_recommendedTag
||
c
==
s_highlyRecommendedTag
),
$"DiagnosticDescriptor for '
{
rule
.
Id
}
' must have a
{
nameof
(
EnforceOnBuild
)}
custom tag"
);
bool
isEnabledInNonDefaultMode
;
switch
(
analysisMode
)
{
...
...
src/EditorFeatures/Test/Diagnostics/DiagnosticsClassificationTaggerProviderTests.cs
浏览文件 @
d57cddba
...
...
@@ -7,6 +7,7 @@
using
System.Collections.Immutable
;
using
System.Linq
;
using
System.Threading.Tasks
;
using
Microsoft.CodeAnalysis.CodeStyle
;
using
Microsoft.CodeAnalysis.CSharp
;
using
Microsoft.CodeAnalysis.Diagnostics
;
using
Microsoft.CodeAnalysis.Editor.Implementation.Diagnostics
;
...
...
@@ -59,7 +60,7 @@ private class Analyzer : DiagnosticAnalyzer
{
private
readonly
DiagnosticDescriptor
_rule
=
new
DiagnosticDescriptor
(
"test"
,
"test"
,
"test"
,
"test"
,
DiagnosticSeverity
.
Error
,
true
,
customTags
:
DiagnosticCustomTags
.
Create
(
isUnnecessary
:
true
,
isConfigurable
:
false
));
customTags
:
DiagnosticCustomTags
.
Create
(
isUnnecessary
:
true
,
isConfigurable
:
false
,
EnforceOnBuild
.
Never
));
public
override
ImmutableArray
<
DiagnosticDescriptor
>
SupportedDiagnostics
=>
ImmutableArray
.
Create
(
_rule
);
...
...
src/EditorFeatures/Test/EditAndContinue/EditAndContinueDiagnosticDescriptorsTests.cs
浏览文件 @
d57cddba
...
...
@@ -5,6 +5,7 @@
#
nullable
disable
using
System.Linq
;
using
Microsoft.CodeAnalysis.CodeStyle
;
using
Microsoft.CodeAnalysis.Diagnostics
;
using
Xunit
;
...
...
@@ -18,7 +19,7 @@ public void GetDescriptor()
var
d
=
EditAndContinueDiagnosticDescriptors
.
GetDescriptor
(
RudeEditKind
.
ActiveStatementUpdate
);
Assert
.
Equal
(
"ENC0001"
,
d
.
Id
);
Assert
.
Equal
(
DiagnosticCategory
.
EditAndContinue
,
d
.
Category
);
Assert
.
Equal
(
new
[]
{
"EditAndContinue"
,
"Telemetry"
,
"NotConfigurable"
},
d
.
CustomTags
);
Assert
.
Equal
(
new
[]
{
"EditAndContinue"
,
"Telemetry"
,
"NotConfigurable"
,
EnforceOnBuild
.
Never
.
ToCustomTag
()
},
d
.
CustomTags
);
Assert
.
Equal
(
""
,
d
.
Description
);
Assert
.
Equal
(
""
,
d
.
HelpLinkUri
);
Assert
.
Equal
(
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
RudeEdit
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
d
.
Title
);
...
...
@@ -30,7 +31,7 @@ public void GetDescriptor()
d
=
EditAndContinueDiagnosticDescriptors
.
GetDescriptor
(
EditAndContinueErrorCode
.
ErrorReadingFile
);
Assert
.
Equal
(
"ENC1001"
,
d
.
Id
);
Assert
.
Equal
(
DiagnosticCategory
.
EditAndContinue
,
d
.
Category
);
Assert
.
Equal
(
new
[]
{
"EditAndContinue"
,
"Telemetry"
,
"NotConfigurable"
},
d
.
CustomTags
);
Assert
.
Equal
(
new
[]
{
"EditAndContinue"
,
"Telemetry"
,
"NotConfigurable"
,
EnforceOnBuild
.
Never
.
ToCustomTag
()
},
d
.
CustomTags
);
Assert
.
Equal
(
""
,
d
.
Description
);
Assert
.
Equal
(
""
,
d
.
HelpLinkUri
);
Assert
.
Equal
(
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
EditAndContinue
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
d
.
Title
);
...
...
@@ -40,7 +41,7 @@ public void GetDescriptor()
d
=
EditAndContinueDiagnosticDescriptors
.
GetModuleDiagnosticDescriptor
(
12
);
Assert
.
Equal
(
"ENC2012"
,
d
.
Id
);
Assert
.
Equal
(
DiagnosticCategory
.
EditAndContinue
,
d
.
Category
);
Assert
.
Equal
(
new
[]
{
"EditAndContinue"
,
"Telemetry"
,
"NotConfigurable"
},
d
.
CustomTags
);
Assert
.
Equal
(
new
[]
{
"EditAndContinue"
,
"Telemetry"
,
"NotConfigurable"
,
EnforceOnBuild
.
Never
.
ToCustomTag
()
},
d
.
CustomTags
);
Assert
.
Equal
(
""
,
d
.
Description
);
Assert
.
Equal
(
""
,
d
.
HelpLinkUri
);
Assert
.
Equal
(
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
EditAndContinue
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
d
.
Title
);
...
...
src/Features/CSharp/Portable/UseExpressionBodyForLambda/UseExpressionBodyForLambdaCodeStyleProvider.cs
浏览文件 @
d57cddba
...
...
@@ -34,6 +34,7 @@ public UseExpressionBodyForLambdaCodeStyleProvider()
:
base
(
CSharpCodeStyleOptions
.
PreferExpressionBodiedLambdas
,
LanguageNames
.
CSharp
,
IDEDiagnosticIds
.
UseExpressionBodyForLambdaExpressionsDiagnosticId
,
EnforceOnBuildValues
.
UseExpressionBodyForLambdaExpressions
,
UseExpressionBodyTitle
,
UseExpressionBodyTitle
)
{
...
...
src/Features/CSharp/Portable/UsePatternMatching/CSharpIsAndCastCheckWithoutNameDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -42,7 +42,8 @@ internal class CSharpIsAndCastCheckWithoutNameDiagnosticAnalyzer : AbstractBuilt
public
CSharpIsAndCastCheckWithoutNameDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
InlineIsTypeWithoutNameCheckDiagnosticsId
,
option
:
CSharpCodeStyleOptions
.
PreferPatternMatchingOverIsWithCastCheck
,
EnforceOnBuildValues
.
InlineIsTypeWithoutName
,
CSharpCodeStyleOptions
.
PreferPatternMatchingOverIsWithCastCheck
,
LanguageNames
.
CSharp
,
new
LocalizableResourceString
(
nameof
(
CSharpAnalyzersResources
.
Use_pattern_matching
),
CSharpAnalyzersResources
.
ResourceManager
,
typeof
(
CSharpAnalyzersResources
)))
...
...
src/Features/Core/Portable/CodeStyle/AbstractCodeStyleProvider.Analysis.cs
浏览文件 @
d57cddba
...
...
@@ -28,6 +28,7 @@ protected DiagnosticAnalyzer(bool isUnnecessary = true, bool configurable = true
private
DiagnosticAnalyzer
(
TCodeStyleProvider
codeStyleProvider
,
bool
isUnnecessary
,
bool
configurable
)
:
base
(
codeStyleProvider
.
_descriptorId
,
codeStyleProvider
.
_enforceOnBuild
,
codeStyleProvider
.
_option
,
codeStyleProvider
.
_language
,
codeStyleProvider
.
_title
,
...
...
src/Features/Core/Portable/CodeStyle/AbstractCodeStyleProvider.cs
浏览文件 @
d57cddba
...
...
@@ -36,6 +36,7 @@ internal abstract partial class AbstractCodeStyleProvider<
private
readonly
Option2
<
CodeStyleOption2
<
TOptionKind
>>
_option
;
private
readonly
string
_language
;
private
readonly
string
_descriptorId
;
private
readonly
EnforceOnBuild
_enforceOnBuild
;
private
readonly
LocalizableString
_title
;
private
readonly
LocalizableString
_message
;
...
...
@@ -43,12 +44,14 @@ internal abstract partial class AbstractCodeStyleProvider<
Option2
<
CodeStyleOption2
<
TOptionKind
>>
option
,
string
language
,
string
descriptorId
,
EnforceOnBuild
enforceOnBuild
,
LocalizableString
title
,
LocalizableString
message
)
{
_option
=
option
;
_language
=
language
;
_descriptorId
=
descriptorId
;
_enforceOnBuild
=
enforceOnBuild
;
_title
=
title
;
_message
=
message
;
}
...
...
src/Features/Core/Portable/DisposeAnalysis/DisposableFieldsShouldBeDisposedDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -46,6 +46,7 @@ private DisposableFieldsShouldBeDisposedDiagnosticAnalyzer(DiagnosticDescriptor
private
static
DiagnosticDescriptor
CreateDescriptor
(
bool
isEnabledByDefault
)
=>
CreateDescriptor
(
IDEDiagnosticIds
.
DisposableFieldsShouldBeDisposedDiagnosticId
,
EnforceOnBuildValues
.
DisposableFieldsShouldBeDisposed
,
title
:
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Disposable_fields_should_be_disposed
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
messageFormat
:
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Disposable_field_0_is_never_disposed
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
description
:
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
DisposableFieldsShouldBeDisposedDescription
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
...
...
src/Features/Core/Portable/DisposeAnalysis/DisposeObjectsBeforeLosingScopeDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -48,6 +48,7 @@ public DisposeObjectsBeforeLosingScopeDiagnosticAnalyzer(DiagnosticDescriptor di
private
static
DiagnosticDescriptor
CreateDisposeObjectsBeforeLosingScopeRule
(
bool
isEnabledByDefault
)
=>
CreateDescriptor
(
IDEDiagnosticIds
.
DisposeObjectsBeforeLosingScopeDiagnosticId
,
EnforceOnBuildValues
.
DisposeObjectsBeforeLosingScope
,
title
:
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Dispose_objects_before_losing_scope
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
messageFormat
:
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Disposable_object_created_by_0_is_never_disposed
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
description
:
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
UseRecommendedDisposePatternDescription
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
...
...
@@ -57,6 +58,7 @@ private static DiagnosticDescriptor CreateDisposeObjectsBeforeLosingScopeRule(bo
private
static
DiagnosticDescriptor
CreateUseRecommendedDisposePatternRule
(
bool
isEnabledByDefault
)
=>
CreateDescriptor
(
IDEDiagnosticIds
.
UseRecommendedDisposePatternDiagnosticId
,
EnforceOnBuildValues
.
UseRecommendedDisposePattern
,
title
:
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Use_recommended_dispose_pattern
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
messageFormat
:
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Use_recommended_dispose_pattern_to_ensure_that_object_created_by_0_is_disposed_on_all_paths_using_statement_declaration_or_try_finally
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
description
:
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
UseRecommendedDisposePatternDescription
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
...
...
src/Features/Core/Portable/EmbeddedLanguages/RegularExpressions/AbstractRegexDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -25,6 +25,7 @@ internal abstract class AbstractRegexDiagnosticAnalyzer : AbstractBuiltInCodeSty
protected
AbstractRegexDiagnosticAnalyzer
(
EmbeddedLanguageInfo
info
)
:
base
(
DiagnosticId
,
EnforceOnBuildValues
.
Regex
,
RegularExpressionsOptions
.
ReportInvalidRegexPatterns
,
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Regex_issue_0
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Regex_issue_0
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)))
...
...
src/Features/Core/Portable/Formatting/FormattingDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -16,6 +16,7 @@ internal class FormattingDiagnosticAnalyzer
public
FormattingDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
FormattingDiagnosticId
,
EnforceOnBuildValues
.
Formatting
,
option
:
null
,
// No unique option to configure diagnosticId
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Fix_formatting
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Fix_formatting
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)))
...
...
src/Features/Core/Portable/PreferFrameworkType/PreferFrameworkTypeDiagnosticAnalyzerBase.cs
浏览文件 @
d57cddba
...
...
@@ -17,6 +17,7 @@ internal abstract class PreferFrameworkTypeDiagnosticAnalyzerBase<TSyntaxKind, T
{
protected
PreferFrameworkTypeDiagnosticAnalyzerBase
()
:
base
(
IDEDiagnosticIds
.
PreferBuiltInOrFrameworkTypeDiagnosticId
,
EnforceOnBuildValues
.
PreferBuiltInOrFrameworkType
,
options
:
ImmutableHashSet
.
Create
<
IPerLanguageOption
>(
CodeStyleOptions2
.
PreferIntrinsicPredefinedTypeKeywordInDeclaration
,
CodeStyleOptions2
.
PreferIntrinsicPredefinedTypeKeywordInMemberAccess
),
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Use_framework_type
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Use_framework_type
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)))
...
...
src/Features/Core/Portable/SimplifyThisOrMe/AbstractSimplifyThisOrMeDiagnosticAnalyzer.cs
浏览文件 @
d57cddba
...
...
@@ -29,6 +29,7 @@ internal abstract class AbstractSimplifyThisOrMeDiagnosticAnalyzer<
protected
AbstractSimplifyThisOrMeDiagnosticAnalyzer
()
:
base
(
IDEDiagnosticIds
.
RemoveQualificationDiagnosticId
,
EnforceOnBuildValues
.
RemoveQualification
,
ImmutableHashSet
.
Create
<
IPerLanguageOption
>(
CodeStyleOptions2
.
QualifyFieldAccess
,
CodeStyleOptions2
.
QualifyPropertyAccess
,
CodeStyleOptions2
.
QualifyMethodAccess
,
CodeStyleOptions2
.
QualifyEventAccess
),
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Remove_qualification
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
new
LocalizableResourceString
(
nameof
(
WorkspacesResources
.
Name_can_be_simplified
),
WorkspacesResources
.
ResourceManager
,
typeof
(
WorkspacesResources
)),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录