提交 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 @@ ...@@ -8,11 +8,13 @@
using System.Diagnostics; using System.Diagnostics;
using System.Linq; using System.Linq;
using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Options;
using Roslyn.Utilities; using Roslyn.Utilities;
#if CODE_STYLE #if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions; using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
#else
using Microsoft.CodeAnalysis.Options;
#endif #endif
namespace Microsoft.CodeAnalysis.CodeStyle namespace Microsoft.CodeAnalysis.CodeStyle
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
<Compile Include="$(MSBuildThisFileDirectory)DiagnosticAnalyzerCategory.cs" /> <Compile Include="$(MSBuildThisFileDirectory)DiagnosticAnalyzerCategory.cs" />
<Compile Include="$(MSBuildThisFileDirectory)DiagnosticCategory.cs" /> <Compile Include="$(MSBuildThisFileDirectory)DiagnosticCategory.cs" />
<Compile Include="$(MSBuildThisFileDirectory)DiagnosticCustomTags.cs" /> <Compile Include="$(MSBuildThisFileDirectory)DiagnosticCustomTags.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Helpers\AnalyzerHelper.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Helpers\DeserializationConstructorCheck.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Helpers\DeserializationConstructorCheck.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Helpers\DiagnosticHelper.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Helpers\DiagnosticHelper.cs" />
<Compile Include="$(MSBuildThisFileDirectory)IBuiltInAnalyzer.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 @@ ...@@ -7,7 +7,12 @@
using System.Collections.Immutable; using System.Collections.Immutable;
using System.Diagnostics; using System.Diagnostics;
using System.Linq; using System.Linq;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.Diagnostics 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 ...@@ -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.LeftMost = 0 -> Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions
Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions.NoIndent = 2 -> 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 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.IndentBlock.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.IndentBraces.get -> Microsoft.CodeAnalysis.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.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.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.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.Options.Option<Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions> 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.Options.Option<bool> static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForCatch.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.NewLineForClausesInQuery.get -> Microsoft.CodeAnalysis.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.Options.Option<Microsoft.CodeAnalysis.CSharp.Formatting.BinaryOperatorSpacingOptions> 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.Options.Option<bool> static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.WrappingKeepStatementsOnSingleLine.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.WrappingPreserveSingleLine.get -> Microsoft.CodeAnalysis.Options.Option<bool> static Microsoft.CodeAnalysis.CSharp.Formatting.CSharpFormattingOptions.WrappingPreserveSingleLine.get -> Microsoft.CodeAnalysis.Internal.Options.Option<bool>
...@@ -28,8 +28,10 @@ ...@@ -28,8 +28,10 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="..\..\..\Workspaces\Core\Portable\CodeStyle\CodeStyleOption.cs" Link="Options\CodeStyleOption.cs" /> <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\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\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\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\IEditorConfigStorageLocation.cs" Link="Options\IEditorConfigStorageLocation.cs" />
<Compile Include="..\..\..\Workspaces\Core\Portable\Options\EditorConfig\IEditorConfigStorageLocation2.cs" Link="Options\IEditorConfigStorageLocation2.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.Internal.Options.CodeStyleOption<T>
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.CodeStyleOption(T value, Microsoft.CodeAnalysis.CodeStyle.NotificationOption notification) -> void Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.CodeStyleOption(T value, Microsoft.CodeAnalysis.Internal.Options.NotificationOption notification) -> void
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Equals(Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T> other) -> bool Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Equals(Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T> other) -> bool
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Notification.get -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Notification.get -> Microsoft.CodeAnalysis.Internal.Options.NotificationOption
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Notification.set -> void Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Notification.set -> void
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.ToXElement() -> System.Xml.Linq.XElement Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.ToXElement() -> System.Xml.Linq.XElement
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Value.get -> T Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Value.get -> T
Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Value.set -> void Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Value.set -> void
Microsoft.CodeAnalysis.CodeStyle.NotificationOption Microsoft.CodeAnalysis.Internal.Options.NotificationOption
Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Name.get -> string Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Name.get -> string
Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Name.set -> void Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Name.set -> void
Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Severity.get -> Microsoft.CodeAnalysis.ReportDiagnostic Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Severity.get -> Microsoft.CodeAnalysis.ReportDiagnostic
Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Severity.set -> void Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Severity.set -> void
Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Value.get -> Microsoft.CodeAnalysis.DiagnosticSeverity Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Value.get -> Microsoft.CodeAnalysis.DiagnosticSeverity
Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Value.set -> void Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Value.set -> void
Microsoft.CodeAnalysis.Formatting.FormattingOptions Microsoft.CodeAnalysis.Formatting.FormattingOptions
Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle
Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle.Block = 1 -> 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.None = 0 -> Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle
Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle.Smart = 2 -> Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle.Smart = 2 -> Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle
Microsoft.CodeAnalysis.Options.IOption Microsoft.CodeAnalysis.Internal.Options.IOption
Microsoft.CodeAnalysis.Options.IOption.DefaultValue.get -> object Microsoft.CodeAnalysis.Internal.Options.IOption.DefaultValue.get -> object
Microsoft.CodeAnalysis.Options.IOption.Feature.get -> string Microsoft.CodeAnalysis.Internal.Options.IOption.Feature.get -> string
Microsoft.CodeAnalysis.Options.IOption.IsPerLanguage.get -> bool Microsoft.CodeAnalysis.Internal.Options.IOption.IsPerLanguage.get -> bool
Microsoft.CodeAnalysis.Options.IOption.Name.get -> string Microsoft.CodeAnalysis.Internal.Options.IOption.Name.get -> string
Microsoft.CodeAnalysis.Options.IOption.StorageLocations.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.Options.OptionStorageLocation> Microsoft.CodeAnalysis.Internal.Options.IOption.StorageLocations.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation>
Microsoft.CodeAnalysis.Options.IOption.Type.get -> System.Type Microsoft.CodeAnalysis.Internal.Options.IOption.Type.get -> System.Type
Microsoft.CodeAnalysis.Options.Option<T> Microsoft.CodeAnalysis.Internal.Options.Option<T>
Microsoft.CodeAnalysis.Options.Option<T>.DefaultValue.get -> T Microsoft.CodeAnalysis.Internal.Options.Option<T>.DefaultValue.get -> T
Microsoft.CodeAnalysis.Options.Option<T>.Feature.get -> string Microsoft.CodeAnalysis.Internal.Options.Option<T>.Feature.get -> string
Microsoft.CodeAnalysis.Options.Option<T>.Name.get -> string Microsoft.CodeAnalysis.Internal.Options.Option<T>.Name.get -> string
Microsoft.CodeAnalysis.Options.Option<T>.Option(string feature, string name) -> void Microsoft.CodeAnalysis.Internal.Options.Option<T>.Option(string feature, string name) -> void
Microsoft.CodeAnalysis.Options.Option<T>.Option(string feature, string name, T defaultValue) -> void Microsoft.CodeAnalysis.Internal.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.Internal.Options.Option<T>.Option(string feature, string name, T defaultValue, params Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation[] storageLocations) -> void
Microsoft.CodeAnalysis.Options.Option<T>.StorageLocations.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.Options.OptionStorageLocation> Microsoft.CodeAnalysis.Internal.Options.Option<T>.StorageLocations.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation>
Microsoft.CodeAnalysis.Options.Option<T>.Type.get -> System.Type Microsoft.CodeAnalysis.Internal.Options.Option<T>.Type.get -> System.Type
Microsoft.CodeAnalysis.Options.OptionKey Microsoft.CodeAnalysis.Internal.Options.OptionKey
Microsoft.CodeAnalysis.Options.OptionKey.Equals(Microsoft.CodeAnalysis.Options.OptionKey other) -> bool Microsoft.CodeAnalysis.Internal.Options.OptionKey.Equals(Microsoft.CodeAnalysis.Internal.Options.OptionKey other) -> bool
Microsoft.CodeAnalysis.Options.OptionKey.Language.get -> string Microsoft.CodeAnalysis.Internal.Options.OptionKey.Language.get -> string
Microsoft.CodeAnalysis.Options.OptionKey.Option.get -> Microsoft.CodeAnalysis.Options.IOption Microsoft.CodeAnalysis.Internal.Options.OptionKey.Option.get -> Microsoft.CodeAnalysis.Internal.Options.IOption
Microsoft.CodeAnalysis.Options.OptionKey.OptionKey(Microsoft.CodeAnalysis.Options.IOption option, string language = null) -> void Microsoft.CodeAnalysis.Internal.Options.OptionKey.OptionKey(Microsoft.CodeAnalysis.Internal.Options.IOption option, string language = null) -> void
Microsoft.CodeAnalysis.Options.OptionStorageLocation Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation
Microsoft.CodeAnalysis.Options.OptionStorageLocation.OptionStorageLocation() -> void Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation.OptionStorageLocation() -> void
Microsoft.CodeAnalysis.Options.PerLanguageOption<T> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.DefaultValue.get -> T Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.DefaultValue.get -> T
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.Feature.get -> string Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.Feature.get -> string
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.Name.get -> string Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.Name.get -> string
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.PerLanguageOption(string feature, string name, T defaultValue) -> void Microsoft.CodeAnalysis.Internal.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.Internal.Options.PerLanguageOption<T>.PerLanguageOption(string feature, string name, T defaultValue, params Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation[] storageLocations) -> void
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.StorageLocations.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.Options.OptionStorageLocation> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.StorageLocations.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.Internal.Options.OptionStorageLocation>
Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.Type.get -> System.Type Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.Type.get -> System.Type
override Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Equals(object obj) -> bool override Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Equals(object obj) -> bool
override Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.GetHashCode() -> int override Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.GetHashCode() -> int
override Microsoft.CodeAnalysis.CodeStyle.NotificationOption.ToString() -> string override Microsoft.CodeAnalysis.Internal.Options.NotificationOption.ToString() -> string
override Microsoft.CodeAnalysis.Options.Option<T>.ToString() -> string override Microsoft.CodeAnalysis.Internal.Options.Option<T>.ToString() -> string
override Microsoft.CodeAnalysis.Options.OptionKey.Equals(object obj) -> bool override Microsoft.CodeAnalysis.Internal.Options.OptionKey.Equals(object obj) -> bool
override Microsoft.CodeAnalysis.Options.OptionKey.GetHashCode() -> int override Microsoft.CodeAnalysis.Internal.Options.OptionKey.GetHashCode() -> int
override Microsoft.CodeAnalysis.Options.OptionKey.ToString() -> string override Microsoft.CodeAnalysis.Internal.Options.OptionKey.ToString() -> string
override Microsoft.CodeAnalysis.Options.PerLanguageOption<T>.ToString() -> string override Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<T>.ToString() -> string
static Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.Default.get -> Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T> static Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>.Default.get -> Microsoft.CodeAnalysis.Internal.Options.CodeStyleOption<T>
static Microsoft.CodeAnalysis.CodeStyle.CodeStyleOption<T>.FromXElement(System.Xml.Linq.XElement element) -> Microsoft.CodeAnalysis.CodeStyle.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.Options.PerLanguageOption<int> static Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentationSize.get -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<int>
static Microsoft.CodeAnalysis.Formatting.FormattingOptions.NewLine.get -> Microsoft.CodeAnalysis.Options.PerLanguageOption<string> static Microsoft.CodeAnalysis.Formatting.FormattingOptions.NewLine.get -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<string>
static Microsoft.CodeAnalysis.Formatting.FormattingOptions.SmartIndent.get -> Microsoft.CodeAnalysis.Options.PerLanguageOption<Microsoft.CodeAnalysis.Formatting.FormattingOptions.IndentStyle> 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.Options.PerLanguageOption<int> static Microsoft.CodeAnalysis.Formatting.FormattingOptions.TabSize.get -> Microsoft.CodeAnalysis.Internal.Options.PerLanguageOption<int>
static Microsoft.CodeAnalysis.Formatting.FormattingOptions.UseTabs.get -> Microsoft.CodeAnalysis.Options.PerLanguageOption<bool> static Microsoft.CodeAnalysis.Formatting.FormattingOptions.UseTabs.get -> Microsoft.CodeAnalysis.Internal.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.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.Options.OptionKey.operator !=(Microsoft.CodeAnalysis.Options.OptionKey left, Microsoft.CodeAnalysis.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 Microsoft.CodeAnalysis.Options.OptionKey.operator ==(Microsoft.CodeAnalysis.Options.OptionKey left, Microsoft.CodeAnalysis.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.CodeStyle.NotificationOption.Error -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption static readonly Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Error -> Microsoft.CodeAnalysis.Internal.Options.NotificationOption
static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.None -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption static readonly Microsoft.CodeAnalysis.Internal.Options.NotificationOption.None -> Microsoft.CodeAnalysis.Internal.Options.NotificationOption
static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Silent -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption static readonly Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Silent -> Microsoft.CodeAnalysis.Internal.Options.NotificationOption
static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Suggestion -> Microsoft.CodeAnalysis.CodeStyle.NotificationOption static readonly Microsoft.CodeAnalysis.Internal.Options.NotificationOption.Suggestion -> Microsoft.CodeAnalysis.Internal.Options.NotificationOption
static readonly Microsoft.CodeAnalysis.CodeStyle.NotificationOption.Warning -> Microsoft.CodeAnalysis.CodeStyle.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> <Project>
<Import Project="..\..\Directory.Build.targets"/> <Import Project="..\..\Directory.Build.targets"/>
<ItemGroup>
<AdditionalFiles Include="$(MSBuildThisFileDirectory)\BannedSymbols.txt" />
</ItemGroup>
</Project> </Project>
\ No newline at end of file
...@@ -13,8 +13,6 @@ ...@@ -13,8 +13,6 @@
using System.Reflection; using System.Reflection;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Diagnostics.Log;
using Microsoft.CodeAnalysis.Diagnostics.Telemetry; using Microsoft.CodeAnalysis.Diagnostics.Telemetry;
using Microsoft.CodeAnalysis.ErrorReporting; using Microsoft.CodeAnalysis.ErrorReporting;
using Microsoft.CodeAnalysis.Internal.Log; using Microsoft.CodeAnalysis.Internal.Log;
...@@ -24,7 +22,7 @@ ...@@ -24,7 +22,7 @@
namespace Microsoft.CodeAnalysis.Diagnostics 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 CSharpCompilerAnalyzerTypeName = "Microsoft.CodeAnalysis.Diagnostics.CSharp.CSharpCompilerDiagnosticAnalyzer";
private const string VisualBasicCompilerAnalyzerTypeName = "Microsoft.CodeAnalysis.Diagnostics.VisualBasic.VisualBasicCompilerDiagnosticAnalyzer"; private const string VisualBasicCompilerAnalyzerTypeName = "Microsoft.CodeAnalysis.Diagnostics.VisualBasic.VisualBasicCompilerDiagnosticAnalyzer";
...@@ -109,92 +107,19 @@ public static async ValueTask<OptionSet> GetAnalyzerOptionSetAsync(this Analyzer ...@@ -109,92 +107,19 @@ public static async ValueTask<OptionSet> GetAnalyzerOptionSetAsync(this Analyzer
return new AnalyzerConfigOptionSet(configOptions, optionSet); 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) 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(); return GetOptionAsync<T>(analyzerOptions, option, language: null, syntaxTree, cancellationToken).GetAwaiter().GetResult();
} }
public static T GetOption<T>(this SemanticModelAnalysisContext context, PerLanguageOption<T> option, string language) public static T GetOption<T>(this AnalyzerOptions analyzerOptions, PerLanguageOption<T> option, string? language, SyntaxTree syntaxTree, CancellationToken cancellationToken)
{
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)
{ {
return GetOptionAsync<T>(analyzerOptions, option, language, syntaxTree, cancellationToken).GetAwaiter().GetResult(); 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) 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 (analyzerOptions.TryGetEditorConfigOption<T>(option, syntaxTree, out var value))
if (configOptions.TryGetEditorConfigOption<T>(option, out var value))
{ {
return value; return value;
} }
...@@ -205,11 +130,6 @@ public static async ValueTask<T> GetOptionAsync<T>(this AnalyzerOptions analyzer ...@@ -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!; 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)] [PerformanceSensitive("https://github.com/dotnet/roslyn/issues/23582", OftenCompletesSynchronously = true)]
public static ValueTask<OptionSet?> GetDocumentOptionSetAsync(this AnalyzerOptions analyzerOptions, SyntaxTree syntaxTree, CancellationToken cancellationToken) public static ValueTask<OptionSet?> GetDocumentOptionSetAsync(this AnalyzerOptions analyzerOptions, SyntaxTree syntaxTree, CancellationToken cancellationToken)
{ {
......
...@@ -7,7 +7,11 @@ ...@@ -7,7 +7,11 @@
using System.Xml.Linq; using System.Xml.Linq;
using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Diagnostics;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{ {
internal interface ICodeStyleOption internal interface ICodeStyleOption
{ {
......
...@@ -6,11 +6,15 @@ ...@@ -6,11 +6,15 @@
using System.Collections.Immutable; using System.Collections.Immutable;
using System.Diagnostics; using System.Diagnostics;
using Microsoft.CodeAnalysis.Options;
using Roslyn.Utilities; using Roslyn.Utilities;
using static Microsoft.CodeAnalysis.CodeStyle.CodeStyleHelpers; using static Microsoft.CodeAnalysis.CodeStyle.CodeStyleHelpers;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
using Microsoft.CodeAnalysis.Options;
namespace Microsoft.CodeAnalysis.CodeStyle namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{ {
public class CodeStyleOptions public class CodeStyleOptions
{ {
......
...@@ -9,7 +9,11 @@ ...@@ -9,7 +9,11 @@
using WorkspacesResources = Microsoft.CodeAnalysis.CodeStyleResources; using WorkspacesResources = Microsoft.CodeAnalysis.CodeStyleResources;
#endif #endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{ {
/// <summary> /// <summary>
/// Offers different notification styles for enforcing /// Offers different notification styles for enforcing
......
...@@ -7,7 +7,11 @@ ...@@ -7,7 +7,11 @@
using System; using System;
using Microsoft.CodeAnalysis.CodeStyle; using Microsoft.CodeAnalysis.CodeStyle;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
internal static class EditorConfigStorageLocation internal static class EditorConfigStorageLocation
{ {
......
...@@ -4,7 +4,11 @@ ...@@ -4,7 +4,11 @@
using System.Collections.Generic; using System.Collections.Generic;
using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Diagnostics;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
internal static class EditorConfigStorageLocationExtensions internal static class EditorConfigStorageLocationExtensions
{ {
......
...@@ -14,7 +14,11 @@ ...@@ -14,7 +14,11 @@
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions; using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
#endif #endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
/// <summary> /// <summary>
/// Specifies that an option should be read from an .editorconfig file. /// Specifies that an option should be read from an .editorconfig file.
......
...@@ -7,7 +7,11 @@ ...@@ -7,7 +7,11 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
internal interface IEditorConfigStorageLocation internal interface IEditorConfigStorageLocation
{ {
......
...@@ -8,7 +8,11 @@ ...@@ -8,7 +8,11 @@
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions; using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
#endif #endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
internal interface IEditorConfigStorageLocation2 : IEditorConfigStorageLocation internal interface IEditorConfigStorageLocation2 : IEditorConfigStorageLocation
{ {
......
...@@ -7,7 +7,11 @@ ...@@ -7,7 +7,11 @@
using System; using System;
using System.Collections.Immutable; using System.Collections.Immutable;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
public interface IOption public interface IOption
{ {
......
...@@ -4,7 +4,11 @@ ...@@ -4,7 +4,11 @@
#nullable enable #nullable enable
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
/// <summary> /// <summary>
/// Group/sub-feature associated with an <see cref="IOption"/>. /// Group/sub-feature associated with an <see cref="IOption"/>.
......
...@@ -4,7 +4,11 @@ ...@@ -4,7 +4,11 @@
#nullable enable #nullable enable
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
/// <summary> /// <summary>
/// Specifies that the option should be stored into the user's local registry hive. /// Specifies that the option should be stored into the user's local registry hive.
......
...@@ -6,7 +6,11 @@ ...@@ -6,7 +6,11 @@
using System; using System;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
/// <summary> /// <summary>
/// Group/sub-feature associated with an <see cref="IOption"/>. /// Group/sub-feature associated with an <see cref="IOption"/>.
......
...@@ -11,7 +11,11 @@ ...@@ -11,7 +11,11 @@
using WorkspacesResources = Microsoft.CodeAnalysis.CodeStyleResources; using WorkspacesResources = Microsoft.CodeAnalysis.CodeStyleResources;
#endif #endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
[NonDefaultable] [NonDefaultable]
public readonly struct OptionKey : IEquatable<OptionKey> public readonly struct OptionKey : IEquatable<OptionKey>
......
...@@ -4,7 +4,11 @@ ...@@ -4,7 +4,11 @@
#nullable enable #nullable enable
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
/// <summary> /// <summary>
/// The base type of all types that specify where options are stored. /// The base type of all types that specify where options are stored.
......
...@@ -7,7 +7,11 @@ ...@@ -7,7 +7,11 @@
using System; using System;
using System.Collections.Immutable; using System.Collections.Immutable;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
/// <summary> /// <summary>
/// Marker interface for <see cref="Option{T}"/> /// Marker interface for <see cref="Option{T}"/>
......
...@@ -7,7 +7,11 @@ ...@@ -7,7 +7,11 @@
using System; using System;
using System.Collections.Immutable; using System.Collections.Immutable;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
/// <summary> /// <summary>
/// Marker interface for <see cref="PerLanguageOption{T}"/> /// Marker interface for <see cref="PerLanguageOption{T}"/>
......
...@@ -6,7 +6,11 @@ ...@@ -6,7 +6,11 @@
using System; using System;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.Options namespace Microsoft.CodeAnalysis.Options
#endif
{ {
/// <summary> /// <summary>
/// Specifies that the option should be stored into a roamed profile across machines. /// Specifies that the option should be stored into a roamed profile across machines.
......
...@@ -7,9 +7,18 @@ ...@@ -7,9 +7,18 @@
using System.Linq; using System.Linq;
using Microsoft.CodeAnalysis.AddImports; using Microsoft.CodeAnalysis.AddImports;
using Microsoft.CodeAnalysis.CodeStyle; using Microsoft.CodeAnalysis.CodeStyle;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Options;
#endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle
#else
namespace Microsoft.CodeAnalysis.CSharp.CodeStyle namespace Microsoft.CodeAnalysis.CSharp.CodeStyle
#endif
{ {
internal static partial class CSharpCodeStyleOptions internal static partial class CSharpCodeStyleOptions
{ {
......
...@@ -7,7 +7,17 @@ ...@@ -7,7 +7,17 @@
using Microsoft.CodeAnalysis.CodeStyle; using Microsoft.CodeAnalysis.CodeStyle;
using Roslyn.Utilities; 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 namespace Microsoft.CodeAnalysis.CSharp.CodeStyle
#endif
{ {
internal static partial class CSharpCodeStyleOptions internal static partial class CSharpCodeStyleOptions
{ {
......
...@@ -3,9 +3,18 @@ ...@@ -3,9 +3,18 @@
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System.Xml.Linq; using System.Xml.Linq;
#if CODE_STYLE
using Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle;
#else
using Microsoft.CodeAnalysis.CSharp.CodeStyle; using Microsoft.CodeAnalysis.CSharp.CodeStyle;
#endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{ {
/// <summary> /// <summary>
/// Defines the known values for <see cref="CSharpCodeStyleOptions.PreferBraces"/>. /// Defines the known values for <see cref="CSharpCodeStyleOptions.PreferBraces"/>.
......
...@@ -15,7 +15,11 @@ ...@@ -15,7 +15,11 @@
using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Options;
#endif #endif
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle.TypeStyle
#else
namespace Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle namespace Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle
#endif
{ {
internal static class TypeStyleHelper internal static class TypeStyleHelper
{ {
......
...@@ -4,7 +4,11 @@ ...@@ -4,7 +4,11 @@
using System; using System;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle.TypeStyle
#else
namespace Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle namespace Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle
#endif
{ {
[Flags] [Flags]
internal enum UseVarPreference internal enum UseVarPreference
......
...@@ -4,12 +4,14 @@ ...@@ -4,12 +4,14 @@
using System.Collections.Immutable; using System.Collections.Immutable;
using System.Diagnostics; using System.Diagnostics;
using Microsoft.CodeAnalysis.Options;
using Roslyn.Utilities; using Roslyn.Utilities;
#if CODE_STYLE #if CODE_STYLE
using CSharpWorkspaceResources = Microsoft.CodeAnalysis.CSharp.CSharpCodeStyleResources; using CSharpWorkspaceResources = Microsoft.CodeAnalysis.CSharp.CSharpCodeStyleResources;
using WorkspacesResources = Microsoft.CodeAnalysis.CodeStyleResources; using WorkspacesResources = Microsoft.CodeAnalysis.CodeStyleResources;
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options;
#endif #endif
namespace Microsoft.CodeAnalysis.CSharp.Formatting namespace Microsoft.CodeAnalysis.CSharp.Formatting
......
...@@ -7,10 +7,12 @@ ...@@ -7,10 +7,12 @@
using Microsoft.CodeAnalysis.CSharp.Extensions; using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Formatting.Rules; using Microsoft.CodeAnalysis.Formatting.Rules;
using Microsoft.CodeAnalysis.Options;
#if CODE_STYLE #if CODE_STYLE
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions; using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options;
#endif #endif
namespace Microsoft.CodeAnalysis.CSharp.Formatting namespace Microsoft.CodeAnalysis.CSharp.Formatting
......
...@@ -3,16 +3,18 @@ ...@@ -3,16 +3,18 @@
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System.Threading; using System.Threading;
using Microsoft.CodeAnalysis.CSharp.CodeStyle;
using Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle;
using Microsoft.CodeAnalysis.CSharp.Extensions; using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Shared.Extensions;
#if CODE_STYLE #if CODE_STYLE
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions; using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
using Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle;
using Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle.TypeStyle;
#else #else
using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.CSharp.CodeStyle;
using Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle;
#endif #endif
namespace Microsoft.CodeAnalysis.CSharp.Utilities namespace Microsoft.CodeAnalysis.CSharp.Utilities
......
...@@ -4,15 +4,16 @@ ...@@ -4,15 +4,16 @@
using System.Threading; using System.Threading;
using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle;
using Microsoft.CodeAnalysis.CSharp.Extensions; using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Shared.Extensions;
#if CODE_STYLE #if CODE_STYLE
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions; using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
using Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle.TypeStyle;
#else #else
using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle;
#endif #endif
namespace Microsoft.CodeAnalysis.CSharp.Utilities namespace Microsoft.CodeAnalysis.CSharp.Utilities
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle;
using Microsoft.CodeAnalysis.CSharp.Extensions; using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Shared.Extensions;
...@@ -15,8 +14,10 @@ ...@@ -15,8 +14,10 @@
#if CODE_STYLE #if CODE_STYLE
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions; using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
using Microsoft.CodeAnalysis.CSharp.Internal.CodeStyle.TypeStyle;
#else #else
using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.CSharp.CodeStyle.TypeStyle;
#endif #endif
namespace Microsoft.CodeAnalysis.CSharp.Utilities namespace Microsoft.CodeAnalysis.CSharp.Utilities
......
...@@ -3,7 +3,11 @@ ...@@ -3,7 +3,11 @@
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{ {
internal enum AccessibilityModifiersRequired internal enum AccessibilityModifiersRequired
{ {
......
...@@ -4,9 +4,14 @@ ...@@ -4,9 +4,14 @@
using System.Collections.Immutable; using System.Collections.Immutable;
using System.Diagnostics; using System.Diagnostics;
using Microsoft.CodeAnalysis.Options;
using Roslyn.Utilities; using Roslyn.Utilities;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.CodeStyle namespace Microsoft.CodeAnalysis.CodeStyle
{ {
internal static class CodeStyleHelpers internal static class CodeStyleHelpers
......
...@@ -2,9 +2,12 @@ ...@@ -2,9 +2,12 @@
// The .NET Foundation licenses this file to you under the MIT license. // The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // 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 namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{ {
internal enum OperatorPlacementWhenWrappingPreference internal enum OperatorPlacementWhenWrappingPreference
{ {
......
...@@ -2,7 +2,11 @@ ...@@ -2,7 +2,11 @@
// The .NET Foundation licenses this file to you under the MIT license. // The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{ {
internal enum ParenthesesPreference internal enum ParenthesesPreference
{ {
......
...@@ -2,7 +2,11 @@ ...@@ -2,7 +2,11 @@
// The .NET Foundation licenses this file to you under the MIT license. // The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{ {
/// <summary> /// <summary>
/// Preferences for flagging unused parameters. /// Preferences for flagging unused parameters.
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<Compile Include="$(MSBuildThisFileDirectory)..\..\..\..\Compilers\Core\Portable\Serialization\ObjectBinderSnapshot.cs" Link="Serialization\ObjectBinderSnapshot.cs" /> <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\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\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"> <Compile Include="$(MSBuildThisFileDirectory)..\..\..\..\Compilers\Shared\DesktopAnalyzerAssemblyLoader.cs">
<Link>Execution\Desktop\DesktopAnalyzerAssemblyLoader.cs</Link> <Link>Execution\Desktop\DesktopAnalyzerAssemblyLoader.cs</Link>
</Compile> </Compile>
...@@ -185,6 +185,7 @@ ...@@ -185,6 +185,7 @@
<Compile Include="$(MSBuildThisFileDirectory)Collections\SimpleIntervalTree.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Collections\SimpleIntervalTree.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Collections\SimpleIntervalTree`2.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Collections\SimpleIntervalTree`2.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Collections\TextSpanIntervalIntrospector.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Collections\TextSpanIntervalIntrospector.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Extensions\AnalyzerConfigOptionsExtensions.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Extensions\ChildSyntaxListExtensions.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Extensions\ChildSyntaxListExtensions.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Extensions\DiagnosticSeverityExtensions.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Extensions\DiagnosticSeverityExtensions.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Extensions\NotificationOptionExtensions.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. // 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; using Microsoft.CodeAnalysis.Diagnostics;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis 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) public static bool TryGetEditorConfigOption<T>(this AnalyzerConfigOptions analyzerConfigOptions, IOption option, out T value)
......
...@@ -4,7 +4,11 @@ ...@@ -4,7 +4,11 @@
using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Diagnostics;
#if CODE_STYLE
namespace Microsoft.CodeAnalysis.Internal.Options
#else
namespace Microsoft.CodeAnalysis.CodeStyle namespace Microsoft.CodeAnalysis.CodeStyle
#endif
{ {
internal static class NotificationOptionExtensions internal static class NotificationOptionExtensions
{ {
......
...@@ -4,7 +4,11 @@ ...@@ -4,7 +4,11 @@
#nullable enable #nullable enable
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.Fading namespace Microsoft.CodeAnalysis.Fading
{ {
......
...@@ -8,14 +8,16 @@ ...@@ -8,14 +8,16 @@
using System.Threading; using System.Threading;
using Microsoft.CodeAnalysis.Formatting.Rules; using Microsoft.CodeAnalysis.Formatting.Rules;
using Microsoft.CodeAnalysis.Internal.Log; using Microsoft.CodeAnalysis.Internal.Log;
using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Shared.Extensions;
using Microsoft.CodeAnalysis.Shared.Utilities; using Microsoft.CodeAnalysis.Shared.Utilities;
using Microsoft.CodeAnalysis.Text; using Microsoft.CodeAnalysis.Text;
using Roslyn.Utilities; using Roslyn.Utilities;
#if CODE_STYLE #if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions; using OptionSet = Microsoft.CodeAnalysis.Diagnostics.AnalyzerConfigOptions;
#else
using Microsoft.CodeAnalysis.Options;
#endif #endif
namespace Microsoft.CodeAnalysis.Formatting namespace Microsoft.CodeAnalysis.Formatting
......
...@@ -6,11 +6,13 @@ ...@@ -6,11 +6,13 @@
using System; using System;
using System.Collections.Immutable; using System.Collections.Immutable;
using Microsoft.CodeAnalysis.Options;
using Roslyn.Utilities; using Roslyn.Utilities;
#if CODE_STYLE #if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
using WorkspacesResources = Microsoft.CodeAnalysis.CodeStyleResources; using WorkspacesResources = Microsoft.CodeAnalysis.CodeStyleResources;
#else
using Microsoft.CodeAnalysis.Options;
#endif #endif
namespace Microsoft.CodeAnalysis.Formatting namespace Microsoft.CodeAnalysis.Formatting
......
...@@ -4,7 +4,12 @@ ...@@ -4,7 +4,12 @@
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
#if CODE_STYLE
using Microsoft.CodeAnalysis.Internal.Options;
#else
using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.Internal.Log namespace Microsoft.CodeAnalysis.Internal.Log
{ {
......
...@@ -3,9 +3,12 @@ ...@@ -3,9 +3,12 @@
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; using System;
using System.Linq;
using System.Threading; using System.Threading;
#if !CODE_STYLE
using System.Linq;
using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Options;
#endif
namespace Microsoft.CodeAnalysis.Internal.Log namespace Microsoft.CodeAnalysis.Internal.Log
{ {
......
...@@ -3,11 +3,17 @@ ...@@ -3,11 +3,17 @@
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System.Linq; using System.Linq;
using Microsoft.CodeAnalysis.CodeStyle;
using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Shared.Extensions;
using Roslyn.Utilities; 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 namespace Microsoft.CodeAnalysis.Simplification
{ {
internal static class SimplificationHelpers internal static class SimplificationHelpers
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册