提交 7e80d295 编写于 作者: M Manish Vasani

Move options related types that are linked into CodeStyle layer to a different...

Move options related types that are linked into CodeStyle layer to a different namespace to avoid type name conflicts
上级 5d247289
......@@ -8,11 +8,13 @@
using System.Diagnostics;
using System.Linq;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Options;
using Roslyn.Utilities;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
#else
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.CodeStyle
......
......@@ -19,6 +19,7 @@
<Compile Include="$(MSBuildThisFileDirectory)DiagnosticAnalyzerCategory.cs" />
<Compile Include="$(MSBuildThisFileDirectory)DiagnosticCategory.cs" />
<Compile Include="$(MSBuildThisFileDirectory)DiagnosticCustomTags.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Helpers\AnalyzerHelper.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Helpers\DeserializationConstructorCheck.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Helpers\DiagnosticHelper.cs" />
<Compile Include="$(MSBuildThisFileDirectory)IBuiltInAnalyzer.cs" />
......
// 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.
#nullable enable
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using System.Threading;
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.Diagnostics
{
internal static partial class AnalyzerHelper
{
public static T GetOption<T>(this SemanticModelAnalysisContext context, Option<T> option)
{
var analyzerOptions = context.Options;
var syntaxTree = context.SemanticModel.SyntaxTree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this SyntaxNodeAnalysisContext context, Option<T> option)
{
var analyzerOptions = context.Options;
var syntaxTree = context.Node.SyntaxTree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this SyntaxTreeAnalysisContext context, Option<T> option)
{
var analyzerOptions = context.Options;
var syntaxTree = context.Tree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this OperationAnalysisContext context, Option<T> option)
{
var analyzerOptions = context.Options;
var syntaxTree = context.Operation.Syntax.SyntaxTree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this SemanticModelAnalysisContext context, PerLanguageOption<T> option, string? language)
{
var analyzerOptions = context.Options;
var syntaxTree = context.SemanticModel.SyntaxTree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, language, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this SyntaxNodeAnalysisContext context, PerLanguageOption<T> option, string? language)
{
var analyzerOptions = context.Options;
var syntaxTree = context.Node.SyntaxTree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, language, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this SyntaxTreeAnalysisContext context, PerLanguageOption<T> option, string? language)
{
var analyzerOptions = context.Options;
var syntaxTree = context.Tree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, language, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this OperationAnalysisContext context, PerLanguageOption<T> option, string? language)
{
var analyzerOptions = context.Options;
var syntaxTree = context.Operation.Syntax.SyntaxTree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, language, syntaxTree, cancellationToken);
}
public static bool TryGetEditorConfigOption<T>(this AnalyzerOptions analyzerOptions, IOption option, SyntaxTree syntaxTree, out T value)
{
var configOptions = analyzerOptions.AnalyzerConfigOptionsProvider.GetOptions(syntaxTree);
return configOptions.TryGetEditorConfigOption(option, out value);
}
}
}
......@@ -7,7 +7,12 @@
using System.Collections.Immutable;
using System.Diagnostics;
using System.Linq;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.Diagnostics
{
......
P:Microsoft.CodeAnalysis.Project.LanguageServices; Use 'GetExtendedLanguageServices' instead in CodeStyle layer (preprocessor variable 'CODE_STYLE')
M:Microsoft.CodeAnalysis.Host.HostWorkspaceServices.GetLanguageServices(System.String); Use 'GetExtendedLanguageServices' or directly get the language service by invoking 'GetLanguageService' or 'GetRequiredLanguageService' in CodeStyle layer (preprocessor variable 'CODE_STYLE')
T:Microsoft.CodeAnalysis.Options.OptionSet; 'OptionSet' is not available in CodeStyle layer. Add a using/Imports statement defining 'OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions' when preprocessor variable 'CODE_STYLE' is defined
T:Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption`1; Use 'Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption' instead in CodeStyle layer (preprocessor variable 'CODE_STYLE')
T:Microsoft.CodeAnalysis.CodeStyle.CodeStyleOptions; Use 'Microsoft.CodeAnalysis.Internal.Options.CodeStyleOptions' instead in CodeStyle layer (preprocessor variable 'CODE_STYLE')
T:Microsoft.CodeAnalysis.Options.IOption; Use 'Microsoft.CodeAnalysis.Internal.Options.IOption' instead in CodeStyle layer (preprocessor variable 'CODE_STYLE')
T:Microsoft.CodeAnalysis.Options.OptionKey; Use 'Microsoft.CodeAnalysis.Internal.Options.OptionKey' instead in CodeStyle layer (preprocessor variable 'CODE_STYLE')
T:Microsoft.CodeAnalysis.CodeStyle.NotificationOption; Use 'Microsoft.CodeAnalysis.Internal.Options.NotificationOption' instead in CodeStyle layer (preprocessor variable 'CODE_STYLE')
\ No newline at end of file
......@@ -7,50 +7,50 @@ Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions
Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions.LeftMost = 0 -> Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions
Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions.NoIndent = 2 -> Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions
Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions.OneLess = 1 -> Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.IndentBlock.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.IndentBraces.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.IndentSwitchCaseSection.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.IndentSwitchCaseSectionWhenBlock.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.IndentSwitchSection.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.LabelPositioning.get -> Microsoft.CodeAnalysis.Options.Option<Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForCatch.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForClausesInQuery.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForElse.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForFinally.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForMembersInAnonymousTypes.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForMembersInObjectInit.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInAccessors.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInAnonymousMethods.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInAnonymousTypes.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInControlBlocks.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInLambdaExpressionBody.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInMethods.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInObjectCollectionArrayInitializers.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInProperties.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInTypes.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterCast.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterColonInBaseTypeDeclaration.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterComma.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterControlFlowStatementKeyword.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterDot.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterMethodCallName.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterSemicolonsInForStatement.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBeforeColonInBaseTypeDeclaration.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBeforeComma.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBeforeDot.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBeforeOpenSquareBracket.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBeforeSemicolonsInForStatement.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBetweenEmptyMethodCallParentheses.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBetweenEmptyMethodDeclarationParentheses.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBetweenEmptySquareBrackets.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpacesIgnoreAroundVariableDeclaration.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinCastParentheses.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinExpressionParentheses.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinMethodCallParentheses.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinMethodDeclarationParenthesis.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinOtherParentheses.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinSquareBrackets.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpacingAfterMethodDeclarationName.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpacingAroundBinaryOperator.get -> Microsoft.CodeAnalysis.Options.Option<Microsoft.CodeAnalysis.CSharp.Formatting.BinaryOperatorSpacingOptions>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.WrappingKeepStatementsOnSingleLine.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.WrappingPreserveSingleLine.get -> Microsoft.CodeAnalysis.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.IndentBlock.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.IndentBraces.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.IndentSwitchCaseSection.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.IndentSwitchCaseSectionWhenBlock.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.IndentSwitchSection.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.LabelPositioning.get -> Microsoft.CodeAnalysis.Internal.Options.Option<Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForCatch.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForClausesInQuery.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForElse.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForFinally.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForMembersInAnonymousTypes.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForMembersInObjectInit.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInAccessors.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInAnonymousMethods.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInAnonymousTypes.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInControlBlocks.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInLambdaExpressionBody.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInMethods.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInObjectCollectionArrayInitializers.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInProperties.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLinesForBracesInTypes.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterCast.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterColonInBaseTypeDeclaration.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterComma.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterControlFlowStatementKeyword.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterDot.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterMethodCallName.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceAfterSemicolonsInForStatement.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBeforeColonInBaseTypeDeclaration.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBeforeComma.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBeforeDot.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBeforeOpenSquareBracket.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBeforeSemicolonsInForStatement.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBetweenEmptyMethodCallParentheses.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBetweenEmptyMethodDeclarationParentheses.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceBetweenEmptySquareBrackets.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpacesIgnoreAroundVariableDeclaration.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinCastParentheses.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinExpressionParentheses.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinMethodCallParentheses.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinMethodDeclarationParenthesis.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinOtherParentheses.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpaceWithinSquareBrackets.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpacingAfterMethodDeclarationName.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.SpacingAroundBinaryOperator.get -> Microsoft.CodeAnalysis.Internal.Options.Option<Microsoft.CodeAnalysis.CSharp.Formatting.BinaryOperatorSpacingOptions>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.WrappingKeepStatementsOnSingleLine.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.WrappingPreserveSingleLine.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
......@@ -28,8 +28,10 @@
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\..\Workspaces\Core\Portable\CodeStyle\CodeStyleOption.cs" Link="Options\CodeStyleOption.cs" />
<Compile Include="..\..\..\Workspaces\Core\Portable\CodeStyle\CodeStyleOptions.cs" Link="Options\CodeStyleOptions.cs" />
<Compile Include="..\..\..\Workspaces\Core\Portable\CodeStyle\NotificationOption.cs" Link="Options\NotificationOption.cs" />
<Compile Include="..\..\..\Workspaces\Core\Portable\Options\EditorConfig\EditorConfigStorageLocation.cs" Link="Options\EditorConfigStorageLocation.cs" />
<Compile Include="..\..\..\Workspaces\Core\Portable\Options\EditorConfig\EditorConfigStorageLocationExtensions.cs" Link="Options\EditorConfigStorageLocationExtensions.cs" />
<Compile Include="..\..\..\Workspaces\Core\Portable\Options\EditorConfig\EditorConfigStorageLocation`1.cs" Link="Options\EditorConfigStorageLocation`1.cs" />
<Compile Include="..\..\..\Workspaces\Core\Portable\Options\EditorConfig\IEditorConfigStorageLocation.cs" Link="Options\IEditorConfigStorageLocation.cs" />
<Compile Include="..\..\..\Workspaces\Core\Portable\Options\EditorConfig\IEditorConfigStorageLocation2.cs" Link="Options\IEditorConfigStorageLocation2.cs" />
......
// 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.
#nullable enable
using System.Threading;
using Microsoft.CodeAnalysis.Internal.Options;
namespace Microsoft.CodeAnalysis.Diagnostics
{
internal static partial class AnalyzerHelper
{
public static T GetOption<T>(this AnalyzerOptions analyzerOptions, IOption option, string? language, SyntaxTree syntaxTree, CancellationToken cancellationToken)
{
if (analyzerOptions.TryGetEditorConfigOption<T>(option, syntaxTree, out var value))
{
return value;
}
return (T)option.DefaultValue!;
}
public static T GetOption<T>(this AnalyzerOptions analyzerOptions, Option<T> option, SyntaxTree syntaxTree, CancellationToken cancellationToken)
{
return GetOption<T>(analyzerOptions, option, language: null, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this AnalyzerOptions analyzerOptions, PerLanguageOption<T> option, string? language, SyntaxTree syntaxTree, CancellationToken cancellationToken)
{
return GetOption<T>(analyzerOptions, (IOption)option, language, syntaxTree, cancellationToken);
}
}
}
// 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.Options;
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
namespace Microsoft.CodeAnalysis
{
internal static class OptionSetExtensions
{
public static T GetOption<T>(this OptionSet optionSet, Option<T> option)
{
if (!TryGetEditorConfigOption(optionSet, option, out T value))
{
value = option.DefaultValue;
}
return value;
}
public static T GetOption<T>(this OptionSet optionSet, PerLanguageOption<T> option, string language)
{
if (!TryGetEditorConfigOption(optionSet, option, out T value))
{
value = option.DefaultValue;
}
return value;
}
private static bool TryGetEditorConfigOption<T>(this OptionSet optionSet, IOption option, out T value)
{
foreach (var storageLocation in option.StorageLocations)
{
if (!(storageLocation is EditorConfigStorageLocation<T> editorConfigStorageLocation))
{
continue;
}
if (!optionSet.TryGetValue(editorConfigStorageLocation.KeyName, out var stringValue))
{
continue;
}
if (editorConfigStorageLocation.TryGetOption(stringValue, typeof(T), out value))
{
return true;
}
}
value = default;
return false;
}
}
}
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.CodeStyleOption(T value, Microsoft.CodeAnalysis.CodeStyle.NotificationOption notification) -> void
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Equals(Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T> other) -> bool
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Notification.get -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Notification.set -> void
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.ToXElement() -> System.Xml.Linq.XElement
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Value.get -> T
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Value.set -> void
Microsoft.CodeAnalysis.CodeStyle.NotificationOption
Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Name.get -> string
Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Name.set -> void
Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Severity.get -> Microsoft.CodeAnalysis.ReportDiagnostic
Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Severity.set -> void
Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Value.get -> Microsoft.CodeAnalysis.DiagnosticSeverity
Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Value.set -> void
Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>
Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.CodeStyleOption(T value, Microsoft.CodeAnalysis.Internal.Options.NotificationOption notification) -> void
Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Equals(Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T> other) -> bool
Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Notification.get -> Microsoft.CodeAnalysis.Internal.Options.NotificationOption
Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Notification.set -> void
Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.ToXElement() -> System.Xml.Linq.XElement
Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Value.get -> T
Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Value.set -> void
Microsoft.CodeAnalysis.Internal.Options.NotificationOption
Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Name.get -> string
Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Name.set -> void
Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Severity.get -> Microsoft.CodeAnalysis.ReportDiagnostic
Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Severity.set -> void
Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Value.get -> Microsoft.CodeAnalysis.DiagnosticSeverity
Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Value.set -> void
Microsoft.CodeAnalysis.Formatting.FormattingOptions
Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle
Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle.Block = 1 -> Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle
Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle.None = 0 -> Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle
Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle.Smart = 2 -> Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle
Microsoft.CodeAnalysis.Options.IOption
Microsoft.CodeAnalysis.Options.IOption.DefaultValue.get -> object
Microsoft.CodeAnalysis.Options.IOption.Feature.get -> string
Microsoft.CodeAnalysis.Options.IOption.IsPerLanguage.get -> bool
Microsoft.CodeAnalysis.Options.IOption.Name.get -> string
Microsoft.CodeAnalysis.Options.IOption.StorageLocations.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.Options.OptionStorageLocation>
Microsoft.CodeAnalysis.Options.IOption.Type.get -> System.Type
Microsoft.CodeAnalysis.Options.Option<T>
Microsoft.CodeAnalysis.Options.Option<T>.DefaultValue.get -> T
Microsoft.CodeAnalysis.Options.Option<T>.Feature.get -> string
Microsoft.CodeAnalysis.Options.Option<T>.Name.get -> string
Microsoft.CodeAnalysis.Options.Option<T>.Option(string feature, string name) -> void
Microsoft.CodeAnalysis.Options.Option<T>.Option(string feature, string name, T defaultValue) -> void
Microsoft.CodeAnalysis.Options.Option<T>.Option(string feature, string name, T defaultValue, params Microsoft.CodeAnalysis.Options.OptionStorageLocation[] storageLocations) -> void
Microsoft.CodeAnalysis.Options.Option<T>.StorageLocations.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.Options.OptionStorageLocation>
Microsoft.CodeAnalysis.Options.Option<T>.Type.get -> System.Type
Microsoft.CodeAnalysis.Options.OptionKey
Microsoft.CodeAnalysis.Options.OptionKey.Equals(Microsoft.CodeAnalysis.Options.OptionKey other) -> bool
Microsoft.CodeAnalysis.Options.OptionKey.Language.get -> string
Microsoft.CodeAnalysis.Options.OptionKey.Option.get -> Microsoft.CodeAnalysis.Options.IOption
Microsoft.CodeAnalysis.Options.OptionKey.OptionKey(Microsoft.CodeAnalysis.Options.IOption option, string language = null) -> void
Microsoft.CodeAnalysis.Options.OptionStorageLocation
Microsoft.CodeAnalysis.Options.OptionStorageLocation.OptionStorageLocation() -> void
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.DefaultValue.get -> T
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.Feature.get -> string
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.Name.get -> string
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.PerLanguageOption(string feature, string name, T defaultValue) -> void
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.PerLanguageOption(string feature, string name, T defaultValue, params Microsoft.CodeAnalysis.Options.OptionStorageLocation[] storageLocations) -> void
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.StorageLocations.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.Options.OptionStorageLocation>
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.Type.get -> System.Type
override Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Equals(object obj) -> bool
override Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.GetHashCode() -> int
override Microsoft.CodeAnalysis.CodeStyle.NotificationOption.ToString() -> string
override Microsoft.CodeAnalysis.Options.Option<T>.ToString() -> string
override Microsoft.CodeAnalysis.Options.OptionKey.Equals(object obj) -> bool
override Microsoft.CodeAnalysis.Options.OptionKey.GetHashCode() -> int
override Microsoft.CodeAnalysis.Options.OptionKey.ToString() -> string
override Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.ToString() -> string
static Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Default.get -> Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>
static Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.FromXElement(System.Xml.Linq.XElement element) -> Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>
static Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentationSize.get -> Microsoft.CodeAnalysis.Options.PerLanguageOption<int>
static Microsoft.CodeAnalysis.Formatting.FormattingOptions.NewLine.get -> Microsoft.CodeAnalysis.Options.PerLanguageOption<string>
static Microsoft.CodeAnalysis.Formatting.FormattingOptions.SmartIndent.get -> Microsoft.CodeAnalysis.Options.PerLanguageOption<Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle>
static Microsoft.CodeAnalysis.Formatting.FormattingOptions.TabSize.get -> Microsoft.CodeAnalysis.Options.PerLanguageOption<int>
static Microsoft.CodeAnalysis.Formatting.FormattingOptions.UseTabs.get -> Microsoft.CodeAnalysis.Options.PerLanguageOption<bool>
static Microsoft.CodeAnalysis.Options.Option<T>.implicit operator Microsoft.CodeAnalysis.Options.OptionKey(Microsoft.CodeAnalysis.Options.Option<T> option) -> Microsoft.CodeAnalysis.Options.OptionKey
static Microsoft.CodeAnalysis.Options.OptionKey.operator !=(Microsoft.CodeAnalysis.Options.OptionKey left, Microsoft.CodeAnalysis.Options.OptionKey right) -> bool
static Microsoft.CodeAnalysis.Options.OptionKey.operator ==(Microsoft.CodeAnalysis.Options.OptionKey left, Microsoft.CodeAnalysis.Options.OptionKey right) -> bool
static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Error -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption
static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.None -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption
static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Silent -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption
static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Suggestion -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption
static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Warning -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption
Microsoft.CodeAnalysis.Internal.Options.IOption
Microsoft.CodeAnalysis.Internal.Options.IOption.DefaultValue.get -> object
Microsoft.CodeAnalysis.Internal.Options.IOption.Feature.get -> string
Microsoft.CodeAnalysis.Internal.Options.IOption.IsPerLanguage.get -> bool
Microsoft.CodeAnalysis.Internal.Options.IOption.Name.get -> string
Microsoft.CodeAnalysis.Internal.Options.IOption.StorageLocations.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation>
Microsoft.CodeAnalysis.Internal.Options.IOption.Type.get -> System.Type
Microsoft.CodeAnalysis.Internal.Options.Option<T>
Microsoft.CodeAnalysis.Internal.Options.Option<T>.DefaultValue.get -> T
Microsoft.CodeAnalysis.Internal.Options.Option<T>.Feature.get -> string
Microsoft.CodeAnalysis.Internal.Options.Option<T>.Name.get -> string
Microsoft.CodeAnalysis.Internal.Options.Option<T>.Option(string feature, string name) -> void
Microsoft.CodeAnalysis.Internal.Options.Option<T>.Option(string feature, string name, T defaultValue) -> void
Microsoft.CodeAnalysis.Internal.Options.Option<T>.Option(string feature, string name, T defaultValue, params Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation[] storageLocations) -> void
Microsoft.CodeAnalysis.Internal.Options.Option<T>.StorageLocations.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation>
Microsoft.CodeAnalysis.Internal.Options.Option<T>.Type.get -> System.Type
Microsoft.CodeAnalysis.Internal.Options.OptionKey
Microsoft.CodeAnalysis.Internal.Options.OptionKey.Equals(Microsoft.CodeAnalysis.Internal.Options.OptionKey other) -> bool
Microsoft.CodeAnalysis.Internal.Options.OptionKey.Language.get -> string
Microsoft.CodeAnalysis.Internal.Options.OptionKey.Option.get -> Microsoft.CodeAnalysis.Internal.Options.IOption
Microsoft.CodeAnalysis.Internal.Options.OptionKey.OptionKey(Microsoft.CodeAnalysis.Internal.Options.IOption option, string language = null) -> void
Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation
Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation.OptionStorageLocation() -> void
Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>
Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.DefaultValue.get -> T
Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.Feature.get -> string
Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.Name.get -> string
Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.PerLanguageOption(string feature, string name, T defaultValue) -> void
Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.PerLanguageOption(string feature, string name, T defaultValue, params Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation[] storageLocations) -> void
Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.StorageLocations.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation>
Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.Type.get -> System.Type
override Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Equals(object obj) -> bool
override Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.GetHashCode() -> int
override Microsoft.CodeAnalysis.Internal.Options.NotificationOption.ToString() -> string
override Microsoft.CodeAnalysis.Internal.Options.Option<T>.ToString() -> string
override Microsoft.CodeAnalysis.Internal.Options.OptionKey.Equals(object obj) -> bool
override Microsoft.CodeAnalysis.Internal.Options.OptionKey.GetHashCode() -> int
override Microsoft.CodeAnalysis.Internal.Options.OptionKey.ToString() -> string
override Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.ToString() -> string
static Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Default.get -> Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>
static Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.FromXElement(System.Xml.Linq.XElement element) -> Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>
static Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentationSize.get -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<int>
static Microsoft.CodeAnalysis.Formatting.FormattingOptions.NewLine.get -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<string>
static Microsoft.CodeAnalysis.Formatting.FormattingOptions.SmartIndent.get -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle>
static Microsoft.CodeAnalysis.Formatting.FormattingOptions.TabSize.get -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<int>
static Microsoft.CodeAnalysis.Formatting.FormattingOptions.UseTabs.get -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<bool>
static Microsoft.CodeAnalysis.Internal.Options.Option<T>.implicit operator Microsoft.CodeAnalysis.Internal.Options.OptionKey(Microsoft.CodeAnalysis.Internal.Options.Option<T> option) -> Microsoft.CodeAnalysis.Internal.Options.OptionKey
static Microsoft.CodeAnalysis.Internal.Options.OptionKey.operator !=(Microsoft.CodeAnalysis.Internal.Options.OptionKey left, Microsoft.CodeAnalysis.Internal.Options.OptionKey right) -> bool
static Microsoft.CodeAnalysis.Internal.Options.OptionKey.operator ==(Microsoft.CodeAnalysis.Internal.Options.OptionKey left, Microsoft.CodeAnalysis.Internal.Options.OptionKey right) -> bool
static readonly Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Error -> Microsoft.CodeAnalysis.Internal.Options.NotificationOption
static readonly Microsoft.CodeAnalysis.Internal.Options.NotificationOption.None -> Microsoft.CodeAnalysis.Internal.Options.NotificationOption
static readonly Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Silent -> Microsoft.CodeAnalysis.Internal.Options.NotificationOption
static readonly Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Suggestion -> Microsoft.CodeAnalysis.Internal.Options.NotificationOption
static readonly Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Warning -> Microsoft.CodeAnalysis.Internal.Options.NotificationOption
Microsoft.CodeAnalysis.Internal.Options.CodeStyleOptions
Microsoft.CodeAnalysis.Internal.Options.CodeStyleOptions.CodeStyleOptions() -> void
static readonly Microsoft.CodeAnalysis.Internal.Options.CodeStyleOptions.PreferIntrinsicPredefinedTypeKeywordInDeclaration -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<bool>>
static readonly Microsoft.CodeAnalysis.Internal.Options.CodeStyleOptions.PreferIntrinsicPredefinedTypeKeywordInMemberAccess -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<bool>>
static readonly Microsoft.CodeAnalysis.Internal.Options.CodeStyleOptions.QualifyEventAccess -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<bool>>
static readonly Microsoft.CodeAnalysis.Internal.Options.CodeStyleOptions.QualifyFieldAccess -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<bool>>
static readonly Microsoft.CodeAnalysis.Internal.Options.CodeStyleOptions.QualifyMethodAccess -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<bool>>
static readonly Microsoft.CodeAnalysis.Internal.Options.CodeStyleOptions.QualifyPropertyAccess -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<bool>>
<Project>
<Import Project="..\..\Directory.Build.targets"/>
<ItemGroup>
<AdditionalFiles Include="$(MSBuildThisFileDirectory)\BannedSymbols.txt" />
</ItemGroup>
</Project>
\ No newline at end of file
......@@ -13,8 +13,6 @@
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Diagnostics.Log;
using Microsoft.CodeAnalysis.Diagnostics.Telemetry;
using Microsoft.CodeAnalysis.ErrorReporting;
using Microsoft.CodeAnalysis.Internal.Log;
......@@ -24,7 +22,7 @@
namespace Microsoft.CodeAnalysis.Diagnostics
{
internal static class AnalyzerHelper
internal static partial class AnalyzerHelper
{
private const string CSharpCompilerAnalyzerTypeName = "Microsoft.CodeAnalysis.Diagnostics.CSharp.CSharpCompilerDiagnosticAnalyzer";
private const string VisualBasicCompilerAnalyzerTypeName = "Microsoft.CodeAnalysis.Diagnostics.VisualBasic.VisualBasicCompilerDiagnosticAnalyzer";
......@@ -109,92 +107,19 @@ public static async ValueTask<OptionSet> GetAnalyzerOptionSetAsync(this Analyzer
return new AnalyzerConfigOptionSet(configOptions, optionSet);
}
public static T GetOption<T>(this SemanticModelAnalysisContext context, Option<T> option)
{
var analyzerOptions = context.Options;
var syntaxTree = context.SemanticModel.SyntaxTree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this SyntaxNodeAnalysisContext context, Option<T> option)
{
var analyzerOptions = context.Options;
var syntaxTree = context.Node.SyntaxTree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this SyntaxTreeAnalysisContext context, Option<T> option)
{
var analyzerOptions = context.Options;
var syntaxTree = context.Tree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this OperationAnalysisContext context, Option<T> option)
{
var analyzerOptions = context.Options;
var syntaxTree = context.Operation.Syntax.SyntaxTree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this AnalyzerOptions analyzerOptions, Option<T> option, SyntaxTree syntaxTree, CancellationToken cancellationToken)
{
return GetOptionAsync<T>(analyzerOptions, option, language: null, syntaxTree, cancellationToken).GetAwaiter().GetResult();
}
public static T GetOption<T>(this SemanticModelAnalysisContext context, PerLanguageOption<T> option, string language)
{
var analyzerOptions = context.Options;
var syntaxTree = context.SemanticModel.SyntaxTree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, language, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this SyntaxNodeAnalysisContext context, PerLanguageOption<T> option, string language)
{
var analyzerOptions = context.Options;
var syntaxTree = context.Node.SyntaxTree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, language, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this SyntaxTreeAnalysisContext context, PerLanguageOption<T> option, string language)
{
var analyzerOptions = context.Options;
var syntaxTree = context.Tree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, language, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this OperationAnalysisContext context, PerLanguageOption<T> option, string language)
{
var analyzerOptions = context.Options;
var syntaxTree = context.Operation.Syntax.SyntaxTree;
var cancellationToken = context.CancellationToken;
return GetOption(analyzerOptions, option, language, syntaxTree, cancellationToken);
}
public static T GetOption<T>(this AnalyzerOptions analyzerOptions, PerLanguageOption<T> option, string language, SyntaxTree syntaxTree, CancellationToken cancellationToken)
public static T GetOption<T>(this AnalyzerOptions analyzerOptions, PerLanguageOption<T> option, string? language, SyntaxTree syntaxTree, CancellationToken cancellationToken)
{
return GetOptionAsync<T>(analyzerOptions, option, language, syntaxTree, cancellationToken).GetAwaiter().GetResult();
}
public static async ValueTask<T> GetOptionAsync<T>(this AnalyzerOptions analyzerOptions, IOption option, string? language, SyntaxTree syntaxTree, CancellationToken cancellationToken)
{
var configOptions = analyzerOptions.AnalyzerConfigOptionsProvider.GetOptions(syntaxTree);
if (configOptions.TryGetEditorConfigOption<T>(option, out var value))
if (analyzerOptions.TryGetEditorConfigOption<T>(option, syntaxTree, out var value))
{
return value;
}
......@@ -205,11 +130,6 @@ public static async ValueTask<T> GetOptionAsync<T>(this AnalyzerOptions analyzer
return (T)optionSet?.GetOption(new OptionKey(option, language)) ?? (T)option.DefaultValue!;
}
[Obsolete]
[PerformanceSensitive("https://github.com/dotnet/roslyn/issues/23582", OftenCompletesSynchronously = true)]
public static OptionSet? GetOptions(this AnalyzerOptions analyzerOptions, SyntaxTree syntaxTree, CancellationToken cancellationToken)
=> analyzerOptions.GetDocumentOptionSetAsync(syntaxTree, cancellationToken).GetAwaiter().GetResult();
[PerformanceSensitive("https://github.com/dotnet/roslyn/issues/23582", OftenCompletesSynchronously = true)]
public static ValueTask<OptionSet?> GetDocumentOptionSetAsync(this AnalyzerOptions analyzerOptions, SyntaxTree syntaxTree, CancellationToken cancellationToken)
{
......
......@@ -7,7 +7,11 @@
using System.Xml.Linq;
using Microsoft.CodeAnalysis.Diagnostics;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{
internal interface ICodeStyleOption
{
......
......@@ -6,11 +6,15 @@
using System.Collections.Immutable;
using System.Diagnostics;
using Microsoft.CodeAnalysis.Options;
using Roslyn.Utilities;
using static Microsoft.CodeAnalysis.CodeStyle.CodeStyleHelpers;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
using Microsoft.CodeAnalysis.Options;
namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{
public class CodeStyleOptions
{
......
......@@ -9,7 +9,11 @@
using WorkspacesResources = Microsoft.CodeAnalysis.CodeStyleResources;
#endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{
/// <summary>
/// Offers different notification styles for enforcing
......
......@@ -7,7 +7,11 @@
using System;
using Microsoft.CodeAnalysis.CodeStyle;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
internal static class EditorConfigStorageLocation
{
......
......@@ -4,7 +4,11 @@
using System.Collections.Generic;
using Microsoft.CodeAnalysis.Diagnostics;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
internal static class EditorConfigStorageLocationExtensions
{
......
......@@ -14,7 +14,11 @@
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
#endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
/// <summary>
/// Specifies that an option should be read from an .editorconfig file.
......
......@@ -7,7 +7,11 @@
using System;
using System.Collections.Generic;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
internal interface IEditorConfigStorageLocation
{
......
......@@ -8,7 +8,11 @@
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
#endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
internal interface IEditorConfigStorageLocation2 : IEditorConfigStorageLocation
{
......
......@@ -7,7 +7,11 @@
using System;
using System.Collections.Immutable;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
public interface IOption
{
......
......@@ -4,7 +4,11 @@
#nullable enable
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
/// <summary>
/// Group/sub-feature associated with an <see cref="IOption"/>.
......
......@@ -4,7 +4,11 @@
#nullable enable
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
/// <summary>
/// Specifies that the option should be stored into the user's local registry hive.
......
......@@ -6,7 +6,11 @@
using System;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
/// <summary>
/// Group/sub-feature associated with an <see cref="IOption"/>.
......
......@@ -11,7 +11,11 @@
using WorkspacesResources = Microsoft.CodeAnalysis.CodeStyleResources;
#endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
[NonDefaultable]
public readonly struct OptionKey : IEquatable<OptionKey>
......
......@@ -4,7 +4,11 @@
#nullable enable
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
/// <summary>
/// The base type of all types that specify where options are stored.
......
......@@ -7,7 +7,11 @@
using System;
using System.Collections.Immutable;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
/// <summary>
/// Marker interface for <see cref="Option{T}"/>
......
......@@ -7,7 +7,11 @@
using System;
using System.Collections.Immutable;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
/// <summary>
/// Marker interface for <see cref="PerLanguageOption{T}"/>
......
......@@ -6,7 +6,11 @@
using System;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options
#endif
{
/// <summary>
/// Specifies that the option should be stored into a roamed profile across machines.
......
......@@ -7,9 +7,18 @@
using System.Linq;
using Microsoft.CodeAnalysis.AddImports;
using Microsoft.CodeAnalysis.CodeStyle;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options;
#endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle
#else
namespace Microsoft.CodeAnalysis.CSharp.CodeStyle
#endif
{
internal static partial class CSharpCodeStyleOptions
{
......
......@@ -7,7 +7,17 @@
using Microsoft.CodeAnalysis.CodeStyle;
using Roslyn.Utilities;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options;
#endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle
#else
namespace Microsoft.CodeAnalysis.CSharp.CodeStyle
#endif
{
internal static partial class CSharpCodeStyleOptions
{
......
......@@ -3,9 +3,18 @@
// See the LICENSE file in the project root for more information.
using System.Xml.Linq;
#if CODE_STYLE
using Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle;
#else
using Microsoft.CodeAnalysis.CSharp.CodeStyle;
#endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{
/// <summary>
/// Defines the known values for <see cref="CSharpCodeStyleOptions.PreferBraces"/>.
......
......@@ -15,7 +15,11 @@
using Microsoft.CodeAnalysis.Options;
#endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle.TypeStyle
#else
namespace Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle
#endif
{
internal static class TypeStyleHelper
{
......
......@@ -4,7 +4,11 @@
using System;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle.TypeStyle
#else
namespace Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle
#endif
{
[Flags]
internal enum UseVarPreference
......
......@@ -4,12 +4,14 @@
using System.Collections.Immutable;
using System.Diagnostics;
using Microsoft.CodeAnalysis.Options;
using Roslyn.Utilities;
#if CODE_STYLE
using CSharpWorkspaceResources = Microsoft.CodeAnalysis.CSharp.CSharpCodeStyleResources;
using WorkspacesResources = Microsoft.CodeAnalysis.CodeStyleResources;
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.CSharp.Formatting
......
......@@ -7,10 +7,12 @@
using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Formatting.Rules;
using Microsoft.CodeAnalysis.Options;
#if CODE_STYLE
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.CSharp.Formatting
......
......@@ -3,16 +3,18 @@
// See the LICENSE file in the project root for more information.
using System.Threading;
using Microsoft.CodeAnalysis.CSharp.CodeStyle;
using Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle;
using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Shared.Extensions;
#if CODE_STYLE
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
using Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle;
using Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle.TypeStyle;
#else
using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.CSharp.CodeStyle;
using Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle;
#endif
namespace Microsoft.CodeAnalysis.CSharp.Utilities
......
......@@ -4,15 +4,16 @@
using System.Threading;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle;
using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Shared.Extensions;
#if CODE_STYLE
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
using Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle.TypeStyle;
#else
using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle;
#endif
namespace Microsoft.CodeAnalysis.CSharp.Utilities
......
......@@ -6,7 +6,6 @@
using System.Linq;
using System.Threading;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle;
using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Shared.Extensions;
......@@ -15,8 +14,10 @@
#if CODE_STYLE
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
using Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle.TypeStyle;
#else
using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle;
#endif
namespace Microsoft.CodeAnalysis.CSharp.Utilities
......
......@@ -3,7 +3,11 @@
// See the LICENSE file in the project root for more information.
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{
internal enum AccessibilityModifiersRequired
{
......
......@@ -4,9 +4,14 @@
using System.Collections.Immutable;
using System.Diagnostics;
using Microsoft.CodeAnalysis.Options;
using Roslyn.Utilities;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.CodeStyle
{
internal static class CodeStyleHelpers
......
......@@ -2,9 +2,12 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
#if CODE_STYLE
using Microsoft.CodeAnalysis.CodeStyle;
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{
internal enum OperatorPlacementWhenWrappingPreference
{
......
......@@ -2,7 +2,11 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{
internal enum ParenthesesPreference
{
......
......@@ -2,7 +2,11 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{
/// <summary>
/// Preferences for flagging unused parameters.
......
......@@ -44,7 +44,7 @@
<Compile Include="$(MSBuildThisFileDirectory)..\..\..\..\Compilers\Core\Portable\Serialization\ObjectBinderSnapshot.cs" Link="Serialization\ObjectBinderSnapshot.cs" />
<Compile Include="$(MSBuildThisFileDirectory)..\..\..\..\Compilers\Core\Portable\Serialization\ObjectReader.cs" Link="Serialization\ObjectReader.cs" />
<Compile Include="$(MSBuildThisFileDirectory)..\..\..\..\Compilers\Core\Portable\Serialization\ObjectWriter.cs" Link="Serialization\ObjectWriter.cs" />
<Compile Include="$(MSBuildThisFileDirectory)..\..\..\..\Compilers\Core\Portable\SourceCodeKindExtensions.cs" Link="Utilities\Compiler\SourceCodeKindExtensions.cs"/>
<Compile Include="$(MSBuildThisFileDirectory)..\..\..\..\Compilers\Core\Portable\SourceCodeKindExtensions.cs" Link="Utilities\Compiler\SourceCodeKindExtensions.cs" />
<Compile Include="$(MSBuildThisFileDirectory)..\..\..\..\Compilers\Shared\DesktopAnalyzerAssemblyLoader.cs">
<Link>Execution\Desktop\DesktopAnalyzerAssemblyLoader.cs</Link>
</Compile>
......@@ -185,6 +185,7 @@
<Compile Include="$(MSBuildThisFileDirectory)Collections\SimpleIntervalTree.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Collections\SimpleIntervalTree`2.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Collections\TextSpanIntervalIntrospector.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Extensions\AnalyzerConfigOptionsExtensions.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Extensions\ChildSyntaxListExtensions.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Extensions\DiagnosticSeverityExtensions.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Extensions\NotificationOptionExtensions.cs" />
......
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.CodeAnalysis.Diagnostics;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis
{
internal static class AnalyzerConfigOptionsExtensions
internal static partial class AnalyzerConfigOptionsExtensions
{
public static bool TryGetEditorConfigOption<T>(this AnalyzerConfigOptions analyzerConfigOptions, Option<T> option, out T value)
public static T GetOption<T>(this AnalyzerConfigOptions optionSet, Option<T> option)
{
return TryGetEditorConfigOption(analyzerConfigOptions, (IOption)option, out value);
if (!TryGetEditorConfigOption(optionSet, option, out T value))
{
value = option.DefaultValue;
}
return value;
}
public static bool TryGetEditorConfigOption<T>(this AnalyzerConfigOptions analyzerConfigOptions, PerLanguageOption<T> option, out T value)
public static T GetOption<T>(this AnalyzerConfigOptions optionSet, PerLanguageOption<T> option, string language)
{
return TryGetEditorConfigOption(analyzerConfigOptions, option, out value);
if (!TryGetEditorConfigOption(optionSet, option, out T value))
{
value = option.DefaultValue;
}
return value;
}
public static bool TryGetEditorConfigOption<T>(this AnalyzerConfigOptions analyzerConfigOptions, IOption option, out T value)
......
......@@ -4,7 +4,11 @@
using Microsoft.CodeAnalysis.Diagnostics;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{
internal static class NotificationOptionExtensions
{
......
......@@ -4,7 +4,11 @@
#nullable enable
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.Fading
{
......
......@@ -8,14 +8,16 @@
using System.Threading;
using Microsoft.CodeAnalysis.Formatting.Rules;
using Microsoft.CodeAnalysis.Internal.Log;
using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.Shared.Extensions;
using Microsoft.CodeAnalysis.Shared.Utilities;
using Microsoft.CodeAnalysis.Text;
using Roslyn.Utilities;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
#else
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.Formatting
......
......@@ -6,11 +6,13 @@
using System;
using System.Collections.Immutable;
using Microsoft.CodeAnalysis.Options;
using Roslyn.Utilities;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
using WorkspacesResources = Microsoft.CodeAnalysis.CodeStyleResources;
#else
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.Formatting
......
......@@ -4,7 +4,12 @@
using System;
using System.Collections.Concurrent;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.Internal.Log
{
......
......@@ -3,9 +3,12 @@
// See the LICENSE file in the project root for more information.
using System;
using System.Linq;
using System.Threading;
#if !CODE_STYLE
using System.Linq;
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.Internal.Log
{
......
......@@ -3,11 +3,17 @@
// See the LICENSE file in the project root for more information.
using System.Linq;
using Microsoft.CodeAnalysis.CodeStyle;
using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.Shared.Extensions;
using Roslyn.Utilities;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
#else
using Microsoft.CodeAnalysis.CodeStyle;
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.Simplification
{
internal static class SimplificationHelpers
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册