src\Analyzers\CSharp\Analyzers\AddAccessibilityModifiers\CSharpAddAccessibilityModifiers.cs (1)
26out SyntaxToken name,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTokenExtensions.cs (32)
20public static void Deconstruct(this SyntaxToken token, out SyntaxKind kind)
23public static bool IsLastTokenOfNode<T>(this SyntaxToken token) where T : SyntaxNode
26public static bool IsLastTokenOfNode<T>(this SyntaxToken token, [NotNullWhen(true)] out T? node) where T : SyntaxNode
39public static bool IsKindOrHasMatchingText(this SyntaxToken token, SyntaxKind kind)
42public static bool HasMatchingText(this SyntaxToken token, SyntaxKind kind)
45public static bool IsOpenBraceOrCommaOfObjectInitializer(this SyntaxToken token)
49public static bool IsOpenBraceOfAccessorList(this SyntaxToken token)
57public static bool CouldBeKeyword(this SyntaxToken token)
75public static bool IsPotentialModifier(this SyntaxToken token, out SyntaxKind modifierKind)
124public static bool IsLiteral(this SyntaxToken token)
140public static bool IntersectsWith(this SyntaxToken token, int position)
143public static SyntaxToken GetPreviousTokenIfTouchingWord(this SyntaxToken token, int position)
150private static bool IsWord(SyntaxToken token)
153public static SyntaxToken GetNextNonZeroWidthTokenOrEndOfFile(this SyntaxToken token)
159public static bool IsFirstTokenOnLine(this SyntaxToken token, SourceText text)
161var previousToken = token.GetPreviousToken(includeSkipped: true, includeDirectives: true, includeDocumentationComments: true);
172public static bool SpansPreprocessorDirective(this IEnumerable<SyntaxToken> tokens)
179public static IEnumerable<SyntaxTrivia> GetAllTrailingTrivia(this SyntaxToken token)
194public static bool IsRegularStringLiteral(this SyntaxToken token)
197public static bool IsValidAttributeTarget(this SyntaxToken token)
217public static SyntaxToken WithCommentsFrom(
218this SyntaxToken token,
227public static SyntaxToken KeepCommentsAndAddElasticMarkers(this SyntaxToken token)
231public static bool TryParseGenericName(this SyntaxToken genericIdentifier, CancellationToken cancellationToken, [NotNullWhen(true)] out GenericNameSyntax? genericName)
235var lastToken = genericIdentifier.FindLastTokenOfPartialGenericName();
255public static SyntaxToken FindLastTokenOfPartialGenericName(this SyntaxToken genericIdentifier)
260var token = genericIdentifier.GetNextToken(includeSkipped: true);
269var next = token.GetNextToken(includeSkipped: true);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTreeExtensions.cs (9)
28var token = tokenOnLeftOfPosition.GetPreviousTokenIfTouchingWord(position);
92public static bool IsRightOfDotOrArrowOrColonColon(this SyntaxTree syntaxTree, int position, SyntaxToken targetToken, CancellationToken cancellationToken)
190var eof = root.EndOfFileToken;
322private static bool AtEndOfIncompleteStringOrCharLiteral(SyntaxToken token, int position, char lastChar, CancellationToken cancellationToken)
393this SyntaxTree syntaxTree, int position, out SyntaxToken stringLiteral, CancellationToken cancellationToken)
395var token = syntaxTree.GetRoot(cancellationToken).FindToken(position, findInsideTrivia: true);
445var token = root.FindToken(position, findInsideTrivia: true);
540public static bool IsPreProcessorKeywordContext(this SyntaxTree syntaxTree, int position, SyntaxToken preProcessorTokenOnLeftOfPosition)
550var token = preProcessorTokenOnLeftOfPosition;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\TriviaRewriter.cs (16)
24private readonly Dictionary<SyntaxToken, SyntaxTriviaList> _trailingTriviaMap = [];
25private readonly Dictionary<SyntaxToken, SyntaxTriviaList> _leadingTriviaMap = [];
30Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map,
47Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map,
69KeyValuePair<ValueTuple<SyntaxToken, SyntaxToken>,
98private TextSpan GetTextSpan(ValueTuple<SyntaxToken, SyntaxToken> pair)
134ValueTuple<SyntaxToken, SyntaxToken> pair,
162public override SyntaxToken VisitToken(SyntaxToken token)
207private static SyntaxToken CreateNewToken(SyntaxTriviaList leadingTrivia, SyntaxToken token, SyntaxTriviaList trailingTrivia)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\BaseFormattingRule.cs (27)
19SyntaxToken startToken,
20SyntaxToken endToken,
34SyntaxToken startToken,
35SyntaxToken endToken,
59SyntaxToken startToken,
60SyntaxToken endToken,
73SyntaxToken startToken,
74SyntaxToken endToken,
87SyntaxToken startToken,
88SyntaxToken endToken,
102SyntaxToken baseToken,
103SyntaxToken startToken,
104SyntaxToken endToken,
112SyntaxToken baseToken,
113SyntaxToken startToken,
114SyntaxToken endToken,
120protected static void AddSuppressWrappingIfOnSingleLineOperation(ArrayBuilder<SuppressOperation> list, SyntaxToken startToken, SyntaxToken endToken, SuppressOption extraOption = SuppressOption.None)
123protected static void AddSuppressAllOperationIfOnMultipleLine(ArrayBuilder<SuppressOperation> list, SyntaxToken startToken, SyntaxToken endToken, SuppressOption extraOption = SuppressOption.None)
126protected static void AddSuppressOperation(ArrayBuilder<SuppressOperation> list, SyntaxToken startToken, SyntaxToken endToken, SuppressOption option)
136protected static void AddAnchorIndentationOperation(List<AnchorIndentationOperation> list, SyntaxToken anchorToken, SyntaxToken endToken)
146protected static void AddAlignIndentationOfTokensToBaseTokenOperation(List<AlignTokensOperation> list, SyntaxNode containingNode, SyntaxToken baseNode, IEnumerable<SyntaxToken> tokens, AlignTokensOption option = AlignTokensOption.AlignIndentationOfTokensToBaseToken)
170var firstTokenOfNode = node.GetFirstToken(includeZeroWidth: true);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (66)
83public SyntaxToken ParseToken(string text)
101public bool IsVerbatimIdentifier(SyntaxToken token)
104public bool IsOperator(SyntaxToken token)
115public bool IsReservedKeyword(SyntaxToken token)
118public bool IsContextualKeyword(SyntaxToken token)
121public bool IsPreprocessorKeyword(SyntaxToken token)
206public void GetPartsOfUsingAliasDirective(SyntaxNode node, out SyntaxToken globalKeyword, out SyntaxToken alias, out SyntaxNode name)
263public bool IsThisConstructorInitializer(SyntaxToken token)
267public bool IsBaseConstructorInitializer(SyntaxToken token)
271public bool IsQueryKeyword(SyntaxToken token)
298public bool IsPredefinedType(SyntaxToken token)
301public bool IsPredefinedType(SyntaxToken token, PredefinedType type)
310public bool TryGetPredefinedType(SyntaxToken token, out PredefinedType type)
316private static PredefinedType GetPredefinedType(SyntaxToken token)
344public bool IsPredefinedOperator(SyntaxToken token)
347public bool IsPredefinedOperator(SyntaxToken token, PredefinedOperator op)
350public bool TryGetPredefinedOperator(SyntaxToken token, out PredefinedOperator op)
356private static PredefinedOperator GetPredefinedOperator(SyntaxToken token)
452var token = SyntaxFactory.ParseToken(identifier);
458var token = SyntaxFactory.ParseToken(identifier);
467public bool IsLiteral(SyntaxToken token)
495public bool IsStringLiteralOrInterpolatedStringLiteral(SyntaxToken token)
498public bool IsBindableToken(SemanticModel? semanticModel, SyntaxToken token)
808var identifier = ((IdentifierNameSyntax)node).Identifier;
825var nameToken = memberDeclaration.GetNameToken();
858var nameToken = fieldDeclarator.Identifier;
929public SyntaxNode? TryGetBindableParent(SyntaxToken token)
1118public bool IsVerbatimStringLiteral(SyntaxToken token)
1121public bool IsRawStringLiteral(SyntaxToken token)
1128public bool IsNumericLiteral(SyntaxToken token)
1231SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right)
1238SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right)
1256public SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node)
1259public SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node)
1262public SyntaxToken GetIdentifierOfTypeDeclaration(SyntaxNode node)
1274public bool AreEquivalent(SyntaxToken token1, SyntaxToken token2)
1290out SyntaxToken openParen, out SeparatedSyntaxList<TArgumentSyntax> arguments, out SyntaxToken closeParen) where TArgumentSyntax : SyntaxNode
1307public bool ContainsInterleavedDirective(TextSpan span, SyntaxToken token, CancellationToken cancellationToken)
1348public SyntaxToken? GetDeclarationIdentifierIfOverride(SyntaxToken token)
1382public void GetPartsOfIsPatternExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken isToken, out SyntaxNode right)
1425public void GetPartsOfParenthesizedPattern(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode pattern, out SyntaxToken closeParen)
1433public void GetPartsOfBinaryPattern(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right)
1441public void GetPartsOfUnaryPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode pattern)
1448public void GetPartsOfRelationalPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode expression)
1516public void GetPartsOfAliasQualifiedName(SyntaxNode node, out SyntaxNode alias, out SyntaxToken colonColonToken, out SyntaxNode name)
1524public void GetPartsOfArgumentList(SyntaxNode node, out SyntaxToken openParenToken, out SeparatedSyntaxList<SyntaxNode> arguments, out SyntaxToken closeParenToken)
1546public void GetPartsOfBinaryExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right)
1563SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode whenNotNull)
1585public void GetPartsOfGenericName(SyntaxNode node, out SyntaxToken identifier, out SeparatedSyntaxList<SyntaxNode> typeArguments)
1593out SyntaxToken stringStartToken, out SyntaxList<SyntaxNode> contents, out SyntaxToken stringEndToken)
1608public void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode name)
1631public void GetPartsOfObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode type, out SyntaxNode? argumentList, out SyntaxNode? initializer)
1640public void GetPartsOfImplicitObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode argumentList, out SyntaxNode? initializer)
1648public void GetPartsOfParameter(SyntaxNode node, out SyntaxToken identifier, out SyntaxNode? @default)
1656SyntaxNode node, out SyntaxToken openParen, out SyntaxNode expression, out SyntaxToken closeParen)
1664public void GetPartsOfPrefixUnaryExpression(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode operand)
1671public void GetPartsOfQualifiedName(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right)
1704public SyntaxToken GetTokenOfLiteralExpression(SyntaxNode node)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (38)
20public static ValueTuple<SyntaxToken, SyntaxToken>? FindAppropriateRange(SyntaxToken endToken, bool useDefaultRange = true)
27private static ValueTuple<SyntaxToken, SyntaxToken>? FixupOpenBrace(ValueTuple<SyntaxToken, SyntaxToken>? tokenRange)
37var currentToken = tokenRange.Value.Item1;
38var previousToken = currentToken.GetPreviousToken();
55private static ValueTuple<SyntaxToken, SyntaxToken>? FindAppropriateRangeWorker(SyntaxToken endToken, bool useDefaultRange)
112private static ValueTuple<SyntaxToken, SyntaxToken>? FindAppropriateRangeForSemicolon(SyntaxToken endToken)
168private static ValueTuple<SyntaxToken, SyntaxToken>? FindAppropriateRangeForCloseBrace(SyntaxToken endToken)
215var firstTokenOfInnerBlock = parent.GetFirstToken();
216var lastTokenOfInnerBlock = parent.GetLastToken();
250var firstTokenOfInnerBlock = parent.GetFirstToken();
251var lastTokenOfInnerBlock = parent.GetLastToken();
268private static ValueTuple<SyntaxToken, SyntaxToken>? FindAppropriateRangeForColon(SyntaxToken endToken)
285private static SyntaxToken GetPreviousTokenIfNotFirstTokenInTree(SyntaxToken token)
287var previousToken = token.GetPreviousToken();
291public static bool AreTwoTokensOnSameLine(SyntaxToken token1, SyntaxToken token2)
307private static SyntaxToken GetAppropriatePreviousToken(SyntaxToken startToken, bool canTokenBeFirstInABlock = false)
309var previousToken = startToken.GetPreviousToken();
345private static bool IsOpenBraceTokenOfABlockOrTypeOrNamespace(SyntaxToken previousToken)
406public static bool IsColonInSwitchLabel(SyntaxToken token)
413public static bool InBetweenTwoMembers(SyntaxToken previousToken, SyntaxToken currentToken)
433public static MemberDeclarationSyntax? GetEnclosingMember(SyntaxToken token)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseExplicitTypeHelper.cs (1)
137SyntaxToken identifier,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
254SyntaxToken identifier,
src\Analyzers\CSharp\CodeFixes\NewLines\ArrowExpressionClausePlacement\ArrowExpressionClausePlacementCodeFixProvider.cs (1)
67SyntaxToken token,
src\Analyzers\CSharp\CodeFixes\NewLines\ConditionalExpressionPlacement\ConditionalExpressionPlacementCodeFixProvider.cs (1)
68SyntaxToken token,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (76)
137this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
156var originalToken = tokenOnLeftOfPosition;
157var token = originalToken;
368this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
409var originalToken = tokenOnLeftOfPosition;
410var token = originalToken;
417var nextToken = originalToken.GetNextToken(includeSkipped: true);
842this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
847var token = tokenOnLeftOfPosition;
860public static bool IsTypeParameterConstraintContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
867var token = tokenOnLeftOfPosition;
891public static bool IsTypeOfExpressionContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
903public static bool IsDefaultExpressionContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
916this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
931SyntaxToken tokenOnLeftOfPosition,
934var token = tokenOnLeftOfPosition;
954public static bool IsGenericConstraintContext(this SyntaxTree syntaxTree, SyntaxToken targetToken)
961SyntaxToken tokenOnLeftOfPosition,
969var token = tokenOnLeftOfPosition;
983if (!syntaxTree.IsInPartiallyWrittenGeneric(position, cancellationToken, out var nameToken))
1049SyntaxToken tokenOnLeftOfPosition,
1139SyntaxToken tokenOnLeftOfPosition,
1153var token = tokenOnLeftOfPosition;
1165this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1167var token = tokenOnLeftOfPosition;
1180this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1182var token = tokenOnLeftOfPosition;
1194public static bool IsParameterTypeContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1211public static bool IsPossibleExtensionMethodContext(this SyntaxTree syntaxTree, SyntaxToken tokenOnLeftOfPosition)
1223this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
1225var token = tokenOnLeftOfPosition;
1255this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1257var token = tokenOnLeftOfPosition;
1282this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
1284var token = tokenOnLeftOfPosition;
1307public static bool IsPossibleTupleContext(this SyntaxTree syntaxTree, SyntaxToken leftToken, int position)
1327var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent);
1339var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent!);
1352var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent.Parent);
1362public static bool IsAtStartOfPattern(this SyntaxTree syntaxTree, SyntaxToken leftToken, int position)
1456public static bool IsAtEndOfPattern(this SyntaxTree syntaxTree, SyntaxToken leftToken, int position)
1458var originalLeftToken = leftToken;
1541static bool IsAtEndOfSwitchStatementPattern(SyntaxToken leftToken)
1563private static SyntaxToken FindTokenOnLeftOfNode(SyntaxNode node)
1566public static bool IsPossibleTupleOpenParenOrComma(this SyntaxToken possibleCommaOrParen)
1689private static bool IsPossibleVarDeconstructionOpenParenOrComma(SyntaxToken leftToken)
1711SyntaxToken tokenOnLeftOfPosition,
1734var token = tokenOnLeftOfPosition;
1749this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1751var token = tokenOnLeftOfPosition;
1766this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
1880this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1885var token = tokenOnLeftOfPosition;
1914public static bool IsIsOrAsTypeContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1916var token = tokenOnLeftOfPosition;
1926this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
1944private static bool IsNonConstantExpressionContext(SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
1958public static bool IsStatementContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
1970var token = tokenOnLeftOfPosition;
1999public static bool IsInstanceContext(this SyntaxTree syntaxTree, SyntaxToken targetToken, SemanticModel semanticModel, CancellationToken cancellationToken)
2030this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
2043public static bool IsDefiniteCastTypeContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
2045var token = tokenOnLeftOfPosition;
2058SyntaxToken tokenOnLeftOfPosition)
2165SyntaxToken tokenOnLeftOfPosition,
2342var previousToken = tokenOnLeftOfPosition.GetPreviousToken(includeSkipped: true);
2737public static bool IsInvocationOfVarExpression(this SyntaxToken token)
2811SyntaxToken tokenOnLeftOfPosition,
2817var token = tokenOnLeftOfPosition;
2928this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
2945var token = tokenOnLeftOfPosition;
2963public static bool IsCatchFilterContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
2971var token = tokenOnLeftOfPosition;
2988public static bool IsBaseListContext(this SyntaxTree syntaxTree, SyntaxToken targetToken)
3001public static bool IsEnumBaseListContext(this SyntaxTree syntaxTree, SyntaxToken targetToken)
3068public static bool IsFunctionPointerCallingConventionContext(this SyntaxTree syntaxTree, SyntaxToken targetToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (14)
21protected override bool ShouldUseTokenIndenter(Indenter indenter, out SyntaxToken syntaxToken)
33protected override IndentationResult? GetDesiredIndentationWorker(Indenter indenter, SyntaxToken? tokenOpt, SyntaxTrivia? triviaOpt)
63private static IndentationResult? TryGetDesiredIndentation(Indenter indenter, SyntaxToken? tokenOpt)
71private static IndentationResult GetIndentationBasedOnToken(Indenter indenter, SyntaxToken token)
318private static IndentationResult GetIndentationFromCommaSeparatedList(Indenter indenter, SyntaxToken token)
331Indenter indenter, SeparatedSyntaxList<T> list, SyntaxToken token) where T : SyntaxNode
345var firstToken = node.GetFirstToken(includeZeroWidth: true);
358private static IndentationResult GetDefaultIndentationFromToken(Indenter indenter, SyntaxToken token)
368private static IndentationResult GetIndentationForQueryExpression(Indenter indenter, SyntaxToken token)
380var firstToken = queryExpressionClause.GetFirstToken(includeZeroWidth: true);
415var clauseToken = clause.GetFirstToken(includeZeroWidth: true);
427private static SyntaxNode? GetQueryExpressionClause(SyntaxToken token)
453private static bool IsPartOfQueryExpression(SyntaxToken token)
460Indenter indenter, SyntaxToken token, int? additionalSpace = null)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (1)
76var discardToken = Identifier(
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (11)
52public override SyntaxNode LocalDeclarationStatement(SyntaxNode? type, SyntaxToken name, SyntaxNode? initializer, bool isConst)
62public override SyntaxNode EqualsValueClause(SyntaxToken operatorToken, SyntaxNode value)
65internal static VariableDeclarationSyntax VariableDeclaration(SyntaxNode? type, SyntaxToken name, SyntaxNode? expression)
74public override SyntaxToken Identifier(string identifier)
106public override SyntaxNode InterpolatedStringExpression(SyntaxToken startToken, IEnumerable<SyntaxNode> content, SyntaxToken endToken)
109public override SyntaxNode InterpolatedStringText(SyntaxToken textToken)
112public override SyntaxToken InterpolatedStringTextToken(string content, string value)
140using var _ = ArrayBuilder<SyntaxToken>.GetInstance(out var result);
198public override SyntaxNode IsPatternExpression(SyntaxNode expression, SyntaxToken isKeyword, SyntaxNode pattern)
239public override SyntaxNode UnaryPattern(SyntaxToken operatorToken, SyntaxNode pattern)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (52)
51private static bool DecomposeBinaryOrAssignmentExpression(SyntaxNode node, out SyntaxToken operatorToken, out ExpressionSyntax left, out ExpressionSyntax right)
77out var operatorToken, out var left, out var right))
256private IEnumerable<TypeInferenceInfo> InferTypeInAnonymousObjectCreation(AnonymousObjectCreationExpressionSyntax expression, SyntaxToken previousToken)
267ArgumentSyntax argument, SyntaxToken? previousToken = null)
340TupleExpressionSyntax tupleExpression, SyntaxToken previousToken)
367private IEnumerable<TypeInferenceInfo> InferTypeInAttributeArgument(AttributeArgumentSyntax argument, SyntaxToken? previousToken = null)
395private IEnumerable<TypeInferenceInfo> InferTypeInObjectCreationExpression(BaseObjectCreationExpressionSyntax expression, SyntaxToken previousToken)
510private IEnumerable<TypeInferenceInfo> InferTypeInArgumentList(ArgumentListSyntax argumentList, SyntaxToken previousToken)
540private IEnumerable<TypeInferenceInfo> InferTypeInAttributeArgumentList(AttributeArgumentListSyntax attributeArgumentList, SyntaxToken previousToken)
809ArrayCreationExpressionSyntax arrayCreationExpression, SyntaxToken? previousToken = null)
836private IEnumerable<TypeInferenceInfo> InferTypeInArrayRankSpecifier(ArrayRankSpecifierSyntax arrayRankSpecifier, SyntaxToken? previousToken = null)
846private IEnumerable<TypeInferenceInfo> InferTypeInArrayType(ArrayTypeSyntax arrayType, SyntaxToken? previousToken = null)
869private IEnumerable<TypeInferenceInfo> InferTypeInAttributeDeclaration(AttributeListSyntax attributeDeclaration, SyntaxToken? previousToken)
880SyntaxToken? previousToken)
889private IEnumerable<TypeInferenceInfo> InferTypeInBracketedArgumentList(BracketedArgumentListSyntax bracketedArgumentList, SyntaxToken previousToken)
905private static int GetArgumentListIndex(BaseArgumentListSyntax argumentList, SyntaxToken previousToken)
924private static int GetArgumentListIndex(AttributeArgumentListSyntax attributeArgumentList, SyntaxToken previousToken)
943private IEnumerable<TypeInferenceInfo> InferTypeInBinaryOrAssignmentExpression(ExpressionSyntax binop, SyntaxToken operatorToken, ExpressionSyntax left, ExpressionSyntax right, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null)
1078private IEnumerable<TypeInferenceInfo> InferTypeInCastExpression(CastExpressionSyntax castExpression, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null)
1090private IEnumerable<TypeInferenceInfo> InferTypeInCatchDeclaration(CatchDeclarationSyntax catchDeclaration, SyntaxToken? previousToken = null)
1099private IEnumerable<TypeInferenceInfo> InferTypeInCatchFilterClause(CatchFilterClauseSyntax catchFilterClause, SyntaxToken? previousToken = null)
1111SyntaxToken? previousToken = null)
1165private IEnumerable<TypeInferenceInfo> InferTypeInConditionalExpression(ConditionalExpressionSyntax conditional, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null)
1198private IEnumerable<TypeInferenceInfo> InferTypeInDoStatement(DoStatementSyntax doStatement, SyntaxToken? previousToken = null)
1207private IEnumerable<TypeInferenceInfo> InferTypeInEqualsValueClause(EqualsValueClauseSyntax equalsValue, SyntaxToken? previousToken = null)
1236private IEnumerable<TypeInferenceInfo> InferTypeInExpressionStatement(SyntaxToken? previousToken = null)
1246private IEnumerable<TypeInferenceInfo> InferTypeInForEachStatement(ForEachStatementSyntax forEachStatementSyntax, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null)
1273private IEnumerable<TypeInferenceInfo> InferTypeInForStatement(ForStatementSyntax forStatement, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null)
1285private IEnumerable<TypeInferenceInfo> InferTypeInIfStatement(IfStatementSyntax ifStatement, SyntaxToken? previousToken = null)
1300SyntaxToken? previousToken = null)
1502var identifier = singleVariableDesignation.Identifier;
1594private IEnumerable<TypeInferenceInfo> InferTypeInLockStatement(LockStatementSyntax lockStatement, SyntaxToken? previousToken = null)
1603private IEnumerable<TypeInferenceInfo> InferTypeInLambdaExpression(LambdaExpressionSyntax lambdaExpression, SyntaxToken? previousToken = null)
1632private IEnumerable<TypeInferenceInfo> InferTypeInMemberDeclarator(AnonymousObjectMemberDeclaratorSyntax memberDeclarator, SyntaxToken? previousTokenOpt = null)
1651private IEnumerable<TypeInferenceInfo> InferTypeInNameColon(NameColonSyntax nameColon, SyntaxToken previousToken)
1667private IEnumerable<TypeInferenceInfo> InferTypeInExpressionColon(ExpressionColonSyntax expressionColon, SyntaxToken previousToken)
1685SyntaxToken? previousToken = null)
1868private IEnumerable<TypeInferenceInfo> InferTypeInNameEquals(NameEqualsSyntax nameEquals, SyntaxToken? previousToken = null)
1886private IEnumerable<TypeInferenceInfo> InferTypeInPostfixUnaryExpression(PostfixUnaryExpressionSyntax postfixUnaryExpressionSyntax, SyntaxToken? previousToken = null)
1902private IEnumerable<TypeInferenceInfo> InferTypeInPrefixUnaryExpression(PrefixUnaryExpressionSyntax prefixUnaryExpression, SyntaxToken? previousToken = null)
1958private IEnumerable<TypeInferenceInfo> InferTypeInAwaitExpression(AwaitExpressionSyntax awaitExpression, SyntaxToken? previousToken = null)
1980private IEnumerable<TypeInferenceInfo> InferTypeInYieldStatement(YieldStatementSyntax yieldStatement, SyntaxToken? previousToken = null)
2021ReturnStatementSyntax returnStatement, SyntaxToken? previousToken = null)
2099private IEnumerable<TypeInferenceInfo> InferTypeInSwitchExpression(SwitchExpressionSyntax switchExpression, SyntaxToken token)
2108SwitchLabelSyntax switchLabel, SyntaxToken? previousToken = null)
2124SwitchStatementSyntax switchStatement, SyntaxToken? previousToken = null)
2144private IEnumerable<TypeInferenceInfo> InferTypeInThrowExpression(ThrowExpressionSyntax throwExpression, SyntaxToken? previousToken = null)
2153private IEnumerable<TypeInferenceInfo> InferTypeInThrowStatement(ThrowStatementSyntax throwStatement, SyntaxToken? previousToken = null)
2162private IEnumerable<TypeInferenceInfo> InferTypeInUsingStatement(UsingStatementSyntax usingStatement, SyntaxToken? previousToken = null)
2367private IEnumerable<TypeInferenceInfo> InferTypeInWhenClause(WhenClauseSyntax whenClause, SyntaxToken? previousToken = null)
2376private IEnumerable<TypeInferenceInfo> InferTypeInWhileStatement(WhileStatementSyntax whileStatement, SyntaxToken? previousToken = null)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Utilities\CSharpSimplificationHelpers.cs (9)
15public static SyntaxToken TryEscapeIdentifierToken(SyntaxToken syntaxToken, SyntaxNode parentOfToken)
59var firstRewrittenToken = rewrittenNode.GetFirstToken(true, false, true, true);
60var firstOriginalToken = originalNode.GetFirstToken(true, false, true, true);
61if (TryAddLeadingElasticTriviaIfNecessary(firstRewrittenToken, firstOriginalToken, out var rewrittenTokenWithLeadingElasticTrivia))
69public static bool TryAddLeadingElasticTriviaIfNecessary(SyntaxToken token, SyntaxToken originalToken, out SyntaxToken tokenWithLeadingWhitespace)
78var previousToken = originalToken.GetPreviousToken();
Completion\CompletionProviders\CrefCompletionProvider.cs (10)
89protected override async Task<(SyntaxToken, SemanticModel?, ImmutableArray<ISymbol>)> GetSymbolsAsync(
115private static bool IsCrefStartContext(SyntaxToken token)
125private static bool IsCrefParameterListContext(SyntaxToken token)
155private static bool IsCrefQualifiedNameContext(SyntaxToken token)
165SyntaxToken token, SemanticModel semanticModel, CancellationToken cancellationToken)
180SyntaxToken token, SemanticModel semanticModel, CancellationToken cancellationToken)
211QualifiedCrefSyntax parent, SyntaxToken token, SemanticModel semanticModel, CancellationToken cancellationToken)
237SemanticModel semanticModel, ImmutableArray<ISymbol> symbols, SyntaxToken token, int position, ImmutableArray<KeyValuePair<string, string>> options)
259SemanticModel semanticModel, ISymbol symbol, SyntaxToken token, int position, StringBuilder builder,
279SyntaxToken token,
Completion\CompletionProviders\DeclarationName\DeclarationNameInfo.cs (23)
97SyntaxToken token, SemanticModel semanticModel,
111SyntaxToken token, SemanticModel semanticModel,
135private static bool IsPossibleOutVariableDeclaration(SyntaxToken token, SemanticModel semanticModel,
145if (argument is { RefOrOutKeyword: SyntaxToken(SyntaxKind.OutKeyword) })
168SyntaxToken token, SemanticModel semanticModel,
190private static bool IsPropertyDeclaration(SyntaxToken token, SemanticModel semanticModel,
204private static bool IsMethodDeclaration(SyntaxToken token, SemanticModel semanticModel,
219SyntaxToken token,
268SyntaxToken token,
279SyntaxToken token,
309private static bool IsFieldDeclaration(SyntaxToken token, SemanticModel semanticModel,
320private static bool IsIncompleteMemberDeclaration(SyntaxToken token, SemanticModel semanticModel,
331private static bool IsLocalFunctionDeclaration(SyntaxToken token, SemanticModel semanticModel,
342private static bool IsLocalVariableDeclaration(SyntaxToken token, SemanticModel semanticModel,
387private static bool IsEmbeddedVariableDeclaration(SyntaxToken token, SemanticModel semanticModel,
400private static bool IsForEachVariableDeclaration(SyntaxToken token, SemanticModel semanticModel,
416private static bool IsTypeParameterDeclaration(SyntaxToken token, out NameDeclarationInfo result)
432private static bool IsPrimaryConstructorParameter(SyntaxToken token, SemanticModel semanticModel,
452private static bool IsParameterDeclaration(SyntaxToken token, SemanticModel semanticModel,
465SyntaxToken token,
510private static bool IsPossibleTypeToken(SyntaxToken token)
558foreach (var modifer in modifiers)
605var modifier = modifiers[i];
Completion\CompletionProviders\OperatorsAndIndexer\UnnamedSymbolCompletionProvider_Conversions.cs (1)
86: (SyntaxToken?)null;
EditAndContinue\BreakpointSpans.cs (32)
110private static TextSpan CreateSpan(SyntaxToken startToken, SyntaxToken endToken)
116private static TextSpan CreateSpan(SyntaxNode node, SyntaxToken token)
119private static TextSpan CreateSpan(SyntaxToken token)
240var separator = parameters.GetSeparator(i);
475internal static IEnumerable<SyntaxToken> GetActiveTokensForImplicitConstructorInitializer(ConstructorDeclarationSyntax constructor, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
481internal static IEnumerable<SyntaxToken> GetActiveTokensForExplicitConstructorInitializer(ConstructorInitializerSyntax constructorInitializer, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
490internal static IEnumerable<SyntaxToken> GetActiveTokensForImplicitPrimaryConstructorInitializer(TypeDeclarationSyntax typeDeclaration, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
498foreach (var token in getDescendantTokens(typeDeclaration.TypeParameterList))
502foreach (var token in getDescendantTokens(typeDeclaration.ParameterList))
509internal static IEnumerable<SyntaxToken> GetActiveTokensForExplicitPrimaryConstructorInitializer(PrimaryConstructorBaseTypeSyntax baseTypeSyntax, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
517internal static IEnumerable<SyntaxToken> GetActiveTokensForCopyConstructor(RecordDeclarationSyntax recordDeclaration, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
523foreach (var token in getDescendantTokens(recordDeclaration.TypeParameterList))
531internal static IEnumerable<SyntaxToken> GetActiveTokensForRecordParameter(ParameterSyntax parameter, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
533foreach (var modifier in parameter.Modifiers)
538foreach (var token in getDescendantTokens(parameter.Type))
548internal static IEnumerable<SyntaxToken> GetActiveTokensForAutoPropertyAccessor(AccessorDeclarationSyntax accessor, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
770private static SyntaxToken LastNotMissing(SyntaxToken token1, SyntaxToken token2)
785SyntaxToken semicolonOpt,
831SyntaxToken semicolon)
852internal static IEnumerable<SyntaxToken> GetActiveTokensForVariableDeclarator(
853VariableDeclaratorSyntax variableDeclarator, SyntaxTokenList modifiers, SyntaxToken semicolon, Func<SyntaxNode, IEnumerable<SyntaxToken>> getDescendantTokens)
EditAndContinue\SyntaxComparer.cs (31)
966out IEnumerable<SyntaxToken> parameters,
967out SyntaxToken asyncKeyword,
971out SyntaxToken identifier,
1156List<SyntaxToken>? leftLocals = null;
1157List<SyntaxToken>? rightLocals = null;
1236List<SyntaxToken>? leftLocals = null;
1237List<SyntaxToken>? rightLocals = null;
1261List<SyntaxToken>? leftLocals = null;
1262List<SyntaxToken>? rightLocals = null;
1279private static void GetLocalNames(BlockSyntax block, ref List<SyntaxToken>? result)
1292private static void GetLocalNames(VariableDeclarationSyntax localDeclaration, ref List<SyntaxToken>? result)
1300internal static void GetLocalNames(CommonForEachStatementSyntax commonForEach, ref List<SyntaxToken>? result)
1318private static void GetLocalNames(ExpressionSyntax expression, ref List<SyntaxToken>? result)
1343private static void GetLocalNames(VariableDesignationSyntax designation, ref List<SyntaxToken>? result)
1368private static void GetLocalNames(SyntaxToken syntaxToken, [NotNull] ref List<SyntaxToken>? result)
1549var leftToken = oldNodeOrToken.AsToken();
1550var rightToken = newNodeOrToken.AsToken();
1570internal static IEnumerable<SyntaxToken> GetDescendantTokensIgnoringSeparators<TSyntaxNode>(SeparatedSyntaxList<TSyntaxNode> list)
1575foreach (var token in node.DescendantTokens())
1604public static double ComputeDistance(SyntaxToken oldToken, SyntaxToken newToken)
1618public static double ComputeDistance(IEnumerable<SyntaxToken>? oldTokens, IEnumerable<SyntaxToken>? newTokens)
1645public static IEnumerable<SequenceEdit> GetSequenceEdits(IEnumerable<SyntaxToken>? oldTokens, IEnumerable<SyntaxToken>? newTokens)
1651public static IEnumerable<SequenceEdit> GetSequenceEdits(ImmutableArray<SyntaxToken> oldTokens, ImmutableArray<SyntaxToken> newTokens)
1654private sealed class LcsTokens : LongestCommonImmutableArraySubsequence<SyntaxToken>
1658protected override bool Equals(SyntaxToken oldElement, SyntaxToken newElement)
ReplaceMethodWithProperty\CSharpReplaceMethodWithPropertyService.cs (6)
125var nameToken = GetPropertyName(getMethodDeclaration.Identifier, propertyName, nameChanged);
158private static SyntaxToken GetPropertyName(SyntaxToken identifier, string propertyName, bool nameChanged)
350public void ReplaceGetReference(SyntaxEditor editor, SyntaxToken nameToken, string propertyName, bool nameChanged)
353public void ReplaceSetReference(SyntaxEditor editor, SyntaxToken nameToken, string propertyName, bool nameChanged)
356public static void ReplaceInvocation(SyntaxEditor editor, SyntaxToken nameToken, string propertyName, bool nameChanged,
SignatureHelp\ElementAccessExpressionSignatureHelpProvider.cs (16)
43private static bool TryGetElementAccessExpression(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, SignatureHelpTriggerReason triggerReason, CancellationToken cancellationToken, [NotNullWhen(true)] out ExpressionSyntax? identifier, out SyntaxToken openBrace)
53if (!TryGetElementAccessExpression(root, position, document.GetRequiredLanguageService<ISyntaxFactsService>(), triggerInfo.TriggerReason, cancellationToken, out var expression, out var openBrace))
112private static TextSpan GetTextSpan(ExpressionSyntax expression, SyntaxToken openBracket)
142out var openBracket) ||
220SyntaxToken openToken,
277internal static bool IsTriggerToken(SyntaxToken token)
286internal static bool IsArgumentListToken(ElementAccessExpressionSyntax expression, SyntaxToken token)
292internal static TextSpan GetTextSpan(SyntaxToken openBracket)
299internal static bool TryGetSyntax(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, SignatureHelpTriggerReason triggerReason, CancellationToken cancellationToken, [NotNullWhen(true)] out ExpressionSyntax? identifier, out SyntaxToken openBrace)
320internal static bool IsArgumentListToken(ArrayTypeSyntax node, SyntaxToken token)
326internal static bool IsTriggerToken(SyntaxToken token)
334internal static TextSpan GetTextSpan(SyntaxNode expression, SyntaxToken openBracket)
340internal static bool TryGetSyntax(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, SignatureHelpTriggerReason triggerReason, CancellationToken cancellationToken, [NotNullWhen(true)] out ExpressionSyntax? identifier, out SyntaxToken openBrace)
361internal static bool IsTriggerToken(SyntaxToken token)
371internal static bool IsArgumentListToken(ElementBindingExpressionSyntax expression, SyntaxToken token)
377internal static bool TryGetSyntax(SyntaxNode root, int position, ISyntaxFactsService syntaxFacts, SignatureHelpTriggerReason triggerReason, CancellationToken cancellationToken, [NotNullWhen(true)] out ExpressionSyntax? identifier, out SyntaxToken openBrace)
src\Analyzers\CSharp\Analyzers\AddAccessibilityModifiers\CSharpAddAccessibilityModifiers.cs (1)
26out SyntaxToken name,
src\Analyzers\CSharp\CodeFixes\NewLines\ArrowExpressionClausePlacement\ArrowExpressionClausePlacementCodeFixProvider.cs (1)
67SyntaxToken token,
src\Analyzers\CSharp\CodeFixes\NewLines\ConditionalExpressionPlacement\ConditionalExpressionPlacementCodeFixProvider.cs (1)
68SyntaxToken token,
Structure\CSharpStructureHelpers.cs (17)
25private static int GetCollapsibleStart(SyntaxToken firstToken)
34private static (int spanEnd, int hintEnd) GetCollapsibleEnd(SyntaxToken lastToken, bool compressEmptyLines)
83public static SyntaxToken GetLastInlineMethodBlockToken(SyntaxNode node)
85var lastToken = node.GetLastToken(includeZeroWidth: true);
93var nextToken = lastToken.GetNextToken(includeSkipped: true);
234var startToken = node.GetFirstToken();
235var endToken = GetEndToken(node);
251var hintTextEndToken = GetHintTextEndToken(node);
266static SyntaxToken GetEndToken(SyntaxNode node)
286static SyntaxToken GetHintTextEndToken(SyntaxNode node)
331SyntaxNode node, SyntaxToken syntaxToken, bool compressEmptyLines,
341SyntaxNode node, SyntaxToken startToken,
386SyntaxNode node, SyntaxToken startToken,
387SyntaxToken endToken, bool compressEmptyLines, string bannerText, bool autoCollapse,
410SyntaxNode node, SyntaxToken syntaxToken, bool compressEmptyLines,
424SyntaxNode node, SyntaxToken startToken, SyntaxToken endToken, bool compressEmptyLines,
Rename\CSharpRenameRewriterLanguageService.cs (35)
67private readonly HashSet<SyntaxToken> _annotatedIdentifierTokens = [];
207public override SyntaxToken VisitToken(SyntaxToken token)
211var newToken = base.VisitToken(token);
251private bool IsPropertyAccessorNameConflict(SyntaxToken token)
256private bool IsGetPropertyAccessorNameConflict(SyntaxToken token)
260private bool IsSetPropertyAccessorNameConflict(SyntaxToken token)
264private bool IsInitPropertyAccessorNameConflict(SyntaxToken token)
273private bool IsPossiblyDestructorConflict(SyntaxToken token)
321private SyntaxToken RenameAndAnnotate(SyntaxToken token, SyntaxToken newToken, bool isRenameLocation, bool isOldText)
431var identifierToken = default(SyntaxToken);
513private bool IsRenameLocation(SyntaxToken token)
550private SyntaxToken UpdateAliasAnnotation(SyntaxToken newToken)
560private SyntaxToken RenameToken(SyntaxToken oldToken, SyntaxToken newToken, string? prefix, string? suffix)
631private SyntaxToken RenameInStringLiteral(SyntaxToken oldToken, SyntaxToken newToken, ImmutableSortedSet<TextSpan>? subSpansToReplace, Func<SyntaxTriviaList, string, string, SyntaxTriviaList, SyntaxToken> createNewStringLiteral)
646private SyntaxToken RenameInTrivia(SyntaxToken token, IEnumerable<SyntaxTrivia> leadingOrTrailingTriviaList)
674private SyntaxToken RenameWithinToken(SyntaxToken oldToken, SyntaxToken newToken)
705var newIdentifierToken = SyntaxFactory.Identifier(newToken.LeadingTrivia, _replacementText, newToken.TrailingTrivia);
712var updatedToken = RenameInTrivia(oldToken, oldToken.LeadingTrivia);
721var updatedToken = RenameInTrivia(oldToken, oldToken.TrailingTrivia);
738SyntaxToken token,
1139public override SyntaxNode? GetExpansionTargetForLocation(SyntaxToken token)
1142private static SyntaxNode? GetExpansionTarget(SyntaxToken token)
Simplification\CSharpSimplificationService.cs (10)
77public override SyntaxToken Expand(SyntaxToken token, SemanticModel semanticModel, Func<SyntaxNode, bool>? expandInsideNode, CancellationToken cancellationToken)
95public static SyntaxToken TryEscapeIdentifierToken(SyntaxToken syntaxToken, SyntaxNode parentOfToken)
139var firstRewrittenToken = rewrittenNode.GetFirstToken(true, false, true, true);
140var firstOriginalToken = originalNode.GetFirstToken(true, false, true, true);
149private static bool TryAddLeadingElasticTriviaIfNecessary(SyntaxToken token, SyntaxToken originalToken, out SyntaxToken tokenWithLeadingWhitespace)
158var previousToken = originalToken.GetPreviousToken();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTokenExtensions.cs (32)
20public static void Deconstruct(this SyntaxToken token, out SyntaxKind kind)
23public static bool IsLastTokenOfNode<T>(this SyntaxToken token) where T : SyntaxNode
26public static bool IsLastTokenOfNode<T>(this SyntaxToken token, [NotNullWhen(true)] out T? node) where T : SyntaxNode
39public static bool IsKindOrHasMatchingText(this SyntaxToken token, SyntaxKind kind)
42public static bool HasMatchingText(this SyntaxToken token, SyntaxKind kind)
45public static bool IsOpenBraceOrCommaOfObjectInitializer(this SyntaxToken token)
49public static bool IsOpenBraceOfAccessorList(this SyntaxToken token)
57public static bool CouldBeKeyword(this SyntaxToken token)
75public static bool IsPotentialModifier(this SyntaxToken token, out SyntaxKind modifierKind)
124public static bool IsLiteral(this SyntaxToken token)
140public static bool IntersectsWith(this SyntaxToken token, int position)
143public static SyntaxToken GetPreviousTokenIfTouchingWord(this SyntaxToken token, int position)
150private static bool IsWord(SyntaxToken token)
153public static SyntaxToken GetNextNonZeroWidthTokenOrEndOfFile(this SyntaxToken token)
159public static bool IsFirstTokenOnLine(this SyntaxToken token, SourceText text)
161var previousToken = token.GetPreviousToken(includeSkipped: true, includeDirectives: true, includeDocumentationComments: true);
172public static bool SpansPreprocessorDirective(this IEnumerable<SyntaxToken> tokens)
179public static IEnumerable<SyntaxTrivia> GetAllTrailingTrivia(this SyntaxToken token)
194public static bool IsRegularStringLiteral(this SyntaxToken token)
197public static bool IsValidAttributeTarget(this SyntaxToken token)
217public static SyntaxToken WithCommentsFrom(
218this SyntaxToken token,
227public static SyntaxToken KeepCommentsAndAddElasticMarkers(this SyntaxToken token)
231public static bool TryParseGenericName(this SyntaxToken genericIdentifier, CancellationToken cancellationToken, [NotNullWhen(true)] out GenericNameSyntax? genericName)
235var lastToken = genericIdentifier.FindLastTokenOfPartialGenericName();
255public static SyntaxToken FindLastTokenOfPartialGenericName(this SyntaxToken genericIdentifier)
260var token = genericIdentifier.GetNextToken(includeSkipped: true);
269var next = token.GetNextToken(includeSkipped: true);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTreeExtensions.cs (9)
28var token = tokenOnLeftOfPosition.GetPreviousTokenIfTouchingWord(position);
92public static bool IsRightOfDotOrArrowOrColonColon(this SyntaxTree syntaxTree, int position, SyntaxToken targetToken, CancellationToken cancellationToken)
190var eof = root.EndOfFileToken;
322private static bool AtEndOfIncompleteStringOrCharLiteral(SyntaxToken token, int position, char lastChar, CancellationToken cancellationToken)
393this SyntaxTree syntaxTree, int position, out SyntaxToken stringLiteral, CancellationToken cancellationToken)
395var token = syntaxTree.GetRoot(cancellationToken).FindToken(position, findInsideTrivia: true);
445var token = root.FindToken(position, findInsideTrivia: true);
540public static bool IsPreProcessorKeywordContext(this SyntaxTree syntaxTree, int position, SyntaxToken preProcessorTokenOnLeftOfPosition)
550var token = preProcessorTokenOnLeftOfPosition;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\TriviaRewriter.cs (16)
24private readonly Dictionary<SyntaxToken, SyntaxTriviaList> _trailingTriviaMap = [];
25private readonly Dictionary<SyntaxToken, SyntaxTriviaList> _leadingTriviaMap = [];
30Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map,
47Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map,
69KeyValuePair<ValueTuple<SyntaxToken, SyntaxToken>,
98private TextSpan GetTextSpan(ValueTuple<SyntaxToken, SyntaxToken> pair)
134ValueTuple<SyntaxToken, SyntaxToken> pair,
162public override SyntaxToken VisitToken(SyntaxToken token)
207private static SyntaxToken CreateNewToken(SyntaxTriviaList leadingTrivia, SyntaxToken token, SyntaxTriviaList trailingTrivia)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\BaseFormattingRule.cs (27)
19SyntaxToken startToken,
20SyntaxToken endToken,
34SyntaxToken startToken,
35SyntaxToken endToken,
59SyntaxToken startToken,
60SyntaxToken endToken,
73SyntaxToken startToken,
74SyntaxToken endToken,
87SyntaxToken startToken,
88SyntaxToken endToken,
102SyntaxToken baseToken,
103SyntaxToken startToken,
104SyntaxToken endToken,
112SyntaxToken baseToken,
113SyntaxToken startToken,
114SyntaxToken endToken,
120protected static void AddSuppressWrappingIfOnSingleLineOperation(ArrayBuilder<SuppressOperation> list, SyntaxToken startToken, SyntaxToken endToken, SuppressOption extraOption = SuppressOption.None)
123protected static void AddSuppressAllOperationIfOnMultipleLine(ArrayBuilder<SuppressOperation> list, SyntaxToken startToken, SyntaxToken endToken, SuppressOption extraOption = SuppressOption.None)
126protected static void AddSuppressOperation(ArrayBuilder<SuppressOperation> list, SyntaxToken startToken, SyntaxToken endToken, SuppressOption option)
136protected static void AddAnchorIndentationOperation(List<AnchorIndentationOperation> list, SyntaxToken anchorToken, SyntaxToken endToken)
146protected static void AddAlignIndentationOfTokensToBaseTokenOperation(List<AlignTokensOperation> list, SyntaxNode containingNode, SyntaxToken baseNode, IEnumerable<SyntaxToken> tokens, AlignTokensOption option = AlignTokensOption.AlignIndentationOfTokensToBaseToken)
170var firstTokenOfNode = node.GetFirstToken(includeZeroWidth: true);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (66)
83public SyntaxToken ParseToken(string text)
101public bool IsVerbatimIdentifier(SyntaxToken token)
104public bool IsOperator(SyntaxToken token)
115public bool IsReservedKeyword(SyntaxToken token)
118public bool IsContextualKeyword(SyntaxToken token)
121public bool IsPreprocessorKeyword(SyntaxToken token)
206public void GetPartsOfUsingAliasDirective(SyntaxNode node, out SyntaxToken globalKeyword, out SyntaxToken alias, out SyntaxNode name)
263public bool IsThisConstructorInitializer(SyntaxToken token)
267public bool IsBaseConstructorInitializer(SyntaxToken token)
271public bool IsQueryKeyword(SyntaxToken token)
298public bool IsPredefinedType(SyntaxToken token)
301public bool IsPredefinedType(SyntaxToken token, PredefinedType type)
310public bool TryGetPredefinedType(SyntaxToken token, out PredefinedType type)
316private static PredefinedType GetPredefinedType(SyntaxToken token)
344public bool IsPredefinedOperator(SyntaxToken token)
347public bool IsPredefinedOperator(SyntaxToken token, PredefinedOperator op)
350public bool TryGetPredefinedOperator(SyntaxToken token, out PredefinedOperator op)
356private static PredefinedOperator GetPredefinedOperator(SyntaxToken token)
452var token = SyntaxFactory.ParseToken(identifier);
458var token = SyntaxFactory.ParseToken(identifier);
467public bool IsLiteral(SyntaxToken token)
495public bool IsStringLiteralOrInterpolatedStringLiteral(SyntaxToken token)
498public bool IsBindableToken(SemanticModel? semanticModel, SyntaxToken token)
808var identifier = ((IdentifierNameSyntax)node).Identifier;
825var nameToken = memberDeclaration.GetNameToken();
858var nameToken = fieldDeclarator.Identifier;
929public SyntaxNode? TryGetBindableParent(SyntaxToken token)
1118public bool IsVerbatimStringLiteral(SyntaxToken token)
1121public bool IsRawStringLiteral(SyntaxToken token)
1128public bool IsNumericLiteral(SyntaxToken token)
1231SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right)
1238SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right)
1256public SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node)
1259public SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node)
1262public SyntaxToken GetIdentifierOfTypeDeclaration(SyntaxNode node)
1274public bool AreEquivalent(SyntaxToken token1, SyntaxToken token2)
1290out SyntaxToken openParen, out SeparatedSyntaxList<TArgumentSyntax> arguments, out SyntaxToken closeParen) where TArgumentSyntax : SyntaxNode
1307public bool ContainsInterleavedDirective(TextSpan span, SyntaxToken token, CancellationToken cancellationToken)
1348public SyntaxToken? GetDeclarationIdentifierIfOverride(SyntaxToken token)
1382public void GetPartsOfIsPatternExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken isToken, out SyntaxNode right)
1425public void GetPartsOfParenthesizedPattern(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode pattern, out SyntaxToken closeParen)
1433public void GetPartsOfBinaryPattern(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right)
1441public void GetPartsOfUnaryPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode pattern)
1448public void GetPartsOfRelationalPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode expression)
1516public void GetPartsOfAliasQualifiedName(SyntaxNode node, out SyntaxNode alias, out SyntaxToken colonColonToken, out SyntaxNode name)
1524public void GetPartsOfArgumentList(SyntaxNode node, out SyntaxToken openParenToken, out SeparatedSyntaxList<SyntaxNode> arguments, out SyntaxToken closeParenToken)
1546public void GetPartsOfBinaryExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right)
1563SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode whenNotNull)
1585public void GetPartsOfGenericName(SyntaxNode node, out SyntaxToken identifier, out SeparatedSyntaxList<SyntaxNode> typeArguments)
1593out SyntaxToken stringStartToken, out SyntaxList<SyntaxNode> contents, out SyntaxToken stringEndToken)
1608public void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode name)
1631public void GetPartsOfObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode type, out SyntaxNode? argumentList, out SyntaxNode? initializer)
1640public void GetPartsOfImplicitObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode argumentList, out SyntaxNode? initializer)
1648public void GetPartsOfParameter(SyntaxNode node, out SyntaxToken identifier, out SyntaxNode? @default)
1656SyntaxNode node, out SyntaxToken openParen, out SyntaxNode expression, out SyntaxToken closeParen)
1664public void GetPartsOfPrefixUnaryExpression(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode operand)
1671public void GetPartsOfQualifiedName(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right)
1704public SyntaxToken GetTokenOfLiteralExpression(SyntaxNode node)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (38)
20public static ValueTuple<SyntaxToken, SyntaxToken>? FindAppropriateRange(SyntaxToken endToken, bool useDefaultRange = true)
27private static ValueTuple<SyntaxToken, SyntaxToken>? FixupOpenBrace(ValueTuple<SyntaxToken, SyntaxToken>? tokenRange)
37var currentToken = tokenRange.Value.Item1;
38var previousToken = currentToken.GetPreviousToken();
55private static ValueTuple<SyntaxToken, SyntaxToken>? FindAppropriateRangeWorker(SyntaxToken endToken, bool useDefaultRange)
112private static ValueTuple<SyntaxToken, SyntaxToken>? FindAppropriateRangeForSemicolon(SyntaxToken endToken)
168private static ValueTuple<SyntaxToken, SyntaxToken>? FindAppropriateRangeForCloseBrace(SyntaxToken endToken)
215var firstTokenOfInnerBlock = parent.GetFirstToken();
216var lastTokenOfInnerBlock = parent.GetLastToken();
250var firstTokenOfInnerBlock = parent.GetFirstToken();
251var lastTokenOfInnerBlock = parent.GetLastToken();
268private static ValueTuple<SyntaxToken, SyntaxToken>? FindAppropriateRangeForColon(SyntaxToken endToken)
285private static SyntaxToken GetPreviousTokenIfNotFirstTokenInTree(SyntaxToken token)
287var previousToken = token.GetPreviousToken();
291public static bool AreTwoTokensOnSameLine(SyntaxToken token1, SyntaxToken token2)
307private static SyntaxToken GetAppropriatePreviousToken(SyntaxToken startToken, bool canTokenBeFirstInABlock = false)
309var previousToken = startToken.GetPreviousToken();
345private static bool IsOpenBraceTokenOfABlockOrTypeOrNamespace(SyntaxToken previousToken)
406public static bool IsColonInSwitchLabel(SyntaxToken token)
413public static bool InBetweenTwoMembers(SyntaxToken previousToken, SyntaxToken currentToken)
433public static MemberDeclarationSyntax? GetEnclosingMember(SyntaxToken token)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseExplicitTypeHelper.cs (1)
137SyntaxToken identifier,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
254SyntaxToken identifier,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\TypeParameterGenerator.cs (1)
29var varianceKeyword =
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (94)
88var token = tokenOnLeftOfPosition.GetPreviousTokenIfTouchingWord(position);
137this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
156var originalToken = tokenOnLeftOfPosition;
157var token = originalToken;
355var token = leftToken.GetPreviousTokenIfTouchingWord(position);
368this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
409var originalToken = tokenOnLeftOfPosition;
410var token = originalToken;
417var nextToken = originalToken.GetNextToken(includeSkipped: true);
626var token = syntaxTree.FindTokenOnLeftOfPosition(position, cancellationToken)
673var token = syntaxTree.FindTokenOnLeftOfPosition(position, cancellationToken)
689var token = syntaxTree.FindTokenOnLeftOfPosition(position, cancellationToken)
842this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
847var token = tokenOnLeftOfPosition;
860public static bool IsTypeParameterConstraintContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
867var token = tokenOnLeftOfPosition;
891public static bool IsTypeOfExpressionContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
893var token = tokenOnLeftOfPosition.GetPreviousTokenIfTouchingWord(position);
903public static bool IsDefaultExpressionContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
905var token = tokenOnLeftOfPosition.GetPreviousTokenIfTouchingWord(position);
916this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
918var token = tokenOnLeftOfPosition.GetPreviousTokenIfTouchingWord(position);
931SyntaxToken tokenOnLeftOfPosition,
934var token = tokenOnLeftOfPosition;
954public static bool IsGenericConstraintContext(this SyntaxTree syntaxTree, SyntaxToken targetToken)
961SyntaxToken tokenOnLeftOfPosition,
969var token = tokenOnLeftOfPosition;
983if (!syntaxTree.IsInPartiallyWrittenGeneric(position, cancellationToken, out var nameToken))
1049SyntaxToken tokenOnLeftOfPosition,
1058var token = tokenOnLeftOfPosition.GetPreviousTokenIfTouchingWord(position);
1139SyntaxToken tokenOnLeftOfPosition,
1153var token = tokenOnLeftOfPosition;
1165this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1167var token = tokenOnLeftOfPosition;
1180this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1182var token = tokenOnLeftOfPosition;
1194public static bool IsParameterTypeContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1196var token = tokenOnLeftOfPosition.GetPreviousTokenIfTouchingWord(position);
1211public static bool IsPossibleExtensionMethodContext(this SyntaxTree syntaxTree, SyntaxToken tokenOnLeftOfPosition)
1223this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
1225var token = tokenOnLeftOfPosition;
1255this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1257var token = tokenOnLeftOfPosition;
1282this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
1284var token = tokenOnLeftOfPosition;
1307public static bool IsPossibleTupleContext(this SyntaxTree syntaxTree, SyntaxToken leftToken, int position)
1327var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent);
1339var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent!);
1352var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent.Parent);
1362public static bool IsAtStartOfPattern(this SyntaxTree syntaxTree, SyntaxToken leftToken, int position)
1456public static bool IsAtEndOfPattern(this SyntaxTree syntaxTree, SyntaxToken leftToken, int position)
1458var originalLeftToken = leftToken;
1541static bool IsAtEndOfSwitchStatementPattern(SyntaxToken leftToken)
1563private static SyntaxToken FindTokenOnLeftOfNode(SyntaxNode node)
1566public static bool IsPossibleTupleOpenParenOrComma(this SyntaxToken possibleCommaOrParen)
1689private static bool IsPossibleVarDeconstructionOpenParenOrComma(SyntaxToken leftToken)
1711SyntaxToken tokenOnLeftOfPosition,
1734var token = tokenOnLeftOfPosition;
1749this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1751var token = tokenOnLeftOfPosition;
1766this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
1782var token = tokenOnLeftOfPosition.GetPreviousTokenIfTouchingWord(position);
1831var previous = token.GetPreviousToken(includeSkipped: true);
1880this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1885var token = tokenOnLeftOfPosition;
1914public static bool IsIsOrAsTypeContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
1916var token = tokenOnLeftOfPosition;
1926this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
1928var token = tokenOnLeftOfPosition.GetPreviousTokenIfTouchingWord(position);
1944private static bool IsNonConstantExpressionContext(SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
1958public static bool IsStatementContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
1970var token = tokenOnLeftOfPosition;
1981var token = syntaxTree.FindTokenOnLeftOfPosition(position, cancellationToken)
1999public static bool IsInstanceContext(this SyntaxTree syntaxTree, SyntaxToken targetToken, SemanticModel semanticModel, CancellationToken cancellationToken)
2030this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition, CancellationToken cancellationToken)
2032var token = tokenOnLeftOfPosition.GetPreviousTokenIfTouchingWord(position);
2043public static bool IsDefiniteCastTypeContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
2045var token = tokenOnLeftOfPosition;
2058SyntaxToken tokenOnLeftOfPosition)
2065var token = tokenOnLeftOfPosition.GetPreviousTokenIfTouchingWord(position);
2165SyntaxToken tokenOnLeftOfPosition,
2175var token = tokenOnLeftOfPosition.GetPreviousTokenIfTouchingWord(position);
2342var previousToken = tokenOnLeftOfPosition.GetPreviousToken(includeSkipped: true);
2737public static bool IsInvocationOfVarExpression(this SyntaxToken token)
2811SyntaxToken tokenOnLeftOfPosition,
2817var token = tokenOnLeftOfPosition;
2928this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
2945var token = tokenOnLeftOfPosition;
2963public static bool IsCatchFilterContext(this SyntaxTree syntaxTree, int position, SyntaxToken tokenOnLeftOfPosition)
2971var token = tokenOnLeftOfPosition;
2988public static bool IsBaseListContext(this SyntaxTree syntaxTree, SyntaxToken targetToken)
3001public static bool IsEnumBaseListContext(this SyntaxTree syntaxTree, SyntaxToken targetToken)
3015var token = syntaxTree
3068public static bool IsFunctionPointerCallingConventionContext(this SyntaxTree syntaxTree, SyntaxToken targetToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (14)
21protected override bool ShouldUseTokenIndenter(Indenter indenter, out SyntaxToken syntaxToken)
33protected override IndentationResult? GetDesiredIndentationWorker(Indenter indenter, SyntaxToken? tokenOpt, SyntaxTrivia? triviaOpt)
63private static IndentationResult? TryGetDesiredIndentation(Indenter indenter, SyntaxToken? tokenOpt)
71private static IndentationResult GetIndentationBasedOnToken(Indenter indenter, SyntaxToken token)
318private static IndentationResult GetIndentationFromCommaSeparatedList(Indenter indenter, SyntaxToken token)
331Indenter indenter, SeparatedSyntaxList<T> list, SyntaxToken token) where T : SyntaxNode
345var firstToken = node.GetFirstToken(includeZeroWidth: true);
358private static IndentationResult GetDefaultIndentationFromToken(Indenter indenter, SyntaxToken token)
368private static IndentationResult GetIndentationForQueryExpression(Indenter indenter, SyntaxToken token)
380var firstToken = queryExpressionClause.GetFirstToken(includeZeroWidth: true);
415var clauseToken = clause.GetFirstToken(includeZeroWidth: true);
427private static SyntaxNode? GetQueryExpressionClause(SyntaxToken token)
453private static bool IsPartOfQueryExpression(SyntaxToken token)
460Indenter indenter, SyntaxToken token, int? additionalSpace = null)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (1)
76var discardToken = Identifier(
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpSyntaxGeneratorInternal.cs (11)
52public override SyntaxNode LocalDeclarationStatement(SyntaxNode? type, SyntaxToken name, SyntaxNode? initializer, bool isConst)
62public override SyntaxNode EqualsValueClause(SyntaxToken operatorToken, SyntaxNode value)
65internal static VariableDeclarationSyntax VariableDeclaration(SyntaxNode? type, SyntaxToken name, SyntaxNode? expression)
74public override SyntaxToken Identifier(string identifier)
106public override SyntaxNode InterpolatedStringExpression(SyntaxToken startToken, IEnumerable<SyntaxNode> content, SyntaxToken endToken)
109public override SyntaxNode InterpolatedStringText(SyntaxToken textToken)
112public override SyntaxToken InterpolatedStringTextToken(string content, string value)
140using var _ = ArrayBuilder<SyntaxToken>.GetInstance(out var result);
198public override SyntaxNode IsPatternExpression(SyntaxNode expression, SyntaxToken isKeyword, SyntaxNode pattern)
239public override SyntaxNode UnaryPattern(SyntaxToken operatorToken, SyntaxNode pattern)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (52)
51private static bool DecomposeBinaryOrAssignmentExpression(SyntaxNode node, out SyntaxToken operatorToken, out ExpressionSyntax left, out ExpressionSyntax right)
77out var operatorToken, out var left, out var right))
256private IEnumerable<TypeInferenceInfo> InferTypeInAnonymousObjectCreation(AnonymousObjectCreationExpressionSyntax expression, SyntaxToken previousToken)
267ArgumentSyntax argument, SyntaxToken? previousToken = null)
340TupleExpressionSyntax tupleExpression, SyntaxToken previousToken)
367private IEnumerable<TypeInferenceInfo> InferTypeInAttributeArgument(AttributeArgumentSyntax argument, SyntaxToken? previousToken = null)
395private IEnumerable<TypeInferenceInfo> InferTypeInObjectCreationExpression(BaseObjectCreationExpressionSyntax expression, SyntaxToken previousToken)
510private IEnumerable<TypeInferenceInfo> InferTypeInArgumentList(ArgumentListSyntax argumentList, SyntaxToken previousToken)
540private IEnumerable<TypeInferenceInfo> InferTypeInAttributeArgumentList(AttributeArgumentListSyntax attributeArgumentList, SyntaxToken previousToken)
809ArrayCreationExpressionSyntax arrayCreationExpression, SyntaxToken? previousToken = null)
836private IEnumerable<TypeInferenceInfo> InferTypeInArrayRankSpecifier(ArrayRankSpecifierSyntax arrayRankSpecifier, SyntaxToken? previousToken = null)
846private IEnumerable<TypeInferenceInfo> InferTypeInArrayType(ArrayTypeSyntax arrayType, SyntaxToken? previousToken = null)
869private IEnumerable<TypeInferenceInfo> InferTypeInAttributeDeclaration(AttributeListSyntax attributeDeclaration, SyntaxToken? previousToken)
880SyntaxToken? previousToken)
889private IEnumerable<TypeInferenceInfo> InferTypeInBracketedArgumentList(BracketedArgumentListSyntax bracketedArgumentList, SyntaxToken previousToken)
905private static int GetArgumentListIndex(BaseArgumentListSyntax argumentList, SyntaxToken previousToken)
924private static int GetArgumentListIndex(AttributeArgumentListSyntax attributeArgumentList, SyntaxToken previousToken)
943private IEnumerable<TypeInferenceInfo> InferTypeInBinaryOrAssignmentExpression(ExpressionSyntax binop, SyntaxToken operatorToken, ExpressionSyntax left, ExpressionSyntax right, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null)
1078private IEnumerable<TypeInferenceInfo> InferTypeInCastExpression(CastExpressionSyntax castExpression, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null)
1090private IEnumerable<TypeInferenceInfo> InferTypeInCatchDeclaration(CatchDeclarationSyntax catchDeclaration, SyntaxToken? previousToken = null)
1099private IEnumerable<TypeInferenceInfo> InferTypeInCatchFilterClause(CatchFilterClauseSyntax catchFilterClause, SyntaxToken? previousToken = null)
1111SyntaxToken? previousToken = null)
1165private IEnumerable<TypeInferenceInfo> InferTypeInConditionalExpression(ConditionalExpressionSyntax conditional, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null)
1198private IEnumerable<TypeInferenceInfo> InferTypeInDoStatement(DoStatementSyntax doStatement, SyntaxToken? previousToken = null)
1207private IEnumerable<TypeInferenceInfo> InferTypeInEqualsValueClause(EqualsValueClauseSyntax equalsValue, SyntaxToken? previousToken = null)
1236private IEnumerable<TypeInferenceInfo> InferTypeInExpressionStatement(SyntaxToken? previousToken = null)
1246private IEnumerable<TypeInferenceInfo> InferTypeInForEachStatement(ForEachStatementSyntax forEachStatementSyntax, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null)
1273private IEnumerable<TypeInferenceInfo> InferTypeInForStatement(ForStatementSyntax forStatement, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null)
1285private IEnumerable<TypeInferenceInfo> InferTypeInIfStatement(IfStatementSyntax ifStatement, SyntaxToken? previousToken = null)
1300SyntaxToken? previousToken = null)
1502var identifier = singleVariableDesignation.Identifier;
1594private IEnumerable<TypeInferenceInfo> InferTypeInLockStatement(LockStatementSyntax lockStatement, SyntaxToken? previousToken = null)
1603private IEnumerable<TypeInferenceInfo> InferTypeInLambdaExpression(LambdaExpressionSyntax lambdaExpression, SyntaxToken? previousToken = null)
1632private IEnumerable<TypeInferenceInfo> InferTypeInMemberDeclarator(AnonymousObjectMemberDeclaratorSyntax memberDeclarator, SyntaxToken? previousTokenOpt = null)
1651private IEnumerable<TypeInferenceInfo> InferTypeInNameColon(NameColonSyntax nameColon, SyntaxToken previousToken)
1667private IEnumerable<TypeInferenceInfo> InferTypeInExpressionColon(ExpressionColonSyntax expressionColon, SyntaxToken previousToken)
1685SyntaxToken? previousToken = null)
1868private IEnumerable<TypeInferenceInfo> InferTypeInNameEquals(NameEqualsSyntax nameEquals, SyntaxToken? previousToken = null)
1886private IEnumerable<TypeInferenceInfo> InferTypeInPostfixUnaryExpression(PostfixUnaryExpressionSyntax postfixUnaryExpressionSyntax, SyntaxToken? previousToken = null)
1902private IEnumerable<TypeInferenceInfo> InferTypeInPrefixUnaryExpression(PrefixUnaryExpressionSyntax prefixUnaryExpression, SyntaxToken? previousToken = null)
1958private IEnumerable<TypeInferenceInfo> InferTypeInAwaitExpression(AwaitExpressionSyntax awaitExpression, SyntaxToken? previousToken = null)
1980private IEnumerable<TypeInferenceInfo> InferTypeInYieldStatement(YieldStatementSyntax yieldStatement, SyntaxToken? previousToken = null)
2021ReturnStatementSyntax returnStatement, SyntaxToken? previousToken = null)
2099private IEnumerable<TypeInferenceInfo> InferTypeInSwitchExpression(SwitchExpressionSyntax switchExpression, SyntaxToken token)
2108SwitchLabelSyntax switchLabel, SyntaxToken? previousToken = null)
2124SwitchStatementSyntax switchStatement, SyntaxToken? previousToken = null)
2144private IEnumerable<TypeInferenceInfo> InferTypeInThrowExpression(ThrowExpressionSyntax throwExpression, SyntaxToken? previousToken = null)
2153private IEnumerable<TypeInferenceInfo> InferTypeInThrowStatement(ThrowStatementSyntax throwStatement, SyntaxToken? previousToken = null)
2162private IEnumerable<TypeInferenceInfo> InferTypeInUsingStatement(UsingStatementSyntax usingStatement, SyntaxToken? previousToken = null)
2367private IEnumerable<TypeInferenceInfo> InferTypeInWhenClause(WhenClauseSyntax whenClause, SyntaxToken? previousToken = null)
2376private IEnumerable<TypeInferenceInfo> InferTypeInWhileStatement(WhileStatementSyntax whileStatement, SyntaxToken? previousToken = null)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Utilities\CSharpSimplificationHelpers.cs (9)
15public static SyntaxToken TryEscapeIdentifierToken(SyntaxToken syntaxToken, SyntaxNode parentOfToken)
59var firstRewrittenToken = rewrittenNode.GetFirstToken(true, false, true, true);
60var firstOriginalToken = originalNode.GetFirstToken(true, false, true, true);
61if (TryAddLeadingElasticTriviaIfNecessary(firstRewrittenToken, firstOriginalToken, out var rewrittenTokenWithLeadingElasticTrivia))
69public static bool TryAddLeadingElasticTriviaIfNecessary(SyntaxToken token, SyntaxToken originalToken, out SyntaxToken tokenWithLeadingWhitespace)
78var previousToken = originalToken.GetPreviousToken();
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.RemoveSuppressionCodeAction_Pragma.cs (18)
87SyntaxToken getNewStartToken(SyntaxToken startToken, TextSpan currentDiagnosticSpan) => includeStartTokenChange
91SyntaxToken getNewEndToken(SyntaxToken endToken, TextSpan currentDiagnosticSpan) => includeEndTokenChange
104private static SyntaxTriviaList GetTriviaListForSuppression(SyntaxToken token, bool isStartToken, AbstractSuppressionCodeFixProvider fixer)
111private static SyntaxToken UpdateTriviaList(SyntaxToken token, bool isStartToken, SyntaxTriviaList triviaList, AbstractSuppressionCodeFixProvider fixer)
118private static bool CanRemovePragmaTrivia(SyntaxToken token, Diagnostic diagnostic, AbstractSuppressionCodeFixProvider fixer, bool isStartToken, out int indexOfTriviaToRemove)
158private SyntaxToken GetNewTokenWithModifiedPragma(SyntaxToken token, TextSpan currentDiagnosticSpan, bool add, bool toggle, int indexOfTriviaToRemoveOrToggle, bool isStartToken, CancellationToken cancellationToken)
165private SyntaxToken GetNewTokenWithAddedPragma(SyntaxToken token, TextSpan currentDiagnosticSpan, bool isStartToken, CancellationToken cancellationToken)
177private SyntaxToken GetNewTokenWithRemovedOrToggledPragma(SyntaxToken token, int indexOfTriviaToRemoveOrToggle, bool isStartToken, bool toggle)
180private static SyntaxToken GetNewTokenWithPragmaUnsuppress(SyntaxToken token, int indexOfTriviaToRemoveOrToggle, AbstractSuppressionCodeFixProvider fixer, bool isStartToken, bool toggle)
217public SyntaxToken StartToken_TestOnly => _suppressionTargetInfo.StartToken;
218public SyntaxToken EndToken_TestOnly => _suppressionTargetInfo.EndToken;
Completion\Providers\AbstractPartialMethodCompletionProvider.cs (4)
36protected abstract bool IsPartialMethodCompletionContext(SyntaxTree tree, int position, CancellationToken cancellationToken, out DeclarationModifiers modifiers, out SyntaxToken token);
47if (!IsPartialMethodCompletionContext(tree, position, cancellationToken, out var modifiers, out var token))
83Document document, int position, TextSpan span, DeclarationModifiers modifiers, SyntaxToken token, CancellationToken cancellationToken)
105private CompletionItem CreateItem(IMethodSymbol method, int line, TextSpan span, SemanticModel semanticModel, DeclarationModifiers modifiers, SyntaxToken token)
ConvertForToForEach\AbstractConvertForToForEachCodeRefactoringProvider.cs (7)
43out SyntaxToken iterationVariable,
50TForStatementSyntax currentFor, TTypeNode? typeNode, SyntaxToken foreachIdentifier,
61out var iterationVariable, out var initializer, out var memberAccess, out var stepValueExpressionOpt, cancellationToken))
312SyntaxToken iterationVariable,
363var foreachIdentifierReference = foreachIdentifier.WithoutAnnotations(RenameAnnotation.Kind).WithoutTrivia();
385(TTypeNode?, SyntaxToken, TStatementSyntax) TryDeconstructInitialDeclaration()
479var replacementToken = foreachIdentifierReference;
DocumentationComments\AbstractDocumentationCommentSnippetService.cs (11)
27protected abstract SyntaxToken GetTokenToRight(SyntaxTree syntaxTree, int position, CancellationToken cancellationToken);
28protected abstract SyntaxToken GetTokenToLeft(SyntaxTree syntaxTree, int position, CancellationToken cancellationToken);
29protected abstract bool IsDocCommentNewLine(SyntaxToken token);
35protected abstract bool HasSkippedTrailingTrivia(SyntaxToken token);
85var token = syntaxTree.GetRoot(cancellationToken).FindToken(position, findInsideTrivia: true);
110private List<string>? GetDocumentationCommentLines(SyntaxToken token, SourceText text, in DocumentationCommentOptions options, out string? indentText, out int caretOffset, out int spanToReplaceLength)
141private List<string>? GetDocumentationCommentLinesNoIndentation(SyntaxToken token, SourceText text, in DocumentationCommentOptions options, out int caretOffset, out int spanToReplaceLength, out string? indentText)
158private List<string>? GetDocumentationStubLines(SyntaxToken token, SourceText text, in DocumentationCommentOptions options, out int caretOffset, out int spanToReplaceLength, out string? existingCommentText)
291var token = GetTokenToLeft(syntaxTree, position, cancellationToken);
338var token = targetMember.GetFirstToken();
377var token = GetTokenToLeft(syntaxTree, position, cancellationToken);
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (14)
122protected abstract bool TryGetEnclosingBreakpointSpan(SyntaxToken token, out TextSpan span);
162protected abstract bool AreEquivalentImpl(SyntaxToken oldToken, SyntaxToken newToken);
167private bool AreEquivalent(SyntaxToken oldToken, SyntaxToken newToken)
435internal abstract Func<SyntaxNode, IEnumerable<SyntaxToken>> DescendantTokensIgnoringLambdaBodies { get; }
436internal abstract Func<SyntaxToken, SyntaxToken, bool> AreTokensEquivalent { get; }
2110var lastNewToken = default(SyntaxToken);
2116var currentSegment = (path: (string?)null, oldStartLine: 0, delta: 0, firstOldToken: default(SyntaxToken), firstNewToken: default(SyntaxToken));
2124var oldToken = currentSegment.firstOldToken;
2125var newToken = currentSegment.firstNewToken;
EmbeddedLanguages\AbstractLanguageDetector.cs (4)
30protected abstract bool IsArgumentToWellKnownAPI(SyntaxToken token, SyntaxNode argumentNode, SemanticModel semanticModel, CancellationToken cancellationToken, out TOptions options);
40protected virtual bool IsEmbeddedLanguageInterpolatedStringTextToken(SyntaxToken token, SemanticModel semanticModel, CancellationToken cancellationToken)
51SyntaxToken token,
97private bool IsEmbeddedLanguageStringLiteralToken(SyntaxToken token, SemanticModel semanticModel, CancellationToken cancellationToken, out TOptions options)
EmbeddedLanguages\RegularExpressions\LanguageServices\AbstractRegexDiagnosticAnalyzer.cs (1)
80SyntaxToken token,
EmbeddedLanguages\RegularExpressions\LanguageServices\RegexLanguageDetector.cs (1)
73SyntaxToken token,
ExtractMethod\AbstractSyntaxTriviaService.cs (16)
50IEnumerable<SyntaxToken> oldTokens,
51Func<SyntaxToken, SyntaxToken, SyntaxToken> computeReplacementToken)
68private static Dictionary<SyntaxToken, SyntaxToken> CreateOldToNewTokensMap(
69Dictionary<TriviaLocation, SyntaxToken> tokens,
72var token = default(SyntaxToken);
73var map = new Dictionary<SyntaxToken, SyntaxToken>();
91private static Dictionary<TriviaLocation, IEnumerable<SyntaxTrivia>> GetTriviaAtEdges(Dictionary<TriviaLocation, SyntaxToken> tokens, TextSpan textSpan)
107private static Dictionary<TriviaLocation, SyntaxToken> GetTokensAtEdges(SyntaxNode root, TextSpan textSpan)
109var tokens = new Dictionary<TriviaLocation, SyntaxToken>
120SyntaxToken token1,
121SyntaxToken token2,
ExtractMethod\AbstractSyntaxTriviaService.Result.cs (14)
55private static Dictionary<SyntaxToken, SyntaxToken> CreateOldToNewTokensMap(
59var map = new Dictionary<SyntaxToken, SyntaxToken>();
100private Dictionary<TriviaLocation, SyntaxToken> RecoverTokensAtEdges(
122private Dictionary<SyntaxToken, SyntaxToken> CreateOldToNewTokensMap(
123Dictionary<TriviaLocation, SyntaxToken> tokens,
173private Dictionary<SyntaxToken, LeadingTrailingTriviaPair> CreateTokenLeadingTrailingTriviaMap(
174Dictionary<TriviaLocation, SyntaxToken> tokens)
177var map = new Dictionary<SyntaxToken, LeadingTrailingTriviaPair>();
211Dictionary<TriviaLocation, SyntaxToken> tokens)
259private static SyntaxToken ResolveAnnotation(
270Dictionary<SyntaxToken, LeadingTrailingTriviaPair> triviaMap)
ExtractMethod\MethodExtractor.Analyzer.cs (9)
220MultiDictionary<ISymbol, SyntaxToken> symbolMap,
282private MultiDictionary<ISymbol, SyntaxToken> GetSymbolMap()
284var symbolMap = new MultiDictionary<ISymbol, SyntaxToken>();
403MultiDictionary<ISymbol, SyntaxToken> symbolMap,
589MultiDictionary<ISymbol, SyntaxToken> symbolMap,
644MultiDictionary<ISymbol, SyntaxToken> symbolMap, ISymbol symbol, bool writtenInside)
777private void AppendMethodTypeParameterUsedDirectly(MultiDictionary<ISymbol, SyntaxToken> symbolMap, IDictionary<int, ITypeParameterSymbol> sortedMap)
785MultiDictionary<ISymbol, SyntaxToken> symbolMap,
869private OperationStatus CheckReadOnlyFields(MultiDictionary<ISymbol, SyntaxToken> symbolMap)
QuickInfo\CommonSemanticQuickInfoProvider.cs (16)
24QuickInfoContext context, SyntaxToken token)
39CommonQuickInfoContext context, SyntaxToken token)
52SyntaxToken token)
69SyntaxToken token,
99var linkedToken = FindTokenInLinkedDocument(token, linkedModel, cancellationToken);
138private static SyntaxToken FindTokenInLinkedDocument(
139SyntaxToken token,
148var linkedToken = root.FindToken(token.SpanStart);
157SyntaxToken token,
182protected abstract bool GetBindableNodeForTokenIndicatingLambda(SyntaxToken token, [NotNullWhen(returnValue: true)] out SyntaxNode? found);
183protected abstract bool GetBindableNodeForTokenIndicatingPossibleIndexerAccess(SyntaxToken token, [NotNullWhen(returnValue: true)] out SyntaxNode? found);
184protected abstract bool GetBindableNodeForTokenIndicatingMemberAccess(SyntaxToken token, out SyntaxToken found);
192SolutionServices services, SemanticModel semanticModel, SyntaxToken token, CancellationToken cancellationToken)
245private ImmutableArray<ISymbol> GetSymbolsFromToken(SyntaxToken token, SolutionServices services, SemanticModel semanticModel, CancellationToken cancellationToken)
262if (GetBindableNodeForTokenIndicatingMemberAccess(token, out var accessedMember))
SignatureHelp\CommonSignatureHelpUtilities.cs (12)
26Func<TArgumentList, SyntaxToken> getOpenToken,
27Func<TArgumentList, SyntaxToken> getCloseToken,
50Func<TArgumentList, SyntaxToken> getOpenToken,
51Func<TArgumentList, SyntaxToken> getCloseToken,
59var closeToken = getCloseToken(argumentList);
74Func<TArgumentList, SyntaxToken> getCloseToken)
83Func<TArgumentList, SyntaxToken> getCloseToken)
86var closeToken = getCloseToken(argumentList);
93var lastToken = argumentList.GetLastToken();
94var nextToken = lastToken.GetNextToken();
108Func<SyntaxToken, bool> isTriggerToken,
109Func<TSyntax, SyntaxToken, bool> isArgumentListToken,
SpellCheck\AbstractSpellCheckCodeFixProvider.cs (10)
32protected abstract bool IsGeneric(SyntaxToken nameToken);
35protected abstract SyntaxToken CreateIdentifier(SyntaxToken nameToken, string newName);
55var token = syntaxRoot.FindToken(span.Start);
75var token = name.GetFirstToken();
89private async Task CheckTokenAsync(CodeFixContext context, Document document, SyntaxToken token, CancellationToken cancellationToken)
108CodeFixContext context, SyntaxToken nameToken, bool isGeneric, CancellationToken cancellationToken)
146CodeFixContext context, SyntaxToken nameToken, bool isGeneric,
211private CodeAction CreateCodeAction(SyntaxToken nameToken, string oldName, string newName, Document document)
220private async Task<Document> UpdateAsync(Document document, SyntaxToken nameToken, string newName, CancellationToken cancellationToken)
src\Analyzers\Core\Analyzers\AddAccessibilityModifiers\IAddAccessibilityModifiersService.cs (1)
21out SyntaxToken name,
src\Analyzers\Core\CodeFixes\GenerateConstructor\AbstractGenerateConstructorService.cs (5)
33protected abstract bool TryInitializeImplicitObjectCreation(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn);
34protected abstract bool TryInitializeSimpleNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn);
35protected abstract bool TryInitializeConstructorInitializerGeneration(SemanticDocument document, SyntaxNode constructorInitializer, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn);
36protected abstract bool TryInitializeSimpleAttributeNameGenerationState(SemanticDocument document, SyntaxNode simpleName, CancellationToken cancellationToken, out SyntaxToken token, out ImmutableArray<Argument<TExpressionSyntax>> arguments, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn);
43protected abstract IMethodSymbol? GetCurrentConstructor(SemanticModel semanticModel, SyntaxToken token, CancellationToken cancellationToken);
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateConversionService.cs (2)
24protected abstract bool TryInitializeImplicitConversionState(SemanticDocument document, SyntaxNode expression, ISet<TypeKind> classInterfaceModuleStructTypes, CancellationToken cancellationToken, out SyntaxToken identifierToken, [NotNullWhen(true)] out IMethodSymbol? methodSymbol, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn);
25protected abstract bool TryInitializeExplicitConversionState(SemanticDocument document, SyntaxNode expression, ISet<TypeKind> classInterfaceModuleStructTypes, CancellationToken cancellationToken, out SyntaxToken identifierToken, [NotNullWhen(true)] out IMethodSymbol? methodSymbol, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn);
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\AbstractGenerateMethodService.cs (2)
24protected abstract bool TryInitializeExplicitInterfaceState(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken, out SyntaxToken identifierToken, [NotNullWhen(true)] out IMethodSymbol? methodSymbol, [NotNullWhen(true)] out INamedTypeSymbol? typeToGenerateIn);
25protected abstract bool TryInitializeSimpleNameState(SemanticDocument document, TSimpleNameSyntax simpleName, CancellationToken cancellationToken, out SyntaxToken identifierToken, [NotNullWhen(true)] out TExpressionSyntax? simpleNameOrMemberAccessExpression, out TInvocationExpressionSyntax? invocationExpressionOpt, out bool isInConditionalExpression);
src\Analyzers\Core\CodeFixes\GenerateVariable\AbstractGenerateVariableService.cs (3)
27protected abstract bool TryInitializeExplicitInterfaceState(SemanticDocument document, SyntaxNode node, CancellationToken cancellationToken, out SyntaxToken identifierToken, out IPropertySymbol propertySymbol, out INamedTypeSymbol typeToGenerateIn);
28protected abstract bool TryInitializeIdentifierNameState(SemanticDocument document, TSimpleNameSyntax identifierName, CancellationToken cancellationToken, out SyntaxToken identifierToken, out TExpressionSyntax simpleNameOrMemberAccessExpression, out bool isInExecutableBlock, out bool isinConditionalAccessExpression);
30protected abstract bool TryConvertToLocalDeclaration(ITypeSymbol type, SyntaxToken identifierToken, SemanticModel semanticModel, CancellationToken cancellationToken, out SyntaxNode newRoot);
src\Analyzers\Core\CodeFixes\ImplementAbstractClass\ImplementAbstractClassData.cs (4)
33Document document, ImplementTypeOptions options, SyntaxNode classNode, SyntaxToken classIdentifier,
40private readonly SyntaxToken _classIdentifier = classIdentifier;
47Document document, SyntaxNode classNode, SyntaxToken classIdentifier, CancellationToken cancellationToken)
79Document document, SyntaxNode classNode, SyntaxToken classIdentifier, CancellationToken cancellationToken)
Completion\CompletionProviders\CrefCompletionProvider.vb (7)
100Protected Overrides Async Function GetSymbolsAsync(document As Document, position As Integer, options As CompletionOptions, cancellationToken As CancellationToken) As Task(Of (SyntaxToken, SemanticModel, ImmutableArray(Of ISymbol)))
122Private Shared Function IsCrefTypeParameterContext(token As SyntaxToken) As Boolean
128Private Shared Function IsCrefStartContext(token As SyntaxToken) As Boolean
152Private Shared Function IsCrefParameterListContext(token As SyntaxToken) As Boolean
160Private Shared Function IsFirstCrefParameterContext(ByRef token As SyntaxToken) As Boolean
164Private Overloads Shared Function GetSymbols(token As SyntaxToken, semanticModel As SemanticModel, cancellationToken As CancellationToken) As IEnumerable(Of ISymbol)
176Private Shared Iterator Function GetQualifiedSymbols(qualifiedName As QualifiedNameSyntax, token As SyntaxToken, semanticModel As SemanticModel, cancellationToken As CancellationToken) As IEnumerable(Of ISymbol)
src\Analyzers\VisualBasic\CodeFixes\GenerateConstructor\VisualBasicGenerateConstructorService.vb (5)
28Protected Overrides Function TryInitializeImplicitObjectCreation(document As SemanticDocument, node As SyntaxNode, cancellationToken As CancellationToken, ByRef token As SyntaxToken, ByRef arguments As ImmutableArray(Of Argument(Of ExpressionSyntax)), ByRef typeToGenerateIn As INamedTypeSymbol) As Boolean
60ByRef token As SyntaxToken,
95ByRef token As SyntaxToken,
130ByRef token As SyntaxToken,
168Protected Overrides Function GetCurrentConstructor(semanticModel As SemanticModel, token As SyntaxToken, cancellationToken As CancellationToken) As IMethodSymbol
src\Analyzers\VisualBasic\CodeFixes\GenerateParameterizedMember\VisualBasicGenerateConversionService.vb (2)
55Protected Overrides Function TryInitializeExplicitConversionState(document As SemanticDocument, expression As SyntaxNode, classInterfaceModuleStructTypes As ISet(Of TypeKind), cancellationToken As CancellationToken, ByRef identifierToken As SyntaxToken, ByRef methodSymbol As IMethodSymbol, ByRef typeToGenerateIn As INamedTypeSymbol) As Boolean
69Protected Overrides Function TryInitializeImplicitConversionState(document As SemanticDocument, expression As SyntaxNode, classInterfaceModuleStructTypes As ISet(Of TypeKind), cancellationToken As CancellationToken, ByRef identifierToken As SyntaxToken, ByRef methodSymbol As IMethodSymbol, ByRef typeToGenerateIn As INamedTypeSymbol) As Boolean
CodeCleanup\AbstractCodeCleanerService.cs (26)
150IEnumerable<SyntaxToken> previousTokens,
151IEnumerable<SyntaxToken> nextTokens,
157var previousToken = previousTokens.FirstOrDefault();
158var nextToken = nextTokens.FirstOrDefault();
237private static int GetPreviousTokenStartPosition(SpanMarkerType spanMarkerType, SyntaxToken previousToken)
253private static int GetNextTokenEndPosition(SpanMarkerType spanMarkerType, SyntaxToken nextToken)
276var tokenAnnotationMap = new Dictionary<SyntaxToken, List<SyntaxAnnotation>>();
283out var previousToken, out var startToken, out var endToken, out var nextToken);
331_ = GetSpanAlignedToTokens(root, span, out var startToken, out var endToken);
333var previousToken = startToken.GetPreviousToken(includeZeroWidth: true, includeSkipped: true, includeDirectives: true, includeDocumentationComments: true);
334var nextToken = endToken.GetNextToken(includeZeroWidth: true, includeSkipped: true, includeDirectives: true, includeDocumentationComments: true);
360out SyntaxToken previousToken,
361out SyntaxToken startToken,
362out SyntaxToken endToken,
363out SyntaxToken nextToken)
383out SyntaxToken startToken, out SyntaxToken endToken)
404private static SyntaxToken FindTokenOnRightOfPosition(SyntaxNode root, int position)
406var token = root.FindTokenOnRightOfPosition(position, includeSkipped: true, includeDirectives: true, includeDocumentationComments: true);
418private static SyntaxToken FindTokenOnLeftOfPosition(SyntaxNode root, int position)
421var token = root.FindTokenOnLeftOfPosition(position, includeSkipped: true, includeDirectives: true, includeDocumentationComments: true);
593private static SyntaxNode InjectAnnotations(SyntaxNode node, Dictionary<SyntaxToken, List<SyntaxAnnotation>> map)
Editing\SyntaxGenerator.cs (22)
53internal abstract SyntaxToken CreateInterpolatedStringStartToken(bool isVerbatim);
54internal abstract SyntaxToken CreateInterpolatedStringEndToken();
1070internal SyntaxToken RemoveLeadingAndTrailingComments(SyntaxToken token)
1442internal abstract SeparatedSyntaxList<TElement> SeparatedList<TElement>(IEnumerable<TElement> nodes, IEnumerable<SyntaxToken> separators) where TElement : SyntaxNode;
1455foreach (var token in original)
1502protected static SyntaxNode ReplaceWithTrivia(SyntaxNode root, SyntaxToken original, SyntaxToken replacement)
1504var combinedTriviaReplacement =
1619internal SyntaxNode LocalDeclarationStatement(SyntaxNode? type, SyntaxToken identifier, SyntaxNode? initializer = null, bool isConst = false)
1625internal SyntaxNode EqualsValueClause(SyntaxToken operatorToken, SyntaxNode value)
1643internal SyntaxNode LocalDeclarationStatement(SyntaxToken name, SyntaxNode initializer)
1763internal abstract SyntaxToken NumericLiteralToken(string text, ulong value);
1765internal SyntaxToken InterpolatedStringTextToken(string content, string value)
1767internal SyntaxNode InterpolatedStringText(SyntaxToken textToken)
1771internal SyntaxNode InterpolatedStringExpression(SyntaxToken startToken, IEnumerable<SyntaxNode> content, SyntaxToken endToken)
1840internal abstract SyntaxNode IdentifierName(SyntaxToken identifier);
1841internal SyntaxToken Identifier(string identifier) => SyntaxGeneratorInternal.Identifier(identifier);
1849internal abstract SyntaxNode GenericName(SyntaxToken identifier, IEnumerable<SyntaxNode> typeArguments);
2202SyntaxNode namedType, SyntaxToken openParen, SeparatedSyntaxList<SyntaxNode> arguments, SyntaxToken closeParen);
FindSymbols\FindReferences\Finders\AbstractReferenceFinder.cs (7)
40ISymbol symbol, FindReferencesDocumentState state, SyntaxToken token, CancellationToken cancellationToken)
161protected static bool IdentifiersMatch(ISyntaxFactsService syntaxFacts, string name, SyntaxToken token)
176public static ImmutableArray<SyntaxToken> FindMatchingIdentifierTokens(FindReferencesDocumentState state, string identifier, CancellationToken cancellationToken)
182ImmutableArray<SyntaxToken> tokens,
190foreach (var token in tokens)
203protected static FinderLocation CreateFinderLocation(FindReferencesDocumentState state, SyntaxToken token, CandidateReason reason, CancellationToken cancellationToken)
206public static ReferenceLocation CreateReferenceLocation(FindReferencesDocumentState state, SyntaxToken token, CandidateReason reason, CancellationToken cancellationToken)
FindSymbols\FindReferences\Finders\ConstructorInitializerSymbolReferenceFinder.cs (1)
86SyntaxToken token,
FindSymbols\FindReferences\FindReferenceCache.cs (19)
67private readonly ConcurrentDictionary<string, ImmutableArray<SyntaxToken>> _identifierCache;
70private ImmutableArray<SyntaxToken> _constructorInitializerCache;
71private ImmutableArray<SyntaxToken> _newKeywordsCache;
96ISemanticFactsService semanticFacts, SyntaxToken token, CancellationToken cancellationToken)
110public ImmutableArray<SyntaxToken> FindMatchingIdentifierTokens(
149private bool IsMatch(string identifier, SyntaxToken token)
152private ImmutableArray<SyntaxToken> FindMatchingIdentifierTokensFromTree(
155using var _ = ArrayBuilder<SyntaxToken>.GetInstance(out var result);
171var token = current.AsToken();
190private ImmutableArray<SyntaxToken> FindMatchingTokensFromText<TArgs>(
191string text, Func<string, SyntaxToken, TArgs, bool> isMatch, TArgs args, CancellationToken cancellationToken)
193using var _ = ArrayBuilder<SyntaxToken>.GetInstance(out var result);
200var token = this.Root.FindToken(index, findInsideTrivia: true);
213public ImmutableArray<SyntaxToken> GetConstructorInitializerTokens(CancellationToken cancellationToken)
222ImmutableArray<SyntaxToken> GetConstructorInitializerTokensWorker()
225using var _ = ArrayBuilder<SyntaxToken>.GetInstance(out var initializers);
228foreach (var token in constructor.DescendantTokens(descendIntoTrivia: false))
239public ImmutableArray<SyntaxToken> GetNewKeywordTokens(CancellationToken cancellationToken)
246ImmutableArray<SyntaxToken> GetNewKeywordTokensWorker()
ObsoleteSymbol\AbstractObsoleteSymbolService.cs (10)
19/// The <see cref="SyntaxToken.RawKind"/> of the <see langword="Dim"/> keyword in Visual Basic, or
25protected virtual void ProcessDimKeyword(ref ArrayBuilder<TextSpan>? result, SemanticModel semanticModel, SyntaxToken token, CancellationToken cancellationToken)
74var tokenFromNode = ProcessNode(semanticModel, current);
81var token = child.AsToken();
109SyntaxToken ProcessNode(SemanticModel semanticModel, SyntaxNode node)
113syntaxFacts.GetPartsOfUsingAliasDirective(node, out _, out var aliasToken, out var name);
126syntaxFacts.GetPartsOfObjectCreationExpression(node, out var creationKeyword, out _, out _, out _);
142syntaxFacts.GetPartsOfImplicitObjectCreationExpression(node, out var creationKeyword, out _, out _);
159void ProcessToken(SemanticModel semanticModel, SyntaxToken token)
171void ProcessIdentifier(SemanticModel semanticModel, SyntaxToken token)
Simplification\Simplifier.cs (6)
112public static async Task<SyntaxToken> ExpandAsync(SyntaxToken token, Document document, Func<SyntaxNode, bool>? expandInsideNode = null, CancellationToken cancellationToken = default)
126public static SyntaxToken Expand(SyntaxToken token, SemanticModel semanticModel, Workspace workspace, Func<SyntaxNode, bool>? expandInsideNode = null, CancellationToken cancellationToken = default)
137internal static SyntaxToken Expand(SyntaxToken token, SemanticModel semanticModel, SolutionServices services, Func<SyntaxNode, bool>? expandInsideNode = null, CancellationToken cancellationToken = default)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (34)
363IEnumerable<SyntaxToken> tokens,
364Func<SyntaxToken, SyntaxToken, CancellationToken, Task<SyntaxToken>> computeReplacementAsync,
391IEnumerable<SyntaxToken>? tokens,
392Func<SyntaxToken, SyntaxToken, CancellationToken, Task<SyntaxToken>>? computeReplacementTokenAsync,
404var tokenReplacements = new Dictionary<SyntaxToken, SyntaxToken>();
447var original = (SyntaxToken?)retryAnnotations.GetAnnotations(currentToken).SingleOrDefault() ?? currentToken;
485if (rewritten != original || !tokenReplacements.TryGetValue(original, out var replaced))
540private static readonly Func<SyntaxTriviaList, int, SyntaxToken> s_findSkippedTokenForward = FindSkippedTokenForward;
545private static SyntaxToken FindSkippedTokenForward(SyntaxTriviaList triviaList, int position)
553foreach (var token in skippedTokensTrivia.Tokens)
570private static readonly Func<SyntaxTriviaList, int, SyntaxToken> s_findSkippedTokenBackward = FindSkippedTokenBackward;
575private static SyntaxToken FindSkippedTokenBackward(SyntaxTriviaList triviaList, int position)
583foreach (var token in skippedTokensTrivia.Tokens)
597private static SyntaxToken GetInitialToken(
613public static SyntaxToken FindTokenOnRightOfPosition(
622var token = GetInitialToken(root, position, includeSkipped, includeDirectives, includeDocumentationComments);
626var skippedToken = findSkippedToken(token.LeadingTrivia, position);
633var skippedToken = findSkippedToken(token.TrailingTrivia, position);
652public static SyntaxToken FindTokenOnLeftOfPosition(
661var token = GetInitialToken(root, position, includeSkipped, includeDirectives, includeDocumentationComments);
667var skippedToken = findSkippedToken(token.LeadingTrivia, position);
676var skippedToken = findSkippedToken(token.TrailingTrivia, position);
767public static SyntaxToken WithoutLeadingTrivia(this SyntaxToken token)
775public static SyntaxToken WithoutTrailingTrivia(this SyntaxToken token)
867foreach (var token in root.DescendantTokens(descendIntoChildren: static node => node.ContainsDirectives))
946foreach (var token in node.DescendantTokens())
963var current = node.GetLastToken(includeZeroWidth: true);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (32)
15public static SyntaxNode? GetAncestor(this SyntaxToken token, Func<SyntaxNode, bool>? predicate)
18public static T? GetAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode
21public static T GetRequiredAncestor<T>(this SyntaxToken token, Func<T, bool>? predicate = null) where T : SyntaxNode
24public static IEnumerable<T> GetAncestors<T>(this SyntaxToken token)
32public static IEnumerable<SyntaxNode> GetAncestors(this SyntaxToken token, Func<SyntaxNode, bool> predicate)
39public static SyntaxNode GetCommonRoot(this SyntaxToken token1, SyntaxToken token2)
42public static bool CheckParent<T>(this SyntaxToken token, Func<T, bool> valueChecker) where T : SyntaxNode
52public static int Width(this SyntaxToken token)
55public static int FullWidth(this SyntaxToken token)
58public static SyntaxToken FindTokenFromEnd(this SyntaxNode root, int position, bool includeZeroWidth = true, bool findInsideTrivia = false)
60var token = root.FindToken(position, findInsideTrivia);
61var previousToken = token.GetPreviousToken(
74public static SyntaxToken GetNextTokenOrEndOfFile(
75this SyntaxToken token,
81var nextToken = token.GetNextToken(includeZeroWidth, includeSkipped, includeDirectives, includeDocumentationComments);
88public static SyntaxToken WithoutTrivia(
89this SyntaxToken token)
99public static SyntaxToken With(this SyntaxToken token, SyntaxTriviaList leading, SyntaxTriviaList trailing)
102public static SyntaxToken WithPrependedLeadingTrivia(
103this SyntaxToken token,
114public static SyntaxToken WithPrependedLeadingTrivia(
115this SyntaxToken token,
126public static SyntaxToken WithPrependedLeadingTrivia(
127this SyntaxToken token,
136public static SyntaxToken WithAppendedTrailingTrivia(
137this SyntaxToken token,
143public static SyntaxToken WithAppendedTrailingTrivia(
144this SyntaxToken token,
150public static SyntaxTrivia[] GetTrivia(this IEnumerable<SyntaxToken> tokens)
153public static SyntaxNode GetRequiredParent(this SyntaxToken token)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (18)
44SyntaxTree tree, SyntaxToken token, int position, CancellationToken cancellationToken)
70public int? FromAlignTokensOperations(SyntaxTree tree, SyntaxToken token)
74var nextToken = token.GetNextToken(includeZeroWidth: true);
79var alignmentBaseToken = GetAlignmentBaseTokenFor(nextToken);
90SyntaxTree tree, SyntaxToken token, int position, CancellationToken cancellationToken)
96SyntaxTree tree, SyntaxToken token, int position, int extraSpaces, CancellationToken cancellationToken)
111Func<SyntaxToken, int> tokenColumnGetter,
114var token = startingOperation.StartToken;
140Func<SyntaxToken, int> tokenColumnGetter,
154var baseToken = operation.BaseToken;
213private List<IndentBlockOperation> GetParentIndentBlockOperations(SyntaxToken token)
229private static IEnumerable<SyntaxNode> GetParentNodes(SyntaxToken token)
247private SyntaxToken GetAlignmentBaseTokenFor(SyntaxToken token)
278private IndentBlockOperation? GetIndentationDataFor(SyntaxNode root, SyntaxToken token, int position)
313var lastVisibleToken = default(SyntaxToken);
343var nextToken = operation.EndToken.GetNextToken(includeZeroWidth: true);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (21)
42private readonly SegmentedDictionary<SyntaxToken, AnchorData> _anchorBaseTokenMap = [];
74SyntaxToken startToken,
75SyntaxToken endToken,
192Func<FormattingContext, IndentBlockOperation, SyntaxToken> effectiveBaseTokenGetter = operation.Option.IsOn(IndentBlockOption.RelativeToFirstTokenOnBaseTokenLine)
196Func<FormattingContext, IndentBlockOperation, SyntaxToken, int> relativeIndentationDeltaGetter = static (self, operation, effectiveBaseToken) =>
203Func<FormattingContext, SyntaxToken, int> relativeIndentationBaseIndentationGetter =
398var anchorToken = TokenStream.FirstTokenOfBaseTokenLine(operation.AnchorToken);
416public int GetBaseIndentation(SyntaxToken token)
434public bool TryGetEndTokenForRelativeIndentationSpan(SyntaxToken token, int maxChainDepth, out SyntaxToken endToken, CancellationToken cancellationToken)
467private AnchorData? GetAnchorData(SyntaxToken token)
482public int GetAnchorDeltaFromOriginalColumn(SyntaxToken token)
494public SyntaxToken GetAnchorToken(SyntaxToken token)
505public int GetDeltaFromPreviousChangesMap(SyntaxToken token, Dictionary<SyntaxToken, int> previousChangesMap)
517public SyntaxToken GetEndTokenForAnchorSpan(TokenData tokenData)
640var token1 = TokenStream.GetToken(pairIndex);
641var token2 = TokenStream.GetToken(pairIndex + 1);
655var token1 = TokenStream.GetToken(pairIndex);
656var token2 = TokenStream.GetToken(pairIndex + 1);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormatEngine.OperationApplier.cs (21)
220SyntaxToken token,
221IEnumerable<SyntaxToken> operationTokens,
244SyntaxToken token,
245IEnumerable<SyntaxToken> tokens,
246Dictionary<SyntaxToken, int> previousChangesMap,
260AlignTokensOperation operation, Dictionary<SyntaxToken, int> previousChangesMap, CancellationToken cancellationToken)
294SyntaxToken token,
296Dictionary<SyntaxToken, int> previousChangesMap,
324Dictionary<SyntaxToken, int> previousChangesMap,
354private IList<TokenData> GetTokenWithIndices(IEnumerable<SyntaxToken> tokens)
357foreach (var token in tokens)
380IList<TokenData> tokenWithIndices, Dictionary<SyntaxToken, int> newChangesMap, CancellationToken cancellationToken)
412Dictionary<SyntaxToken, int> previousChangesMap,
445SyntaxToken currentToken,
448Dictionary<SyntaxToken, int> previousChangesMap,
472SyntaxToken baseToken,
473SyntaxToken startToken,
474SyntaxToken endToken,
475Dictionary<SyntaxToken, int> previousChangesMap,
492Dictionary<SyntaxToken, int> previousChangesMap,
544int pairIndex, Dictionary<SyntaxToken, int> previousChangesMap, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (8)
44protected abstract SyntaxNode Rewriter(Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData> map, CancellationToken cancellationToken);
76private void AddTextChanges(List<TextChange> list, SyntaxToken token1, SyntaxToken token2, TriviaData data)
95using var pooledObject = SharedPools.Default<Dictionary<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData>>().GetPooledObject();
110internal IEnumerable<ValueTuple<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData>> GetChanges(CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenStream.cs (30)
28private readonly SegmentedList<SyntaxToken> _tokens;
60_tokens = new SegmentedList<SyntaxToken>(sizeOfList);
81var previousToken = _tokens[0];
84var currentToken = _tokens[i];
134public SyntaxToken GetToken(int index)
140public TokenData GetTokenData(SyntaxToken token)
154var previousToken = tokenData.Token.GetPreviousToken(includeZeroWidth: true);
172var nextToken = tokenData.Token.GetNextToken(includeZeroWidth: true);
181internal SyntaxToken FirstTokenOfBaseTokenLine(SyntaxToken token)
194public bool TwoTokensOriginallyOnSameLine(SyntaxToken token1, SyntaxToken token2)
197public bool TwoTokensOnSameLine(SyntaxToken token1, SyntaxToken token2)
200private bool TwoTokensOnSameLineWorker(SyntaxToken token1, SyntaxToken token2, Func<TokenData, TokenData, TriviaData> triviaDataGetter)
262public int GetCurrentColumn(SyntaxToken token)
272public int GetOriginalColumn(SyntaxToken token)
316public void GetTokenLength(SyntaxToken token, out int length, out bool onMultipleLines)
344public IEnumerable<ValueTuple<ValueTuple<SyntaxToken, SyntaxToken>, TriviaData>> GetTriviaDataWithTokenPair(CancellationToken cancellationToken)
349var token = this.FirstTokenInStream.Token;
352yield return ValueTuple.Create(ValueTuple.Create(default(SyntaxToken), token), trivia);
367var token = this.LastTokenInStream.Token;
370yield return ValueTuple.Create(ValueTuple.Create(token, default(SyntaxToken)), trivia);
474public bool IsFirstTokenOnLine(SyntaxToken token)
499private int GetTokenIndexInStream(SyntaxToken token)
554private sealed class TokenOrderComparer : IComparer<SyntaxToken>
560public int Compare(SyntaxToken x, SyntaxToken y)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\FormattingOperations.cs (24)
29public static AnchorIndentationOperation CreateAnchorIndentationOperation(SyntaxToken anchorToken, SyntaxToken endToken)
35public static AnchorIndentationOperation CreateAnchorIndentationOperation(SyntaxToken anchorToken, SyntaxToken endToken, TextSpan textSpan)
41public static SuppressOperation CreateSuppressOperation(SyntaxToken startToken, SyntaxToken endToken, SuppressOption option)
47private static SuppressOperation CreateSuppressOperation(SyntaxToken startToken, SyntaxToken endToken, TextSpan textSpan, SuppressOption option)
53public static IndentBlockOperation CreateIndentBlockOperation(SyntaxToken startToken, SyntaxToken endToken, int indentationDelta, IndentBlockOption option)
62public static IndentBlockOperation CreateIndentBlockOperation(SyntaxToken startToken, SyntaxToken endToken, TextSpan textSpan, int indentationDelta, IndentBlockOption option)
68public static IndentBlockOperation CreateRelativeIndentBlockOperation(SyntaxToken baseToken, SyntaxToken startToken, SyntaxToken endToken, int indentationDelta, IndentBlockOption option)
78public static IndentBlockOperation CreateRelativeIndentBlockOperation(SyntaxToken baseToken, SyntaxToken startToken, SyntaxToken endToken, TextSpan textSpan, int indentationDelta, IndentBlockOption option)
84public static AlignTokensOperation CreateAlignTokensOperation(SyntaxToken baseToken, IEnumerable<SyntaxToken> tokens, AlignTokensOption option)
182internal static AdjustNewLinesOperation? GetAdjustNewLinesOperation(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxToken previousToken, SyntaxToken currentToken, SyntaxFormattingOptions options)
191internal static AdjustSpacesOperation? GetAdjustSpacesOperation(IEnumerable<AbstractFormattingRule> formattingRules, SyntaxToken previousToken, SyntaxToken currentToken, SyntaxFormattingOptions options)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFacts.cs (59)
110SyntaxToken ParseToken(string text);
113bool IsVerbatimIdentifier(SyntaxToken token);
114bool IsOperator(SyntaxToken token);
115bool IsPredefinedOperator(SyntaxToken token);
116bool IsPredefinedOperator(SyntaxToken token, PredefinedOperator op);
118bool IsPredefinedType(SyntaxToken token);
119bool IsPredefinedType(SyntaxToken token, PredefinedType type);
137bool IsReservedKeyword(SyntaxToken token);
156bool IsContextualKeyword(SyntaxToken token);
162bool IsPreprocessorKeyword(SyntaxToken token);
165bool IsLiteral(SyntaxToken token);
166bool IsStringLiteralOrInterpolatedStringLiteral(SyntaxToken token);
168bool IsNumericLiteral(SyntaxToken token);
169bool IsVerbatimStringLiteral(SyntaxToken token);
170bool IsRawStringLiteral(SyntaxToken token);
194bool TryGetPredefinedType(SyntaxToken token, out PredefinedType type);
195bool TryGetPredefinedOperator(SyntaxToken token, out PredefinedOperator op);
207out SyntaxToken openParen, out SeparatedSyntaxList<TArgumentSyntax> arguments, out SyntaxToken closeParen) where TArgumentSyntax : SyntaxNode;
216void GetPartsOfAssignmentStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right);
217void GetPartsOfAssignmentExpressionOrStatement(SyntaxNode statement, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right);
302SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node);
303SyntaxToken GetIdentifierOfTypeDeclaration(SyntaxNode node);
304SyntaxToken GetIdentifierOfVariableDeclarator(SyntaxNode node);
366bool IsThisConstructorInitializer(SyntaxToken token);
367bool IsBaseConstructorInitializer(SyntaxToken token);
368bool IsQueryKeyword(SyntaxToken token);
385bool IsBindableToken(SemanticModel? semanticModel, SyntaxToken token);
399bool AreEquivalent(SyntaxToken token1, SyntaxToken token2);
441SyntaxNode? TryGetBindableParent(SyntaxToken token);
470void GetPartsOfParenthesizedPattern(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode pattern, out SyntaxToken closeParen);
471void GetPartsOfBinaryPattern(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right);
474void GetPartsOfRelationalPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode expression);
475void GetPartsOfUnaryPattern(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode pattern);
477bool ContainsInterleavedDirective(TextSpan span, SyntaxToken token, CancellationToken cancellationToken);
489SyntaxToken? GetDeclarationIdentifierIfOverride(SyntaxToken token);
519void GetPartsOfAliasQualifiedName(SyntaxNode node, out SyntaxNode alias, out SyntaxToken colonColonToken, out SyntaxNode name);
521void GetPartsOfArgumentList(SyntaxNode node, out SyntaxToken openParenToken, out SeparatedSyntaxList<SyntaxNode> arguments, out SyntaxToken closeParenToken);
525void GetPartsOfBinaryExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken operatorToken, out SyntaxNode right);
528void GetPartsOfConditionalAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode whenNotNull);
530void GetPartsOfGenericName(SyntaxNode node, out SyntaxToken identifier, out SeparatedSyntaxList<SyntaxNode> typeArguments);
531void GetPartsOfInterpolationExpression(SyntaxNode node, out SyntaxToken stringStartToken, out SyntaxList<SyntaxNode> contents, out SyntaxToken stringEndToken);
533void GetPartsOfIsPatternExpression(SyntaxNode node, out SyntaxNode left, out SyntaxToken isToken, out SyntaxNode right);
534void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxToken operatorToken, out SyntaxNode name);
536void GetPartsOfObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode type, out SyntaxNode? argumentList, out SyntaxNode? initializer);
537void GetPartsOfImplicitObjectCreationExpression(SyntaxNode node, out SyntaxToken keyword, out SyntaxNode argumentList, out SyntaxNode? initializer);
538void GetPartsOfParameter(SyntaxNode node, out SyntaxToken identifier, out SyntaxNode? @default);
539void GetPartsOfParenthesizedExpression(SyntaxNode node, out SyntaxToken openParen, out SyntaxNode expression, out SyntaxToken closeParen);
540void GetPartsOfPrefixUnaryExpression(SyntaxNode node, out SyntaxToken operatorToken, out SyntaxNode operand);
541void GetPartsOfQualifiedName(SyntaxNode node, out SyntaxNode left, out SyntaxToken dotToken, out SyntaxNode right);
542void GetPartsOfUsingAliasDirective(SyntaxNode node, out SyntaxToken globalKeyword, out SyntaxToken alias, out SyntaxNode name);
567SyntaxToken GetTokenOfLiteralExpression(SyntaxNode node);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (32)
94private static bool IsOnSingleLine(ISyntaxFacts syntaxFacts, SyntaxToken token, bool leading, bool trailing)
184foreach (var token in node.DescendantTokens())
210public static bool SpansPreprocessorDirective(this ISyntaxFacts syntaxFacts, IEnumerable<SyntaxToken> tokens)
217var previousToken = default(SyntaxToken);
223foreach (var token in orderedTokens)
272public static bool IsReservedOrContextualKeyword(this ISyntaxFacts syntaxFacts, SyntaxToken token)
275public static bool IsWord(this ISyntaxFacts syntaxFacts, SyntaxToken token)
323SyntaxToken openParenToken;
325SyntaxToken closeParenToken;
357var previousToken = node.GetFirstToken().GetPreviousToken();
368var nextToken = node.GetLastToken().GetNextToken();
380private static bool IsWordOrNumber(this ISyntaxFacts syntaxFacts, SyntaxToken token)
401public static SyntaxToken GetOperatorTokenOfBinaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node)
403syntaxFacts.GetPartsOfBinaryExpression(node, out _, out var token, out _);
429public static SyntaxToken GetOperatorTokenOfMemberAccessExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node)
431syntaxFacts.GetPartsOfMemberAccessExpression(node, out _, out var operatorToken, out _);
456var afterAttributesToken = root.FindTokenOnRightOfPosition(endOfAttributeLists);
519public static SyntaxToken GetIdentifierOfGenericName(this ISyntaxFacts syntaxFacts, SyntaxNode node)
521syntaxFacts.GetPartsOfGenericName(node, out var identifier, out _);
525public static SyntaxToken GetIdentifierOfIdentifierName(this ISyntaxFacts syntaxFacts, SyntaxNode node)
528public static SyntaxToken GetIdentifierOfParameter(this ISyntaxFacts syntaxFacts, SyntaxNode node)
530syntaxFacts.GetPartsOfParameter(node, out var identifier, out _);
588public static SyntaxToken GetOperatorTokenOfPrefixUnaryExpression(this ISyntaxFacts syntaxFacts, SyntaxNode node)
590syntaxFacts.GetPartsOfPrefixUnaryExpression(node, out var operatorToken, out _);
712public static bool IsAwaitKeyword(this ISyntaxFacts syntaxFacts, SyntaxToken token)
715public static bool IsGlobalNamespaceKeyword(this ISyntaxFacts syntaxFacts, SyntaxToken token)
722public static bool IsCharacterLiteral(this ISyntaxFacts syntaxFacts, SyntaxToken token)
725public static bool IsStringLiteral(this ISyntaxFacts syntaxFacts, SyntaxToken token)
732public static bool IsIdentifier(this ISyntaxFacts syntaxFacts, SyntaxToken token)
735public static bool IsHashToken(this ISyntaxFacts syntaxFacts, SyntaxToken token)
738public static bool IsInterpolatedStringTextToken(this ISyntaxFacts syntaxFacts, SyntaxToken token)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (31)
45public static IEnumerable<(SyntaxToken, SyntaxToken)> ConvertToTokenPairs(this SyntaxNode root, IReadOnlyList<TextSpan> spans)
81public static ValueTuple<SyntaxToken, SyntaxToken> ConvertToTokenPair(this SyntaxNode root, TextSpan textSpan)
86var startToken = root.FindToken(textSpan.Start);
103var endToken = (root.FullSpan.End <= textSpan.End) ?
127public static bool IsInvalidTokenRange(this SyntaxNode root, SyntaxToken startToken, SyntaxToken endToken)
145public static int GetTokenColumn(this SyntaxTree tree, SyntaxToken token, int tabSize)
156public static string GetText(this SourceText text, SyntaxToken token1, SyntaxToken token2)
159public static string GetTextBetween(SyntaxToken token1, SyntaxToken token2)
167public static void AppendTextBetween(SyntaxToken token1, SyntaxToken token2, StringBuilder builder)
192for (var token = token1.GetNextToken(includeZeroWidth: true); token.FullSpan.End <= token2.FullSpan.Start; token = token.GetNextToken(includeZeroWidth: true))
200private static void AppendTextBetweenTwoAdjacentTokens(SyntaxToken token1, SyntaxToken token2, StringBuilder builder)
206private static void AppendLeadingTriviaText(SyntaxToken token, StringBuilder builder)
223private static void AppendPartialLeadingTriviaText(SyntaxToken token, StringBuilder builder, int token1FullSpanEnd)
241private static void AppendTrailingTriviaText(SyntaxToken token, StringBuilder builder)
259public static TextSpan GetSpanIncludingTrailingAndLeadingTriviaOfAdjacentTokens(SyntaxToken startToken, SyntaxToken endToken)
269private static int GetEndPositionOfSpan(SyntaxToken token)
271var nextToken = token.GetNextToken();
294public static int GetStartPositionOfSpan(SyntaxToken token)
296var previousToken = token.GetPreviousToken();
346public static bool HasAnyWhitespaceElasticTrivia(SyntaxToken previousToken, SyntaxToken currentToken)
361var startToken = root.FindToken(span.Start).GetPreviousToken();
362var endToken = root.FindTokenFromEnd(span.End).GetNextToken();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (14)
97public TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode
106public TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode
132public abstract TDeclarationNode AddAttributes<TDeclarationNode>(TDeclarationNode destination, IEnumerable<AttributeData> attributes, SyntaxToken? target, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode;
137public abstract TDeclarationNode UpdateDeclarationModifiers<TDeclarationNode>(TDeclarationNode declaration, IEnumerable<SyntaxToken> newModifiers, TCodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode;
521Func<SyntaxToken, bool> isComma,
527var previousToken = root.FindToken(attributeToRemove.FullSpan.Start - 1);
529var nextToken = root.FindToken(attributeToRemove.FullSpan.End + 1);
539var tokenToInsertTrivia = node.FindToken(position);
540var tokenWithInsertedTrivia = tokenToInsertTrivia.WithLeadingTrivia(trivia.Concat(tokenToInsertTrivia.LeadingTrivia));
548ArrayBuilder<SyntaxToken> newModifierTokens, SyntaxTokenList modifiersList,
549Func<SyntaxToken, bool> isAccessibilityModifier)
551using var _ = ArrayBuilder<SyntaxToken>.GetInstance(out var updatedModifiersList);
553foreach (var modifier in modifiersList)
555SyntaxToken newModifier;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (9)
146syntaxFacts.GetPartsOfBinaryExpression(expressionNode, out var leftOperand, out var operatorToken, out var rightOperand);
179var newToken = syntaxFacts.GetOperatorTokenOfBinaryExpression(newBinaryExpressionSyntax);
243syntaxFacts.GetPartsOfBinaryPattern(pattern, out var left, out var operatorToken, out var right);
255syntaxFacts.GetPartsOfBinaryPattern(newPattern, out _, out var newToken, out _);
256var newTokenWithTrivia = newToken.WithTriviaFrom(operatorToken);
265syntaxFacts.GetPartsOfIsPatternExpression(isExpression, out var left, out var isToken, out var pattern);
314syntaxFacts.GetPartsOfRelationalPattern(expressionNode, out var operatorToken, out var expression);
522var operatorToken = syntaxFacts.GetOperatorTokenOfPrefixUnaryExpression(expression);
554syntaxFacts.GetPartsOfUnaryPattern(pattern, out var opToken, out var subPattern);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SyntaxGeneratorInternalExtensions\SyntaxGeneratorInternal.cs (11)
38SyntaxNode? type, SyntaxToken identifier, SyntaxNode? initializer = null, bool isConst = false);
43public SyntaxNode LocalDeclarationStatement(SyntaxToken name, SyntaxNode initializer)
48public abstract SyntaxNode EqualsValueClause(SyntaxToken operatorToken, SyntaxNode value);
50public abstract SyntaxToken Identifier(string identifier);
72/// <see cref="LocalDeclarationStatement(SyntaxNode, SyntaxToken, SyntaxNode, bool)"/>.
77public abstract SyntaxToken InterpolatedStringTextToken(string content, string value);
78public abstract SyntaxNode InterpolatedStringText(SyntaxToken textToken);
80public abstract SyntaxNode InterpolatedStringExpression(SyntaxToken startToken, IEnumerable<SyntaxNode> content, SyntaxToken endToken);
113public abstract SyntaxNode IsPatternExpression(SyntaxNode expression, SyntaxToken isToken, SyntaxNode pattern);
126public abstract SyntaxNode UnaryPattern(SyntaxToken operatorToken, SyntaxNode pattern);