提交 7525b7c0 编写于 作者: S Sam Harwell

Avoid passing options to GetAdjustSpacesOperation

上级 93876173
......@@ -10,7 +10,6 @@
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.CodeFixes;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Editing;
using Microsoft.CodeAnalysis.Formatting;
using Microsoft.CodeAnalysis.Formatting.Rules;
......@@ -114,14 +113,14 @@ public override AdjustNewLinesOperation GetAdjustNewLinesOperation(SyntaxToken p
return base.GetAdjustNewLinesOperation(previousToken, currentToken, in nextOperation);
}
public override AdjustSpacesOperation GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, in NextGetAdjustSpacesOperation nextOperation)
public override AdjustSpacesOperation GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, in NextGetAdjustSpacesOperation nextOperation)
{
if (ForceSingleSpace(previousToken, currentToken))
{
return new AdjustSpacesOperation(1, AdjustSpacesOption.ForceSpaces);
}
return base.GetAdjustSpacesOperation(previousToken, currentToken, options, in nextOperation);
return base.GetAdjustSpacesOperation(previousToken, currentToken, in nextOperation);
}
}
......
......@@ -5,7 +5,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Formatting.Rules;
namespace Microsoft.CodeAnalysis.MetadataAsSource
......@@ -57,10 +56,10 @@ public override sealed AdjustNewLinesOperation GetAdjustNewLinesOperation(Syntax
[Obsolete("Do not call this method directly (it will Stack Overflow).", error: true)]
[EditorBrowsable(EditorBrowsableState.Never)]
public override sealed AdjustSpacesOperation GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, in NextGetAdjustSpacesOperation nextOperation)
public override sealed AdjustSpacesOperation GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, in NextGetAdjustSpacesOperation nextOperation)
{
var nextOperationCopy = nextOperation;
return GetAdjustSpacesOperationSlow(previousToken, currentToken, options, ref nextOperationCopy);
return GetAdjustSpacesOperationSlow(previousToken, currentToken, ref nextOperationCopy);
}
#pragma warning restore CS0809 // Obsolete member overrides non-obsolete member
......@@ -98,8 +97,8 @@ public virtual AdjustNewLinesOperation GetAdjustNewLinesOperationSlow(SyntaxToke
/// <summary>
/// returns AdjustSpacesOperation between two tokens either by itself or by filtering/replacing a operation returned by NextOperation
/// </summary>
public virtual AdjustSpacesOperation GetAdjustSpacesOperationSlow(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, ref NextGetAdjustSpacesOperation nextOperation)
=> base.GetAdjustSpacesOperation(previousToken, currentToken, options, in nextOperation);
public virtual AdjustSpacesOperation GetAdjustSpacesOperationSlow(SyntaxToken previousToken, SyntaxToken currentToken, ref NextGetAdjustSpacesOperation nextOperation)
=> base.GetAdjustSpacesOperation(previousToken, currentToken, in nextOperation);
}
}
}
......@@ -3,7 +3,6 @@
// See the LICENSE file in the project root for more information.
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Formatting.Rules;
namespace Microsoft.VisualStudio.LanguageServices.Implementation.Venus
......@@ -15,9 +14,9 @@ internal class ContainedDocumentPreserveFormattingRule : AbstractFormattingRule
private static readonly AdjustSpacesOperation s_preserveSpace = FormattingOperations.CreateAdjustSpacesOperation(0, AdjustSpacesOption.PreserveSpaces);
private static readonly AdjustNewLinesOperation s_preserveLine = FormattingOperations.CreateAdjustNewLinesOperation(0, AdjustNewLinesOption.PreserveLines);
public override AdjustSpacesOperation GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, in NextGetAdjustSpacesOperation nextOperation)
public override AdjustSpacesOperation GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, in NextGetAdjustSpacesOperation nextOperation)
{
var operation = base.GetAdjustSpacesOperation(previousToken, currentToken, options, in nextOperation);
var operation = base.GetAdjustSpacesOperation(previousToken, currentToken, in nextOperation);
if (operation != null)
{
return s_preserveSpace;
......
......@@ -9,7 +9,6 @@
using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.Formatting;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Formatting;
using Microsoft.CodeAnalysis.Formatting.Rules;
using Microsoft.CodeAnalysis.Indentation;
......@@ -148,9 +147,9 @@ public override void AddSuppressOperations(List<SuppressOperation> list, SyntaxN
// don't suppress anything
}
public override AdjustSpacesOperation GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, in NextGetAdjustSpacesOperation nextOperation)
public override AdjustSpacesOperation GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, in NextGetAdjustSpacesOperation nextOperation)
{
var spaceOperation = base.GetAdjustSpacesOperation(previousToken, currentToken, options, in nextOperation);
var spaceOperation = base.GetAdjustSpacesOperation(previousToken, currentToken, in nextOperation);
// if there is force space operation, convert it to ForceSpaceIfSingleLine operation.
// (force space basically means remove all line breaks)
......
......@@ -5,7 +5,6 @@
#nullable enable
using System.Collections.Generic;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Formatting.Rules;
namespace Microsoft.CodeAnalysis.CSharp.Formatting
......@@ -42,7 +41,7 @@ public override void AddAlignTokensOperations(List<AlignTokensOperation> list, S
=> null;
// return 1 space for every token pairs as a default operation
public override AdjustSpacesOperation GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, in NextGetAdjustSpacesOperation nextOperation)
public override AdjustSpacesOperation GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, in NextGetAdjustSpacesOperation nextOperation)
{
var space = currentToken.Kind() == SyntaxKind.EndOfFileToken ? 0 : 1;
return FormattingOperations.CreateAdjustSpacesOperation(space, AdjustSpacesOption.DefaultSpacesIfOnSingleLine);
......
......@@ -11,7 +11,6 @@
using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.CSharp.Utilities;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Formatting.Rules;
using Microsoft.CodeAnalysis.Shared.Extensions;
using Microsoft.CodeAnalysis.Shared.Utilities;
......@@ -219,7 +218,7 @@ private void AddInitializerSuppressOperations(List<SuppressOperation> list, Synt
return FormattingOperations.CreateAdjustNewLinesOperation(2 /* +1 for member itself and +1 for a blank line*/, AdjustNewLinesOption.ForceLines);
}
public override AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, in NextGetAdjustSpacesOperation nextOperation)
public override AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, in NextGetAdjustSpacesOperation nextOperation)
{
var operation = nextOperation.Invoke();
if (operation == null)
......
......@@ -4,7 +4,6 @@
#nullable enable
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Formatting.Rules;
namespace Microsoft.CodeAnalysis.CSharp.Formatting
......@@ -25,7 +24,7 @@ internal class EndOfFileTokenFormattingRule : BaseFormattingRule
return nextOperation.Invoke();
}
public override AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, in NextGetAdjustSpacesOperation nextOperation)
public override AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, in NextGetAdjustSpacesOperation nextOperation)
{
// * <End Of File) case
// for C#, make sure we have nothing between these two tokens
......
......@@ -75,7 +75,7 @@ private bool IsControlBlock(SyntaxNode node)
}
}
public override AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, in NextGetAdjustSpacesOperation nextOperation)
public override AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, in NextGetAdjustSpacesOperation nextOperation)
{
RoslynDebug.AssertNotNull(currentToken.Parent);
......@@ -86,7 +86,7 @@ private bool IsControlBlock(SyntaxNode node)
&& currentToken.IsKind(SyntaxKind.ElseKeyword)
&& previousToken.Parent!.Parent == currentToken.Parent.Parent)
{
if (!options.GetOption(CSharpFormattingOptions2.NewLineForElse))
if (!_options.NewLineForElse)
{
operation = CreateAdjustSpacesOperation(1, AdjustSpacesOption.ForceSpaces);
}
......@@ -95,7 +95,7 @@ private bool IsControlBlock(SyntaxNode node)
// * catch in the try catch context
if (currentToken.IsKind(SyntaxKind.CatchKeyword))
{
if (!options.GetOption(CSharpFormattingOptions2.NewLineForCatch))
if (!_options.NewLineForCatch)
{
operation = CreateAdjustSpacesOperation(1, AdjustSpacesOption.ForceSpaces);
}
......@@ -104,7 +104,7 @@ private bool IsControlBlock(SyntaxNode node)
// * finally
if (currentToken.IsKind(SyntaxKind.FinallyKeyword))
{
if (!options.GetOption(CSharpFormattingOptions2.NewLineForFinally))
if (!_options.NewLineForFinally)
{
operation = CreateAdjustSpacesOperation(1, AdjustSpacesOption.ForceSpaces);
}
......@@ -113,7 +113,7 @@ private bool IsControlBlock(SyntaxNode node)
// * { in the type declaration context
if (currentToken.Kind() == SyntaxKind.OpenBraceToken && (currentToken.Parent is BaseTypeDeclarationSyntax || currentToken.Parent is NamespaceDeclarationSyntax))
{
if (!options.GetOption(CSharpFormattingOptions2.NewLinesForBracesInTypes))
if (!_options.NewLinesForBracesInTypes)
{
operation = CreateAdjustSpacesOperation(1, AdjustSpacesOption.ForceSpaces);
}
......@@ -122,7 +122,7 @@ private bool IsControlBlock(SyntaxNode node)
// new { - Anonymous object creation
if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression))
{
if (!options.GetOption(CSharpFormattingOptions2.NewLinesForBracesInAnonymousTypes))
if (!_options.NewLinesForBracesInAnonymousTypes)
{
operation = CreateAdjustSpacesOperation(1, AdjustSpacesOption.ForceSpaces);
}
......@@ -131,7 +131,7 @@ private bool IsControlBlock(SyntaxNode node)
// new { - Object Initialization
if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.ObjectInitializerExpression))
{
if (!options.GetOption(CSharpFormattingOptions2.NewLinesForBracesInObjectCollectionArrayInitializers))
if (!_options.NewLinesForBracesInObjectCollectionArrayInitializers)
{
operation = CreateAdjustSpacesOperation(1, AdjustSpacesOption.ForceSpaces);
}
......@@ -143,10 +143,10 @@ private bool IsControlBlock(SyntaxNode node)
if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentTokenParentParent != null && currentTokenParentParent is MemberDeclarationSyntax)
{
var option = currentTokenParentParent is BasePropertyDeclarationSyntax
? CSharpFormattingOptions2.NewLinesForBracesInProperties
: CSharpFormattingOptions2.NewLinesForBracesInMethods;
? _options.NewLinesForBracesInProperties
: _options.NewLinesForBracesInMethods;
if (!options.GetOption(option))
if (!option)
{
operation = CreateAdjustSpacesOperation(1, AdjustSpacesOption.ForceSpaces);
}
......@@ -154,7 +154,7 @@ private bool IsControlBlock(SyntaxNode node)
if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentTokenParentParent != null && currentTokenParentParent is AccessorDeclarationSyntax)
{
if (!options.GetOption(CSharpFormattingOptions2.NewLinesForBracesInAccessors))
if (!_options.NewLinesForBracesInAccessors)
{
operation = CreateAdjustSpacesOperation(1, AdjustSpacesOption.ForceSpaces);
}
......@@ -163,7 +163,7 @@ private bool IsControlBlock(SyntaxNode node)
// * { - in the anonymous Method context
if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentTokenParentParent != null && currentTokenParentParent.IsKind(SyntaxKind.AnonymousMethodExpression))
{
if (!options.GetOption(CSharpFormattingOptions2.NewLinesForBracesInAnonymousMethods))
if (!_options.NewLinesForBracesInAnonymousMethods)
{
operation = CreateAdjustSpacesOperation(1, AdjustSpacesOption.ForceSpaces);
}
......@@ -172,7 +172,7 @@ private bool IsControlBlock(SyntaxNode node)
// * { - in the local function context
if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentTokenParentParent != null && currentTokenParentParent.IsKind(SyntaxKind.LocalFunctionStatement))
{
if (!options.GetOption(CSharpFormattingOptions2.NewLinesForBracesInMethods))
if (!_options.NewLinesForBracesInMethods)
{
operation = CreateAdjustSpacesOperation(1, AdjustSpacesOption.ForceSpaces);
}
......@@ -182,7 +182,7 @@ private bool IsControlBlock(SyntaxNode node)
if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentTokenParentParent != null &&
(currentTokenParentParent.IsKind(SyntaxKind.SimpleLambdaExpression) || currentTokenParentParent.IsKind(SyntaxKind.ParenthesizedLambdaExpression)))
{
if (!options.GetOption(CSharpFormattingOptions2.NewLinesForBracesInLambdaExpressionBody))
if (!_options.NewLinesForBracesInLambdaExpressionBody)
{
operation = CreateAdjustSpacesOperation(1, AdjustSpacesOption.ForceSpaces);
}
......@@ -191,7 +191,7 @@ private bool IsControlBlock(SyntaxNode node)
// * { - in the control statement context
if (currentToken.Kind() == SyntaxKind.OpenBraceToken && IsControlBlock(currentToken.Parent))
{
if (!options.GetOption(CSharpFormattingOptions2.NewLinesForBracesInControlBlocks))
if (!_options.NewLinesForBracesInControlBlocks)
{
operation = CreateAdjustSpacesOperation(1, AdjustSpacesOption.ForceSpaces);
}
......
......@@ -5,7 +5,6 @@
#nullable enable
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Formatting.Rules;
namespace Microsoft.CodeAnalysis.CSharp.Formatting
......@@ -24,19 +23,11 @@ internal class StructuredTriviaFormattingRule : BaseFormattingRule
return nextOperation.Invoke();
}
public override AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, in NextGetAdjustSpacesOperation nextOperation)
public override AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, in NextGetAdjustSpacesOperation nextOperation)
{
if (previousToken.Parent is StructuredTriviaSyntax || currentToken.Parent is StructuredTriviaSyntax)
{
// this doesn't take care of all cases where tokens belong to structured trivia. this is only for cases we care
return GetAdjustSpacesOperation(previousToken, currentToken, in nextOperation);
}
return nextOperation.Invoke();
}
private AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, in NextGetAdjustSpacesOperation nextOperation)
{
if (previousToken.Kind() == SyntaxKind.HashToken && SyntaxFacts.IsPreprocessorKeyword(currentToken.Kind()))
{
return CreateAdjustSpacesOperation(space: 0, option: AdjustSpacesOption.ForceSpacesIfOnSingleLine);
......@@ -51,6 +42,7 @@ internal class StructuredTriviaFormattingRule : BaseFormattingRule
{
return CreateAdjustSpacesOperation(space: 0, option: AdjustSpacesOption.ForceSpacesIfOnSingleLine);
}
}
return nextOperation.Invoke();
}
......
......@@ -256,7 +256,7 @@ private static SyntaxList<UsingDirectiveSyntax> GetUsings(SyntaxNode node)
_ => throw ExceptionUtilities.UnexpectedValue(node.Kind()),
};
public override AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, in NextGetAdjustSpacesOperation nextOperation)
public override AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, in NextGetAdjustSpacesOperation nextOperation)
{
//////////////////////////////////////////////////////
// ";" related operations
......
......@@ -78,7 +78,7 @@ public void AddAlignTokensOperations(List<AlignTokensOperation> list, SyntaxNode
public AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken)
{
var action = new NextGetAdjustSpacesOperation(_getAdjustSpacesOperationRules, index: 0, previousToken, currentToken, _options);
var action = new NextGetAdjustSpacesOperation(_getAdjustSpacesOperationRules, index: 0, previousToken, currentToken);
return action.Invoke();
}
......
......@@ -52,7 +52,7 @@ public virtual void AddAlignTokensOperations(List<AlignTokensOperation> list, Sy
/// <summary>
/// returns AdjustSpacesOperation between two tokens either by itself or by filtering/replacing a operation returned by NextOperation
/// </summary>
public virtual AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, in NextGetAdjustSpacesOperation nextOperation)
public virtual AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, in NextGetAdjustSpacesOperation nextOperation)
=> nextOperation.Invoke();
}
}
......@@ -7,7 +7,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using Microsoft.CodeAnalysis.Diagnostics;
namespace Microsoft.CodeAnalysis.Formatting.Rules
{
......@@ -56,10 +55,10 @@ public override sealed void AddAlignTokensOperations(List<AlignTokensOperation>
[Obsolete("Do not call this method directly (it will Stack Overflow).", error: true)]
[EditorBrowsable(EditorBrowsableState.Never)]
public override sealed AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, in NextGetAdjustSpacesOperation nextOperation)
public override sealed AdjustSpacesOperation? GetAdjustSpacesOperation(SyntaxToken previousToken, SyntaxToken currentToken, in NextGetAdjustSpacesOperation nextOperation)
{
var nextOperationCopy = nextOperation;
return GetAdjustSpacesOperationSlow(previousToken, currentToken, options, ref nextOperationCopy);
return GetAdjustSpacesOperationSlow(previousToken, currentToken, ref nextOperationCopy);
}
#pragma warning restore CS0809 // Obsolete member overrides non-obsolete member
......@@ -97,7 +96,7 @@ public virtual void AddAlignTokensOperationsSlow(List<AlignTokensOperation> list
/// <summary>
/// returns AdjustSpacesOperation between two tokens either by itself or by filtering/replacing a operation returned by NextOperation
/// </summary>
public virtual AdjustSpacesOperation? GetAdjustSpacesOperationSlow(SyntaxToken previousToken, SyntaxToken currentToken, AnalyzerConfigOptions options, ref NextGetAdjustSpacesOperation nextOperation)
=> base.GetAdjustSpacesOperation(previousToken, currentToken, options, in nextOperation);
public virtual AdjustSpacesOperation? GetAdjustSpacesOperationSlow(SyntaxToken previousToken, SyntaxToken currentToken, ref NextGetAdjustSpacesOperation nextOperation)
=> base.GetAdjustSpacesOperation(previousToken, currentToken, in nextOperation);
}
}
......@@ -5,7 +5,6 @@
#nullable enable
using System.Collections.Immutable;
using Microsoft.CodeAnalysis.Diagnostics;
using Roslyn.Utilities;
namespace Microsoft.CodeAnalysis.Formatting.Rules
......@@ -17,24 +16,21 @@ namespace Microsoft.CodeAnalysis.Formatting.Rules
private readonly int _index;
private readonly SyntaxToken _previousToken;
private readonly SyntaxToken _currentToken;
private readonly AnalyzerConfigOptions _options;
public NextGetAdjustSpacesOperation(
ImmutableArray<AbstractFormattingRule> formattingRules,
int index,
SyntaxToken previousToken,
SyntaxToken currentToken,
AnalyzerConfigOptions options)
SyntaxToken currentToken)
{
_formattingRules = formattingRules;
_index = index;
_previousToken = previousToken;
_currentToken = currentToken;
_options = options;
}
private NextGetAdjustSpacesOperation NextOperation
=> new NextGetAdjustSpacesOperation(_formattingRules, _index + 1, _previousToken, _currentToken, _options);
=> new NextGetAdjustSpacesOperation(_formattingRules, _index + 1, _previousToken, _currentToken);
public AdjustSpacesOperation? Invoke()
{
......@@ -46,7 +42,7 @@ private NextGetAdjustSpacesOperation NextOperation
else
{
// Call the handler at the index, passing a continuation that will come back to here with index + 1
return _formattingRules[_index].GetAdjustSpacesOperation(_previousToken, _currentToken, _options, NextOperation);
return _formattingRules[_index].GetAdjustSpacesOperation(_previousToken, _currentToken, NextOperation);
}
}
}
......
......@@ -209,7 +209,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Formatting
End Function
' return 1 space for every token pairs as a default operation
Public Overrides Function GetAdjustSpacesOperationSlow(previousToken As SyntaxToken, currentToken As SyntaxToken, options As AnalyzerConfigOptions, ByRef nextOperation As NextGetAdjustSpacesOperation) As AdjustSpacesOperation
Public Overrides Function GetAdjustSpacesOperationSlow(previousToken As SyntaxToken, currentToken As SyntaxToken, ByRef nextOperation As NextGetAdjustSpacesOperation) As AdjustSpacesOperation
If previousToken.Kind = SyntaxKind.ColonToken AndAlso
TypeOf previousToken.Parent Is LabelStatementSyntax AndAlso
currentToken.Kind <> SyntaxKind.EndOfFileToken Then
......
......@@ -2,7 +2,6 @@
' The .NET Foundation licenses this file to you under the MIT license.
' See the LICENSE file in the project root for more information.
Imports Microsoft.CodeAnalysis.Diagnostics
Imports Microsoft.CodeAnalysis.Formatting.Rules
Imports Microsoft.CodeAnalysis.VisualBasic.Syntax
......@@ -14,7 +13,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Formatting
Public Sub New()
End Sub
Public Overrides Function GetAdjustSpacesOperationSlow(previousToken As SyntaxToken, currentToken As SyntaxToken, options As AnalyzerConfigOptions, ByRef nextFunc As NextGetAdjustSpacesOperation) As AdjustSpacesOperation
Public Overrides Function GetAdjustSpacesOperationSlow(previousToken As SyntaxToken, currentToken As SyntaxToken, ByRef nextFunc As NextGetAdjustSpacesOperation) As AdjustSpacesOperation
' * <end of file token>
If currentToken.Kind = SyntaxKind.EndOfFileToken Then
Return CreateAdjustSpacesOperation(0, AdjustSpacesOption.ForceSpacesIfOnSingleLine)
......
......@@ -2,7 +2,6 @@
' The .NET Foundation licenses this file to you under the MIT license.
' See the LICENSE file in the project root for more information.
Imports Microsoft.CodeAnalysis.Diagnostics
Imports Microsoft.CodeAnalysis.Formatting
Imports Microsoft.CodeAnalysis.Formatting.Rules
Imports Microsoft.CodeAnalysis.VisualBasic.Syntax
......@@ -85,7 +84,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Formatting
End If
End Sub
Public Overrides Function GetAdjustSpacesOperationSlow(previousToken As SyntaxToken, currentToken As SyntaxToken, options As AnalyzerConfigOptions, ByRef nextOperation As NextGetAdjustSpacesOperation) As AdjustSpacesOperation
Public Overrides Function GetAdjustSpacesOperationSlow(previousToken As SyntaxToken, currentToken As SyntaxToken, ByRef nextOperation As NextGetAdjustSpacesOperation) As AdjustSpacesOperation
' if it doesn't have elastic trivia, pass it through
If Not CommonFormattingHelpers.HasAnyWhitespaceElasticTrivia(previousToken, currentToken) Then
Return nextOperation.Invoke()
......
......@@ -2,7 +2,6 @@
' The .NET Foundation licenses this file to you under the MIT license.
' See the LICENSE file in the project root for more information.
Imports Microsoft.CodeAnalysis.Diagnostics
Imports Microsoft.CodeAnalysis.Formatting.Rules
Imports Microsoft.CodeAnalysis.VisualBasic.Syntax
......@@ -23,7 +22,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Formatting
End Function
Public Overrides Function GetAdjustSpacesOperationSlow(previousToken As SyntaxToken, currentToken As SyntaxToken, options As AnalyzerConfigOptions, ByRef nextOperation As NextGetAdjustSpacesOperation) As AdjustSpacesOperation
Public Overrides Function GetAdjustSpacesOperationSlow(previousToken As SyntaxToken, currentToken As SyntaxToken, ByRef nextOperation As NextGetAdjustSpacesOperation) As AdjustSpacesOperation
If UnderStructuredTrivia(previousToken, currentToken) Then
If previousToken.Kind = SyntaxKind.HashToken AndAlso SyntaxFacts.IsPreprocessorKeyword(CType(currentToken.Kind, SyntaxKind)) Then
Return CreateAdjustSpacesOperation(space:=0, option:=AdjustSpacesOption.ForceSpacesIfOnSingleLine)
......
......@@ -3,7 +3,6 @@
' See the LICENSE file in the project root for more information.
Imports Microsoft.CodeAnalysis
Imports Microsoft.CodeAnalysis.Diagnostics
Imports Microsoft.CodeAnalysis.Formatting
Imports Microsoft.CodeAnalysis.Formatting.Rules
Imports Microsoft.CodeAnalysis.Text
......@@ -42,8 +41,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Indentation
Return Nothing
End Function
Public Overrides Function GetAdjustSpacesOperationSlow(previousToken As SyntaxToken, currentToken As SyntaxToken, options As AnalyzerConfigOptions, ByRef nextOperation As NextGetAdjustSpacesOperation) As AdjustSpacesOperation
Dim spaceOperation = MyBase.GetAdjustSpacesOperationSlow(previousToken, currentToken, options, nextOperation)
Public Overrides Function GetAdjustSpacesOperationSlow(previousToken As SyntaxToken, currentToken As SyntaxToken, ByRef nextOperation As NextGetAdjustSpacesOperation) As AdjustSpacesOperation
Dim spaceOperation = MyBase.GetAdjustSpacesOperationSlow(previousToken, currentToken, nextOperation)
' if there is force space operation, convert it to ForceSpaceIfSingleLine operation.
' (force space basically means remove all line breaks)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册