/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/RoslynAnalyzers/Utilities/FlowAnalysis/Options/EditorConfigOptionNames_FlowAnalysis.cs
80 строк
4 KB
Joey Robichaud
Fix file headers
15 мар 2025, 02:53
15 мар 2025, 02:53
e56be3a
Код
Авторство
О чём код?
// 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. namespace Analyzer.Utilities { /// <summary> /// Option names to configure analyzer execution through an .editorconfig file. /// </summary> internal static partial class EditorConfigOptionNames { // ============================================================================================================= // NOTE: Keep this file in sync with documentation at '<%REPO_ROOT%>\docs\Analyzer Configuration.md' // ============================================================================================================= #region Flow analysis options /// <summary> /// Option to configure interprocedural dataflow analysis kind, i.e. <see cref="Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.InterproceduralAnalysisKind"/>. /// Allowed option values: Fields from <see cref="Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.InterproceduralAnalysisKind"/>. /// </summary> public const string InterproceduralAnalysisKind = "interprocedural_analysis_kind"; /// <summary> /// Integral option to configure maximum method call chain for interprocedural dataflow analysis. /// </summary> public const string MaxInterproceduralMethodCallChain = "max_interprocedural_method_call_chain"; /// <summary> /// Integral option to configure maximum lambda or local function call chain for interprocedural dataflow analysis. /// </summary> public const string MaxInterproceduralLambdaOrLocalFunctionCallChain = "max_interprocedural_lambda_or_local_function_call_chain"; /// <summary> /// String option to configure dispose analysis kind, primarily for CA2000 (DisposeObjectsBeforeLosingScope). /// Allowed option values: Fields from DisposeAnalysisKind enum. /// </summary> public const string DisposeAnalysisKind = "dispose_analysis_kind"; /// <summary> /// Boolean option to configure if passing a disposable object as a constructor argument should be considered /// as a dispose ownership transfer, primarily for CA2000 (DisposeObjectsBeforeLosingScope). /// </summary> public const string DisposeOwnershipTransferAtConstructor = "dispose_ownership_transfer_at_constructor"; /// <summary> /// Boolean option to configure if passing a disposable object as an argument to a method invocation should be considered /// as a dispose ownership transfer to the caller, primarily for CA2000 (DisposeObjectsBeforeLosingScope) /// </summary> public const string DisposeOwnershipTransferAtMethodCall = "dispose_ownership_transfer_at_method_call"; /// <summary> /// Option to configure whether copy analysis should be executed during dataflow analysis. /// Copy analysis tracks value and reference copies. For example, /// <code> /// void M(string str1, string str2) /// { /// if (str1 != null) /// { /// if (str1 == str2) /// { /// if (str2 != null) // This is redundant as 'str1' and 'str2' are value copies on this code path. This requires copy analysis. /// { /// } /// } /// } /// } /// </code> /// </summary> public const string CopyAnalysis = "copy_analysis"; /// <summary> /// Option to configure points to analysis kind, i.e. <see cref="Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.PointsToAnalysis.PointsToAnalysisKind"/>. /// Allowed option values: Fields from <see cref="Microsoft.CodeAnalysis.FlowAnalysis.DataFlow.PointsToAnalysis.PointsToAnalysisKind"/>. /// </summary> public const string PointsToAnalysisKind = "points_to_analysis_kind"; #endregion } }