1 write to Parent
Microsoft.CodeAnalysis (1)
Syntax\SyntaxToken.cs (1)
33Parent = parent;
2920 references to Parent
GenerateDocumentationAndConfigFiles (24)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (1)
34=> semanticModel.GetSymbolInfo(token.Parent!, cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
800parent = structuredTrivia.ParentTrivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (8)
19=> token.Parent?.FirstAncestorOrSelf(predicate); 27return token.Parent != null 28? token.Parent.AncestorsAndSelf().OfType<T>() 34return token.Parent != null 35? token.Parent.AncestorsAndSelf().Where(predicate) 44if (token.Parent is not T parentNode) 84? ((ICompilationUnitSyntax)token.Parent!.SyntaxTree!.GetRoot(CancellationToken.None)).EndOfFileToken 154=> token.Parent ?? throw new InvalidOperationException("Token's parent was null");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (4)
231var current = token.Parent; 238current = ((IStructuredTriviaSyntax)current).ParentTrivia.Token.Parent; 249var startNode = token.Parent; 280var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (1)
144var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (3)
293var leftNode = tokenToLeft.Parent; 331var rightNode = tokenToRightOrIn.Parent; 546var ancestor = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (2)
278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (2)
81var beginningNode = node.FindToken(node.Span.Start).Parent; 82var endNode = node.FindToken(node.Span.End - 1).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
148var node = token.Parent!.AncestorsAndSelf().First(a => a.FullSpan.Contains(span));
Microsoft.AspNetCore.App.Analyzers (15)
Infrastructure\VirtualChars\CSharpVirtualCharService.cs (2)
34if (token.Parent?.Parent is InterpolatedStringExpressionSyntax { StringStartToken.RawKind: (int)SyntaxKind.InterpolatedMultiLineRawStringStartToken }) 53if (IsInDirective(token.Parent))
RouteEmbeddedLanguage\FrameworkParametersCompletionProvider.cs (5)
118var container = TryFindMinimalApiArgument(token.Parent) ?? TryFindMvcActionParameter(token.Parent); 358if (token.Parent?.Parent is ParameterSyntax parameter) 388if (token.Parent.IsKind(SyntaxKind.PredefinedType)) 393var parameterTypeSymbol = semanticModel.GetSymbolInfo(token.Parent!, cancellationToken).GetAnySymbol();
RouteEmbeddedLanguage\Infrastructure\RouteStringSyntaxDetector.cs (5)
65if (token.Parent is not LiteralExpressionSyntax) 158if (token.Parent.IsLiteralExpression() && 159token.Parent.Parent.IsBinaryExpression() && 160token.Parent.Parent.RawKind == (int)SyntaxKind.AddExpression) 165for (var node = token.Parent; node != null; node = node.Parent)
RouteEmbeddedLanguage\Infrastructure\RouteUsageDetector.cs (1)
71if (token.Parent is not LiteralExpressionSyntax)
RouteEmbeddedLanguage\Infrastructure\SyntaxNodeExtensions.cs (1)
30parent = structuredTrivia.ParentTrivia.Token.Parent;
RouteEmbeddedLanguage\Infrastructure\SyntaxTokenExtensions.cs (1)
25=> token.Parent ?? throw new InvalidOperationException("Token's parent was null");
Microsoft.AspNetCore.App.CodeFixes (2)
Dependencies\ExtensionMethodsCompletionProvider.cs (2)
42if (token.Parent == null) 60var nearestMemberAccessExpression = FindNearestMemberAccessExpression(token.Parent);
Microsoft.AspNetCore.Components.Analyzers (1)
ComponentParametersShouldBePublicCodeFixProvider.cs (1)
38var declaration = root.FindToken(diagnosticSpan.Start).Parent.AncestorsAndSelf().OfType<PropertyDeclarationSyntax>().First();
Microsoft.AspNetCore.Components.SdkAnalyzers (1)
ComponentParametersShouldBePublicCodeFixProvider.cs (1)
38var declaration = root.FindToken(diagnosticSpan.Start).Parent.AncestorsAndSelf().OfType<PropertyDeclarationSyntax>().First();
Microsoft.CodeAnalysis (19)
Syntax\SyntaxNavigator.cs (6)
533if (current.Parent != null) 548foreach (var child in current.Parent.ChildNodesAndTokens()) 577return GetNextToken(current.Parent, predicate, stepInto); 587if (current.Parent != null) 602foreach (var child in current.Parent.ChildNodesAndTokens().Reverse()) 631return GetPreviousToken(current.Parent, predicate, stepInto);
Syntax\SyntaxNode.cs (3)
548node = ((IStructuredTriviaSyntax)node).ParentTrivia.Token.Parent; 827parent = structuredTrivia.ParentTrivia.Token.Parent; 974.Parent
Syntax\SyntaxNodeExtensions_Tracking.cs (2)
160node = ((IStructuredTriviaSyntax)node).ParentTrivia.Token.Parent!; 185node = ((IStructuredTriviaSyntax)node).ParentTrivia.Token.Parent!;
Syntax\SyntaxNodeOrToken.cs (1)
776return new SyntaxNodeOrToken(token.Parent, token.Node, token.Position, token.Index);
Syntax\SyntaxToken.cs (5)
227return Parent?.IsPartOfStructuredTrivia() ?? false; 555return Parent == other.Parent && 575return Hash.Combine(Parent, Hash.Combine(Node, Hash.Combine(Position, Index))); 638public SyntaxTree? SyntaxTree => Parent?.SyntaxTree;
Syntax\SyntaxTokenList.cs (1)
42_parent = token.Parent;
Syntax\SyntaxTrivia.cs (1)
144return Token.Parent?.IsPartOfStructuredTrivia() ?? false;
Microsoft.CodeAnalysis.Analyzers (26)
FixAnalyzers\FixerWithFixAllAnalyzer.Fixer.cs (1)
46var classDecl = generator.GetDeclaration(token.Parent);
MetaAnalyzers\Fixers\ApplyDiagnosticAnalyzerAttributeFix.cs (1)
30var classDecl = generator.GetDeclaration(token.Parent);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (1)
34=> semanticModel.GetSymbolInfo(token.Parent!, cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
800parent = structuredTrivia.ParentTrivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (8)
19=> token.Parent?.FirstAncestorOrSelf(predicate); 27return token.Parent != null 28? token.Parent.AncestorsAndSelf().OfType<T>() 34return token.Parent != null 35? token.Parent.AncestorsAndSelf().Where(predicate) 44if (token.Parent is not T parentNode) 84? ((ICompilationUnitSyntax)token.Parent!.SyntaxTree!.GetRoot(CancellationToken.None)).EndOfFileToken 154=> token.Parent ?? throw new InvalidOperationException("Token's parent was null");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (4)
231var current = token.Parent; 238current = ((IStructuredTriviaSyntax)current).ParentTrivia.Token.Parent; 249var startNode = token.Parent; 280var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (1)
144var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (3)
293var leftNode = tokenToLeft.Parent; 331var rightNode = tokenToRightOrIn.Parent; 546var ancestor = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (2)
278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (2)
81var beginningNode = node.FindToken(node.Span.Start).Parent; 82var endNode = node.FindToken(node.Span.End - 1).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
148var node = token.Parent!.AncestorsAndSelf().First(a => a.FullSpan.Contains(span));
Microsoft.CodeAnalysis.AnalyzerUtilities (21)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (1)
34=> semanticModel.GetSymbolInfo(token.Parent!, cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
800parent = structuredTrivia.ParentTrivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (8)
19=> token.Parent?.FirstAncestorOrSelf(predicate); 27return token.Parent != null 28? token.Parent.AncestorsAndSelf().OfType<T>() 34return token.Parent != null 35? token.Parent.AncestorsAndSelf().Where(predicate) 44if (token.Parent is not T parentNode) 84? ((ICompilationUnitSyntax)token.Parent!.SyntaxTree!.GetRoot(CancellationToken.None)).EndOfFileToken 154=> token.Parent ?? throw new InvalidOperationException("Token's parent was null");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (4)
231var current = token.Parent; 238current = ((IStructuredTriviaSyntax)current).ParentTrivia.Token.Parent; 249var startNode = token.Parent; 280var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (1)
144var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (3)
293var leftNode = tokenToLeft.Parent; 331var rightNode = tokenToRightOrIn.Parent; 546var ancestor = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (2)
278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true);
Microsoft.CodeAnalysis.CodeStyle (22)
src\roslyn\src\Analyzers\Core\Analyzers\NewLines\ConsecutiveStatementPlacement\AbstractConsecutiveStatementPlacementDiagnosticAnalyzer.cs (1)
90var nextTokenContainingStatement = nextToken.Parent?.FirstAncestorOrSelf<TExecutableStatementSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (1)
34=> semanticModel.GetSymbolInfo(token.Parent!, cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
800parent = structuredTrivia.ParentTrivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (8)
19=> token.Parent?.FirstAncestorOrSelf(predicate); 27return token.Parent != null 28? token.Parent.AncestorsAndSelf().OfType<T>() 34return token.Parent != null 35? token.Parent.AncestorsAndSelf().Where(predicate) 44if (token.Parent is not T parentNode) 84? ((ICompilationUnitSyntax)token.Parent!.SyntaxTree!.GetRoot(CancellationToken.None)).EndOfFileToken 154=> token.Parent ?? throw new InvalidOperationException("Token's parent was null");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (4)
231var current = token.Parent; 238current = ((IStructuredTriviaSyntax)current).ParentTrivia.Token.Parent; 249var startNode = token.Parent; 280var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (1)
144var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (3)
293var leftNode = tokenToLeft.Parent; 331var rightNode = tokenToRightOrIn.Parent; 546var ancestor = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (2)
278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true);
Microsoft.CodeAnalysis.CodeStyle.Fixes (6)
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementAbstractClass\AbstractImplementAbstractClassCodeFixProvider.cs (1)
34var classNode = token.Parent.GetAncestorOrThis<TClassNode>();
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\AbstractImplementInterfaceCodeFixProvider.cs (1)
30var type = token.Parent.GetAncestorsOrThis<TTypeSyntax>().LastOrDefault();
src\roslyn\src\Analyzers\Core\CodeFixes\MakeMethodSynchronous\AbstractMakeMethodSynchronousCodeFixProvider.cs (1)
195var nameNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (2)
81var beginningNode = node.FindToken(node.Span.Start).Parent; 82var endNode = node.FindToken(node.Span.End - 1).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
148var node = token.Parent!.AncestorsAndSelf().First(a => a.FullSpan.Contains(span));
Microsoft.CodeAnalysis.CSharp (150)
Binder\Binder.QueryTranslationState.cs (2)
78Debug.Assert(identifier.Parent is { }); 79binder.ReportFieldContextualKeywordConflictIfAny(result, identifier.Parent, identifier, diagnostics);
Binder\Binder_AnonymousTypes.cs (1)
91fieldSyntaxNodes[i] = (nameToken.Kind() == SyntaxKind.IdentifierToken) ? (CSharpSyntaxNode)nameToken.Parent! : fieldInitializer;
Binder\BinderFactory.BinderFactoryVisitor.cs (3)
1088var node = token.Parent; 1108return VisitCore(parent.ParentTrivia.Token.Parent); 1454CSharpSyntaxNode curr = (CSharpSyntaxNode)associatedToken.Parent;
Compilation\CSharpCompilation.cs (1)
2787Parent!.FirstAncestorOrSelf<ExternAliasDirectiveSyntax>();
Compilation\CSharpSemanticModel.cs (5)
445CSharpSyntaxNode node = (CSharpSyntaxNode)token.Parent; 809var existingConstructorInitializer = this.Root.FindToken(position).Parent.AncestorsAndSelf().OfType<ConstructorInitializerSyntax>().FirstOrDefault(); 881var existingConstructorInitializer = this.Root.FindToken(position).Parent.AncestorsAndSelf().OfType<PrimaryConstructorBaseTypeSyntax>().FirstOrDefault(); 1633var parentExpr = token.Parent as ExpressionSyntax; 1871var curr = token.Parent;
Compilation\MemberSemanticModel.cs (1)
1623CSharpSyntaxNode node = (CSharpSyntaxNode)token.Parent;
Compilation\MethodBodySemanticModel.cs (2)
241Root.FindToken(position).Parent?.AncestorsAndSelf().OfType<ConstructorInitializerSyntax>().FirstOrDefault()?.Parent == Root) 263if (Root.FindToken(position).Parent?.AncestorsAndSelf().OfType<PrimaryConstructorBaseTypeSyntax>().FirstOrDefault() == typeDecl.PrimaryConstructorBaseTypeIfClass)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (2)
59var attributedNode = model.SyntaxTree.GetRoot().FindToken(position).Parent; 139SyntaxNode? node = Root.FindTokenIncludingCrefAndNameAttributes(position).Parent;
Compilation\SyntaxTreeSemanticModel.cs (4)
166return _binderFactory.GetBinder((CSharpSyntaxNode)token.Parent, position).WithAdditionalFlags(GetSemanticModelBinderFlags()); 704var existingConstructorInitializer = this.Root.FindToken(position).Parent.AncestorsAndSelf().OfType<ConstructorInitializerSyntax>().FirstOrDefault(); 723var existingConstructorInitializer = this.Root.FindToken(position).Parent.AncestorsAndSelf().OfType<PrimaryConstructorBaseTypeSyntax>().FirstOrDefault(); 780CSharpSyntaxNode node = (CSharpSyntaxNode)Root.FindTokenIncludingCrefAndNameAttributes(position).Parent;
Parser\Blender.cs (1)
163for (var parent = token.Parent; // for each parent
SymbolDisplay\SymbolDisplayVisitor_Minimal.cs (5)
54var startNode = token.Parent; 195var startNode = token.Parent!; 212startNode ??= token.Parent; 260var identifier = token.Parent as IdentifierNameSyntax; 272token.Parent switch
Symbols\RangeVariableSymbol.cs (1)
64var node = token.Parent;
Symbols\Source\ModifierUtils.cs (1)
30if (readonlyToken.Parent is MethodDeclarationSyntax or AccessorDeclarationSyntax or BasePropertyDeclarationSyntax or EventDeclarationSyntax)
Symbols\Source\SourceLocalSymbol.cs (2)
517return _identifierToken.Parent; 526SyntaxNode node = _identifierToken.Parent;
Symbols\Source\SourceMethodSymbolWithAttributes.cs (10)
1088case { Parent: SimpleNameSyntax { Parent: MemberAccessExpressionSyntax { Parent: InvocationExpressionSyntax } memberAccess } rhs } when memberAccess.Name == rhs: 1089case { Parent: SimpleNameSyntax { Parent: MemberBindingExpressionSyntax { Parent: InvocationExpressionSyntax } memberBinding } rhs1 } when memberBinding.Name == rhs1: 1090case { Parent: SimpleNameSyntax { Parent: InvocationExpressionSyntax invocation } simpleName } when invocation.Expression == simpleName: 1093case { Parent: SimpleNameSyntax { Parent: not (MemberAccessExpressionSyntax or MemberBindingExpressionSyntax) } }: 1094case { Parent: SimpleNameSyntax { Parent: MemberAccessExpressionSyntax memberAccess } rhs } when memberAccess.Name == rhs: 1095case { Parent: SimpleNameSyntax { Parent: MemberBindingExpressionSyntax memberBinding } rhs1 } when memberBinding.Name == rhs1: 1288case { Parent: SimpleNameSyntax { Parent: MemberAccessExpressionSyntax { Parent: InvocationExpressionSyntax } memberAccess } rhs } when memberAccess.Name == rhs: 1289case { Parent: SimpleNameSyntax { Parent: InvocationExpressionSyntax invocation } simpleName } when invocation.Expression == simpleName: 1292case { Parent: SimpleNameSyntax { Parent: not MemberAccessExpressionSyntax } }: 1293case { Parent: SimpleNameSyntax { Parent: MemberAccessExpressionSyntax memberAccess } rhs } when memberAccess.Name == rhs:
Symbols\Source\SourceParameterSymbol.cs (1)
55identifier.Parent.GetLocation());
Symbols\Symbol.cs (1)
514CSharpSyntaxNode node = token.Parent.FirstAncestorOrSelf<TNode>();
Syntax\CSharpSyntaxNode.cs (1)
394CSharpSyntaxNode? curr = (CSharpSyntaxNode?)triviaToken.Parent;
Syntax\InternalSyntax\CSharpSyntaxNode.cs (1)
286var parent = trivia.Token.Parent;
Syntax\StructuredTriviaSyntax.cs (1)
25var parent = trivia.Token.Parent;
Syntax\SyntaxNormalizer.cs (104)
218if (IsAccessorListWithoutAccessorsWithBlockBody(currentToken.Parent?.Parent)) 223if (nextToken.Parent is InitializerExpressionSyntax or AnonymousObjectCreationExpressionSyntax && 224!IsSingleLineInitializerContext(nextToken.Parent)) 245if (currentToken.Parent is PositionalPatternClauseSyntax) 252IsInitializerInSingleLineContext(nextToken.Parent)) 262return (((currentToken.Parent is StatementSyntax) && nextToken.Parent != currentToken.Parent) 267if (currentToken.Parent is AttributeListSyntax && currentToken.Parent.Parent is not ParameterSyntax) 277if (currentToken.Parent is InitializerExpressionSyntax or AnonymousObjectCreationExpressionSyntax && 278!IsSingleLineInitializerContext(nextToken.Parent)) 282return currentToken.Parent is EnumDeclarationSyntax or SwitchExpressionSyntax ? 1 : 0; 286if (currentToken.Parent is LabeledStatementSyntax || currentToken.Parent is SwitchLabelSyntax) 291case SyntaxKind.SwitchKeyword when currentToken.Parent is SwitchExpressionSyntax: 295if ((nextToken.IsKind(SyntaxKind.FromKeyword) && nextToken.Parent.IsKind(SyntaxKind.FromClause)) || 296(nextToken.IsKind(SyntaxKind.LetKeyword) && nextToken.Parent.IsKind(SyntaxKind.LetClause)) || 297(nextToken.IsKind(SyntaxKind.WhereKeyword) && nextToken.Parent.IsKind(SyntaxKind.WhereClause)) || 298(nextToken.IsKind(SyntaxKind.JoinKeyword) && nextToken.Parent.IsKind(SyntaxKind.JoinClause)) || 299(nextToken.IsKind(SyntaxKind.JoinKeyword) && nextToken.Parent.IsKind(SyntaxKind.JoinIntoClause)) || 300(nextToken.IsKind(SyntaxKind.OrderByKeyword) && nextToken.Parent.IsKind(SyntaxKind.OrderByClause)) || 301(nextToken.IsKind(SyntaxKind.SelectKeyword) && nextToken.Parent.IsKind(SyntaxKind.SelectClause)) || 302(nextToken.IsKind(SyntaxKind.GroupKeyword) && nextToken.Parent.IsKind(SyntaxKind.GroupClause))) 317return (nextToken.Parent is AttributeListSyntax && !(nextToken.Parent.Parent is ParameterSyntax)) ? 1 : 0; 319return currentToken.Parent is TypeParameterListSyntax ? 1 : 0; 335var parent = openBraceToken.Parent; 352var parent = closeBraceToken.Parent; 367var parent = openBraceToken.Parent; 383var currentTokenParent = currentToken.Parent; 389nextToken.Parent is MemberAccessExpressionSyntax or BracketedArgumentListSyntax || // Typical cases: `new [] { ... }.Length` or `new [] { ... }[0]`. When in multiline mode still want to keep them on the same line as closing brace 400nextToken.Parent is PropertyDeclarationSyntax nextProperty && IsSingleLineProperty(nextProperty)) 416nextToken.Parent.IsKind(SyntaxKind.DoStatement)) 433if (currentToken.Parent.IsKind(SyntaxKind.ForStatement)) 441else if (currentToken.Parent.IsKind(SyntaxKind.UsingDirective)) 443return nextToken.Parent.IsKind(SyntaxKind.UsingDirective) ? 1 : 2; 445else if (currentToken.Parent.IsKind(SyntaxKind.ExternAliasDirective)) 447return nextToken.Parent.IsKind(SyntaxKind.ExternAliasDirective) ? 1 : 2; 449else if (currentToken.Parent is AccessorDeclarationSyntax && 450IsAccessorListWithoutAccessorsWithBlockBody(currentToken.Parent.Parent)) 454else if (currentToken.Parent is PropertyDeclarationSyntax property) 464Debug.Assert(((PropertyDeclarationSyntax)currentToken.Parent).SemicolonToken == currentToken); 467nextToken.Parent is PropertyDeclarationSyntax nextProperty && 486if (token.Parent.IsKind(SyntaxKind.PropertyPatternClause)) 488propPattern = (PropertyPatternClauseSyntax)token.Parent; 490else if (next.Parent.IsKind(SyntaxKind.PropertyPatternClause)) 492propPattern = (PropertyPatternClauseSyntax)next.Parent; 546if (token.Parent.IsKind(SyntaxKind.PositionalPatternClause)) 548posPattern = (PositionalPatternClauseSyntax)token.Parent; 550else if (next.Parent.IsKind(SyntaxKind.PositionalPatternClause)) 552posPattern = (PositionalPatternClauseSyntax)next.Parent; 609var listPattern = token.Parent as ListPatternSyntax ?? next.Parent as ListPatternSyntax; 632if (token.Parent == null || next.Parent == null) 637if (IsAccessorListWithoutAccessorsWithBlockBody(next.Parent) || 638IsAccessorListWithoutAccessorsWithBlockBody(next.Parent.Parent)) 657if ((token.Parent is AssignmentExpressionSyntax && AssignmentTokenNeedsSeparator(token.Kind())) || 658(next.Parent is AssignmentExpressionSyntax && AssignmentTokenNeedsSeparator(next.Kind())) || 659(token.Parent is BinaryExpressionSyntax && BinaryTokenNeedsSeparator(token.Kind())) || 660(next.Parent is BinaryExpressionSyntax && BinaryTokenNeedsSeparator(next.Kind()))) 665if (token.IsKind(SyntaxKind.GreaterThanToken) && token.Parent.IsKind(SyntaxKind.TypeArgumentList)) 674token.Parent.IsKind(SyntaxKind.FunctionPointerParameterList) && 675token.Parent.Parent?.Parent is not UsingDirectiveSyntax) 682!token.Parent.IsKind(SyntaxKind.EnumDeclaration)) 693if (next.IsKind(SyntaxKind.SwitchKeyword) && next.Parent is SwitchExpressionSyntax) 700if (token.Parent.IsKind(SyntaxKind.ConditionalExpression) || token.Parent is TypeSyntax) 702if (token.Parent.Parent?.Kind() is not SyntaxKind.TypeArgumentList and not SyntaxKind.UsingDirective) 711return !token.Parent.IsKind(SyntaxKind.InterpolationFormatClause) && 712!token.Parent.IsKind(SyntaxKind.XmlPrefix) && 713!token.Parent.IsKind(SyntaxKind.IgnoredDirectiveTrivia); 718if (next.Parent.IsKind(SyntaxKind.BaseList) || 719next.Parent.IsKind(SyntaxKind.TypeParameterConstraintClause) || 720next.Parent is ConstructorInitializerSyntax) 732if (token.IsKind(SyntaxKind.CloseParenToken) && IsWord(next.Kind()) && token.Parent.IsKind(SyntaxKind.TupleType) == true) 738&& (next.Parent.IsKind(SyntaxKind.ConditionalExpression))) 745return !token.Parent.IsKind(SyntaxKind.XmlTextAttribute); 750return !next.Parent.IsKind(SyntaxKind.XmlTextAttribute); 755if (token.Parent.IsKind(SyntaxKind.FunctionPointerType)) 764if (token.IsKind(SyntaxKind.AsteriskToken) && next.Parent.IsKind(SyntaxKind.FunctionPointerCallingConvention)) 776if (next.Parent.IsKind(SyntaxKind.FunctionPointerParameterList) && next.IsKind(SyntaxKind.LessThanToken)) 788case SyntaxKind.CloseBracketToken when token.Parent.IsKind(SyntaxKind.FunctionPointerUnmanagedCallingConventionList): 795if (token.Parent.IsKind(SyntaxKind.FunctionPointerCallingConvention) && next.Parent.IsKind(SyntaxKind.FunctionPointerUnmanagedCallingConventionList) && 802if (next.Parent.IsKind(SyntaxKind.FunctionPointerUnmanagedCallingConventionList) && token.Parent.IsKind(SyntaxKind.FunctionPointerUnmanagedCallingConventionList)) 835if (token.IsKind(SyntaxKind.LessThanToken) && token.Parent.IsKind(SyntaxKind.FunctionPointerParameterList)) 842if (next.IsKind(SyntaxKind.GreaterThanToken) && next.Parent.IsKind(SyntaxKind.FunctionPointerParameterList)) 859if (next.IsKind(SyntaxKind.AsteriskToken) && next.Parent is PointerTypeSyntax) 865if (token.IsKind(SyntaxKind.AsteriskToken) && token.Parent is PointerTypeSyntax && 866(next.IsKind(SyntaxKind.IdentifierToken) || next.Parent.IsKind(SyntaxKind.IndexerDeclaration))) 878if (IsSingleLineInitializerContext(token.Parent)) 880if (next.Parent is InitializerExpressionSyntax or AnonymousObjectCreationExpressionSyntax && 886if (token.Parent is InitializerExpressionSyntax or AnonymousObjectCreationExpressionSyntax && 892if (next.Parent is InitializerExpressionSyntax or AnonymousObjectCreationExpressionSyntax && 900if (next is { RawKind: (int)SyntaxKind.OpenParenToken, Parent.Parent: ParenthesizedLambdaExpressionSyntax lambda } && 906if (token.Parent.Parent?.Kind() == SyntaxKind.SuppressNullableWarningExpression) 918(!next.IsKind(SyntaxKind.OpenParenToken) || KeywordNeedsSeparatorBeforeOpenParen(token.Kind()) || next.Parent.IsKind(SyntaxKind.TupleType)) && 943if (token.Parent is RelationalPatternSyntax) 979switch (token.Parent.Kind(), next.Parent.Kind()) 1316return GetDeclarationDepth(token.Parent);
Microsoft.CodeAnalysis.CSharp.CodeStyle (218)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (2)
38if (token.Parent?.Parent is InterpolatedStringExpressionSyntax { StringStartToken.RawKind: (int)SyntaxKind.InterpolatedMultiLineRawStringStartToken }) 56if (IsInDirective(token.Parent))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (3)
27if (name.Parent is ExpressionSyntax expression) 44if (name.Parent is ExpressionSyntax expression) 135switch (token.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTokenExtensions.cs (2)
47token.Parent.IsKind(SyntaxKind.ObjectInitializerExpression); 50=> token.IsKind(SyntaxKind.OpenBraceToken) && token.Parent.IsKind(SyntaxKind.AccessorList);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTreeExtensions.cs (1)
160if (token.Parent is XmlCrefAttributeSyntax attribute)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.DocumentationCommentExteriorCommentRewriter.cs (1)
67var currentParent = trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (50)
78=> token.IsOpenParenInParameterList() && token.Parent.IsParentKind(SyntaxKind.ConversionOperatorDeclaration); 81=> token.IsOpenParenInParameterList() && token.Parent.IsParentKind(SyntaxKind.OperatorDeclaration); 84=> token.Kind() == SyntaxKind.OpenParenToken && token.Parent.IsKind(SyntaxKind.ParameterList); 87=> token.Kind() == SyntaxKind.CloseParenToken && token.Parent.IsKind(SyntaxKind.ParameterList); 104if (token.Parent is (kind: SyntaxKind.ArgumentList or SyntaxKind.AttributeArgumentList)) 110if (token.Parent.IsKind(SyntaxKind.PositionalPatternClause) && token.Parent.Parent.IsKind(SyntaxKind.RecursivePattern)) 113return token.Parent.Parent.GetFirstToken() != token; 120=> token.Kind() == SyntaxKind.ColonToken && token.Parent.IsKind(SyntaxKind.BaseList); 123=> token.Kind() == SyntaxKind.CommaToken && (token.Parent.IsAnyArgumentList() || token.Parent?.Kind() is SyntaxKind.ParameterList or SyntaxKind.FunctionPointerParameterList); 126=> token.Kind() == SyntaxKind.OpenParenToken && token.Parent.IsKind(SyntaxKind.ParameterList) && token.Parent.Parent.IsKind(SyntaxKind.ParenthesizedLambdaExpression); 152token.Parent is ForStatementSyntax forStatement && 163if (token.Parent is not StatementSyntax statement || 179return token.Parent is ExpressionSyntax || token.Parent.IsKind(SyntaxKind.PropertyPatternClause); 189if (token.Parent is not BlockSyntax block || 211token.Parent.IsKind(SyntaxKind.EnumDeclaration); 217token.Parent.IsAnyArgumentList(); 223token.Parent.IsKind(SyntaxKind.VariableDeclaration); 227=> token.Parent is ParenthesizedExpressionSyntax parenthesizedExpression && parenthesizedExpression.OpenParenToken.Equals(token); 230=> token.Parent is ParenthesizedExpressionSyntax parenthesizedExpression && parenthesizedExpression.CloseParenToken.Equals(token); 234var parent = token.Parent ?? throw new ArgumentNullException(nameof(token)); 281token.Parent.IsKind(SyntaxKind.EqualsValueClause) && 282token.Parent.Parent.IsKind(SyntaxKind.PropertyDeclaration); 287if (token.Parent is not StatementSyntax statement) 308=> token.IsDotInMemberAccess() || (token.Kind() == SyntaxKind.DotToken && token.Parent.IsKind(SyntaxKind.QualifiedName)); 312if (token.Parent is not MemberAccessExpressionSyntax memberAccess) 324return token.Parent is (kind: SyntaxKind.TypeParameterList or SyntaxKind.TypeArgumentList); 332((token.Parent is InitializerExpressionSyntax) || 333(token.Parent is AnonymousObjectCreationExpressionSyntax)); 337=> token.Kind() == SyntaxKind.ColonToken && token.Parent is CasePatternSwitchLabelSyntax; 340=> token.Kind() == SyntaxKind.ColonToken && token.Parent.IsKind(SyntaxKind.SwitchExpressionArm); 343=> token.Kind() == SyntaxKind.CommaToken && token.Parent.IsKind(SyntaxKind.SwitchExpression); 346=> token.Kind() == SyntaxKind.CommaToken && token.Parent.IsKind(SyntaxKind.PropertyPatternClause); 351token.Parent is LabeledStatementSyntax labeledStatement && 361token.Parent is LabeledStatementSyntax labeledStatement && 377=> token.Kind() == SyntaxKind.InKeyword && token.Parent is FromClauseSyntax { Expression: QueryExpressionSyntax }; 382token.Parent?.Parent is QueryExpressionSyntax queryExpression && 477if (token.Parent == null) 482return token.Parent.Parent is LabeledStatementSyntax; 516return token.Parent is PrefixUnaryExpressionSyntax; 520=> currentToken.Parent.IsKind(SyntaxKind.Interpolation); 527return currentToken.Kind() == SyntaxKind.OpenParenToken && currentToken is { Parent: ParenthesizedVariableDesignationSyntax, Parent.Parent: DeclarationExpressionSyntax }; 536currentToken.Parent.IsKind(SyntaxKind.TupleExpression); 542currentToken.Parent.IsKind(SyntaxKind.TupleType); 548currentToken.Parent.IsKind(SyntaxKind.ParenthesizedVariableDesignation); 552=> token.Kind() == SyntaxKind.CommaToken && token.Parent.IsKind(SyntaxKind.CollectionExpression);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (35)
116currentToken.Parent.IsKind(SyntaxKind.TypeParameterConstraintClause)) 118RoslynDebug.AssertNotNull(previousToken.Parent); 121if (previousToken.Parent.Ancestors().OfType<TypeParameterConstraintClauseSyntax>().Any()) 127var firstTokenAfterTypeConstraint = currentToken.Parent.GetLastToken().GetNextToken(); 128var lastTokenForTypeConstraint = currentToken.Parent.GetLastToken().GetNextToken(); 131firstTokenAfterTypeConstraint.Parent.IsKind(SyntaxKind.TypeParameterConstraintClause)) 143currentToken.Parent.IsParentKind(SyntaxKind.IfStatement)) 185if (previousToken.Parent is not FileScopedNamespaceDeclarationSyntax) 294previousToken.Parent is AttributeListSyntax && 295currentToken.Parent is not AttributeListSyntax) 328return (((previousToken.Parent is StatementSyntax) && currentToken.Parent != previousToken.Parent) 334if (previousToken.Parent is AttributeListSyntax parent) 340if (!currentToken.IsKind(SyntaxKind.EndOfFileToken) && !(currentToken.Parent is AttributeListSyntax)) 359return previousToken.Parent is EnumDeclarationSyntax ? 1 : 0; 365if (previousToken.Parent is LabeledStatementSyntax or SwitchLabelSyntax) 373if ((currentToken.Kind() == SyntaxKind.FromKeyword && currentToken.Parent.IsKind(SyntaxKind.FromClause)) || 374(currentToken.Kind() == SyntaxKind.LetKeyword && currentToken.Parent.IsKind(SyntaxKind.LetClause)) || 375(currentToken.Kind() == SyntaxKind.WhereKeyword && currentToken.Parent.IsKind(SyntaxKind.WhereClause)) || 376(currentToken.Kind() == SyntaxKind.JoinKeyword && currentToken.Parent.IsKind(SyntaxKind.JoinClause)) || 377(currentToken.Kind() == SyntaxKind.JoinKeyword && currentToken.Parent.IsKind(SyntaxKind.JoinIntoClause)) || 378(currentToken.Kind() == SyntaxKind.OrderByKeyword && currentToken.Parent.IsKind(SyntaxKind.OrderByClause)) || 379(currentToken.Kind() == SyntaxKind.SelectKeyword && currentToken.Parent.IsKind(SyntaxKind.SelectClause)) || 380(currentToken.Kind() == SyntaxKind.GroupKeyword && currentToken.Parent.IsKind(SyntaxKind.GroupClause))) 396if (currentToken.Parent is AttributeListSyntax parent) 400previousToken.Parent is not AttributeListSyntax) 417return previousToken.Parent is TypeParameterListSyntax ? 1 : 0; 438nextToken.Parent.IsKind(SyntaxKind.DoStatement)) 454if (previousToken.Parent is ForStatementSyntax) 462else if (previousToken.Parent is UsingDirectiveSyntax) 464return currentToken.Parent is UsingDirectiveSyntax ? 1 : 2; 466else if (previousToken.Parent is ExternAliasDirectiveSyntax) 468return currentToken.Parent is ExternAliasDirectiveSyntax ? 1 : 2; 470else if (currentToken.Parent is LocalFunctionStatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\NewLineUserSettingFormattingRule.cs (25)
78RoslynDebug.AssertNotNull(currentToken.Parent); 85&& previousToken.Parent!.Parent == currentToken.Parent.Parent) 112if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent is BaseTypeDeclarationSyntax or NamespaceDeclarationSyntax) 121if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression)) 132if (currentToken.Parent.Kind() is SyntaxKind.ObjectInitializerExpression 143else if (currentToken.Parent.IsKind(SyntaxKind.PropertyPatternClause)) 153var isFirstTokenOfSwitchArm = currentToken.Parent.IsParentKind(SyntaxKind.RecursivePattern, out RecursivePatternSyntax? recursivePattern) 165var currentTokenParentParent = currentToken.Parent.Parent; 220if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.SwitchExpression)) 229if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && IsControlBlock(currentToken.Parent)) 242RoslynDebug.AssertNotNull(currentToken.Parent); 249if (previousToken.IsKind(SyntaxKind.CommaToken) && previousToken.Parent.IsKind(SyntaxKind.ObjectInitializerExpression)) 263if (previousToken.IsKind(SyntaxKind.CommaToken) && previousToken.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression)) 280|| previousToken.Parent!.Parent != currentToken.Parent.Parent) 317if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent is BaseTypeDeclarationSyntax or NamespaceDeclarationSyntax) 330if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression)) 347currentToken.Parent.Kind() is SyntaxKind.ObjectInitializerExpression or SyntaxKind.CollectionInitializerExpression or SyntaxKind.WithInitializerExpression or SyntaxKind.PropertyPatternClause) 364currentToken.Parent.Kind() is SyntaxKind.ArrayInitializerExpression or SyntaxKind.ImplicitArrayCreationExpression) 369var currentTokenParentParent = currentToken.Parent.Parent; 445if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.SwitchExpression)) 458if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && IsControlBlock(currentToken.Parent)) 474&& (previousToken.Parent is StatementSyntax && !previousToken.Parent.IsKind(SyntaxKind.ForStatement))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SpacingFormattingRule.cs (29)
45RoslynDebug.Assert(previousToken.Parent != null && currentToken.Parent != null); 49var previousParentKind = previousToken.Parent.Kind(); 50var currentParentKind = currentToken.Parent.Kind(); 92if (previousToken.Parent.IsKind(SyntaxKind.OperatorDeclaration) && currentToken.IsOpenParenInParameterListOfAOperationDeclaration()) 163if ((previousToken.Parent.Kind() is SyntaxKind.ParenthesizedExpression or SyntaxKind.ParenthesizedPattern && previousKind == SyntaxKind.OpenParenToken) || 164(currentToken.Parent.Kind() is SyntaxKind.ParenthesizedExpression or SyntaxKind.ParenthesizedPattern && currentKind == SyntaxKind.CloseParenToken)) 178&& IsEmptyForStatement((ForStatementSyntax)previousToken.Parent)) 208if (currentKind == SyntaxKind.OpenBracketToken && currentToken.Parent.Kind() is SyntaxKind.ListPattern or SyntaxKind.CollectionExpression) 249if (previousKind == SyntaxKind.CloseBracketToken && previousToken.Parent.IsKind(SyntaxKind.AttributeList)) 253currentToken.Parent.IsKind(SyntaxKind.AttributeList)) 334if (currentToken.Parent is BinaryExpressionSyntax || 335previousToken.Parent is BinaryExpressionSyntax || 336currentToken.Parent is AssignmentExpressionSyntax || 337previousToken.Parent is AssignmentExpressionSyntax || 338currentToken.Parent.Kind() is SyntaxKind.AndPattern or SyntaxKind.OrPattern or SyntaxKind.RelationalPattern || 339previousToken.Parent.Kind() is SyntaxKind.AndPattern or SyntaxKind.OrPattern or SyntaxKind.RelationalPattern) 465if (previousToken.Parent.IsKind(SyntaxKind.NotPattern)) 494if ((currentKind == SyntaxKind.OpenBraceToken && currentToken.Parent is InterpolationSyntax) || 495(previousKind == SyntaxKind.CloseBraceToken && previousToken.Parent is InterpolationSyntax)) 501if (previousKind == SyntaxKind.OpenBraceToken && previousToken.Parent is InterpolationSyntax) 507if (currentKind == SyntaxKind.CloseBraceToken && currentToken.Parent is InterpolationSyntax interpolation) 518if ((previousKind == SyntaxKind.CommaToken && previousToken.Parent is InterpolationAlignmentClauseSyntax) || 519(currentKind == SyntaxKind.CommaToken && currentToken.Parent is InterpolationAlignmentClauseSyntax)) 525if ((previousKind == SyntaxKind.ColonToken && previousToken.Parent is InterpolationFormatClauseSyntax) || 526(currentKind == SyntaxKind.ColonToken && currentToken.Parent is InterpolationFormatClauseSyntax)) 546var rangeExpression = (RangeExpressionSyntax)previousToken.Parent; 557var rangeExpression = (RangeExpressionSyntax)currentToken.Parent; 610=> token.Parent is (kind: SyntaxKind.ArrayRankSpecifier or SyntaxKind.BracketedArgumentList or SyntaxKind.BracketedParameterList or SyntaxKind.ImplicitArrayCreationExpression or SyntaxKind.ListPattern or SyntaxKind.CollectionExpression);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\StructuredTriviaFormattingRule.cs (6)
16if (previousToken.Parent is StructuredTriviaSyntax || currentToken.Parent is StructuredTriviaSyntax) 26if (previousToken.Parent is StructuredTriviaSyntax || currentToken.Parent is StructuredTriviaSyntax) 30if (currentToken.Parent == previousToken.Parent &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (30)
165if (previousToken.Kind() == SyntaxKind.CloseParenToken && previousToken.Parent.IsEmbeddedStatementOwnerWithCloseParen()) 170if (previousToken.Kind() == SyntaxKind.DoKeyword && previousToken.Parent.IsKind(SyntaxKind.DoStatement)) 195currentToken.Parent is EmptyStatementSyntax && 203if (previousToken.Kind() == SyntaxKind.CloseBracketToken && previousToken.Parent is AttributeListSyntax) 205var attributeOwner = previousToken.Parent?.Parent; 223if (previousToken.Parent is UsingDirectiveSyntax previousUsing) 228currentToken.Parent is UsingDirectiveSyntax currentUsing && 246if (previousToken.Parent is FileScopedNamespaceDeclarationSyntax) 322if (previousToken.Kind() == SyntaxKind.CloseParenToken && previousToken.Parent.IsEmbeddedStatementOwnerWithCloseParen()) 339previousToken.Parent.IsKind(SyntaxKind.AttributeList) && 340previousToken.Parent.IsParentKind(SyntaxKind.Parameter)) 368var spaces = previousToken.Parent is (kind: 401if (previousToken.Kind() == SyntaxKind.CommaToken && currentToken.Kind() == SyntaxKind.OpenBracketToken && currentToken.Parent is AttributeListSyntax) 407if (previousToken.Kind() == SyntaxKind.CloseBracketToken && previousToken.Parent is AttributeListSyntax) 430currentToken.Parent?.Kind() is not SyntaxKind.CollectionExpression and not SyntaxKind.AttributeList && 449currentToken.Parent is (kind: 466if (previousToken.Parent is CastExpressionSyntax && 473if (previousToken.Parent is (kind: SyntaxKind.TypeArgumentList or SyntaxKind.TypeParameterList or SyntaxKind.FunctionPointerType)) 490currentToken.Parent is (kind: SyntaxKind.TypeArgumentList or SyntaxKind.TypeParameterList)) 497previousToken.Parent is PrefixUnaryExpressionSyntax) 504currentToken.Parent is PostfixUnaryExpressionSyntax) 510if (currentToken.IsKind(SyntaxKind.QuestionToken) && currentToken.Parent.IsKind(SyntaxKind.ConditionalAccessExpression)) 517currentToken.Parent is (kind: SyntaxKind.NullableType or SyntaxKind.ClassConstraint)) 524previousToken.Parent?.IsParentKind(SyntaxKind.ArrayType) == true) 531currentToken.Parent.IsKind(SyntaxKind.SuppressNullableWarningExpression)) 537if (currentToken.Kind() == SyntaxKind.AsteriskToken && currentToken.Parent is PointerTypeSyntax) 543if (previousToken.Kind() == SyntaxKind.AsteriskToken && previousToken.Parent is PrefixUnaryExpressionSyntax) 578&& !previousToken.Parent.IsKind(SyntaxKind.SuppressNullableWarningExpression)) 584if (previousToken.Kind() == SyntaxKind.TildeToken && (previousToken.Parent is PrefixUnaryExpressionSyntax or DestructorDeclarationSyntax)) 591previousToken.Parent is PrefixUnaryExpressionSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Indentation\CSharpSmartTokenFormatter.cs (4)
72endToken.Parent.IsKind(SyntaxKind.Block) && 73endToken.Parent.Parent?.Kind() is SyntaxKind.TryStatement or SyntaxKind.DoStatement; 94(token.Parent.IsInitializerForArrayOrCollectionCreationExpression() || 95token.Parent is AnonymousObjectCreationExpressionSyntax))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (15)
114(token.Parent is PrefixUnaryExpressionSyntax or PostfixUnaryExpressionSyntax or OperatorDeclarationSyntax)) || 115(SyntaxFacts.IsBinaryExpression(kind) && (token.Parent is BinaryExpressionSyntax or OperatorDeclarationSyntax or RelationalPatternSyntax)) || 116(SyntaxFacts.IsAssignmentExpressionOperatorToken(kind) && token.Parent is AssignmentExpressionSyntax); 268=> token.Parent is ConstructorInitializerSyntax(SyntaxKind.ThisConstructorInitializer) constructorInit && 272=> token.Parent is ConstructorInitializerSyntax(SyntaxKind.BaseConstructorInitializer) constructorInit && 290return token.Parent is QueryClauseSyntax; 294return token.Parent is SelectOrGroupClauseSyntax; 297return token.Parent is OrderingSyntax; 299return token.Parent is (kind: SyntaxKind.JoinIntoClause or SyntaxKind.QueryContinuation); 520if (token.Kind() == SyntaxKind.CommaToken && token.Parent.IsKind(SyntaxKind.OrderByClause)) 525if (token.Parent.IsKind(SyntaxKind.CollectionExpression)) 528if (semanticModel != null && token.Parent is BracketedArgumentListSyntax { Parent: ElementAccessExpressionSyntax elementAccessExpression }) 719var node = root.FindToken(position).Parent; 952var node = token.Parent; 1332if (token.Kind() == SyntaxKind.OverrideKeyword && token.Parent is MemberDeclarationSyntax member)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (15)
42var (_, closeBrace) = previousToken.Parent.GetBracePair(); 79var parent = endToken.Parent; 99var parent = endToken.Parent; 151var parent = endToken.Parent; 251var parent = endToken.Parent; 317RoslynDebug.AssertNotNull(previousToken.Parent?.Parent); 318var labelNode = previousToken.Parent.Parent; 328(previousToken.Parent.IsKind(SyntaxKind.Block) || 329previousToken.Parent is TypeDeclarationSyntax || 330previousToken.Parent is NamespaceDeclarationSyntax); 389token.Parent is SwitchLabelSyntax switchLabel && 415RoslynDebug.AssertNotNull(token.Parent); 419if (token.Parent.Kind() is SyntaxKind.Block or 422return token.Parent.Parent as MemberDeclarationSyntax; 426return token.Parent.FirstAncestorOrSelf<MemberDeclarationSyntax>();
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (265)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertNamespace\ConvertNamespaceTransform.cs (1)
228if (token.IsKind(SyntaxKind.HashToken) && token.Parent!.Kind() is not (SyntaxKind.RegionDirectiveTrivia or SyntaxKind.EndRegionDirectiveTrivia))
src\roslyn\src\Analyzers\CSharp\CodeFixes\ReplaceDefaultLiteral\CSharpReplaceDefaultLiteralCodeFixProvider.cs (1)
45token.Parent is LiteralExpressionSyntax(SyntaxKind.DefaultLiteralExpression) defaultLiteral)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseAutoProperty\SingleLinePropertyFormattingRule.cs (4)
16if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.AccessorList)) 19if (previousToken.IsKind(SyntaxKind.OpenBraceToken) && previousToken.Parent.IsKind(SyntaxKind.AccessorList)) 22if (currentToken.IsKind(SyntaxKind.CloseBraceToken) && currentToken.Parent.IsKind(SyntaxKind.AccessorList)) 25if (previousToken.IsKind(SyntaxKind.SemicolonToken) && currentToken.Parent is AccessorDeclarationSyntax)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseImplicitOrExplicitType\UseExplicitTypeCodeFixProvider.cs (1)
134varDecl.Variables.Single().Identifier.Parent!,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (1)
207return contextTree?.GetRoot(cancellationToken).FindToken(contextLocation!.SourceSpan.Start).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (1)
540var block = token.Parent.GetAncestorOrThis<BlockSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (12)
214targetToken.Parent.IsKind(SyntaxKind.DestructorDeclaration) && 215targetToken.Parent.Parent is (kind: SyntaxKind.ClassDeclaration or SyntaxKind.RecordDeclaration); 224var isOnArgumentListBracketOrComma = targetToken.Parent is (kind: SyntaxKind.ArgumentList or SyntaxKind.AttributeArgumentList or SyntaxKind.ArrayRankSpecifier); 282isRightAfterUsingOrImportDirective: targetToken.Parent is UsingDirectiveSyntax usingDirective && usingDirective?.GetLastToken() == targetToken, 313token.Parent.IsKind(SyntaxKind.AttributeList) && 353token.Parent.IsKind(SyntaxKind.AttributeList)) 377token.Parent.IsKind(SyntaxKind.AttributeList) && 378token.Parent.Parent is ParameterSyntax { Parent: ParameterListSyntax { Parent: RecordDeclarationSyntax record } }) 393token.Parent.IsKind(SyntaxKind.AttributeList) && 394token.Parent.Parent is StatementSyntax) 489return targetToken.Parent switch 527var attributeList = this.TargetToken.Parent?.FirstAncestorOrSelf<AttributeListSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (47)
41if (token is { RawKind: (int)SyntaxKind.StaticKeyword, Parent: UsingDirectiveSyntax }) 48token.GetPreviousToken() is { RawKind: (int)SyntaxKind.StaticKeyword, Parent: UsingDirectiveSyntax }) 115case SyntaxKind.OpenBraceToken when token.Parent.IsKind(SyntaxKind.Block): 124if (token.Parent.IsKind(SyntaxKind.Block)) 126if (token.Parent.Parent is StatementSyntax) 135if (token.Parent.Parent.Kind() is not SyntaxKind.TryStatement and not SyntaxKind.DoStatement) 138else if (token.Parent.Parent?.Kind() 148if (token.Parent.IsKind(SyntaxKind.SwitchStatement)) 156return token.Parent is (kind: SyntaxKind.CaseSwitchLabel or SyntaxKind.DefaultSwitchLabel or SyntaxKind.CasePatternSwitchLabel or SyntaxKind.LabeledStatement); 158case SyntaxKind.DoKeyword when token.Parent.IsKind(SyntaxKind.DoStatement): 162var parent = token.Parent; 174return token.Parent.IsKind(SyntaxKind.ElseClause); 177if (token.Parent.IsKind(SyntaxKind.AttributeList)) 180var container = token.Parent.Parent; 225if (token.Parent is FileScopedNamespaceDeclarationSyntax namespaceDeclaration && namespaceDeclaration.SemicolonToken == token) 259if (token.Parent.IsKind(SyntaxKind.AttributeList)) 261var container = token.Parent.Parent; 274if (token.Parent.IsKind(SyntaxKind.CastExpression)) 279if (token.Parent is ParenthesizedExpressionSyntax parenExpr) 334targetToken.Parent.IsKind(SyntaxKind.ParenthesizedExpression)) 340if (targetToken.Parent is PrefixUnaryExpressionSyntax prefix) 347if (targetToken.Parent is BinaryExpressionSyntax binary) 396targetToken.Parent.IsKind(SyntaxKind.SwitchStatement)) 403if (targetToken.Parent is (kind: SyntaxKind.CaseSwitchLabel or SyntaxKind.DefaultSwitchLabel or SyntaxKind.CasePatternSwitchLabel)) 431targetToken.Parent is (kind: SyntaxKind.CrefBracketedParameterList or SyntaxKind.CrefParameterList); 450targetToken.Parent.IsKind(SyntaxKind.NameColon) && 451targetToken.Parent.Parent.IsKind(SyntaxKind.Argument) && 452targetToken.Parent.Parent.Parent.IsKind(SyntaxKind.ArgumentList)) 454var owner = targetToken.Parent.Parent.Parent.Parent; 467if (targetToken.Parent.IsKind(SyntaxKind.ArgumentList)) 469if (targetToken.Parent?.Parent?.Kind() 480if (targetToken.Parent.IsParentKind(SyntaxKind.InvocationExpression) && !targetToken.IsInvocationOfVarExpression()) 581targetToken.Parent.IsKind(SyntaxKind.AccessorList)) 589targetToken.Parent.IsKind(SyntaxKind.Block) && 590targetToken.Parent.Parent is AccessorDeclarationSyntax) 597targetToken.Parent is AccessorDeclarationSyntax) 604targetToken.Parent.IsKind(SyntaxKind.AttributeList) && 605targetToken.Parent.Parent is AccessorDeclarationSyntax) 637IsGenericInterfaceOrDelegateTypeParameterList(targetToken.Parent)) 643IsGenericInterfaceOrDelegateTypeParameterList(targetToken.Parent)) 649targetToken.Parent.IsKind(SyntaxKind.AttributeList) && 650targetToken.Parent.Parent.IsKind(SyntaxKind.TypeParameter) && 651IsGenericInterfaceOrDelegateTypeParameterList(targetToken.Parent.Parent.Parent)) 661if (token.Kind() == SyntaxKind.CommaToken && token.Parent is BaseArgumentListSyntax) 663var argumentList = (BaseArgumentListSyntax)token.Parent; 687if (token.Parent is not MemberAccessExpressionSyntax memberAccessExpression) 697=> token.Parent is IdentifierNameSyntax typedParent &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (176)
37token.Parent.IsKind(SyntaxKind.AttributeList)) 45token.Parent.IsKind(SyntaxKind.AttributeList)) 53token.Parent.IsKind(SyntaxKind.AttributeTargetSpecifier)) 60if (token.Parent.IsKind(SyntaxKind.QualifiedName) && 61token.Parent.IsParentKind(SyntaxKind.Attribute)) 68if (token.Parent.IsKind(SyntaxKind.AliasQualifiedName) && 69token.Parent.IsParentKind(SyntaxKind.Attribute)) 90var parent = token.Parent; 168if (token.Parent is BaseTypeDeclarationSyntax) 179if (token.Parent is MemberDeclarationSyntax && 180token.Parent.Parent is BaseTypeDeclarationSyntax) 196if (token.Parent is BaseTypeDeclarationSyntax && 197token.Parent.Parent is BaseTypeDeclarationSyntax) 202else if (token.Parent is AccessorListSyntax) 208token.Parent.IsKind(SyntaxKind.Block) && 209token.Parent.Parent is MemberDeclarationSyntax) 221token.Parent.IsKind(SyntaxKind.AttributeList)) 229var container = token.Parent.Parent?.Parent; 298var member = token.Parent; 359if (token.Kind() == SyntaxKind.CloseBracketToken && token.Parent is AttributeListSyntax) 360return syntaxTree.IsLocalFunctionDeclarationContext(token.Parent.SpanStart, validModifiers, cancellationToken); 440if (token.IsKind(SyntaxKind.OpenBraceToken) && token.Parent is NamespaceDeclarationSyntax or TypeDeclarationSyntax) 457if (token.Parent is (kind: SyntaxKind.ExternAliasDirective or SyntaxKind.UsingDirective)) 461else if (token.Parent is MemberDeclarationSyntax) 479if (token.Parent is BaseTypeDeclarationSyntax) 483else if (token.Parent.IsKind(SyntaxKind.NamespaceDeclaration)) 487else if (token.Parent is AccessorListSyntax) 492token.Parent.IsKind(SyntaxKind.Block) && 493token.Parent.Parent is MemberDeclarationSyntax) 508token.Parent.IsKind(SyntaxKind.AttributeList)) 511if (token.Parent.IsParentKind(SyntaxKind.CompilationUnit)) 520var container = token.Parent?.Parent?.Parent; 597var container = token.Parent?.Parent; 786token.Parent is BaseListSyntax { Parent: not EnumDeclarationSyntax }) 832token.Parent.IsKind(SyntaxKind.TypeParameterConstraintClause)) 839token.Parent.IsKind(SyntaxKind.IdentifierName) && 840token.Parent.IsParentKind(SyntaxKind.SimpleBaseType) && 841token.Parent.Parent.IsParentKind(SyntaxKind.BaseList)) 885token.Parent is TypeParameterConstraintClauseSyntax constraintClause) 903if (token.IsKind(SyntaxKind.OpenParenToken) && token.Parent.IsKind(SyntaxKind.TypeOfExpression)) 915if (token.IsKind(SyntaxKind.OpenParenToken) && token.Parent.IsKind(SyntaxKind.DefaultExpression)) 928if (token.IsKind(SyntaxKind.OpenParenToken) && token.Parent.IsKind(SyntaxKind.SizeOfExpression)) 949return token.Parent.IsKind(SyntaxKind.FunctionPointerParameterList); 955{ Parent.RawKind: (int)SyntaxKind.FunctionPointerParameter } => true, 957{ Parent: TypeSyntax { Parent.RawKind: (int)SyntaxKind.FunctionPointerParameter } } => true, 963=> targetToken.Parent.IsKind(SyntaxKind.TypeParameterConstraintClause) && 985if (token.Parent is TypeArgumentListSyntax) 996if (nameToken.Parent is not NameSyntax name) 1072token.Parent is ParameterListSyntax parameterList1 && 1079if (token.IsKind(SyntaxKind.LessThanToken) && token.Parent.IsKind(SyntaxKind.FunctionPointerParameterList)) 1086token.Parent is ParameterListSyntax parameterList2 && 1096token.Parent is FunctionPointerParameterListSyntax funcPtrParamList) 1105token.Parent.IsKind(SyntaxKind.AttributeList) && 1106token.Parent.Parent is ParameterSyntax parameter3 && 1117parameter4 = token.Parent as ParameterSyntax; 1120else if (token.IsKind(SyntaxKind.IdentifierToken) && token is { Text: "scoped", Parent: IdentifierNameSyntax scopedIdentifierName }) 1166return token.Parent.IsKind(SyntaxKind.BracketedParameterList); 1179token.Parent.IsKind(SyntaxKind.DelegateDeclaration)) 1211token.Parent is (kind: SyntaxKind.ParameterList or SyntaxKind.BracketedParameterList)) 1221var method = tokenOnLeftOfPosition.Parent.GetAncestorOrThis<MethodDeclarationSyntax>(); 1238if (token.Parent.IsKind(SyntaxKind.ParameterList) && 1239token.Parent.IsParentKind(SyntaxKind.ParenthesizedLambdaExpression)) 1255if (token.Parent is (kind: SyntaxKind.ParenthesizedExpression or SyntaxKind.TupleExpression or SyntaxKind.CastExpression)) 1271parent = token.Parent; 1273else if (token.IsKind(SyntaxKind.ScopedKeyword) && token.Parent.IsKind(SyntaxKind.Parameter)) 1275parent = token.Parent.Parent; 1277else if (token.IsKind(SyntaxKind.IdentifierToken) && token is { Text: "scoped", Parent: IdentifierNameSyntax scopedIdentifierName } && scopedIdentifierName.Parent.IsKind(SyntaxKind.Parameter)) 1330if (leftToken.Parent is (kind: 1335var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent); 1347var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent!); 1357leftToken.Parent.IsKind(SyntaxKind.IdentifierName) && 1358leftToken.Parent.Parent is (kind: SyntaxKind.QualifiedName or SyntaxKind.SimpleMemberAccessExpression)) 1360var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent.Parent); 1376if (leftToken.Parent is ParenthesizedExpressionSyntax parenthesizedExpression) 1384if (leftToken.Parent.IsKind(SyntaxKind.ParenthesizedPattern)) 1399if (leftToken.Kind() is SyntaxKind.OpenBraceToken or SyntaxKind.CommaToken && leftToken.Parent.IsKind(SyntaxKind.SwitchExpression)) 1406if (leftToken.Kind() is SyntaxKind.OpenParenToken or SyntaxKind.CommaToken && leftToken.Parent.IsKind(SyntaxKind.PositionalPatternClause)) 1413if (leftToken.Kind() is SyntaxKind.OpenBracketToken or SyntaxKind.CommaToken && leftToken.Parent.IsKind(SyntaxKind.ListPattern)) 1420if (leftToken.IsKind(SyntaxKind.DotDotToken) && leftToken.Parent.IsKind(SyntaxKind.SlicePattern)) 1428if (leftToken.IsKind(SyntaxKind.ColonToken) && leftToken.Parent is (kind: SyntaxKind.NameColon or SyntaxKind.ExpressionColon) && 1429leftToken.Parent.IsParentKind(SyntaxKind.Subpattern)) 1441return leftToken.Parent is BinaryPatternSyntax || 1442leftToken.Parent is SingleVariableDesignationSyntax { Parent: DeclarationPatternSyntax }; 1446if (leftToken.IsKind(SyntaxKind.NotKeyword) && leftToken.Parent.IsKind(SyntaxKind.NotPattern)) 1456leftToken.Parent.IsKind(SyntaxKind.RelationalPattern)) 1504if (lastTokenInPattern.Parent is SingleVariableDesignationSyntax variableDesignationSyntax && 1505originalLeftToken.Parent == variableDesignationSyntax) 1551SyntaxNode? node = leftToken.Parent as ExpressionSyntax; 1581if (possibleCommaOrParen.Parent is (kind: 1591if (possibleCommaOrParen.Parent.IsKind(SyntaxKind.ParameterList) && 1592possibleCommaOrParen.Parent?.Parent is ParenthesizedLambdaExpressionSyntax parenthesizedLambda) 1616if (leftToken.Parent.IsKind(SyntaxKind.ParenthesizedVariableDesignation) || 1617leftToken.Parent.IsParentKind(SyntaxKind.ParenthesizedVariableDesignation)) 1637if (leftToken.IsKind(SyntaxKind.OpenParenToken) && leftToken.Parent.IsKind(SyntaxKind.ParenthesizedExpression)) 1639if (IsPossibleVarDeconstructionOpenParenOrComma(FindTokenOnLeftOfNode(leftToken.Parent))) 1647if (leftToken.Kind() is SyntaxKind.OpenParenToken or SyntaxKind.CommaToken && leftToken.Parent.IsKind(SyntaxKind.TupleExpression)) 1649if (IsPossibleVarDeconstructionOpenParenOrComma(FindTokenOnLeftOfNode(leftToken.Parent))) 1659var outer = UnwrapPossibleTuple(leftToken.Parent!); 1700leftToken.Parent.IsKind(SyntaxKind.ArgumentList) && 1701leftToken.Parent?.Parent is InvocationExpressionSyntax invocation) 1794token.Parent.IsKind(SyntaxKind.LocalDeclarationStatement)) 1805var parent = token.Parent; 1826token.Parent is ArgumentSyntax argument && 1847token.Parent is LocalDeclarationStatementSyntax) 1873if (token.IsKind(SyntaxKind.IdentifierToken) && token.Text == "scoped" && token.Parent.IsKind(SyntaxKind.IdentifierName) && token.Parent.Parent is VariableDeclarationSyntax or ExpressionStatementSyntax or IncompleteMemberSyntax) 1879if (token.IsKind(SyntaxKind.ScopedKeyword) && token.Parent is IncompleteMemberSyntax or ScopedTypeSyntax) 2057token.Parent.IsKind(SyntaxKind.CastExpression)) 2077token.Parent.IsKind(SyntaxKind.GotoCaseStatement)) 2083token.Parent is EqualsValueClauseSyntax equalsValue) 2118if (token.Parent.IsKind(SyntaxKind.AttributeArgumentList) && 2126token.Parent.IsKind(SyntaxKind.NameColon) && 2127token.Parent.IsParentKind(SyntaxKind.AttributeArgument)) 2134token.Parent.IsKind(SyntaxKind.NameEquals) && 2135token.Parent.IsParentKind(SyntaxKind.AttributeArgument)) 2216if (token.Parent.IsKind(SyntaxKind.NameEquals) && 2217token.Parent.IsParentKind(SyntaxKind.UsingDirective)) 2258if (token.Parent.IsKind(SyntaxKind.ParenthesizedExpression)) 2267if (token.Parent is CastExpressionSyntax castExpression && 2278if (token.Parent is PrefixUnaryExpressionSyntax prefix) 2291if (token.Parent is AwaitExpressionSyntax awaitExpression) 2315if (token.Parent is BinaryExpressionSyntax binary) 2352previousToken.Parent?.Kind() is SyntaxKind.PointerType or SyntaxKind.NullableType) 2354var type = previousToken.Parent as TypeSyntax; 2375token.Parent.IsKind(SyntaxKind.ArrayRankSpecifier)) 2383token.Parent.IsKind(SyntaxKind.RangeExpression) && 2391token.Parent is ConditionalExpressionSyntax conditionalExpression) 2400token.Parent.IsKind(SyntaxKind.ConditionalExpression)) 2410if (token.Parent is (kind: SyntaxKind.TypeOfExpression or SyntaxKind.DefaultExpression or SyntaxKind.SizeOfExpression)) 2431token.Parent is (kind: SyntaxKind.ArgumentList or SyntaxKind.BracketedArgumentList or SyntaxKind.TupleExpression)) 2442if (token.Parent.IsKind(SyntaxKind.AttributeArgumentList)) 2455if (token.Parent.IsKind(SyntaxKind.Argument)) 2459else if (token.Parent.IsKind(SyntaxKind.RefExpression)) 2463if (token.Parent.IsParentKind(SyntaxKind.ParenthesizedExpression)) 2474token.Parent.IsKind(SyntaxKind.NameColon) && 2475token.Parent.IsParentKind(SyntaxKind.Argument)) 2490if (token.Parent is InitializerExpressionSyntax) 2494if (token.Parent.IsKind(SyntaxKind.ObjectInitializerExpression) && token.IsKind(SyntaxKind.OpenBraceToken)) 2509token.Parent?.Parent is ObjectCreationExpressionSyntax objectCreation) 2525token.Parent is ForStatementSyntax forStatement) 2536token.Parent is ForStatementSyntax forStatement2 && 2545token.Parent.IsKind(SyntaxKind.ForStatement)) 2556if (token.Parent is (kind: 2569token.Parent.IsKind(SyntaxKind.JoinClause)) 2576token.Parent.IsKind(SyntaxKind.WhereClause)) 2584token.Parent.IsKind(SyntaxKind.OrderByClause)) 2591token.Parent.IsKind(SyntaxKind.SelectClause)) 2599token.Parent.IsKind(SyntaxKind.GroupClause)) 2632if (token.IsKind(SyntaxKind.OpenParenToken) && token.Parent.IsKind(SyntaxKind.UsingStatement)) 2680if (token.IsKind(SyntaxKind.WhenKeyword) && token.Parent.IsKind(SyntaxKind.WhenClause)) 2698token.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression)) 2707token.Parent.IsKind(SyntaxKind.ListPattern)) 2716token.Parent.IsKind(SyntaxKind.CollectionExpression)) 2725token.Parent.IsKind(SyntaxKind.SpreadElement)) 2738return token.Parent is InterpolationSyntax interpolation 2746=> token.Parent?.Parent is InvocationExpressionSyntax invocation && 2760if (token.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression)) 2762var parentMemberAccess = token.Parent; 2776if (token.Parent.IsKind(SyntaxKind.QualifiedName)) 2778var parentQualifiedName = token.Parent; 2795if (token.Parent.IsKind(SyntaxKind.ArgumentList) && 2796token.Parent.Parent is InvocationExpressionSyntax invocationExpression && 2875token.Parent.IsKind(SyntaxKind.IdentifierName) && 2876token.Parent.Parent is (kind: SyntaxKind.ObjectInitializerExpression or SyntaxKind.CollectionInitializerExpression)) 2883token.Parent.IsKind(SyntaxKind.IdentifierName)) 2885if (token.Parent.Parent is ArgumentSyntax { RefOrOutKeyword.RawKind: (int)SyntaxKind.OutKeyword }) 2990token.Parent.IsKind(SyntaxKind.CatchDeclaration)) 3008targetToken.Parent is BaseListSyntax { Parent: TypeDeclarationSyntax }; 3019targetToken.Parent.IsKind(SyntaxKind.BaseList) && 3020targetToken.Parent.IsParentKind(SyntaxKind.EnumDeclaration); 3035if (token.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression)) 3037var memberAccess = (MemberAccessExpressionSyntax)token.Parent; 3040else if (token.Parent is QualifiedNameSyntax qualifiedName && 3041token.Parent?.Parent is BinaryExpressionSyntax(SyntaxKind.IsExpression) binaryExpression && 3047else if (token.Parent is QualifiedNameSyntax qualifiedName1 && 3048token.Parent?.Parent is DeclarationPatternSyntax declarationExpression &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (1)
141var namespaceUsings = root.FindToken(position).Parent!.GetAncestors<BaseNamespaceDeclarationSyntax>().SelectMany(n => n.Usings);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SyntaxTreeExtensions.cs (1)
171return token.Parent is GenericNameSyntax genericName && genericName.TypeArgumentList != null &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (6)
58if (token.IsKind(SyntaxKind.CloseParenToken) && !token.Parent.IsKind(SyntaxKind.UsingStatement)) 63if (token.IsKind(SyntaxKind.ColonToken) && !token.Parent.IsKind(SyntaxKind.LabeledStatement) && token.Parent is not SwitchLabelSyntax) 152token.Parent is not ElseClauseSyntax elseClause) 351if (currentToken.Parent != null) 353var currentTokenParentParent = currentToken.Parent.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (12)
121|| token is { RawKind: (int)SyntaxKind.CloseBraceToken, Parent: InterpolationSyntax }) 176(token.IsKind(SyntaxKind.CloseBraceToken) && token.Parent.IsKind(SyntaxKind.Interpolation))) 183if (token.Parent is LabeledStatementSyntax || token.IsLastTokenInLabelStatement()) 220token.Parent?.Parent is StatementSyntax or ElseClauseSyntax); 222var embeddedStatementOwner = token.Parent.Parent; 253if (token.Parent.IsKind(SyntaxKind.AccessorList) && 254token.Parent.Parent.IsKind(SyntaxKind.PropertyDeclaration)) 272var nonTerminalNode = token.Parent; 285var nonTerminalNode = token.Parent; 309if (token.Parent.IsKind(SyntaxKind.ArgumentList)) 311return GetDefaultIndentationFromToken(indenter, token.Parent.GetFirstToken(includeZeroWidth: true)); 325=> token.Parent switch
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
200var parent = token.Parent;
Microsoft.CodeAnalysis.CSharp.Features (263)
BraceCompletion\BracketBraceCompletionService.cs (1)
49if (currentToken.IsKind(SyntaxKind.OpenBracketToken) && currentToken.Parent.IsKind(SyntaxKind.ListPattern))
BraceCompletion\CurlyBraceCompletionService.cs (8)
48=> token.IsKind(SyntaxKind.OpenBraceToken) && !token.Parent.IsKind(SyntaxKind.Interpolation); 65(startToken.Parent?.IsInitializerForArrayOrCollectionCreationExpression() == true || 66startToken.Parent is AnonymousObjectCreationExpressionSyntax)) 139if (currentToken.Parent is (kind: 150var currentTokenParentParent = currentToken.Parent?.Parent; 165if (currentToken.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression)) 171if (IsControlBlock(currentToken.Parent)) 191if (currentToken.Parent is BaseTypeDeclarationSyntax or NamespaceDeclarationSyntax)
BraceCompletion\InterpolationBraceCompletionService.cs (3)
42=> token.IsKind(SyntaxKind.OpenBraceToken) && token.Parent.IsKind(SyntaxKind.Interpolation); 67return token.Parent.IsKind(SyntaxKind.InterpolatedStringExpression) || token.Parent.IsParentKind(SyntaxKind.InterpolatedStringExpression);
BraceCompletion\LessAndGreaterThanBraceCompletionService.cs (2)
52if (token.Parent is not BinaryExpressionSyntax(SyntaxKind.LessThanExpression) node || node.OperatorToken != token) 62if (previousToken.Parent is not IdentifierNameSyntax identifier)
BraceCompletion\ParenthesisBraceCompletionService.cs (3)
35|| token.Parent == null) 41var (openParen, closeParen) = token.Parent.GetParentheses(); 52for (var currentNode = token.Parent.Parent; currentNode != null; currentNode = currentNode.Parent)
BraceMatching\StringLiteralBraceMatcher.cs (2)
43if (token.Parent is InterpolatedStringExpressionSyntax interpolatedString) 50if (token.Parent is InterpolatedStringExpressionSyntax interpolatedString)
ChangeSignature\ChangeSignatureFormattingRule.cs (1)
54if (previousToken.Kind() == SyntaxKind.CommaToken && s_allowableKinds.Contains(previousToken.Parent.Kind()))
ChangeSignature\CSharpChangeSignatureService.cs (4)
124if (token.Kind() == SyntaxKind.SemicolonToken && token.Parent is StatementSyntax) 130if (token.Parent == null) 135var matchingNode = GetMatchingNode(token.Parent, restrictToDeclarations); 163token.Parent.AncestorsAndSelf().Any(a => a == objectCreation.Type))
CodeLens\CSharpCodeLensDisplayInfoService.cs (1)
68node = structuredTriviaSyntax.ParentTrivia.Token.Parent;
CodeRefactorings\EnableNullable\EnableNullableCodeRefactoringProvider.cs (5)
52token.Parent is not NullableDirectiveTriviaSyntax nullableDirectiveTrivia) 225if (firstToken.IsKind(SyntaxKind.HashToken) && firstToken.Parent.IsKind(SyntaxKind.RegionDirectiveTrivia)) 229var nextToken = firstToken.Parent.GetLastToken(includeDirectives: true).GetNextToken(includeDirectives: true); 230if (nextToken.IsKind(SyntaxKind.HashToken) && nextToken.Parent.IsKind(SyntaxKind.EndRegionDirectiveTrivia)) 232firstToken = nextToken.Parent.GetLastToken(includeDirectives: true).GetNextToken(includeDirectives: true);
CodeRefactorings\UseRecursivePatterns\UseRecursivePatternsCodeRefactoringProvider.cs (1)
60var node = root.FindToken(textSpan.Start).Parent;
Completion\CompletionProviders\AttributeNamedParameterCompletionProvider.cs (4)
73if (token.Parent!.Parent is not AttributeSyntax attributeSyntax || token.Parent is not AttributeArgumentListSyntax attributeArgumentList) 111if (token.Kind() == SyntaxKind.CommaToken && token.Parent is AttributeArgumentListSyntax argumentList) 133if (token.Kind() == SyntaxKind.CommaToken && token.Parent is AttributeArgumentListSyntax argumentList)
Completion\CompletionProviders\AwaitCompletionProvider.cs (2)
158var parent = leftToken.Parent; 185return dotToken?.Parent switch
Completion\CompletionProviders\CompletionUtilities.cs (4)
327if (tokenLeftOfGenericName.IsKind(SyntaxKind.DotToken) && tokenLeftOfGenericName.Parent.IsKind(SyntaxKind.QualifiedName)) 329spanStart = tokenLeftOfGenericName.Parent.SpanStart; 341if (prevToken.Kind() is SyntaxKind.RefKeyword or SyntaxKind.ReadOnlyKeyword && prevToken.Parent.IsKind(SyntaxKind.RefType)) 356return prevToken.Parent!.SpanStart;
Completion\CompletionProviders\CrefCompletionProvider.cs (9)
100var parentNode = token.Parent?.FirstAncestorOrSelf<DocumentationCommentTriviaSyntax>()?.ParentTrivia.Token.Parent; 121token.Parent.IsKind(SyntaxKind.XmlCrefAttribute); 136if (token.Parent?.Kind() is not (SyntaxKind.CrefParameterList or SyntaxKind.CrefBracketedParameterList)) 140token.Parent.IsKind(SyntaxKind.CrefParameterList)) 146token.Parent.IsKind(SyntaxKind.CrefBracketedParameterList)) 160&& token.Parent.IsKind(SyntaxKind.QualifiedCref); 173return GetQualifiedSymbols((QualifiedCrefSyntax)token.Parent!, token, semanticModel, cancellationToken); 186var typeDeclaration = token.Parent?.FirstAncestorOrSelf<TypeDeclarationSyntax>();
Completion\CompletionProviders\CSharpSuggestionModeCompletionProvider.cs (13)
44var semanticModel = await document.ReuseExistingSpeculativeModelAsync(token.Parent, cancellationToken).ConfigureAwait(false); 96if (token.Parent is AnonymousObjectCreationExpressionSyntax) 109if (token.IsKind(SyntaxKind.NewKeyword) && token.Parent.IsKind(SyntaxKind.ObjectCreationExpression)) 117if (token.Kind() == SyntaxKind.LessThanToken && token.Parent is BinaryExpressionSyntax) 125if (token.Parent is not null and ParameterListSyntax) 127return token.Parent.Parent is not null and ParenthesizedLambdaExpressionSyntax; 135token.Parent is TupleExpressionSyntax tupleExpression && 138position = token.Parent.SpanStart; 162previousToken.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression)) 170if (token.Kind() is SyntaxKind.OpenParenToken or SyntaxKind.CommaToken && token.Parent.IsKind(SyntaxKind.ArgumentList) 171&& token.Parent.Parent is InvocationExpressionSyntax invocation 234if (lastTokenInPattern.Parent is SingleVariableDesignationSyntax variableDesignationSyntax && 235token.Parent == variableDesignationSyntax)
Completion\CompletionProviders\DeclarationName\DeclarationNameInfo.cs (8)
207token.Parent.IsKind(SyntaxKind.IdentifierName)) 209var argument = token.Parent.Parent as ArgumentSyntax // var is child of ArgumentSyntax, eg. Goo(out var $$ 210?? token.Parent.Parent?.Parent as ArgumentSyntax; // var is child of DeclarationExpression 302if (afterComma && token.Parent != target) 445token.Parent is ConditionalExpressionSyntax conditionalExpressionSyntax) 497token.Parent.IsKind(SyntaxKind.TypeParameterList)) 550var parent = token.Parent; 594token.Parent.IsKind(SyntaxKind.PredefinedType);
Completion\CompletionProviders\EnumAndCompletionListTagCompletionProvider.cs (2)
291if (previousToken.Parent != null) 293var symbol = semanticModel.GetSymbolInfo(previousToken.Parent, cancellationToken).Symbol;
Completion\CompletionProviders\ExplicitInterfaceMemberCompletionProvider.cs (1)
77var ancestor = token.Parent;
Completion\CompletionProviders\ExplicitInterfaceMemberCompletionProvider.ItemGetter.cs (1)
80var node = targetToken.Parent;
Completion\CompletionProviders\ExplicitInterfaceTypeCompletionProvider.cs (1)
73var potentialTypeNode = targetToken.Parent;
Completion\CompletionProviders\ExternAliasCompletionProvider.cs (3)
64if (targetToken.Parent.IsKind(SyntaxKind.ExternAliasDirective) 65|| (targetToken.Parent.IsKind(SyntaxKind.IdentifierName) && targetToken.Parent.IsParentKind(SyntaxKind.IncompleteMember)))
Completion\CompletionProviders\FileBasedPrograms\AbstractAppDirectiveCompletionProvider.cs (1)
51if (token.Parent is not IgnoredDirectiveTriviaSyntax ignoredDirective)
Completion\CompletionProviders\FunctionPointerUnmanagedCallingConventionCompletionProvider.cs (1)
66if (token.Parent is not FunctionPointerUnmanagedCallingConventionListSyntax callingConventionList)
Completion\CompletionProviders\NamedParameterCompletionProvider.cs (1)
67if (token.Parent is not BaseArgumentListSyntax argumentList)
Completion\CompletionProviders\ObjectAndWithInitializerCompletionProvider.cs (8)
67if (token.Parent == null) 70if (token.Parent.Parent is not ExpressionSyntax expression) 105if (token.Parent == null || token.Parent.Parent == null) 110token.Parent.Kind() is not (SyntaxKind.ObjectInitializerExpression or SyntaxKind.WithInitializerExpression)) 119return (type, token.GetLocation(), token.Parent.Kind() is not SyntaxKind.WithInitializerExpression); 124var parent = token.Parent?.Parent; 158token.Parent is InitializerExpressionSyntax initializer)
Completion\CompletionProviders\ObjectCreationCompletionProvider.cs (1)
56return newToken.Parent as ExpressionSyntax;
Completion\CompletionProviders\OperatorsAndIndexer\UnnamedSymbolCompletionProvider.cs (2)
85? dotToken.Parent as ExpressionSyntax 86: (dotToken.Parent as RangeExpressionSyntax)?.LeftOperand;
Completion\CompletionProviders\OverrideCompletionProvider.cs (3)
53if (startToken.Parent is TypeSyntax typeSyntax) 79var parentMember = token.Parent; 102if (token.Parent is not AttributeListSyntax)
Completion\CompletionProviders\PropertySubPatternCompletionProvider.cs (3)
185if (tokenBeforeAdjustment.Parent is IdentifierNameSyntax { Parent: NameColonSyntax { Parent: SubpatternSyntax subpattern } }) 192return token.Parent is PropertyPatternClauseSyntax { Parent: PatternSyntax } propertyPatternClause 201return token.Parent is MemberAccessExpressionSyntax memberAccess && IsExtendedPropertyPattern(memberAccess, out var propertyPatternClause)
Completion\CompletionProviders\Scripting\DirectiveCompletionProviderUtilities.cs (1)
22if (token.Kind() == SyntaxKind.StringLiteralToken && token.Parent!.Kind() == directiveKind)
Completion\CompletionProviders\SymbolCompletionProvider.cs (2)
113=> context.TargetToken.Parent?.Parent?.IsKind(SyntaxKind.PrimaryConstructorBaseType) is true; 186if (token.Parent?.Kind() is not (SyntaxKind.ArgumentList or SyntaxKind.BracketedArgumentList or SyntaxKind.AttributeArgumentList or SyntaxKind.ArrayRankSpecifier))
Completion\CompletionProviders\TupleNameCompletionProvider.cs (4)
59var inferredTypes = typeInferrer.InferTypes(semanticModel, context.TargetToken.Parent!.SpanStart, cancellationToken) 64AddItems(inferredTypes, index.Value, completionContext, context.TargetToken.Parent.SpanStart); 77if (token.Parent is (kind: SyntaxKind.ParenthesizedExpression or SyntaxKind.TupleExpression or SyntaxKind.CastExpression)) 83if (token.IsKind(SyntaxKind.CommaToken) && token.Parent is TupleExpressionSyntax tupleExpr)
Completion\CompletionProviders\XmlDocCommentCompletionProvider.cs (23)
90var semanticModel = await document.ReuseExistingSpeculativeModelAsync(attachedToken.Parent, cancellationToken).ConfigureAwait(false); 142if (token.Parent?.Kind() is SyntaxKind.XmlEmptyElement or SyntaxKind.XmlText || 143(token.Parent.IsKind(SyntaxKind.XmlElementEndTag) && token.IsKind(SyntaxKind.GreaterThanToken)) || 144(token.Parent.IsKind(SyntaxKind.XmlName) && token.Parent.IsParentKind(SyntaxKind.XmlEmptyElement))) 147if (token.Parent.IsParentKind(SyntaxKind.XmlElement) || 148token.Parent.Parent.IsParentKind(SyntaxKind.XmlElement)) 155|| (token.Parent.IsKind(SyntaxKind.XmlName) && !token.HasLeadingTrivia); 161if (token.Parent.Parent is XmlElementSyntax xmlElement) 166if (token.Parent.IsParentKind(SyntaxKind.XmlEmptyElement) && 167token.Parent.Parent!.Parent is XmlElementSyntax nestedXmlElement) 172if (token.Parent.Parent is DocumentationCommentTriviaSyntax || 173(token.Parent.Parent.IsKind(SyntaxKind.XmlEmptyElement) && token.Parent.Parent.Parent is DocumentationCommentTriviaSyntax)) 179if (token.Parent is XmlElementStartTagSyntax startTag && 231if (token.IsKind(SyntaxKind.IdentifierToken) && token.Parent.IsKind(SyntaxKind.XmlName)) 235(elementName, attributes) = GetElementNameAndAttributes(token.Parent.Parent!); 237else if (token.Parent is XmlAttributeSyntax( 293if (token.Parent.IsKind(SyntaxKind.IdentifierName) && 294token.Parent?.Parent is XmlNameAttributeSyntax xmlName) 300token.Parent is XmlTextAttributeSyntax xmlText) 305else if (token.Parent.IsKind(SyntaxKind.XmlNameAttribute, out attributeSyntax) || 306token.Parent.IsKind(SyntaxKind.XmlTextAttribute, out attributeSyntax))
Completion\KeywordRecommenders\AllowsKeywordRecommender.cs (1)
36token.Parent is TypeParameterConstraintClauseSyntax constraintClause)
Completion\KeywordRecommenders\BaseKeywordRecommender.cs (3)
47token.Parent is ConstructorInitializerSyntax && 48token.Parent.IsParentKind(SyntaxKind.ConstructorDeclaration) && 49token.Parent.Parent?.Parent is (kind: SyntaxKind.ClassDeclaration or SyntaxKind.RecordDeclaration))
Completion\KeywordRecommenders\DynamicKeywordRecommender.cs (1)
73context.TargetToken.Parent.IsKind(SyntaxKind.RefType);
Completion\KeywordRecommenders\ExternKeywordRecommender.cs (3)
86token.Parent.IsKind(SyntaxKind.NamespaceDeclaration)) 94token.Parent.IsKind(SyntaxKind.FileScopedNamespaceDeclaration)) 102token.Parent.IsKind(SyntaxKind.ExternAliasDirective))
Completion\KeywordRecommenders\FieldKeywordRecommender.cs (1)
46for (var node = targetToken.Parent; node != null; node = node.Parent)
Completion\KeywordRecommenders\InKeywordRecommender.cs (4)
61if (token.Parent is ForEachStatementSyntax statement && token == statement.Identifier) 88var typeSyntax = token.Parent as TypeSyntax; 95if (token.Parent is FromClauseSyntax fromClause) 115var joinClause = token.Parent?.FirstAncestorOrSelf<JoinClauseSyntax>();
Completion\KeywordRecommenders\MethodKeywordRecommender.cs (1)
24return token.Parent is AttributeListSyntax
Completion\KeywordRecommenders\NamespaceKeywordRecommender.cs (10)
100token.Parent.IsKind(SyntaxKind.NamespaceDeclaration)) 112if (token.Parent is (kind: SyntaxKind.ExternAliasDirective or SyntaxKind.UsingDirective) && 113!token.Parent.Parent.IsKind(SyntaxKind.FileScopedNamespaceDeclaration)) 123if (token.Parent is TypeDeclarationSyntax && 124token.Parent.Parent is not TypeDeclarationSyntax) 128else if (token.Parent.IsKind(SyntaxKind.NamespaceDeclaration)) 139if (token.Parent.IsKind(SyntaxKind.DelegateDeclaration) && 140token.Parent.Parent is not TypeDeclarationSyntax) 150token.Parent.IsKind(SyntaxKind.AttributeList) && 151token.Parent.IsParentKind(SyntaxKind.CompilationUnit))
Completion\KeywordRecommenders\NewKeywordRecommender.cs (1)
97token.Parent is TypeParameterConstraintClauseSyntax constraintClause)
Completion\KeywordRecommenders\ParamKeywordRecommender.cs (1)
29token.Parent.IsKind(SyntaxKind.AttributeList))
Completion\KeywordRecommenders\ReadOnlyKeywordRecommender.cs (1)
43(context.TargetToken.Parent.IsKind(SyntaxKind.RefType) ||
Completion\KeywordRecommenders\RefKeywordRecommender.cs (4)
112if (context.TargetToken.Parent is NameColonSyntax nameColon) 148token.Parent is IdentifierNameSyntax identifier && identifier.Identifier == token && 249var parent = token.Parent; 258return token.Parent?.Kind() == SyntaxKind.ConditionalExpression;
Completion\KeywordRecommenders\ReturnKeywordRecommender.cs (2)
36token.Parent is AttributeListSyntax && 37token.Parent.Parent is AccessorDeclarationSyntax;
Completion\KeywordRecommenders\ScopedKeywordRecommender.cs (1)
42return token.Parent is ArgumentSyntax;
Completion\KeywordRecommenders\StaticKeywordRecommender.cs (1)
81(context.TargetToken.IsKind(SyntaxKind.UsingKeyword) && context.TargetToken.Parent?.IsParentKind(SyntaxKind.GlobalStatement) == true) ||
Completion\KeywordRecommenders\StructKeywordRecommender.cs (1)
58token.Parent is RefStructConstraintSyntax refStructConstraint && refStructConstraint.RefKeyword == token &&
Completion\KeywordRecommenders\ThisKeywordRecommender.cs (1)
32token.Parent is ConstructorInitializerSyntax { Parent: ConstructorDeclarationSyntax constructor } &&
Completion\KeywordRecommenders\ThrowKeywordRecommender.cs (1)
36return context.TargetToken.Parent.IsKind(SyntaxKind.ConditionalExpression);
Completion\KeywordRecommenders\TypeVarKeywordRecommender.cs (1)
19token.Parent.IsKind(SyntaxKind.AttributeList))
Completion\KeywordRecommenders\UsingKeywordRecommender.cs (4)
98if ((token.Kind() == SyntaxKind.OpenBraceToken && token.Parent.IsKind(SyntaxKind.NamespaceDeclaration)) 99|| (token.Kind() == SyntaxKind.SemicolonToken && token.Parent.IsKind(SyntaxKind.FileScopedNamespaceDeclaration))) 118if (token.Parent is (kind: SyntaxKind.ExternAliasDirective or SyntaxKind.UsingDirective)) 147previousToken.Parent is (kind: SyntaxKind.ExternAliasDirective or SyntaxKind.UsingDirective))
Completion\KeywordRecommenders\VoidKeywordRecommender.cs (1)
76token.Parent.IsKind(SyntaxKind.ParenthesizedExpression))
Completion\KeywordRecommenders\WhereKeywordRecommender.cs (3)
62token.Parent is ParameterListSyntax && 63token.Parent.Parent is MethodDeclarationSyntax { TypeParameterList: not null } 80if (token.Parent is IdentifierNameSyntax && token.HasMatchingText(SyntaxKind.WhereKeyword))
Completion\KeywordRecommenders\WhileKeywordRecommender.cs (2)
36token.Parent.IsKind(SyntaxKind.Block) && 37token.Parent.IsParentKind(SyntaxKind.DoStatement))
Completion\KeywordRecommenders\WithKeywordRecommender.cs (1)
23targetToken.Parent is CollectionExpressionSyntax)
ConvertToRawString\ConvertRegularStringToRawStringCodeRefactoringProvider.cs (1)
50if (IsInDirective(token.Parent))
ConvertToRawString\ConvertStringToRawStringCodeRefactoringProvider.cs (1)
79if (token.Parent is not ExpressionSyntax parentExpression)
Debugging\DataTipInfoGetter.cs (1)
30if (token.Parent is not ExpressionSyntax expression)
DecompiledSource\CSharpDecompiledSourceFormattingRule.cs (4)
35if (previousToken.Parent == null || currentToken.Parent == null) 38var previousStatement = previousToken.Parent.FirstAncestorOrSelf<StatementSyntax>(); 39var nextStatement = currentToken.Parent.FirstAncestorOrSelf<StatementSyntax>();
EditAndContinue\BreakpointSpans.cs (1)
72var node = root.FindToken(position).Parent;
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (2)
203node = body.FindToken(position).Parent!; 577=> BreakpointSpans.TryGetClosestBreakpointSpan(token.Parent!, token.SpanStart, minLength: token.Span.Length, out span);
ExtractMethod\CSharpMethodExtractor.cs (1)
49? outermostCapturedVariable.GetIdentifierTokenAtDeclaration(document).Parent
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (4)
350return token.Parent.IsUnsafeContext(); 531var contextNode = token.Parent.GetAncestor<T>(); 902var usingKeyword = originalIdentifierToken.Parent?.Parent?.Parent is LocalDeclarationStatementSyntax { UsingKeyword.FullSpan.IsEmpty: false } 1141scope = this.SelectionResult.GetFirstTokenInSelection().Parent;
ExtractMethod\CSharpSelectionResult.cs (2)
74var statement = firstToken.Parent.GetStatementUnderContainer(); 85var statement = lastToken.Parent.GetStatementUnderContainer();
ExtractMethod\Extensions.cs (2)
152if (token.Parent is not ThrowStatementSyntax throwStatement || throwStatement.Expression != null) 262if (token1.RawKind != (int)SyntaxKind.SemicolonToken || !(token1.Parent is FieldDeclarationSyntax))
GenerateMember\GenerateVariable\CSharpGenerateVariableService.cs (1)
208var node = identifierToken.Parent as IdentifierNameSyntax;
GenerateType\CSharpGenerateTypeService.cs (1)
230simpleName.Parent == token.Parent)
ImplementInterface\AbstractChangeImplementationCodeRefactoringProvider.cs (1)
158for (var node = token.Parent; node != null; node = node.Parent)
MetadataAsSource\FormattingRule.cs (2)
38if (previousToken.Kind() == SyntaxKind.SemicolonToken && previousToken.Parent.Kind() == SyntaxKind.UsingDirective) 40previousMember = previousToken.Parent;
QuickInfo\CSharpDiagnosticAnalyzerQuickInfoProvider.cs (1)
44var errorCodeNode = token.Parent switch
QuickInfo\CSharpSemanticQuickInfoProvider.cs (9)
43&& token.Parent is (kind: SyntaxKind.ParenthesizedLambdaExpression or SyntaxKind.SimpleLambdaExpression)) 46found = token.Parent; 49else if (token.IsKind(SyntaxKind.DelegateKeyword) && token.Parent.IsKind(SyntaxKind.AnonymousMethodExpression)) 52found = token.Parent; 63token.Parent?.Parent.IsKind(SyntaxKind.ElementAccessExpression) == true) 65found = token.Parent.Parent; 76token.Parent is MemberAccessExpressionSyntax memberAccess) 87=> !token.Parent.IsKind(SyntaxKind.XmlCrefAttribute); 96var node = token.Parent;
QuickInfo\CSharpSyntacticQuickInfoProvider.cs (3)
52if (token.Parent is InterpolationSyntax interpolation && 59var parent = token.Parent!; 132if (token.Parent is DirectiveTriviaSyntax directiveTrivia)
RemoveUnusedVariable\CSharpRemoveUnusedVariableCodeFixProvider.cs (1)
32=> token.Parent is CatchDeclarationSyntax catchDeclaration && catchDeclaration.Identifier == token;
Rename\CSharpRenameIssuesService.cs (2)
42triggerToken.Parent!, 58var parent = token.Parent;
ReplaceMethodWithProperty\CSharpReplaceMethodWithPropertyService.cs (2)
364if (nameToken.Parent is not IdentifierNameSyntax nameNode) 377newName = newName.WithTriviaFrom(invocation is null ? nameToken.Parent : invocation);
SignatureHelp\AbstractGenericNameSignatureHelpProvider.cs (1)
48if (genericIdentifier.Parent is not SimpleNameSyntax simpleName)
SignatureHelp\AttributeSignatureHelpProvider.cs (2)
61token.Parent is AttributeArgumentListSyntax && 62token.Parent.Parent is AttributeSyntax;
SignatureHelp\ElementAccessExpressionSignatureHelpProvider.cs (15)
114if (openBracket.Parent is BracketedArgumentListSyntax) 125else if (openBracket.Parent is ArrayRankSpecifierSyntax) 154var newBracketedArgumentList = ParseBracketedArgumentList(openBracket.Parent!.ToString()); 282token.Parent is BracketedArgumentListSyntax && 283token.Parent.Parent is ElementAccessExpressionSyntax; 294Contract.ThrowIfFalse(openBracket.Parent is BracketedArgumentListSyntax && 295openBracket.Parent.Parent is ElementAccessExpressionSyntax or ElementBindingExpressionSyntax); 296return SignatureHelpUtilities.GetSignatureHelpSpan((BracketedArgumentListSyntax)openBracket.Parent); 331token.Parent is ArrayRankSpecifierSyntax; 336Contract.ThrowIfFalse(openBracket.Parent is ArrayRankSpecifierSyntax && openBracket.Parent.Parent is ArrayTypeSyntax); 337return TextSpan.FromBounds(expression.SpanStart, openBracket.Parent.Span.End); 366token.Parent is BracketedArgumentListSyntax && 367token.Parent.Parent is ElementBindingExpressionSyntax && 368token.Parent.Parent.Parent is ConditionalAccessExpressionSyntax;
SignatureHelp\GenericNameFullyWrittenSignatureHelpProvider.cs (5)
47token.Parent is TypeArgumentListSyntax && 48token.Parent.Parent is GenericNameSyntax; 60Contract.ThrowIfFalse(lessThanToken.Parent is TypeArgumentListSyntax && lessThanToken.Parent.Parent is GenericNameSyntax); 61return SignatureHelpUtilities.GetSignatureHelpSpan(((GenericNameSyntax)lessThanToken.Parent.Parent).TypeArgumentList);
SignatureHelp\InitializerExpressionSignatureHelpProvider.cs (1)
50token.Parent is InitializerExpressionSyntax;
SignatureHelp\SignatureHelpUtilities.cs (4)
105token.Parent is ParenthesizedExpressionSyntax parenExpr) 131if (token.IsKind(SyntaxKind.CommaToken) && token.Parent is TupleExpressionSyntax && token.GetAncestor<TSyntaxNode>() != null) 139token.Parent is ArgumentListSyntax && 140token.Parent.Parent is TSyntaxNode;
SignatureHelp\TupleConstructionSignatureHelpProvider.cs (1)
226=> token.IsKind(SyntaxKind.OpenParenToken) && token.Parent is ParenthesizedExpressionSyntax;
Snippets\CSharpConsoleSnippetProvider.cs (1)
35if (syntaxContext.TargetToken is { RawKind: (int)SyntaxKind.EqualsGreaterThanToken, Parent: LambdaExpressionSyntax lambda })
Snippets\CSharpForEachLoopSnippetProvider.cs (2)
47if (token is { RawKind: (int)SyntaxKind.AwaitKeyword, Parent: ExpressionSyntax { Parent: ExpressionStatementSyntax } } || 48token is { RawKind: (int)SyntaxKind.IdentifierToken, ValueText: "await", Parent: IdentifierNameSyntax { Parent: ExpressionStatementSyntax } })
SplitStringLiteral\SimpleStringSplitter.cs (1)
36protected override SyntaxNode GetNodeToReplace() => _token.Parent;
SplitStringLiteral\StringSplitter.cs (1)
73token.Parent.IsKind(SyntaxKind.Interpolation) &&
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertNamespace\ConvertNamespaceTransform.cs (1)
228if (token.IsKind(SyntaxKind.HashToken) && token.Parent!.Kind() is not (SyntaxKind.RegionDirectiveTrivia or SyntaxKind.EndRegionDirectiveTrivia))
src\roslyn\src\Analyzers\CSharp\CodeFixes\ReplaceDefaultLiteral\CSharpReplaceDefaultLiteralCodeFixProvider.cs (1)
45token.Parent is LiteralExpressionSyntax(SyntaxKind.DefaultLiteralExpression) defaultLiteral)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseAutoProperty\SingleLinePropertyFormattingRule.cs (4)
16if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.AccessorList)) 19if (previousToken.IsKind(SyntaxKind.OpenBraceToken) && previousToken.Parent.IsKind(SyntaxKind.AccessorList)) 22if (currentToken.IsKind(SyntaxKind.CloseBraceToken) && currentToken.Parent.IsKind(SyntaxKind.AccessorList)) 25if (previousToken.IsKind(SyntaxKind.SemicolonToken) && currentToken.Parent is AccessorDeclarationSyntax)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseImplicitOrExplicitType\UseExplicitTypeCodeFixProvider.cs (1)
134varDecl.Variables.Single().Identifier.Parent!,
Wrapping\SeparatedSyntaxList\CSharpArgumentWrapper.cs (1)
106for (var current = token.Parent; current != listSyntax; current = current?.Parent)
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (1)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\CSharpStaticHolderTypes.Fixer.cs (1)
38ClassDeclarationSyntax? classDeclaration = root.FindToken(span.Start).Parent?.FirstAncestorOrSelf<ClassDeclarationSyntax>();
Microsoft.CodeAnalysis.CSharp.Workspaces (548)
Classification\ClassificationHelpers.cs (40)
64=> token.Parent is not null && 66IsControlStatementKind(token.Parent.Kind()); 175return token.Parent is InterpolatedStringExpressionSyntax interpolatedString 181if (token.Parent is not InterpolatedStringTextSyntax interpolatedStringText) 196if (token.Parent is BaseTypeDeclarationSyntax typeDeclaration && typeDeclaration.Identifier == token) 200else if (token.Parent is DelegateDeclarationSyntax delegateDecl && delegateDecl.Identifier == token) 204else if (token.Parent is TypeParameterSyntax typeParameter && typeParameter.Identifier == token) 208else if (token.Parent is MethodDeclarationSyntax methodDeclaration && methodDeclaration.Identifier == token) 218else if (token.Parent is ConstructorDeclarationSyntax constructorDeclaration && constructorDeclaration.Identifier == token) 222else if (token.Parent is DestructorDeclarationSyntax destructorDeclaration && destructorDeclaration.Identifier == token) 226else if (token.Parent is LocalFunctionStatementSyntax localFunctionStatement && localFunctionStatement.Identifier == token) 230else if (token.Parent is PropertyDeclarationSyntax propertyDeclaration && propertyDeclaration.Identifier == token) 234else if (token.Parent is EnumMemberDeclarationSyntax enumMemberDeclaration && enumMemberDeclaration.Identifier == token) 238else if (token.Parent is CatchDeclarationSyntax catchDeclaration && catchDeclaration.Identifier == token) 242else if (token.Parent is VariableDeclaratorSyntax variableDeclarator && variableDeclarator.Identifier == token) 253else if (token.Parent is SingleVariableDesignationSyntax singleVariableDesignation && singleVariableDesignation.Identifier == token) 257else if (token.Parent is ParameterSyntax parameterSyntax && parameterSyntax.Identifier == token) 261else if (token.Parent is ForEachStatementSyntax forEachStatementSyntax && forEachStatementSyntax.Identifier == token) 265else if (token.Parent is EventDeclarationSyntax eventDeclarationSyntax && eventDeclarationSyntax.Identifier == token) 273else if (token.Parent is IdentifierNameSyntax identifierNameSyntax && IsNamespaceName(identifierNameSyntax)) 277else if (token.Parent is ExternAliasDirectiveSyntax externAliasDirectiveSyntax && externAliasDirectiveSyntax.Identifier == token) 281else if (token.Parent is LabeledStatementSyntax labledStatementSyntax && labledStatementSyntax.Identifier == token) 317var parentNode = token.Parent; 343=> identifier.Parent!.Kind() switch 366if (token.Parent != null) 368if (token.Parent.Kind() is SyntaxKind.TypeParameterList or 380if (token.Parent != null) 382if (token.Parent.Kind() != SyntaxKind.ConditionalExpression) 455if (token.Parent is LabeledStatementSyntax statement && 470if (token.Parent != null) 478var fromClause = token.Parent.FirstAncestorOrSelf<FromClauseSyntax>(); 483if (token.Parent is IdentifierNameSyntax && token.Parent?.Parent is ExpressionStatementSyntax) 491token.Parent is IdentifierNameSyntax && 492token.Parent.Parent is VariableDeclarationSyntax && 493!(token.Parent.Parent.Parent is FieldDeclarationSyntax) && 494!(token.Parent.Parent.Parent is EventFieldDeclarationSyntax); 498return token.Parent is IdentifierNameSyntax 499&& token.Parent.Parent is TypeConstraintSyntax 500&& token.Parent.Parent.Parent is TypeParameterConstraintClauseSyntax;
Classification\SyntaxClassification\SyntaxTokenClassifier.cs (2)
62if (identifier.Parent is not IdentifierNameSyntax identifierName) 78if (identifier.Parent.IsParentKind(SyntaxKind.ConditionalAccessExpression))
Classification\Worker_DocumentationComments.cs (2)
165RoslynDebug.Assert(token.Parent is object); 166switch (token.Parent.Kind())
CodeGeneration\CSharpSyntaxGenerator.cs (1)
3206if (previousToken != default && root.Contains(previousToken.Parent))
Rename\CSharpRenameRewriterLanguageService.cs (20)
222if (newToken.Parent.IsKind(SyntaxKind.XmlName)) 259&& IsNameConflictWithProperty("get", token.Parent as AccessorDeclarationSyntax); 263&& IsNameConflictWithProperty("set", token.Parent as AccessorDeclarationSyntax); 268&& IsNameConflictWithProperty("set", token.Parent as AccessorDeclarationSyntax); 278token.Parent.IsKind(SyntaxKind.DestructorDeclaration); 403var isMemberGroupReference = _semanticFactsService.IsInsideNameOfExpression(_semanticModel, token.Parent, _cancellationToken); 536if (token.Parent is SimpleNameSyntax && 538token.Parent.Parent is (kind: SyntaxKind.AliasQualifiedName or SyntaxKind.QualifiedCref or SyntaxKind.QualifiedName)) 540var symbol = _speculativeModel.GetSymbolInfo(token.Parent, _cancellationToken).Symbol; 565var parent = oldToken.Parent!; 706else if (newToken.IsKind(SyntaxKind.IdentifierToken) && newToken.Parent.IsKind(SyntaxKind.XmlName) && newToken.ValueText == _originalText) 744if (token.Parent is ExpressionSyntax(SyntaxKind.IdentifierName) expression && 745token.Parent.IsParentKind(SyntaxKind.InvocationExpression) && 867var currentUsing = (UsingDirectiveSyntax)token.Parent!.Parent!.Parent!; 869var namespaceDecl = token.Parent.Ancestors().OfType<BaseNamespaceDeclarationSyntax>().FirstOrDefault(); 895var currentTypeParameter = token.Parent!; 976return [((CommonForEachStatementSyntax)token.Parent!).Expression.GetLocation()]; 981if (token.Parent.IsInDeconstructionLeft(out var deconstructionLeft)) 1135if (enclosingNameMemberCrefOrnull != null && token.Parent is TypeSyntax && token.Parent.Parent is TypeSyntax)
Rename\LocalConflictVisitor.cs (1)
30tokenBeingRenamed.Parent.AncestorsAndSelf().Where(n => n is AnonymousFunctionExpressionSyntax or LocalFunctionStatementSyntax));
Simplification\CSharpSimplificationService.cs (2)
79Contract.ThrowIfNull(token.Parent); 85var rewrittenToken = TryEscapeIdentifierToken(rewriter.VisitToken(token), token.Parent).WithAdditionalAnnotations(Simplifier.Annotation);
Simplification\Reducers\CSharpEscapingReducer.cs (1)
51var parent = token.Parent;
Simplification\Simplifiers\AbstractCSharpSimplifier.cs (2)
363return token.Parent; 368return token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (2)
38if (token.Parent?.Parent is InterpolatedStringExpressionSyntax { StringStartToken.RawKind: (int)SyntaxKind.InterpolatedMultiLineRawStringStartToken }) 56if (IsInDirective(token.Parent))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (3)
27if (name.Parent is ExpressionSyntax expression) 44if (name.Parent is ExpressionSyntax expression) 135switch (token.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTokenExtensions.cs (2)
47token.Parent.IsKind(SyntaxKind.ObjectInitializerExpression); 50=> token.IsKind(SyntaxKind.OpenBraceToken) && token.Parent.IsKind(SyntaxKind.AccessorList);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTreeExtensions.cs (1)
160if (token.Parent is XmlCrefAttributeSyntax attribute)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.DocumentationCommentExteriorCommentRewriter.cs (1)
67var currentParent = trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (50)
78=> token.IsOpenParenInParameterList() && token.Parent.IsParentKind(SyntaxKind.ConversionOperatorDeclaration); 81=> token.IsOpenParenInParameterList() && token.Parent.IsParentKind(SyntaxKind.OperatorDeclaration); 84=> token.Kind() == SyntaxKind.OpenParenToken && token.Parent.IsKind(SyntaxKind.ParameterList); 87=> token.Kind() == SyntaxKind.CloseParenToken && token.Parent.IsKind(SyntaxKind.ParameterList); 104if (token.Parent is (kind: SyntaxKind.ArgumentList or SyntaxKind.AttributeArgumentList)) 110if (token.Parent.IsKind(SyntaxKind.PositionalPatternClause) && token.Parent.Parent.IsKind(SyntaxKind.RecursivePattern)) 113return token.Parent.Parent.GetFirstToken() != token; 120=> token.Kind() == SyntaxKind.ColonToken && token.Parent.IsKind(SyntaxKind.BaseList); 123=> token.Kind() == SyntaxKind.CommaToken && (token.Parent.IsAnyArgumentList() || token.Parent?.Kind() is SyntaxKind.ParameterList or SyntaxKind.FunctionPointerParameterList); 126=> token.Kind() == SyntaxKind.OpenParenToken && token.Parent.IsKind(SyntaxKind.ParameterList) && token.Parent.Parent.IsKind(SyntaxKind.ParenthesizedLambdaExpression); 152token.Parent is ForStatementSyntax forStatement && 163if (token.Parent is not StatementSyntax statement || 179return token.Parent is ExpressionSyntax || token.Parent.IsKind(SyntaxKind.PropertyPatternClause); 189if (token.Parent is not BlockSyntax block || 211token.Parent.IsKind(SyntaxKind.EnumDeclaration); 217token.Parent.IsAnyArgumentList(); 223token.Parent.IsKind(SyntaxKind.VariableDeclaration); 227=> token.Parent is ParenthesizedExpressionSyntax parenthesizedExpression && parenthesizedExpression.OpenParenToken.Equals(token); 230=> token.Parent is ParenthesizedExpressionSyntax parenthesizedExpression && parenthesizedExpression.CloseParenToken.Equals(token); 234var parent = token.Parent ?? throw new ArgumentNullException(nameof(token)); 281token.Parent.IsKind(SyntaxKind.EqualsValueClause) && 282token.Parent.Parent.IsKind(SyntaxKind.PropertyDeclaration); 287if (token.Parent is not StatementSyntax statement) 308=> token.IsDotInMemberAccess() || (token.Kind() == SyntaxKind.DotToken && token.Parent.IsKind(SyntaxKind.QualifiedName)); 312if (token.Parent is not MemberAccessExpressionSyntax memberAccess) 324return token.Parent is (kind: SyntaxKind.TypeParameterList or SyntaxKind.TypeArgumentList); 332((token.Parent is InitializerExpressionSyntax) || 333(token.Parent is AnonymousObjectCreationExpressionSyntax)); 337=> token.Kind() == SyntaxKind.ColonToken && token.Parent is CasePatternSwitchLabelSyntax; 340=> token.Kind() == SyntaxKind.ColonToken && token.Parent.IsKind(SyntaxKind.SwitchExpressionArm); 343=> token.Kind() == SyntaxKind.CommaToken && token.Parent.IsKind(SyntaxKind.SwitchExpression); 346=> token.Kind() == SyntaxKind.CommaToken && token.Parent.IsKind(SyntaxKind.PropertyPatternClause); 351token.Parent is LabeledStatementSyntax labeledStatement && 361token.Parent is LabeledStatementSyntax labeledStatement && 377=> token.Kind() == SyntaxKind.InKeyword && token.Parent is FromClauseSyntax { Expression: QueryExpressionSyntax }; 382token.Parent?.Parent is QueryExpressionSyntax queryExpression && 477if (token.Parent == null) 482return token.Parent.Parent is LabeledStatementSyntax; 516return token.Parent is PrefixUnaryExpressionSyntax; 520=> currentToken.Parent.IsKind(SyntaxKind.Interpolation); 527return currentToken.Kind() == SyntaxKind.OpenParenToken && currentToken is { Parent: ParenthesizedVariableDesignationSyntax, Parent.Parent: DeclarationExpressionSyntax }; 536currentToken.Parent.IsKind(SyntaxKind.TupleExpression); 542currentToken.Parent.IsKind(SyntaxKind.TupleType); 548currentToken.Parent.IsKind(SyntaxKind.ParenthesizedVariableDesignation); 552=> token.Kind() == SyntaxKind.CommaToken && token.Parent.IsKind(SyntaxKind.CollectionExpression);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (35)
116currentToken.Parent.IsKind(SyntaxKind.TypeParameterConstraintClause)) 118RoslynDebug.AssertNotNull(previousToken.Parent); 121if (previousToken.Parent.Ancestors().OfType<TypeParameterConstraintClauseSyntax>().Any()) 127var firstTokenAfterTypeConstraint = currentToken.Parent.GetLastToken().GetNextToken(); 128var lastTokenForTypeConstraint = currentToken.Parent.GetLastToken().GetNextToken(); 131firstTokenAfterTypeConstraint.Parent.IsKind(SyntaxKind.TypeParameterConstraintClause)) 143currentToken.Parent.IsParentKind(SyntaxKind.IfStatement)) 185if (previousToken.Parent is not FileScopedNamespaceDeclarationSyntax) 294previousToken.Parent is AttributeListSyntax && 295currentToken.Parent is not AttributeListSyntax) 328return (((previousToken.Parent is StatementSyntax) && currentToken.Parent != previousToken.Parent) 334if (previousToken.Parent is AttributeListSyntax parent) 340if (!currentToken.IsKind(SyntaxKind.EndOfFileToken) && !(currentToken.Parent is AttributeListSyntax)) 359return previousToken.Parent is EnumDeclarationSyntax ? 1 : 0; 365if (previousToken.Parent is LabeledStatementSyntax or SwitchLabelSyntax) 373if ((currentToken.Kind() == SyntaxKind.FromKeyword && currentToken.Parent.IsKind(SyntaxKind.FromClause)) || 374(currentToken.Kind() == SyntaxKind.LetKeyword && currentToken.Parent.IsKind(SyntaxKind.LetClause)) || 375(currentToken.Kind() == SyntaxKind.WhereKeyword && currentToken.Parent.IsKind(SyntaxKind.WhereClause)) || 376(currentToken.Kind() == SyntaxKind.JoinKeyword && currentToken.Parent.IsKind(SyntaxKind.JoinClause)) || 377(currentToken.Kind() == SyntaxKind.JoinKeyword && currentToken.Parent.IsKind(SyntaxKind.JoinIntoClause)) || 378(currentToken.Kind() == SyntaxKind.OrderByKeyword && currentToken.Parent.IsKind(SyntaxKind.OrderByClause)) || 379(currentToken.Kind() == SyntaxKind.SelectKeyword && currentToken.Parent.IsKind(SyntaxKind.SelectClause)) || 380(currentToken.Kind() == SyntaxKind.GroupKeyword && currentToken.Parent.IsKind(SyntaxKind.GroupClause))) 396if (currentToken.Parent is AttributeListSyntax parent) 400previousToken.Parent is not AttributeListSyntax) 417return previousToken.Parent is TypeParameterListSyntax ? 1 : 0; 438nextToken.Parent.IsKind(SyntaxKind.DoStatement)) 454if (previousToken.Parent is ForStatementSyntax) 462else if (previousToken.Parent is UsingDirectiveSyntax) 464return currentToken.Parent is UsingDirectiveSyntax ? 1 : 2; 466else if (previousToken.Parent is ExternAliasDirectiveSyntax) 468return currentToken.Parent is ExternAliasDirectiveSyntax ? 1 : 2; 470else if (currentToken.Parent is LocalFunctionStatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\NewLineUserSettingFormattingRule.cs (25)
78RoslynDebug.AssertNotNull(currentToken.Parent); 85&& previousToken.Parent!.Parent == currentToken.Parent.Parent) 112if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent is BaseTypeDeclarationSyntax or NamespaceDeclarationSyntax) 121if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression)) 132if (currentToken.Parent.Kind() is SyntaxKind.ObjectInitializerExpression 143else if (currentToken.Parent.IsKind(SyntaxKind.PropertyPatternClause)) 153var isFirstTokenOfSwitchArm = currentToken.Parent.IsParentKind(SyntaxKind.RecursivePattern, out RecursivePatternSyntax? recursivePattern) 165var currentTokenParentParent = currentToken.Parent.Parent; 220if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.SwitchExpression)) 229if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && IsControlBlock(currentToken.Parent)) 242RoslynDebug.AssertNotNull(currentToken.Parent); 249if (previousToken.IsKind(SyntaxKind.CommaToken) && previousToken.Parent.IsKind(SyntaxKind.ObjectInitializerExpression)) 263if (previousToken.IsKind(SyntaxKind.CommaToken) && previousToken.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression)) 280|| previousToken.Parent!.Parent != currentToken.Parent.Parent) 317if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent is BaseTypeDeclarationSyntax or NamespaceDeclarationSyntax) 330if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression)) 347currentToken.Parent.Kind() is SyntaxKind.ObjectInitializerExpression or SyntaxKind.CollectionInitializerExpression or SyntaxKind.WithInitializerExpression or SyntaxKind.PropertyPatternClause) 364currentToken.Parent.Kind() is SyntaxKind.ArrayInitializerExpression or SyntaxKind.ImplicitArrayCreationExpression) 369var currentTokenParentParent = currentToken.Parent.Parent; 445if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.SwitchExpression)) 458if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && IsControlBlock(currentToken.Parent)) 474&& (previousToken.Parent is StatementSyntax && !previousToken.Parent.IsKind(SyntaxKind.ForStatement))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SpacingFormattingRule.cs (29)
45RoslynDebug.Assert(previousToken.Parent != null && currentToken.Parent != null); 49var previousParentKind = previousToken.Parent.Kind(); 50var currentParentKind = currentToken.Parent.Kind(); 92if (previousToken.Parent.IsKind(SyntaxKind.OperatorDeclaration) && currentToken.IsOpenParenInParameterListOfAOperationDeclaration()) 163if ((previousToken.Parent.Kind() is SyntaxKind.ParenthesizedExpression or SyntaxKind.ParenthesizedPattern && previousKind == SyntaxKind.OpenParenToken) || 164(currentToken.Parent.Kind() is SyntaxKind.ParenthesizedExpression or SyntaxKind.ParenthesizedPattern && currentKind == SyntaxKind.CloseParenToken)) 178&& IsEmptyForStatement((ForStatementSyntax)previousToken.Parent)) 208if (currentKind == SyntaxKind.OpenBracketToken && currentToken.Parent.Kind() is SyntaxKind.ListPattern or SyntaxKind.CollectionExpression) 249if (previousKind == SyntaxKind.CloseBracketToken && previousToken.Parent.IsKind(SyntaxKind.AttributeList)) 253currentToken.Parent.IsKind(SyntaxKind.AttributeList)) 334if (currentToken.Parent is BinaryExpressionSyntax || 335previousToken.Parent is BinaryExpressionSyntax || 336currentToken.Parent is AssignmentExpressionSyntax || 337previousToken.Parent is AssignmentExpressionSyntax || 338currentToken.Parent.Kind() is SyntaxKind.AndPattern or SyntaxKind.OrPattern or SyntaxKind.RelationalPattern || 339previousToken.Parent.Kind() is SyntaxKind.AndPattern or SyntaxKind.OrPattern or SyntaxKind.RelationalPattern) 465if (previousToken.Parent.IsKind(SyntaxKind.NotPattern)) 494if ((currentKind == SyntaxKind.OpenBraceToken && currentToken.Parent is InterpolationSyntax) || 495(previousKind == SyntaxKind.CloseBraceToken && previousToken.Parent is InterpolationSyntax)) 501if (previousKind == SyntaxKind.OpenBraceToken && previousToken.Parent is InterpolationSyntax) 507if (currentKind == SyntaxKind.CloseBraceToken && currentToken.Parent is InterpolationSyntax interpolation) 518if ((previousKind == SyntaxKind.CommaToken && previousToken.Parent is InterpolationAlignmentClauseSyntax) || 519(currentKind == SyntaxKind.CommaToken && currentToken.Parent is InterpolationAlignmentClauseSyntax)) 525if ((previousKind == SyntaxKind.ColonToken && previousToken.Parent is InterpolationFormatClauseSyntax) || 526(currentKind == SyntaxKind.ColonToken && currentToken.Parent is InterpolationFormatClauseSyntax)) 546var rangeExpression = (RangeExpressionSyntax)previousToken.Parent; 557var rangeExpression = (RangeExpressionSyntax)currentToken.Parent; 610=> token.Parent is (kind: SyntaxKind.ArrayRankSpecifier or SyntaxKind.BracketedArgumentList or SyntaxKind.BracketedParameterList or SyntaxKind.ImplicitArrayCreationExpression or SyntaxKind.ListPattern or SyntaxKind.CollectionExpression);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\StructuredTriviaFormattingRule.cs (6)
16if (previousToken.Parent is StructuredTriviaSyntax || currentToken.Parent is StructuredTriviaSyntax) 26if (previousToken.Parent is StructuredTriviaSyntax || currentToken.Parent is StructuredTriviaSyntax) 30if (currentToken.Parent == previousToken.Parent &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (30)
165if (previousToken.Kind() == SyntaxKind.CloseParenToken && previousToken.Parent.IsEmbeddedStatementOwnerWithCloseParen()) 170if (previousToken.Kind() == SyntaxKind.DoKeyword && previousToken.Parent.IsKind(SyntaxKind.DoStatement)) 195currentToken.Parent is EmptyStatementSyntax && 203if (previousToken.Kind() == SyntaxKind.CloseBracketToken && previousToken.Parent is AttributeListSyntax) 205var attributeOwner = previousToken.Parent?.Parent; 223if (previousToken.Parent is UsingDirectiveSyntax previousUsing) 228currentToken.Parent is UsingDirectiveSyntax currentUsing && 246if (previousToken.Parent is FileScopedNamespaceDeclarationSyntax) 322if (previousToken.Kind() == SyntaxKind.CloseParenToken && previousToken.Parent.IsEmbeddedStatementOwnerWithCloseParen()) 339previousToken.Parent.IsKind(SyntaxKind.AttributeList) && 340previousToken.Parent.IsParentKind(SyntaxKind.Parameter)) 368var spaces = previousToken.Parent is (kind: 401if (previousToken.Kind() == SyntaxKind.CommaToken && currentToken.Kind() == SyntaxKind.OpenBracketToken && currentToken.Parent is AttributeListSyntax) 407if (previousToken.Kind() == SyntaxKind.CloseBracketToken && previousToken.Parent is AttributeListSyntax) 430currentToken.Parent?.Kind() is not SyntaxKind.CollectionExpression and not SyntaxKind.AttributeList && 449currentToken.Parent is (kind: 466if (previousToken.Parent is CastExpressionSyntax && 473if (previousToken.Parent is (kind: SyntaxKind.TypeArgumentList or SyntaxKind.TypeParameterList or SyntaxKind.FunctionPointerType)) 490currentToken.Parent is (kind: SyntaxKind.TypeArgumentList or SyntaxKind.TypeParameterList)) 497previousToken.Parent is PrefixUnaryExpressionSyntax) 504currentToken.Parent is PostfixUnaryExpressionSyntax) 510if (currentToken.IsKind(SyntaxKind.QuestionToken) && currentToken.Parent.IsKind(SyntaxKind.ConditionalAccessExpression)) 517currentToken.Parent is (kind: SyntaxKind.NullableType or SyntaxKind.ClassConstraint)) 524previousToken.Parent?.IsParentKind(SyntaxKind.ArrayType) == true) 531currentToken.Parent.IsKind(SyntaxKind.SuppressNullableWarningExpression)) 537if (currentToken.Kind() == SyntaxKind.AsteriskToken && currentToken.Parent is PointerTypeSyntax) 543if (previousToken.Kind() == SyntaxKind.AsteriskToken && previousToken.Parent is PrefixUnaryExpressionSyntax) 578&& !previousToken.Parent.IsKind(SyntaxKind.SuppressNullableWarningExpression)) 584if (previousToken.Kind() == SyntaxKind.TildeToken && (previousToken.Parent is PrefixUnaryExpressionSyntax or DestructorDeclarationSyntax)) 591previousToken.Parent is PrefixUnaryExpressionSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Indentation\CSharpSmartTokenFormatter.cs (4)
72endToken.Parent.IsKind(SyntaxKind.Block) && 73endToken.Parent.Parent?.Kind() is SyntaxKind.TryStatement or SyntaxKind.DoStatement; 94(token.Parent.IsInitializerForArrayOrCollectionCreationExpression() || 95token.Parent is AnonymousObjectCreationExpressionSyntax))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
502token.Parent is not SimpleNameSyntax simpleName)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (15)
114(token.Parent is PrefixUnaryExpressionSyntax or PostfixUnaryExpressionSyntax or OperatorDeclarationSyntax)) || 115(SyntaxFacts.IsBinaryExpression(kind) && (token.Parent is BinaryExpressionSyntax or OperatorDeclarationSyntax or RelationalPatternSyntax)) || 116(SyntaxFacts.IsAssignmentExpressionOperatorToken(kind) && token.Parent is AssignmentExpressionSyntax); 268=> token.Parent is ConstructorInitializerSyntax(SyntaxKind.ThisConstructorInitializer) constructorInit && 272=> token.Parent is ConstructorInitializerSyntax(SyntaxKind.BaseConstructorInitializer) constructorInit && 290return token.Parent is QueryClauseSyntax; 294return token.Parent is SelectOrGroupClauseSyntax; 297return token.Parent is OrderingSyntax; 299return token.Parent is (kind: SyntaxKind.JoinIntoClause or SyntaxKind.QueryContinuation); 520if (token.Kind() == SyntaxKind.CommaToken && token.Parent.IsKind(SyntaxKind.OrderByClause)) 525if (token.Parent.IsKind(SyntaxKind.CollectionExpression)) 528if (semanticModel != null && token.Parent is BracketedArgumentListSyntax { Parent: ElementAccessExpressionSyntax elementAccessExpression }) 719var node = root.FindToken(position).Parent; 952var node = token.Parent; 1332if (token.Kind() == SyntaxKind.OverrideKeyword && token.Parent is MemberDeclarationSyntax member)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (15)
42var (_, closeBrace) = previousToken.Parent.GetBracePair(); 79var parent = endToken.Parent; 99var parent = endToken.Parent; 151var parent = endToken.Parent; 251var parent = endToken.Parent; 317RoslynDebug.AssertNotNull(previousToken.Parent?.Parent); 318var labelNode = previousToken.Parent.Parent; 328(previousToken.Parent.IsKind(SyntaxKind.Block) || 329previousToken.Parent is TypeDeclarationSyntax || 330previousToken.Parent is NamespaceDeclarationSyntax); 389token.Parent is SwitchLabelSyntax switchLabel && 415RoslynDebug.AssertNotNull(token.Parent); 419if (token.Parent.Kind() is SyntaxKind.Block or 422return token.Parent.Parent as MemberDeclarationSyntax; 426return token.Parent.FirstAncestorOrSelf<MemberDeclarationSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (1)
207return contextTree?.GetRoot(cancellationToken).FindToken(contextLocation!.SourceSpan.Start).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (1)
540var block = token.Parent.GetAncestorOrThis<BlockSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (12)
214targetToken.Parent.IsKind(SyntaxKind.DestructorDeclaration) && 215targetToken.Parent.Parent is (kind: SyntaxKind.ClassDeclaration or SyntaxKind.RecordDeclaration); 224var isOnArgumentListBracketOrComma = targetToken.Parent is (kind: SyntaxKind.ArgumentList or SyntaxKind.AttributeArgumentList or SyntaxKind.ArrayRankSpecifier); 282isRightAfterUsingOrImportDirective: targetToken.Parent is UsingDirectiveSyntax usingDirective && usingDirective?.GetLastToken() == targetToken, 313token.Parent.IsKind(SyntaxKind.AttributeList) && 353token.Parent.IsKind(SyntaxKind.AttributeList)) 377token.Parent.IsKind(SyntaxKind.AttributeList) && 378token.Parent.Parent is ParameterSyntax { Parent: ParameterListSyntax { Parent: RecordDeclarationSyntax record } }) 393token.Parent.IsKind(SyntaxKind.AttributeList) && 394token.Parent.Parent is StatementSyntax) 489return targetToken.Parent switch 527var attributeList = this.TargetToken.Parent?.FirstAncestorOrSelf<AttributeListSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (47)
41if (token is { RawKind: (int)SyntaxKind.StaticKeyword, Parent: UsingDirectiveSyntax }) 48token.GetPreviousToken() is { RawKind: (int)SyntaxKind.StaticKeyword, Parent: UsingDirectiveSyntax }) 115case SyntaxKind.OpenBraceToken when token.Parent.IsKind(SyntaxKind.Block): 124if (token.Parent.IsKind(SyntaxKind.Block)) 126if (token.Parent.Parent is StatementSyntax) 135if (token.Parent.Parent.Kind() is not SyntaxKind.TryStatement and not SyntaxKind.DoStatement) 138else if (token.Parent.Parent?.Kind() 148if (token.Parent.IsKind(SyntaxKind.SwitchStatement)) 156return token.Parent is (kind: SyntaxKind.CaseSwitchLabel or SyntaxKind.DefaultSwitchLabel or SyntaxKind.CasePatternSwitchLabel or SyntaxKind.LabeledStatement); 158case SyntaxKind.DoKeyword when token.Parent.IsKind(SyntaxKind.DoStatement): 162var parent = token.Parent; 174return token.Parent.IsKind(SyntaxKind.ElseClause); 177if (token.Parent.IsKind(SyntaxKind.AttributeList)) 180var container = token.Parent.Parent; 225if (token.Parent is FileScopedNamespaceDeclarationSyntax namespaceDeclaration && namespaceDeclaration.SemicolonToken == token) 259if (token.Parent.IsKind(SyntaxKind.AttributeList)) 261var container = token.Parent.Parent; 274if (token.Parent.IsKind(SyntaxKind.CastExpression)) 279if (token.Parent is ParenthesizedExpressionSyntax parenExpr) 334targetToken.Parent.IsKind(SyntaxKind.ParenthesizedExpression)) 340if (targetToken.Parent is PrefixUnaryExpressionSyntax prefix) 347if (targetToken.Parent is BinaryExpressionSyntax binary) 396targetToken.Parent.IsKind(SyntaxKind.SwitchStatement)) 403if (targetToken.Parent is (kind: SyntaxKind.CaseSwitchLabel or SyntaxKind.DefaultSwitchLabel or SyntaxKind.CasePatternSwitchLabel)) 431targetToken.Parent is (kind: SyntaxKind.CrefBracketedParameterList or SyntaxKind.CrefParameterList); 450targetToken.Parent.IsKind(SyntaxKind.NameColon) && 451targetToken.Parent.Parent.IsKind(SyntaxKind.Argument) && 452targetToken.Parent.Parent.Parent.IsKind(SyntaxKind.ArgumentList)) 454var owner = targetToken.Parent.Parent.Parent.Parent; 467if (targetToken.Parent.IsKind(SyntaxKind.ArgumentList)) 469if (targetToken.Parent?.Parent?.Kind() 480if (targetToken.Parent.IsParentKind(SyntaxKind.InvocationExpression) && !targetToken.IsInvocationOfVarExpression()) 581targetToken.Parent.IsKind(SyntaxKind.AccessorList)) 589targetToken.Parent.IsKind(SyntaxKind.Block) && 590targetToken.Parent.Parent is AccessorDeclarationSyntax) 597targetToken.Parent is AccessorDeclarationSyntax) 604targetToken.Parent.IsKind(SyntaxKind.AttributeList) && 605targetToken.Parent.Parent is AccessorDeclarationSyntax) 637IsGenericInterfaceOrDelegateTypeParameterList(targetToken.Parent)) 643IsGenericInterfaceOrDelegateTypeParameterList(targetToken.Parent)) 649targetToken.Parent.IsKind(SyntaxKind.AttributeList) && 650targetToken.Parent.Parent.IsKind(SyntaxKind.TypeParameter) && 651IsGenericInterfaceOrDelegateTypeParameterList(targetToken.Parent.Parent.Parent)) 661if (token.Kind() == SyntaxKind.CommaToken && token.Parent is BaseArgumentListSyntax) 663var argumentList = (BaseArgumentListSyntax)token.Parent; 687if (token.Parent is not MemberAccessExpressionSyntax memberAccessExpression) 697=> token.Parent is IdentifierNameSyntax typedParent &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (176)
37token.Parent.IsKind(SyntaxKind.AttributeList)) 45token.Parent.IsKind(SyntaxKind.AttributeList)) 53token.Parent.IsKind(SyntaxKind.AttributeTargetSpecifier)) 60if (token.Parent.IsKind(SyntaxKind.QualifiedName) && 61token.Parent.IsParentKind(SyntaxKind.Attribute)) 68if (token.Parent.IsKind(SyntaxKind.AliasQualifiedName) && 69token.Parent.IsParentKind(SyntaxKind.Attribute)) 90var parent = token.Parent; 168if (token.Parent is BaseTypeDeclarationSyntax) 179if (token.Parent is MemberDeclarationSyntax && 180token.Parent.Parent is BaseTypeDeclarationSyntax) 196if (token.Parent is BaseTypeDeclarationSyntax && 197token.Parent.Parent is BaseTypeDeclarationSyntax) 202else if (token.Parent is AccessorListSyntax) 208token.Parent.IsKind(SyntaxKind.Block) && 209token.Parent.Parent is MemberDeclarationSyntax) 221token.Parent.IsKind(SyntaxKind.AttributeList)) 229var container = token.Parent.Parent?.Parent; 298var member = token.Parent; 359if (token.Kind() == SyntaxKind.CloseBracketToken && token.Parent is AttributeListSyntax) 360return syntaxTree.IsLocalFunctionDeclarationContext(token.Parent.SpanStart, validModifiers, cancellationToken); 440if (token.IsKind(SyntaxKind.OpenBraceToken) && token.Parent is NamespaceDeclarationSyntax or TypeDeclarationSyntax) 457if (token.Parent is (kind: SyntaxKind.ExternAliasDirective or SyntaxKind.UsingDirective)) 461else if (token.Parent is MemberDeclarationSyntax) 479if (token.Parent is BaseTypeDeclarationSyntax) 483else if (token.Parent.IsKind(SyntaxKind.NamespaceDeclaration)) 487else if (token.Parent is AccessorListSyntax) 492token.Parent.IsKind(SyntaxKind.Block) && 493token.Parent.Parent is MemberDeclarationSyntax) 508token.Parent.IsKind(SyntaxKind.AttributeList)) 511if (token.Parent.IsParentKind(SyntaxKind.CompilationUnit)) 520var container = token.Parent?.Parent?.Parent; 597var container = token.Parent?.Parent; 786token.Parent is BaseListSyntax { Parent: not EnumDeclarationSyntax }) 832token.Parent.IsKind(SyntaxKind.TypeParameterConstraintClause)) 839token.Parent.IsKind(SyntaxKind.IdentifierName) && 840token.Parent.IsParentKind(SyntaxKind.SimpleBaseType) && 841token.Parent.Parent.IsParentKind(SyntaxKind.BaseList)) 885token.Parent is TypeParameterConstraintClauseSyntax constraintClause) 903if (token.IsKind(SyntaxKind.OpenParenToken) && token.Parent.IsKind(SyntaxKind.TypeOfExpression)) 915if (token.IsKind(SyntaxKind.OpenParenToken) && token.Parent.IsKind(SyntaxKind.DefaultExpression)) 928if (token.IsKind(SyntaxKind.OpenParenToken) && token.Parent.IsKind(SyntaxKind.SizeOfExpression)) 949return token.Parent.IsKind(SyntaxKind.FunctionPointerParameterList); 955{ Parent.RawKind: (int)SyntaxKind.FunctionPointerParameter } => true, 957{ Parent: TypeSyntax { Parent.RawKind: (int)SyntaxKind.FunctionPointerParameter } } => true, 963=> targetToken.Parent.IsKind(SyntaxKind.TypeParameterConstraintClause) && 985if (token.Parent is TypeArgumentListSyntax) 996if (nameToken.Parent is not NameSyntax name) 1072token.Parent is ParameterListSyntax parameterList1 && 1079if (token.IsKind(SyntaxKind.LessThanToken) && token.Parent.IsKind(SyntaxKind.FunctionPointerParameterList)) 1086token.Parent is ParameterListSyntax parameterList2 && 1096token.Parent is FunctionPointerParameterListSyntax funcPtrParamList) 1105token.Parent.IsKind(SyntaxKind.AttributeList) && 1106token.Parent.Parent is ParameterSyntax parameter3 && 1117parameter4 = token.Parent as ParameterSyntax; 1120else if (token.IsKind(SyntaxKind.IdentifierToken) && token is { Text: "scoped", Parent: IdentifierNameSyntax scopedIdentifierName }) 1166return token.Parent.IsKind(SyntaxKind.BracketedParameterList); 1179token.Parent.IsKind(SyntaxKind.DelegateDeclaration)) 1211token.Parent is (kind: SyntaxKind.ParameterList or SyntaxKind.BracketedParameterList)) 1221var method = tokenOnLeftOfPosition.Parent.GetAncestorOrThis<MethodDeclarationSyntax>(); 1238if (token.Parent.IsKind(SyntaxKind.ParameterList) && 1239token.Parent.IsParentKind(SyntaxKind.ParenthesizedLambdaExpression)) 1255if (token.Parent is (kind: SyntaxKind.ParenthesizedExpression or SyntaxKind.TupleExpression or SyntaxKind.CastExpression)) 1271parent = token.Parent; 1273else if (token.IsKind(SyntaxKind.ScopedKeyword) && token.Parent.IsKind(SyntaxKind.Parameter)) 1275parent = token.Parent.Parent; 1277else if (token.IsKind(SyntaxKind.IdentifierToken) && token is { Text: "scoped", Parent: IdentifierNameSyntax scopedIdentifierName } && scopedIdentifierName.Parent.IsKind(SyntaxKind.Parameter)) 1330if (leftToken.Parent is (kind: 1335var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent); 1347var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent!); 1357leftToken.Parent.IsKind(SyntaxKind.IdentifierName) && 1358leftToken.Parent.Parent is (kind: SyntaxKind.QualifiedName or SyntaxKind.SimpleMemberAccessExpression)) 1360var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent.Parent); 1376if (leftToken.Parent is ParenthesizedExpressionSyntax parenthesizedExpression) 1384if (leftToken.Parent.IsKind(SyntaxKind.ParenthesizedPattern)) 1399if (leftToken.Kind() is SyntaxKind.OpenBraceToken or SyntaxKind.CommaToken && leftToken.Parent.IsKind(SyntaxKind.SwitchExpression)) 1406if (leftToken.Kind() is SyntaxKind.OpenParenToken or SyntaxKind.CommaToken && leftToken.Parent.IsKind(SyntaxKind.PositionalPatternClause)) 1413if (leftToken.Kind() is SyntaxKind.OpenBracketToken or SyntaxKind.CommaToken && leftToken.Parent.IsKind(SyntaxKind.ListPattern)) 1420if (leftToken.IsKind(SyntaxKind.DotDotToken) && leftToken.Parent.IsKind(SyntaxKind.SlicePattern)) 1428if (leftToken.IsKind(SyntaxKind.ColonToken) && leftToken.Parent is (kind: SyntaxKind.NameColon or SyntaxKind.ExpressionColon) && 1429leftToken.Parent.IsParentKind(SyntaxKind.Subpattern)) 1441return leftToken.Parent is BinaryPatternSyntax || 1442leftToken.Parent is SingleVariableDesignationSyntax { Parent: DeclarationPatternSyntax }; 1446if (leftToken.IsKind(SyntaxKind.NotKeyword) && leftToken.Parent.IsKind(SyntaxKind.NotPattern)) 1456leftToken.Parent.IsKind(SyntaxKind.RelationalPattern)) 1504if (lastTokenInPattern.Parent is SingleVariableDesignationSyntax variableDesignationSyntax && 1505originalLeftToken.Parent == variableDesignationSyntax) 1551SyntaxNode? node = leftToken.Parent as ExpressionSyntax; 1581if (possibleCommaOrParen.Parent is (kind: 1591if (possibleCommaOrParen.Parent.IsKind(SyntaxKind.ParameterList) && 1592possibleCommaOrParen.Parent?.Parent is ParenthesizedLambdaExpressionSyntax parenthesizedLambda) 1616if (leftToken.Parent.IsKind(SyntaxKind.ParenthesizedVariableDesignation) || 1617leftToken.Parent.IsParentKind(SyntaxKind.ParenthesizedVariableDesignation)) 1637if (leftToken.IsKind(SyntaxKind.OpenParenToken) && leftToken.Parent.IsKind(SyntaxKind.ParenthesizedExpression)) 1639if (IsPossibleVarDeconstructionOpenParenOrComma(FindTokenOnLeftOfNode(leftToken.Parent))) 1647if (leftToken.Kind() is SyntaxKind.OpenParenToken or SyntaxKind.CommaToken && leftToken.Parent.IsKind(SyntaxKind.TupleExpression)) 1649if (IsPossibleVarDeconstructionOpenParenOrComma(FindTokenOnLeftOfNode(leftToken.Parent))) 1659var outer = UnwrapPossibleTuple(leftToken.Parent!); 1700leftToken.Parent.IsKind(SyntaxKind.ArgumentList) && 1701leftToken.Parent?.Parent is InvocationExpressionSyntax invocation) 1794token.Parent.IsKind(SyntaxKind.LocalDeclarationStatement)) 1805var parent = token.Parent; 1826token.Parent is ArgumentSyntax argument && 1847token.Parent is LocalDeclarationStatementSyntax) 1873if (token.IsKind(SyntaxKind.IdentifierToken) && token.Text == "scoped" && token.Parent.IsKind(SyntaxKind.IdentifierName) && token.Parent.Parent is VariableDeclarationSyntax or ExpressionStatementSyntax or IncompleteMemberSyntax) 1879if (token.IsKind(SyntaxKind.ScopedKeyword) && token.Parent is IncompleteMemberSyntax or ScopedTypeSyntax) 2057token.Parent.IsKind(SyntaxKind.CastExpression)) 2077token.Parent.IsKind(SyntaxKind.GotoCaseStatement)) 2083token.Parent is EqualsValueClauseSyntax equalsValue) 2118if (token.Parent.IsKind(SyntaxKind.AttributeArgumentList) && 2126token.Parent.IsKind(SyntaxKind.NameColon) && 2127token.Parent.IsParentKind(SyntaxKind.AttributeArgument)) 2134token.Parent.IsKind(SyntaxKind.NameEquals) && 2135token.Parent.IsParentKind(SyntaxKind.AttributeArgument)) 2216if (token.Parent.IsKind(SyntaxKind.NameEquals) && 2217token.Parent.IsParentKind(SyntaxKind.UsingDirective)) 2258if (token.Parent.IsKind(SyntaxKind.ParenthesizedExpression)) 2267if (token.Parent is CastExpressionSyntax castExpression && 2278if (token.Parent is PrefixUnaryExpressionSyntax prefix) 2291if (token.Parent is AwaitExpressionSyntax awaitExpression) 2315if (token.Parent is BinaryExpressionSyntax binary) 2352previousToken.Parent?.Kind() is SyntaxKind.PointerType or SyntaxKind.NullableType) 2354var type = previousToken.Parent as TypeSyntax; 2375token.Parent.IsKind(SyntaxKind.ArrayRankSpecifier)) 2383token.Parent.IsKind(SyntaxKind.RangeExpression) && 2391token.Parent is ConditionalExpressionSyntax conditionalExpression) 2400token.Parent.IsKind(SyntaxKind.ConditionalExpression)) 2410if (token.Parent is (kind: SyntaxKind.TypeOfExpression or SyntaxKind.DefaultExpression or SyntaxKind.SizeOfExpression)) 2431token.Parent is (kind: SyntaxKind.ArgumentList or SyntaxKind.BracketedArgumentList or SyntaxKind.TupleExpression)) 2442if (token.Parent.IsKind(SyntaxKind.AttributeArgumentList)) 2455if (token.Parent.IsKind(SyntaxKind.Argument)) 2459else if (token.Parent.IsKind(SyntaxKind.RefExpression)) 2463if (token.Parent.IsParentKind(SyntaxKind.ParenthesizedExpression)) 2474token.Parent.IsKind(SyntaxKind.NameColon) && 2475token.Parent.IsParentKind(SyntaxKind.Argument)) 2490if (token.Parent is InitializerExpressionSyntax) 2494if (token.Parent.IsKind(SyntaxKind.ObjectInitializerExpression) && token.IsKind(SyntaxKind.OpenBraceToken)) 2509token.Parent?.Parent is ObjectCreationExpressionSyntax objectCreation) 2525token.Parent is ForStatementSyntax forStatement) 2536token.Parent is ForStatementSyntax forStatement2 && 2545token.Parent.IsKind(SyntaxKind.ForStatement)) 2556if (token.Parent is (kind: 2569token.Parent.IsKind(SyntaxKind.JoinClause)) 2576token.Parent.IsKind(SyntaxKind.WhereClause)) 2584token.Parent.IsKind(SyntaxKind.OrderByClause)) 2591token.Parent.IsKind(SyntaxKind.SelectClause)) 2599token.Parent.IsKind(SyntaxKind.GroupClause)) 2632if (token.IsKind(SyntaxKind.OpenParenToken) && token.Parent.IsKind(SyntaxKind.UsingStatement)) 2680if (token.IsKind(SyntaxKind.WhenKeyword) && token.Parent.IsKind(SyntaxKind.WhenClause)) 2698token.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression)) 2707token.Parent.IsKind(SyntaxKind.ListPattern)) 2716token.Parent.IsKind(SyntaxKind.CollectionExpression)) 2725token.Parent.IsKind(SyntaxKind.SpreadElement)) 2738return token.Parent is InterpolationSyntax interpolation 2746=> token.Parent?.Parent is InvocationExpressionSyntax invocation && 2760if (token.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression)) 2762var parentMemberAccess = token.Parent; 2776if (token.Parent.IsKind(SyntaxKind.QualifiedName)) 2778var parentQualifiedName = token.Parent; 2795if (token.Parent.IsKind(SyntaxKind.ArgumentList) && 2796token.Parent.Parent is InvocationExpressionSyntax invocationExpression && 2875token.Parent.IsKind(SyntaxKind.IdentifierName) && 2876token.Parent.Parent is (kind: SyntaxKind.ObjectInitializerExpression or SyntaxKind.CollectionInitializerExpression)) 2883token.Parent.IsKind(SyntaxKind.IdentifierName)) 2885if (token.Parent.Parent is ArgumentSyntax { RefOrOutKeyword.RawKind: (int)SyntaxKind.OutKeyword }) 2990token.Parent.IsKind(SyntaxKind.CatchDeclaration)) 3008targetToken.Parent is BaseListSyntax { Parent: TypeDeclarationSyntax }; 3019targetToken.Parent.IsKind(SyntaxKind.BaseList) && 3020targetToken.Parent.IsParentKind(SyntaxKind.EnumDeclaration); 3035if (token.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression)) 3037var memberAccess = (MemberAccessExpressionSyntax)token.Parent; 3040else if (token.Parent is QualifiedNameSyntax qualifiedName && 3041token.Parent?.Parent is BinaryExpressionSyntax(SyntaxKind.IsExpression) binaryExpression && 3047else if (token.Parent is QualifiedNameSyntax qualifiedName1 && 3048token.Parent?.Parent is DeclarationPatternSyntax declarationExpression &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (1)
141var namespaceUsings = root.FindToken(position).Parent!.GetAncestors<BaseNamespaceDeclarationSyntax>().SelectMany(n => n.Usings);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SyntaxTreeExtensions.cs (1)
171return token.Parent is GenericNameSyntax genericName && genericName.TypeArgumentList != null &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (6)
58if (token.IsKind(SyntaxKind.CloseParenToken) && !token.Parent.IsKind(SyntaxKind.UsingStatement)) 63if (token.IsKind(SyntaxKind.ColonToken) && !token.Parent.IsKind(SyntaxKind.LabeledStatement) && token.Parent is not SwitchLabelSyntax) 152token.Parent is not ElseClauseSyntax elseClause) 351if (currentToken.Parent != null) 353var currentTokenParentParent = currentToken.Parent.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (12)
121|| token is { RawKind: (int)SyntaxKind.CloseBraceToken, Parent: InterpolationSyntax }) 176(token.IsKind(SyntaxKind.CloseBraceToken) && token.Parent.IsKind(SyntaxKind.Interpolation))) 183if (token.Parent is LabeledStatementSyntax || token.IsLastTokenInLabelStatement()) 220token.Parent?.Parent is StatementSyntax or ElseClauseSyntax); 222var embeddedStatementOwner = token.Parent.Parent; 253if (token.Parent.IsKind(SyntaxKind.AccessorList) && 254token.Parent.Parent.IsKind(SyntaxKind.PropertyDeclaration)) 272var nonTerminalNode = token.Parent; 285var nonTerminalNode = token.Parent; 309if (token.Parent.IsKind(SyntaxKind.ArgumentList)) 311return GetDefaultIndentationFromToken(indenter, token.Parent.GetFirstToken(includeZeroWidth: true)); 325=> token.Parent switch
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
200var parent = token.Parent;
Microsoft.CodeAnalysis.Features (75)
AddImport\References\Reference.cs (1)
95var newContextNode = newRoot.GetAnnotatedTokens(annotation).First().Parent;
BraceCompletion\AbstractBraceCompletionService.cs (2)
142=> token.Parent == null || syntaxFacts.IsSkippedTokensTrivia(token.Parent);
BraceMatching\AbstractBraceMatcher.cs (1)
29var parent = token.Parent;
BraceMatching\AbstractDirectiveTriviaBraceMatcher.cs (1)
34if (token.Parent is not TDirectiveTriviaSyntax directive)
CodeLens\CodeLensReferencesService.cs (3)
170var node = token.Parent; 179node = parentTrivia.Token.Parent; 193node ??= token.Parent;
Completion\Providers\AbstractInternalsVisibleToCompletionProvider.cs (1)
91var node = token.Parent;
Completion\Providers\AbstractOverrideCompletionProvider.ItemGetter.cs (2)
53if (startToken.Parent == null) 56var semanticModel = await Document.ReuseExistingSpeculativeModelAsync(startToken.Parent, CancellationToken).ConfigureAwait(false);
Completion\Providers\ImportCompletionProvider\AbstractExtensionMethodImportCompletionProvider.cs (1)
79var parentNode = syntaxContext.TargetToken.Parent;
Completion\Providers\ImportCompletionProvider\ImportCompletionProviderHelpers.cs (1)
27var addImportContextNode = root.FindToken(completionItemPosition, findInsideTrivia: true).Parent;
DocumentHighlighting\AbstractDocumentHighlightsService.cs (2)
327return syntaxFacts.IsGenericName(token.Parent) || syntaxFacts.IsIndexerMemberCref(token.Parent)
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (7)
1012var oldEnclosingLambdaBody = FindEnclosingLambdaBody(oldBody.EncompassingAncestor, oldBody.EncompassingAncestor.FindToken(adjustedOldStatementStart).Parent!); 1548newStatementSyntax = newEncompassingAncestor.FindToken(newStatementSyntaxSpan.Start).Parent; 1754var node = root.FindToken(unmappedActiveStatementSpan.Start).Parent; 2280Contract.ThrowIfNull(oldToken.Parent); 2281Contract.ThrowIfNull(newToken.Parent); 6820.FirstOrDefault(pair => !AreTokensEquivalent(pair.oldToken, pair.newToken)).newToken.Parent; 6942=> root.FullSpan.Contains(position) ? root.FindToken(position).Parent : null;
EmbeddedLanguages\AbstractLanguageDetector.cs (6)
70if (syntaxFacts.IsLiteralExpression(token.Parent) && 71syntaxFacts.IsArgument(token.Parent.Parent)) 73options = GetOptionsFromSiblingArgument(token.Parent.Parent, semanticModel, cancellationToken) ?? 102return syntaxFacts.IsLiteralExpression(token.Parent) && 103syntaxFacts.IsArgument(token.Parent.Parent) && 104IsArgumentToWellKnownAPI(token, token.Parent.Parent, semanticModel, cancellationToken, out options);
EmbeddedLanguages\DateAndTime\LanguageServices\DateAndTimeLanguageDetector.cs (3)
57var interpolationFormatClause = token.Parent; 130=> syntaxFacts.IsLiteralExpression(token.Parent) && 131syntaxFacts.IsArgument(token.Parent.Parent);
EmbeddedLanguages\EmbeddedLanguageDetector.cs (6)
95if (syntaxFacts.IsLiteralExpression(token.Parent) && 96syntaxFacts.IsBinaryExpression(token.Parent.Parent) && 97syntaxFacts.SyntaxKinds.AddExpression == token.Parent.Parent.RawKind) 102for (var node = token.Parent; node != null; node = node.Parent) 165var interpolationFormatClause = token.Parent; 286if (!syntaxFacts.IsLiteralExpression(token.Parent))
ExtractClass\ExtractClassWithDialogCodeAction.cs (1)
183: nodeOrToken.AsToken().Parent;
ExtractMethod\MethodExtractor.Analyzer.cs (3)
297syntaxFacts.IsNameOfNamedArgument(token.Parent)) 652return tokens.Any(t => semanticFacts.IsWrittenTo(this.SemanticModel, t.Parent, this.CancellationToken)); 888if (tokens.All(t => !semanticFacts.IsWrittenTo(this.SemanticModel, t.Parent, CancellationToken)))
FindUsages\AbstractFindUsagesService_FindReferences.cs (4)
200if (token.Parent is null) 204var symbol = semanticModel.GetSymbolInfo(token.Parent, cancellationToken).Symbol ?? semanticModel.GetDeclaredSymbol(token.Parent, cancellationToken); 213var title = syntaxFacts.ConvertToSingleLine(token.Parent).ToString();
GenerateEqualsAndGetHashCodeFromMembers\FormatLargeBinaryExpressionRule.cs (1)
27if (_syntaxFacts.IsLogicalAndExpression(previousToken.Parent))
Highlighting\Keywords\AbstractKeywordHighlighter.cs (1)
50for (var parent = token.Parent; parent != null; parent = parent.Parent)
InlineTemporary\AbstractInlineTemporaryCodeRefactoringProvider.cs (1)
47.Select(loc => root.FindToken(loc.Location.SourceSpan.Start).Parent as TIdentifierNameSyntax)
MoveToNamespace\AbstractMoveToNamespaceService.cs (1)
71var node = token.Parent;
QuickInfo\CommonSemanticQuickInfoProvider.cs (2)
161if (syntaxFactsService.IsNameOfAttribute(token.Parent)) 354var typeInfo = semanticModel.GetTypeInfo(token.Parent!, cancellationToken);
RemoveUnusedVariable\AbstractRemoveUnusedVariableCodeFixProvider.cs (3)
72(int, Action) pair = (token.Parent.SpanStart, 74token.Parent, 75token.Parent.ReplaceToken(token, default(SyntaxToken)).WithAdditionalAnnotations(Formatter.Annotation)));
ReplaceDocCommentTextWithTag\AbstractReplaceDocCommentTextWithTagCodeRefactoringProvider.cs (1)
137for (var node = token.Parent; node != null; node = node.Parent)
ReplaceMethodWithProperty\ReplaceMethodWithPropertyCodeRefactoringProvider.cs (6)
251if (nameToken.Parent == null) 260editor.ReplaceNode(nameToken.Parent, nameToken.Parent.WithAdditionalAnnotations( 291if (nameToken.Parent == null) 300editor.ReplaceNode(nameToken.Parent, nameToken.Parent.WithAdditionalAnnotations(
ReplacePropertyWithMethods\ReplacePropertyWithMethodsCodeRefactoringProvider.cs (1)
257var parent = nameToken.Parent;
SignatureHelp\CommonSignatureHelpUtilities.cs (2)
142expression = token.Parent?.GetAncestorsOrThis<TSyntax>().SkipWhile(syntax => !isArgumentListToken(syntax, token)).FirstOrDefault(); 150expression = token.Parent?.AncestorsAndSelf()
Snippets\SnippetProviders\AbstractConsoleSnippetProvider.cs (1)
50if (syntaxContext.TargetToken.Parent is not TLambdaExpressionSyntax)
Snippets\SnippetProviders\AbstractInlineStatementSnippetProvider.cs (1)
98var parentNode = targetToken.Parent;
SpellCheck\AbstractSpellCheckSpanService.cs (2)
102token.Parent?.RawKind == _syntaxKinds.InterpolatedStringText) 104AddStringSpans(token, canContainEscapes: !_syntaxFacts.IsVerbatimInterpolatedStringExpression(token.Parent.Parent));
SplitOrMergeIfStatements\AbstractSplitIfStatementCodeRefactoringProvider.cs (2)
108syntaxFacts.GetPartsOfBinaryExpression(token.Parent, out var parentLeft, out _, out var parentRight); 111var right = rootExpression.ReplaceNode(token.Parent, parentRight);
src\roslyn\src\Analyzers\Core\Analyzers\NewLines\ConsecutiveStatementPlacement\AbstractConsecutiveStatementPlacementDiagnosticAnalyzer.cs (1)
90var nextTokenContainingStatement = nextToken.Parent?.FirstAncestorOrSelf<TExecutableStatementSyntax>();
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementAbstractClass\AbstractImplementAbstractClassCodeFixProvider.cs (1)
34var classNode = token.Parent.GetAncestorOrThis<TClassNode>();
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\AbstractImplementInterfaceCodeFixProvider.cs (1)
30var type = token.Parent.GetAncestorsOrThis<TTypeSyntax>().LastOrDefault();
src\roslyn\src\Analyzers\Core\CodeFixes\MakeMethodSynchronous\AbstractMakeMethodSynchronousCodeFixProvider.cs (1)
195var nameNode = token.Parent;
Wrapping\AbstractCodeActionComputer.cs (1)
232var nodeToFormat = tokens.SelectAsArray(t => t.Parent).FindInnermostCommonNode<SyntaxNode>();
Microsoft.CodeAnalysis.ResxSourceGenerator (21)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (1)
34=> semanticModel.GetSymbolInfo(token.Parent!, cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
800parent = structuredTrivia.ParentTrivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (8)
19=> token.Parent?.FirstAncestorOrSelf(predicate); 27return token.Parent != null 28? token.Parent.AncestorsAndSelf().OfType<T>() 34return token.Parent != null 35? token.Parent.AncestorsAndSelf().Where(predicate) 44if (token.Parent is not T parentNode) 84? ((ICompilationUnitSyntax)token.Parent!.SyntaxTree!.GetRoot(CancellationToken.None)).EndOfFileToken 154=> token.Parent ?? throw new InvalidOperationException("Token's parent was null");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (4)
231var current = token.Parent; 238current = ((IStructuredTriviaSyntax)current).ParentTrivia.Token.Parent; 249var startNode = token.Parent; 280var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (1)
144var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (3)
293var leftNode = tokenToLeft.Parent; 331var rightNode = tokenToRightOrIn.Parent; 546var ancestor = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (2)
278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true);
Microsoft.CodeAnalysis.VisualBasic (69)
Binding\Binder_AnonymousTypes.vb (1)
169fieldNode = DirectCast(fieldNameToken.Parent, VisualBasicSyntaxNode)
Binding\Binder_Query.vb (1)
2155Debug.Assert(identifier.Parent Is rangeVar.Syntax)
Binding\Binder_Utils.vb (1)
1278Dim containingSyntax = modifierToken.Parent
Binding\BinderFactory.vb (1)
455Dim parent = DirectCast(token.Parent, VisualBasicSyntaxNode)
Binding\MemberSemanticModel.vb (2)
1273Return GetEnclosingBinderInternal(memberBinder, binderRoot, DirectCast(trivia.Token.Parent, VisualBasicSyntaxNode), position) 1985node = DirectCast(trivia.Token.Parent, VisualBasicSyntaxNode)
Compilation\DocumentationComments\UnprocessedDocumentationCommentFinder.vb (1)
140Dim parent As VisualBasicSyntaxNode = DirectCast(trivia.Token.Parent, VisualBasicSyntaxNode)
Compilation\SemanticModel.vb (5)
625Dim trivia As StructuredTriviaSyntax = DirectCast(token.Parent, VisualBasicSyntaxNode).EnclosingStructuredTrivia 626If trivia Is Nothing OrElse Not IsInCrefOrNameAttributeInterior(DirectCast(token.Parent, VisualBasicSyntaxNode)) Then 644ElseIf token.Parent IsNot Nothing Then 645Debug.Assert(IsInTree(token.Parent)) 646Return DirectCast(token.Parent, VisualBasicSyntaxNode)
Symbols\Source\LocalSymbol.vb (7)
537node = _identifierToken.Parent 541node = _identifierToken.Parent 545node = _identifierToken.Parent 558node = _identifierToken.Parent.Parent 562node = _identifierToken.Parent 569node = _identifierToken.Parent 588Return ImmutableArray.Create(_identifierToken.Parent.GetReference())
Symbols\Source\RangeVariableSymbol.vb (2)
179Return DirectCast(_identifierToken.Parent, VisualBasicSyntaxNode) 194parent = DirectCast(_identifierToken.Parent, VisualBasicSyntaxNode)
Symbols\Source\SourceLabelSymbol.vb (1)
62Dim parentNode = _labelName.Parent
Symbols\Source\SourcePropertySymbol.vb (1)
244DirectCast(identifier.Parent, VisualBasicSyntaxNode),
Symbols\Symbol.vb (1)
388Dim node As VisualBasicSyntaxNode = token.Parent.FirstAncestorOrSelf(Of TNode)()
Syntax\StructuredTriviaSyntax.vb (1)
25Dim parent = DirectCast(trivia.Token.Parent, VisualBasicSyntaxNode)
Syntax\SyntaxFactory.vb (1)
1040Dim node = token.Parent
Syntax\SyntaxFacts.vb (12)
803If token.Parent Is Nothing Then Throw New ArgumentException("'token' must be parented by a SyntaxNode.") 806Dim parentKind = token.Parent.Kind 815Return TypeOf token.Parent Is BinaryExpressionSyntax 868Return CType(token.Parent, MemberAccessExpressionSyntax).Expression IsNot Nothing OrElse 869token.Parent.Parent.Kind = SyntaxKind.NamedFieldInitializer 889If CType(token.Parent, XmlMemberAccessExpressionSyntax).Base IsNot Nothing Then 952Return TypeOf token.Parent Is QueryClauseSyntax 974Dim n = TryCast(token.Parent.Parent, XmlNodeSyntax) 1042If token.Parent Is Nothing Then Throw New ArgumentException("'token' must be parented by a SyntaxNode.") 1045Dim parentKind = token.Parent.Kind 1100Return TypeOf token.Parent Is QueryClauseSyntax 1108Dim p As VisualBasicSyntaxNode = TryCast(token.Parent, QueryClauseSyntax)
Syntax\SyntaxNormalizer.vb (30)
210Dim tokenParent = trivia.Token.Parent 304(token.Parent IsNot Nothing AndAlso token.Parent.GetLastToken() = token) 419If token.Parent Is Nothing OrElse nextToken.Kind = SyntaxKind.None Then 423If nextToken.Parent.Kind = SyntaxKind.SingleLineFunctionLambdaExpression Then 433If TypeOf (token.Parent) Is UnaryExpressionSyntax AndAlso 440If TypeOf (token.Parent) Is BinaryExpressionSyntax OrElse 441TypeOf (nextToken.Parent) Is BinaryExpressionSyntax Then 462If (token.Kind = SyntaxKind.CommaToken AndAlso (nextToken.Kind = SyntaxKind.EmptyToken OrElse token.Parent.Kind = SyntaxKind.InterpolationAlignmentClause)) OrElse 470ElseIf nextToken.Kind = SyntaxKind.DotToken AndAlso nextToken.Parent.Kind <> SyntaxKind.NamedFieldInitializer Then 475If token.Parent.Kind = SyntaxKind.LabelStatement Then 479ElseIf nextToken.Parent.Kind = SyntaxKind.InterpolationFormatClause Then 498If SyntaxFacts.IsRelationalCaseClause(token.Parent.Kind()) OrElse 499SyntaxFacts.IsRelationalCaseClause(nextToken.Parent.Kind()) Then 506token.Parent.Kind = SyntaxKind.AttributeList) Then 521If token.Kind = SyntaxKind.ColonToken AndAlso token.Parent.Kind = SyntaxKind.XmlPrefix OrElse 522nextToken.Kind = SyntaxKind.ColonToken AndAlso nextToken.Parent.Kind = SyntaxKind.XmlPrefix Then 549If token.Kind = SyntaxKind.ColonToken AndAlso token.Parent.Kind = SyntaxKind.AttributeTarget OrElse 550nextToken.Kind = SyntaxKind.ColonToken AndAlso nextToken.Parent.Kind = SyntaxKind.AttributeTarget Then 556(token.Parent.Kind = SyntaxKind.XmlAttribute OrElse 557token.Parent.Kind = SyntaxKind.XmlCrefAttribute OrElse 558token.Parent.Kind = SyntaxKind.XmlNameAttribute OrElse 559token.Parent.Kind = SyntaxKind.XmlDeclaration)) OrElse 561(nextToken.Parent.Kind = SyntaxKind.XmlAttribute OrElse 562nextToken.Parent.Kind = SyntaxKind.XmlCrefAttribute OrElse 563nextToken.Parent.Kind = SyntaxKind.XmlNameAttribute OrElse 564nextToken.Parent.Kind = SyntaxKind.XmlDeclaration)) Then 576If token.Kind = SyntaxKind.AtToken AndAlso token.Parent.Kind = SyntaxKind.XmlAttributeAccessExpression Then 592If token.Kind = SyntaxKind.HashToken AndAlso TypeOf token.Parent Is DirectiveTriviaSyntax Then 597If token.Parent.Kind = SyntaxKind.RegionDirectiveTrivia AndAlso
Syntax\VisualBasicSyntaxTree.vb (1)
410Return InDocumentationComment(token.Parent)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (161)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\DirectiveSyntaxExtensions.vb (1)
30node = node.ParentTrivia.Token.Parent
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\InvocationExpressionSyntaxExtensions.vb (1)
28lastExpressionToken.Parent.IsKind(SyntaxKind.ArgumentList) Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ParenthesizedExpressionSyntaxExtensions.vb (9)
14Dim query = token.Parent.FirstAncestorOrSelf(Of QueryExpressionSyntax)() 18Dim invocationAtLast = token.Parent.FirstAncestorOrSelf(Of InvocationExpressionSyntax)() 29Dim variableDeclarator = token.Parent.FirstAncestorOrSelf(Of VariableDeclaratorSyntax)() 35Dim lambda = token.Parent.FirstAncestorOrSelf(Of SingleLineLambdaExpressionSyntax)() 427Dim lastStatement = lastToken.Parent.GetFirstEnclosingStatement() 442nextToken.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression) Then 535nextToken.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression)) AndAlso 537nextToken.Parent.IsKind(SyntaxKind.SelectStatement)) AndAlso 540nextToken.Parent.IsKind(SyntaxKind.DictionaryAccessExpression)) Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SemanticModelExtensions.vb (2)
19Dim expression = TryCast(name.Parent, ExpressionSyntax) 34Dim expression = TryCast(name.Parent, ExpressionSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\StatementSyntaxExtensions.vb (1)
731Return nextToken.Parent.FirstAncestorOrSelf(Of StatementSyntax)()
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxTokenExtensions.vb (5)
50Dim expression = TryCast(token.Parent, ExpressionSyntax) 58Return TypeOf token.Parent Is SkippedTokensTriviaSyntax 63Return token.Parent.FirstAncestorOrSelf(predicate) 116Return token.Parent IsNot Nothing AndAlso 117token.Parent.AncestorsAndSelf().Any(Function(n) n Is node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxTreeExtensions.vb (2)
51Dim current = token.Parent 361Dim statement = token.Parent.FirstAncestorOrSelf(Of StatementSyntax)()
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\DefaultOperationProvider.vb (19)
57If previousToken.Parent Is Nothing Then 69ElseIf lastTrivia.RawKind = SyntaxKind.LineContinuationTrivia AndAlso previousToken.Parent.GetAncestorsOrThis(Of SyntaxNode)().Any(Function(node As SyntaxNode) IsSingleLineIfOrElseClauseSyntax(node)) Then 80If previousToken.Kind = SyntaxKind.GreaterThanToken AndAlso previousToken.Parent IsNot Nothing AndAlso TypeOf previousToken.Parent Is AttributeListSyntax Then 84If previousToken.Parent.Parent IsNot Nothing AndAlso TypeOf previousToken.Parent.Parent Is ParameterSyntax Then 91If currentToken.Kind = SyntaxKind.LessThanToken AndAlso currentToken.Parent IsNot Nothing AndAlso TypeOf currentToken.Parent Is AttributeListSyntax Then 95currentToken.Parent.Parent IsNot Nothing AndAlso TypeOf currentToken.Parent.Parent Is ParameterSyntax Then 108Dim xmlDeclaration = TryCast(previousToken.Parent, XmlDeclarationSyntax) 113If TypeOf previousToken.Parent Is XmlNodeSyntax OrElse TypeOf currentToken.Parent Is XmlNodeSyntax Then 128TypeOf currentToken.Parent Is ImportsStatementSyntax AndAlso 132Dim currentImports = DirectCast(currentToken.Parent, ImportsStatementSyntax) 182Dim xmlDeclaration = TryCast(currentToken.Parent, XmlDeclarationSyntax) 190Dim startTag = TryCast(currentToken.Parent, XmlElementStartTagSyntax) 198Dim emptyTag = TryCast(currentToken.Parent, XmlEmptyElementSyntax) 211TypeOf previousToken.Parent Is LabelStatementSyntax AndAlso
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\FormattingHelpers.vb (55)
13token.Parent.Kind = SyntaxKind.AttributeList AndAlso 14DirectCast(token.Parent, AttributeListSyntax).LessThanToken.Equals(token) Then 24token.Parent.Kind = SyntaxKind.AttributeList AndAlso 25DirectCast(token.Parent, AttributeListSyntax).GreaterThanToken.Equals(token) Then 33If token.Parent Is Nothing Then 39token.Parent.Kind = SyntaxKind.XmlString AndAlso 40(DirectCast(token.Parent, XmlStringSyntax).StartQuoteToken.Equals(token) OrElse 41DirectCast(token.Parent, XmlStringSyntax).EndQuoteToken.Equals(token)) Then 49If token.Parent Is Nothing Then 53If token.Parent.Kind = SyntaxKind.XmlString AndAlso 54Not DirectCast(token.Parent, XmlStringSyntax).StartQuoteToken.Equals(token) AndAlso 55Not DirectCast(token.Parent, XmlStringSyntax).EndQuoteToken.Equals(token) Then 87If token.Parent Is Nothing Then 93token.Parent.Kind = SyntaxKind.XmlEmptyElement Then 94Dim xmlElement = DirectCast(token.Parent, XmlEmptyElementSyntax) 104token.Parent.Kind = SyntaxKind.XmlAttributeAccessExpression Then 105Dim xmlMemberAccess = DirectCast(token.Parent, XmlMemberAccessExpressionSyntax) 115token.Parent.Kind = SyntaxKind.XmlPrefix Then 116Dim xmlElement = DirectCast(token.Parent, XmlPrefixSyntax) 126token.Parent.Kind = SyntaxKind.XmlAttribute Then 127Dim xmlElement = DirectCast(token.Parent, XmlAttributeSyntax) 137token.Parent.Kind = SyntaxKind.XmlCrefAttribute Then 138Dim xmlElement = DirectCast(token.Parent, XmlCrefAttributeSyntax) 148token.Parent.Kind = SyntaxKind.XmlNameAttribute Then 149Dim xmlElement = DirectCast(token.Parent, XmlNameAttributeSyntax) 159token.Parent.Kind = SyntaxKind.XmlNamespaceImportsClause Then 160Dim xmlElement = DirectCast(token.Parent, XmlNamespaceImportsClauseSyntax) 170token.Parent.Kind = SyntaxKind.XmlNamespaceImportsClause Then 171Dim xmlElement = DirectCast(token.Parent, XmlNamespaceImportsClauseSyntax) 181token.Parent.Kind = SyntaxKind.XmlBracketedName Then 182Dim xmlBracketedName = DirectCast(token.Parent, XmlBracketedNameSyntax) 192token.Parent.Kind = SyntaxKind.XmlBracketedName Then 193Dim xmlBracketedName = DirectCast(token.Parent, XmlBracketedNameSyntax) 201If token.Parent.Parent Is Nothing Then 207token.Parent.Parent.Kind = SyntaxKind.XmlElement Then 208Dim xmlElement = DirectCast(token.Parent.Parent, XmlElementSyntax) 218token.Parent.Parent.Kind = SyntaxKind.XmlElement Then 219Dim xmlElement = DirectCast(token.Parent.Parent, XmlElementSyntax) 229If token.Kind = SyntaxKind.GreaterThanToken AndAlso IsGreaterThanInXmlTag(token.Parent, token) Then 255Return TypeOf currentToken.Parent Is NullableTypeSyntax OrElse 256TypeOf currentToken.Parent Is ModifiedIdentifierSyntax 264Return TypeOf previousToken.Parent Is AttributeTargetSyntax 273Dim memberAccess = TryCast(token.Parent, MemberAccessExpressionSyntax) 278If token.Parent.Parent Is Nothing Then 283memberAccess = TryCast(token.Parent, MemberAccessExpressionSyntax) 292Dim argumentList = TryCast(token.Parent, ArgumentListSyntax) 301Dim binaryCondition = TryCast(token.Parent, BinaryConditionalExpressionSyntax) 310Dim ternaryCondition = TryCast(token.Parent, TernaryConditionalExpressionSyntax) 319Dim xmlDeclaration = TryCast(token.Parent, XmlDeclarationSyntax) 332Dim memberAccess = TryCast(token.Parent, MemberAccessExpressionSyntax) 337Dim xmlMemberAccess = TryCast(token.Parent, XmlMemberAccessExpressionSyntax) 350Dim memberAccess = TryCast(token.Parent, MemberAccessExpressionSyntax) 359Dim namedFieldInitializer = TryCast(token.Parent, NamedFieldInitializerSyntax) 368If token.Parent.IsKind(SyntaxKind.OperatorStatement) Then 369Return DirectCast(token.Parent, OperatorStatementSyntax).OperatorToken = token
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\Rules\AdjustSpaceFormattingRule.vb (25)
93If TypeOf currentToken.Parent Is BinaryExpressionSyntax AndAlso DirectCast(currentToken.Parent, BinaryExpressionSyntax).Left.IsKind(SyntaxKind.XmlAttributeAccessExpression) OrElse 94currentToken.Parent.IsKind(SyntaxKind.SimpleAssignmentStatement) AndAlso DirectCast(currentToken.Parent, AssignmentStatementSyntax).Left.IsKind(SyntaxKind.XmlAttributeAccessExpression) Then 99If currentToken.Parent.IsKind(SyntaxKind.XmlDeclarationOption) Then 173If currentToken.Kind = SyntaxKind.OpenParenToken AndAlso TypeOf currentToken.Parent Is ArrayRankSpecifierSyntax Then 183If previousToken.Kind = SyntaxKind.CloseParenToken AndAlso TypeOf previousToken.Parent Is TypeParameterListSyntax AndAlso 184currentToken.Kind = SyntaxKind.OpenParenToken AndAlso TypeOf currentToken.Parent Is ParameterListSyntax Then 196previousToken.Parent.IsKind(SyntaxKind.ConditionalAccessExpression) Then 202currentToken.Parent.Kind = SyntaxKind.ConditionalAccessExpression Then 210If previousToken.Kind = SyntaxKind.ColonToken AndAlso TypeOf previousToken.Parent Is LabelStatementSyntax Then 223If previousToken.Kind = SyntaxKind.DollarSignDoubleQuoteToken AndAlso previousToken.Parent.IsKind(SyntaxKind.InterpolatedStringExpression) Then 228If currentToken.Kind = SyntaxKind.DoubleQuoteToken AndAlso currentToken.Parent.IsKind(SyntaxKind.InterpolatedStringExpression) Then 233If (currentToken.Kind = SyntaxKind.OpenBraceToken AndAlso currentToken.Parent.IsKind(SyntaxKind.Interpolation)) OrElse 234(previousToken.Kind = SyntaxKind.CloseBraceToken AndAlso previousToken.Parent.IsKind(SyntaxKind.Interpolation)) Then 239If (previousToken.Kind = SyntaxKind.OpenBraceToken AndAlso previousToken.Parent.IsKind(SyntaxKind.Interpolation)) OrElse 240(currentToken.Kind = SyntaxKind.CloseBraceToken AndAlso currentToken.Parent.IsKind(SyntaxKind.Interpolation)) Then 245If (previousToken.Kind = SyntaxKind.CommaToken AndAlso previousToken.Parent.IsKind(SyntaxKind.InterpolationAlignmentClause)) OrElse 246(currentToken.Kind = SyntaxKind.CommaToken AndAlso currentToken.Parent.IsKind(SyntaxKind.InterpolationAlignmentClause)) Then 251If (previousToken.Kind = SyntaxKind.ColonToken AndAlso previousToken.Parent.IsKind(SyntaxKind.InterpolationFormatClause)) OrElse 252(currentToken.Kind = SyntaxKind.ColonToken AndAlso currentToken.Parent.IsKind(SyntaxKind.InterpolationFormatClause)) Then 331TypeOf previousToken.Parent Is UnaryExpressionSyntax Then 347previousToken.Parent Is currentToken.Parent Then 352Dim labelStatement = TryCast(previousToken.Parent, LabelStatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\Rules\ElasticTriviaFormattingRule.vb (17)
116currentToken.Parent.Kind = SyntaxKind.CollectionInitializer AndAlso 117currentToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 143currentToken.Parent.Kind = SyntaxKind.NamedFieldInitializer Then 150previousToken.Parent.Kind = SyntaxKind.CollectionInitializer AndAlso 151previousToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 158previousToken.Parent.Kind = SyntaxKind.CollectionInitializer AndAlso 159previousToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 166currentToken.Parent.Kind = SyntaxKind.CollectionInitializer AndAlso 167currentToken.Parent.Parent.Kind = SyntaxKind.CollectionInitializer Then 173If currentToken.Parent.Kind = SyntaxKind.ObjectMemberInitializer Then 179If currentToken.Parent.Kind = SyntaxKind.CollectionInitializer AndAlso 180currentToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 187Dim attributeNode = TryCast(previousToken.Parent, AttributeListSyntax) 199TypeOf currentToken.Parent Is ParenthesizedExpressionSyntax Then 205If TypeOf currentToken.Parent IsNot EndBlockStatementSyntax Then 216If TypeOf previousToken.Parent Is XmlNodeSyntax Then 238If TypeOf token.Parent IsNot NameSyntax Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\Rules\NodeBasedFormattingRule.vb (3)
200Dim outerBlock = firstTokenOfInnerBlock.Parent 213(ReferenceEquals(outerBlock, firstTokenOfInnerBlock.Parent) OrElse 281If TypeOf previousToken.Parent Is XmlElementSyntax Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\Rules\StructuredTriviaFormattingRule.vb (4)
37If TypeOf previousToken.Parent Is StructuredTriviaSyntax OrElse TypeOf currentToken.Parent Is StructuredTriviaSyntax Then 41If TypeOf previousToken.Parent Is DirectiveTriviaSyntax OrElse TypeOf currentToken.Parent Is DirectiveTriviaSyntax Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Services\SyntaxFacts\VisualBasicSyntaxFacts.vb (17)
112Return (IsUnaryExpressionOperatorToken(CType(token.Kind, SyntaxKind)) AndAlso (TypeOf token.Parent Is UnaryExpressionSyntax OrElse TypeOf token.Parent Is OperatorStatementSyntax)) OrElse 113(IsBinaryExpressionOperatorToken(CType(token.Kind, SyntaxKind)) AndAlso (TypeOf token.Parent Is BinaryExpressionSyntax OrElse TypeOf token.Parent Is OperatorStatementSyntax)) 246If TypeOf token.Parent Is IdentifierNameSyntax AndAlso token.HasMatchingText(SyntaxKind.NewKeyword) Then 247Dim memberAccess = TryCast(token.Parent.Parent, MemberAccessExpressionSyntax) 255If TypeOf token.Parent Is IdentifierNameSyntax AndAlso token.HasMatchingText(SyntaxKind.NewKeyword) Then 256Dim memberAccess = TryCast(token.Parent.Parent, MemberAccessExpressionSyntax) 290Return TypeOf token.Parent Is QueryClauseSyntax 292Return (TypeOf token.Parent Is QueryClauseSyntax) OrElse (token.Parent.IsKind(SyntaxKind.GroupAggregation)) 294Return TypeOf token.Parent Is JoinConditionSyntax 296Return TypeOf token.Parent Is OrderingSyntax 298Return TypeOf token.Parent Is CollectionRangeVariableSyntax 775Dim node = root.FindToken(position).Parent 1033Dim node = token.Parent 1476Dim parent = token.Parent
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (43)
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\UseConditionalExpression\MultiLineConditionalExpressionFormattingRule.vb (1)
33Return token.Parent.HasAnnotation(
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\CallStatementSyntaxExtensions.vb (1)
15nextToken.Parent.IsKind(SyntaxKind.PredefinedType)) AndAlso
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ContextQuery\SyntaxTokenExtensions.vb (4)
60Dim allowsImplicitLineContinuation = token.Parent IsNot Nothing AndAlso 105Return targetToken.Parent.IsKind(SyntaxKind.BadDirectiveTrivia) 110targetToken.GetPreviousToken().Parent.IsKind(SyntaxKind.BadDirectiveTrivia) 128Dim argumentList = TryCast(token.Parent, ArgumentListSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ContextQuery\SyntaxTreeExtensions.vb (23)
125If targetToken.Kind = SyntaxKind.None OrElse targetToken.Parent Is Nothing Then 177If token.Kind = SyntaxKind.GreaterThanToken AndAlso token.Parent.Kind = SyntaxKind.AttributeList Then 248If targetToken.Parent.IsKind(SyntaxKind.ParameterList) AndAlso 255If targetToken.Parent.IsKind(SyntaxKind.Parameter) AndAlso 322If targetToken.Parent.IsKind(SyntaxKind.ArgumentList) AndAlso 323TypeOf targetToken.Parent.Parent Is NewExpressionSyntax Then 325Dim symbolInfo = semanticModel.GetSymbolInfo(DirectCast(targetToken.Parent.Parent, NewExpressionSyntax).Type(), cancellationToken) 443targetToken.Parent.IsKind(SyntaxKind.ParameterList) AndAlso 444TypeOf targetToken.Parent.Parent Is LambdaHeaderSyntax Then 450targetToken.Parent.IsKind(SyntaxKind.ArgumentList, SyntaxKind.CollectionInitializer, SyntaxKind.EraseStatement) Then 470targetToken.Parent.IsKind(SyntaxKind.QualifiedName) AndAlso 471targetToken.Parent.Parent.IsKind(SyntaxKind.Attribute) Then 531Dim parent = token.Parent 549Dim possibleTuple = token.Parent 672If targetToken.Kind = SyntaxKind.None OrElse targetToken.Parent Is Nothing Then 686Dim ancestor = targetToken.Parent 722If targetToken.Parent.FirstAncestorOrSelf(Of AggregateClauseSyntax)() Is Nothing AndAlso 723targetToken.Parent.FirstAncestorOrSelf(Of GroupByClauseSyntax)() Is Nothing AndAlso 724targetToken.Parent.FirstAncestorOrSelf(Of GroupJoinClauseSyntax)() Is Nothing Then 779Not targetToken.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression) Then 784Dim memberAccess = DirectCast(targetToken.Parent, MemberAccessExpressionSyntax) 1080Return tokenOnLeftOfPosition.Parent.IsKind(SyntaxKind.ParenthesizedExpression, 1085tokenOnLeftOfPosition.Parent.IsKind(SyntaxKind.TupleExpression, SyntaxKind.TupleType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ContextQuery\VisualBasicSyntaxContext.vb (6)
147Dim asClause = TryCast(targetToken.Parent, AsClauseSyntax) 184isGenericConstraintContext:=targetToken.Parent.IsKind(SyntaxKind.TypeParameterSingleConstraintClause, SyntaxKind.TypeParameterMultipleConstraintClause), 194isOnArgumentListBracketOrComma:=targetToken.Parent.IsKind(SyntaxKind.ArgumentList), 217Dim collectionRange = TryCast(targetToken.Parent, CollectionRangeVariableSyntax) 283Return TypeOf targetToken.Parent Is DirectiveTriviaSyntax 295Dim parent = TryCast(targetToken.Parent, InheritsOrImplementsStatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Indentation\SpecialFormattingOperation.vb (1)
30Dim attributeNode = TryCast(previousToken.Parent, AttributeListSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Indentation\VisualBasicIndentationService.Indenter.vb (6)
159(containingToken.IsKind(SyntaxKind.CloseBraceToken) AndAlso token.Parent.IsKind(SyntaxKind.Interpolation)) Then 192If Not ContainingStatementHasDiagnostic(lastVisibleTokenOnPreviousLine.Parent) Then 205Dim visibleTokenOnCurrentLineParent = visibleTokenOnCurrentLine.Parent 313(TypeOf token.Parent Is ParameterListSyntax OrElse 314TypeOf token.Parent Is ArgumentListSyntax OrElse 315TypeOf token.Parent Is TypeParameterListSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Indentation\VisualBasicIndentationService.vb (1)
95Dim startNode = token.Parent
Microsoft.CodeAnalysis.VisualBasic.Features (84)
BraceCompletion\BracketBraceCompletionService.vb (1)
71Dim skippedToken = TryCast(token.Parent, SkippedTokensTriviaSyntax)
BraceCompletion\InterpolationBraceCompletionService.vb (1)
40(token.IsKind(SyntaxKind.CloseBraceToken) AndAlso token.Parent.IsKind(SyntaxKind.Interpolation))
BraceCompletion\ParenthesisBraceCompletionService.vb (2)
42Dim skippedTriviaNode = TryCast(token.Parent, SkippedTokensTriviaSyntax) 46If skippedToken.Kind <> SyntaxKind.CloseParenToken OrElse TypeOf skippedToken.Parent IsNot BinaryConditionalExpressionSyntax Then
BraceMatching\InterpolatedStringBraceMatcher.vb (2)
33token.Parent.IsKind(SyntaxKind.InterpolatedStringExpression) Then 35Dim interpolatedString = DirectCast(token.Parent, InterpolatedStringExpressionSyntax)
BraceMatching\LessThanGreaterThanBraceMatcher.vb (1)
26Return tok.Parent.Kind <> SyntaxKind.XmlElementStartTag
ChangeSignature\ChangeSignatureFormattingRule.vb (2)
38(previousToken.Parent.IsKind(SyntaxKind.ParameterList) OrElse previousToken.Parent.IsKind(SyntaxKind.ArgumentList)) Then
ChangeSignature\VisualBasicChangeSignatureService.vb (3)
103Dim matchingNode = GetMatchingNode(token.Parent, restrictToDeclarations) 129If token.Parent.AncestorsAndSelf().Any(Function(a) a Is objectCreation.Type) Then 727results.Add(semanticModel.GetDeclaredSymbol(cast.Identifier.Parent, cancellationToken))
CodeFixes\GenerateEndConstruct\GenerateEndConstructCodeFixProvider.vb (1)
216Dim nextNode = endStatement.Parent.GetLastToken().GetNextToken().Parent
CodeFixes\OverloadBase\OverloadBaseCodeFixProvider.vb (4)
42If TypeOf token.Parent IsNot PropertyStatementSyntax AndAlso TypeOf token.Parent IsNot MethodStatementSyntax Then 47context.RegisterCodeFix(New AddKeywordAction(context.Document, token.Parent, VBFeaturesResources.Add_Overloads, SyntaxKind.OverloadsKeyword), context.Diagnostics) 49context.RegisterCodeFix(New AddKeywordAction(context.Document, token.Parent, VBFeaturesResources.Add_Shadows, SyntaxKind.ShadowsKeyword), context.Diagnostics)
CodeLens\VisualBasicDisplayInfoService.vb (1)
57Return GetDisplayNode(structuredTriviaSyntax.ParentTrivia.Token.Parent)
Completion\CompletionProviders\AwaitCompletionProvider.vb (1)
71Dim memberAccess = TryCast(dotToken.Value.Parent, MemberAccessExpressionSyntax)
Completion\CompletionProviders\CrefCompletionProvider.vb (5)
125token.Parent?.FirstAncestorOrSelf(Of XmlCrefAttributeSyntax)() IsNot Nothing 139If token.Parent.IsKind(SyntaxKind.XmlString) AndAlso token.Parent.IsParentKind(SyntaxKind.XmlAttribute) Then 140Dim xmlAttribute = DirectCast(token.Parent.Parent, XmlAttributeSyntax) 170Return GetQualifiedSymbols(DirectCast(token.Parent, QualifiedNameSyntax), token, semanticModel, cancellationToken)
Completion\CompletionProviders\ImplementsClauseCompletionProvider.vb (1)
269Dim parent = token.Parent
Completion\CompletionProviders\OverrideCompletionProvider.vb (1)
142Return overridesToken.Kind = SyntaxKind.OverridesKeyword AndAlso IsOnStartLine(overridesToken.Parent.SpanStart, text, startLine)
Completion\CompletionProviders\SymbolCompletionProvider.vb (2)
95Return token.Parent.Kind <> SyntaxKind.SimpleMemberAccessExpression OrElse 96Not DirectCast(token.Parent, MemberAccessExpressionSyntax).Expression.IsKind(SyntaxKind.NumericLiteralExpression)
Completion\CompletionProviders\XmlDocCommentCompletionProvider.vb (5)
198Dim endTag = TryCast(token.Parent, XmlElementEndTagSyntax) 251If targetToken.IsChildToken(Function(n As XmlNameSyntax) n.LocalName) AndAlso targetToken.Parent Is tagNameSyntax Then 257If targetToken.IsChildToken(Function(n As XmlNameSyntax) n.LocalName) AndAlso targetToken.Parent.IsParentKind(SyntaxKind.XmlAttribute) Then 263If (targetToken.IsChildToken(Function(s As XmlStringSyntax) s.EndQuoteToken) AndAlso targetToken.Parent.IsParentKind(SyntaxKind.XmlAttribute)) OrElse 270If (targetToken.IsChildToken(Function(s As XmlStringSyntax) s.StartQuoteToken) AndAlso targetToken.Parent.IsParentKind(SyntaxKind.XmlAttribute)) OrElse
Completion\KeywordRecommenders\Statements\FinallyKeywordRecommender.vb (1)
52Dim parent = targetToken.Parent
Debugging\DataTipInfoGetter.vb (2)
33If token.Parent.IsKind(SyntaxKind.ModifiedIdentifier) Then 37Dim expression = TryCast(token.Parent, ExpressionSyntax)
Debugging\ProximityExpressionsGetter.vb (1)
68Dim parentEndBlock = TryCast(token.Parent, EndBlockStatementSyntax)
EditAndContinue\BreakpointSpans.vb (1)
59Dim node = root.FindToken(position).Parent
EditAndContinue\VisualBasicEditAndContinueAnalyzer.vb (2)
118node = body.FindToken(position).Parent 303Return BreakpointSpans.TryGetClosestBreakpointSpan(token.Parent, token.SpanStart, minLength:=token.Span.Length, span)
EmbeddedLanguages\EmbeddedLanguageUtilities.vb (1)
14Dim containingStatement = stringLiteral.Parent.GetAncestor(Of StatementSyntax)
ExtractMethod\VisualBasicMethodExtractor.TriviaResult.vb (2)
161Dim singleLineIf = token.Parent.GetAncestor(Of SingleLineIfStatementSyntax)() 166Dim singleLineLambda = token.Parent.GetAncestor(Of SingleLineLambdaExpressionSyntax)()
ExtractMethod\VisualBasicMethodExtractor.vb (4)
92If TypeOf currentToken.Parent Is TypeStatementSyntax AndAlso 93currentToken.Parent.GetFirstToken(includeZeroWidth:=True) = currentToken Then 103token.Parent.Kind = SyntaxKind.AttributeList AndAlso 104DirectCast(token.Parent, AttributeListSyntax).LessThanToken.Equals(token) Then
GenerateMember\GenerateVariable\VisualBasicGenerateVariableService.vb (1)
101Dim block = identifierToken.Parent.GetContainingMultiLineExecutableBlocks().FirstOrDefault()
GenerateType\VisualBasicGenerateTypeService.vb (1)
146simpleName.Parent Is token.Parent Then
IntroduceVariable\VisualBasicIntroduceVariableService.Rewriter.vb (1)
40Dim innerExpression = parenthesizedExpression.OpenParenToken.GetNextToken().Parent
MetadataAsSource\VisualBasicMetadataAsSourceService.vb (2)
93Dim member1 = token1.Parent.FirstAncestorOrSelf(Of DeclarationStatementSyntax)() 94Dim member2 = token2.Parent.FirstAncestorOrSelf(Of DeclarationStatementSyntax)()
QuickInfo\VisualBasicSemanticQuickInfoProvider.vb (7)
47Dim parent = token.Parent 120If token.IsKind(SyntaxKind.SubKeyword, SyntaxKind.FunctionKeyword) AndAlso token.Parent.IsKind(SyntaxKind.SubLambdaHeader, SyntaxKind.FunctionLambdaHeader) Then 121found = token.Parent.Parent 131token.Parent?.Parent.IsKind(SyntaxKind.InvocationExpression) = True Then 132found = token.Parent.Parent 142token.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression) Then 144found = DirectCast(token.Parent, MemberAccessExpressionSyntax).Name.Identifier
ReplaceDocCommentTextWithTag\VisualBasicReplaceDocCommentTextWithTagCodeRefactoringProvider.vb (2)
27Return token.Parent.IsKind(SyntaxKind.XmlAttribute) Or token.Parent.IsKind(SyntaxKind.XmlString)
ReplaceMethodWithProperty\VisualBasicReplaceMethodWithPropertyService.vb (2)
141Dim nameNode = TryCast(nameToken.Parent, IdentifierNameSyntax) 170Dim nameNode = TryCast(nameToken.Parent, IdentifierNameSyntax)
SignatureHelp\AttributeSignatureHelpProvider.vb (2)
41TypeOf token.Parent Is ArgumentListSyntax AndAlso 42TypeOf token.Parent.Parent Is AttributeSyntax
SignatureHelp\CollectionInitializerSignatureHelpProvider.vb (1)
38TypeOf token.Parent Is CollectionInitializerSyntax
SignatureHelp\ConditionalExpressionSignatureHelpProvider.vb (2)
25token.Parent.Kind = Kind 35token.Parent.Kind <> Kind)
SignatureHelp\GenericNameSignatureHelpProvider.vb (2)
51TypeOf token.Parent Is TypeArgumentListSyntax AndAlso 52TypeOf token.Parent.Parent Is GenericNameSyntax
SignatureHelp\InvocationExpressionSignatureHelpProvider.vb (2)
52TypeOf token.Parent Is ArgumentListSyntax AndAlso 53TypeOf token.Parent.Parent Is InvocationExpressionSyntax
SignatureHelp\MidAssignmentSignatureHelpProvider.vb (3)
29token.Parent.Kind = SyntaxKind.ArgumentList AndAlso 30token.Parent.IsParentKind(SyntaxKind.MidExpression) AndAlso 31token.Parent.Parent.IsParentKind(SyntaxKind.MidAssignmentStatement)
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider.vb (2)
51TypeOf token.Parent Is ArgumentListSyntax AndAlso 52TypeOf token.Parent.Parent Is ObjectCreationExpressionSyntax
SignatureHelp\RaiseEventStatementSignatureHelpProvider.vb (2)
50TypeOf token.Parent Is ArgumentListSyntax AndAlso 51TypeOf token.Parent.Parent Is RaiseEventStatementSyntax
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\UseConditionalExpression\MultiLineConditionalExpressionFormattingRule.vb (1)
33Return token.Parent.HasAnnotation(
Structure\VisualBasicStructureHelpers.vb (2)
213firstToken.Parent.IsKind(SyntaxKind.AttributeList) Then 215Dim attributeOwner = firstToken.Parent.Parent
Wrapping\SeparatedSyntaxList\VisualBasicArgumentWrapper.vb (2)
76If token.Parent.Ancestors().Contains(listSyntax) Then 77Dim current = token.Parent
Microsoft.CodeAnalysis.VisualBasic.Workspaces (237)
CaseCorrection\VisualBasicCaseCorrectionService.Rewriter.vb (7)
72If newToken.IsMissing OrElse TypeOf newToken.Parent Is ArgumentSyntax OrElse _semanticModel Is Nothing Then 76If token.Parent.IsPartOfStructuredTrivia() Then 77Dim identifierSyntax = TryCast(token.Parent, IdentifierNameSyntax) 93Dim methodDeclaration = TryCast(token.Parent, MethodStatementSyntax) 130Dim nameColonEquals = TryCast(token.Parent?.Parent, NameColonEqualsSyntax) 138Dim symbol = GetAliasOrAnySymbol(_semanticModel, token.Parent, _cancellationToken) 143Dim expression = TryCast(token.Parent, ExpressionSyntax)
Classification\ClassificationHelpers.vb (10)
36Select Case token.Parent.Kind 58If token.Parent Is Nothing Then 63If token.Parent.IsKind( 74IsControlStatementKind(token.Parent.Kind) 177If TypeOf token.Parent Is AttributeListSyntax Then 190Dim parent = identifier.Parent 243Dim parent = identifier.Parent 272token.Parent.IsKind(SyntaxKind.InterpolatedStringExpression) 307Select Case identifier.Parent.Kind 317Throw ExceptionUtilities.UnexpectedValue(identifier.Parent.Kind)
Classification\Worker.DocumentationCommentClassifier.vb (1)
133Select Case token.Parent.Kind
CodeCleanup\Providers\AddMissingTokensCodeCleanupProvider.vb (3)
573If TryCast(originalToken.Parent, TypeArgumentListSyntax)?.OfKeyword = originalToken Then 575ElseIf TryCast(originalToken.Parent, TypeParameterListSyntax)?.OfKeyword = originalToken Then 577ElseIf TryCast(originalToken.Parent, ContinueStatementSyntax)?.BlockKeyword = originalToken Then
CodeCleanup\Providers\RemoveUnnecessaryLineContinuationCodeCleanupProvider.vb (2)
256Return TypeOf token.Parent Is LabelStatementSyntax 260Dim node = token.Parent
CodeCleanup\VisualBasicCodeCleanerService.vb (1)
65Dim parentMultiLineNode = GetMultiLineContainer(token.Parent)
ObsoleteSymbol\VisualBasicObsoleteSymbolService.vb (1)
26Dim localDeclaration = TryCast(token.Parent, LocalDeclarationStatementSyntax)
Recommendations\VisualBasicRecommendationServiceRunner.vb (2)
436token.Parent?.FirstAncestorOrSelf(Of InheritsStatementSyntax) IsNot Nothing 445token.Parent?.FirstAncestorOrSelf(Of ImplementsStatementSyntax) IsNot Nothing
Rename\VisualBasicRenameRewriterLanguageService.vb (5)
368Dim isMemberGroupReference = _semanticFactsService.IsInsideNameOfExpression(_semanticModel, token.Parent, _cancellationToken) 402If TypeOf token.Parent Is SimpleNameSyntax AndAlso token.Kind <> SyntaxKind.GlobalKeyword AndAlso token.Parent.Parent.IsKind(SyntaxKind.QualifiedName, SyntaxKind.QualifiedCrefOperatorReference) Then 403Dim symbol = Me._speculativeModel.GetSymbolInfo(token.Parent, Me._cancellationToken).Symbol 523Dim parent = oldToken.Parent
Simplification\Reducers\AbstractVisualBasicReducer.AbstractReductionRewriter.vb (1)
121Dim parentNode = token.Parent
Simplification\Reducers\VisualBasicEscapingReducer.vb (1)
45Dim parent = identifier.Parent
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\DirectiveSyntaxExtensions.vb (1)
30node = node.ParentTrivia.Token.Parent
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\InvocationExpressionSyntaxExtensions.vb (1)
28lastExpressionToken.Parent.IsKind(SyntaxKind.ArgumentList) Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ParenthesizedExpressionSyntaxExtensions.vb (9)
14Dim query = token.Parent.FirstAncestorOrSelf(Of QueryExpressionSyntax)() 18Dim invocationAtLast = token.Parent.FirstAncestorOrSelf(Of InvocationExpressionSyntax)() 29Dim variableDeclarator = token.Parent.FirstAncestorOrSelf(Of VariableDeclaratorSyntax)() 35Dim lambda = token.Parent.FirstAncestorOrSelf(Of SingleLineLambdaExpressionSyntax)() 427Dim lastStatement = lastToken.Parent.GetFirstEnclosingStatement() 442nextToken.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression) Then 535nextToken.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression)) AndAlso 537nextToken.Parent.IsKind(SyntaxKind.SelectStatement)) AndAlso 540nextToken.Parent.IsKind(SyntaxKind.DictionaryAccessExpression)) Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SemanticModelExtensions.vb (2)
19Dim expression = TryCast(name.Parent, ExpressionSyntax) 34Dim expression = TryCast(name.Parent, ExpressionSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\StatementSyntaxExtensions.vb (1)
731Return nextToken.Parent.FirstAncestorOrSelf(Of StatementSyntax)()
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxTokenExtensions.vb (5)
50Dim expression = TryCast(token.Parent, ExpressionSyntax) 58Return TypeOf token.Parent Is SkippedTokensTriviaSyntax 63Return token.Parent.FirstAncestorOrSelf(predicate) 116Return token.Parent IsNot Nothing AndAlso 117token.Parent.AncestorsAndSelf().Any(Function(n) n Is node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxTreeExtensions.vb (2)
51Dim current = token.Parent 361Dim statement = token.Parent.FirstAncestorOrSelf(Of StatementSyntax)()
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\DefaultOperationProvider.vb (19)
57If previousToken.Parent Is Nothing Then 69ElseIf lastTrivia.RawKind = SyntaxKind.LineContinuationTrivia AndAlso previousToken.Parent.GetAncestorsOrThis(Of SyntaxNode)().Any(Function(node As SyntaxNode) IsSingleLineIfOrElseClauseSyntax(node)) Then 80If previousToken.Kind = SyntaxKind.GreaterThanToken AndAlso previousToken.Parent IsNot Nothing AndAlso TypeOf previousToken.Parent Is AttributeListSyntax Then 84If previousToken.Parent.Parent IsNot Nothing AndAlso TypeOf previousToken.Parent.Parent Is ParameterSyntax Then 91If currentToken.Kind = SyntaxKind.LessThanToken AndAlso currentToken.Parent IsNot Nothing AndAlso TypeOf currentToken.Parent Is AttributeListSyntax Then 95currentToken.Parent.Parent IsNot Nothing AndAlso TypeOf currentToken.Parent.Parent Is ParameterSyntax Then 108Dim xmlDeclaration = TryCast(previousToken.Parent, XmlDeclarationSyntax) 113If TypeOf previousToken.Parent Is XmlNodeSyntax OrElse TypeOf currentToken.Parent Is XmlNodeSyntax Then 128TypeOf currentToken.Parent Is ImportsStatementSyntax AndAlso 132Dim currentImports = DirectCast(currentToken.Parent, ImportsStatementSyntax) 182Dim xmlDeclaration = TryCast(currentToken.Parent, XmlDeclarationSyntax) 190Dim startTag = TryCast(currentToken.Parent, XmlElementStartTagSyntax) 198Dim emptyTag = TryCast(currentToken.Parent, XmlEmptyElementSyntax) 211TypeOf previousToken.Parent Is LabelStatementSyntax AndAlso
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\FormattingHelpers.vb (55)
13token.Parent.Kind = SyntaxKind.AttributeList AndAlso 14DirectCast(token.Parent, AttributeListSyntax).LessThanToken.Equals(token) Then 24token.Parent.Kind = SyntaxKind.AttributeList AndAlso 25DirectCast(token.Parent, AttributeListSyntax).GreaterThanToken.Equals(token) Then 33If token.Parent Is Nothing Then 39token.Parent.Kind = SyntaxKind.XmlString AndAlso 40(DirectCast(token.Parent, XmlStringSyntax).StartQuoteToken.Equals(token) OrElse 41DirectCast(token.Parent, XmlStringSyntax).EndQuoteToken.Equals(token)) Then 49If token.Parent Is Nothing Then 53If token.Parent.Kind = SyntaxKind.XmlString AndAlso 54Not DirectCast(token.Parent, XmlStringSyntax).StartQuoteToken.Equals(token) AndAlso 55Not DirectCast(token.Parent, XmlStringSyntax).EndQuoteToken.Equals(token) Then 87If token.Parent Is Nothing Then 93token.Parent.Kind = SyntaxKind.XmlEmptyElement Then 94Dim xmlElement = DirectCast(token.Parent, XmlEmptyElementSyntax) 104token.Parent.Kind = SyntaxKind.XmlAttributeAccessExpression Then 105Dim xmlMemberAccess = DirectCast(token.Parent, XmlMemberAccessExpressionSyntax) 115token.Parent.Kind = SyntaxKind.XmlPrefix Then 116Dim xmlElement = DirectCast(token.Parent, XmlPrefixSyntax) 126token.Parent.Kind = SyntaxKind.XmlAttribute Then 127Dim xmlElement = DirectCast(token.Parent, XmlAttributeSyntax) 137token.Parent.Kind = SyntaxKind.XmlCrefAttribute Then 138Dim xmlElement = DirectCast(token.Parent, XmlCrefAttributeSyntax) 148token.Parent.Kind = SyntaxKind.XmlNameAttribute Then 149Dim xmlElement = DirectCast(token.Parent, XmlNameAttributeSyntax) 159token.Parent.Kind = SyntaxKind.XmlNamespaceImportsClause Then 160Dim xmlElement = DirectCast(token.Parent, XmlNamespaceImportsClauseSyntax) 170token.Parent.Kind = SyntaxKind.XmlNamespaceImportsClause Then 171Dim xmlElement = DirectCast(token.Parent, XmlNamespaceImportsClauseSyntax) 181token.Parent.Kind = SyntaxKind.XmlBracketedName Then 182Dim xmlBracketedName = DirectCast(token.Parent, XmlBracketedNameSyntax) 192token.Parent.Kind = SyntaxKind.XmlBracketedName Then 193Dim xmlBracketedName = DirectCast(token.Parent, XmlBracketedNameSyntax) 201If token.Parent.Parent Is Nothing Then 207token.Parent.Parent.Kind = SyntaxKind.XmlElement Then 208Dim xmlElement = DirectCast(token.Parent.Parent, XmlElementSyntax) 218token.Parent.Parent.Kind = SyntaxKind.XmlElement Then 219Dim xmlElement = DirectCast(token.Parent.Parent, XmlElementSyntax) 229If token.Kind = SyntaxKind.GreaterThanToken AndAlso IsGreaterThanInXmlTag(token.Parent, token) Then 255Return TypeOf currentToken.Parent Is NullableTypeSyntax OrElse 256TypeOf currentToken.Parent Is ModifiedIdentifierSyntax 264Return TypeOf previousToken.Parent Is AttributeTargetSyntax 273Dim memberAccess = TryCast(token.Parent, MemberAccessExpressionSyntax) 278If token.Parent.Parent Is Nothing Then 283memberAccess = TryCast(token.Parent, MemberAccessExpressionSyntax) 292Dim argumentList = TryCast(token.Parent, ArgumentListSyntax) 301Dim binaryCondition = TryCast(token.Parent, BinaryConditionalExpressionSyntax) 310Dim ternaryCondition = TryCast(token.Parent, TernaryConditionalExpressionSyntax) 319Dim xmlDeclaration = TryCast(token.Parent, XmlDeclarationSyntax) 332Dim memberAccess = TryCast(token.Parent, MemberAccessExpressionSyntax) 337Dim xmlMemberAccess = TryCast(token.Parent, XmlMemberAccessExpressionSyntax) 350Dim memberAccess = TryCast(token.Parent, MemberAccessExpressionSyntax) 359Dim namedFieldInitializer = TryCast(token.Parent, NamedFieldInitializerSyntax) 368If token.Parent.IsKind(SyntaxKind.OperatorStatement) Then 369Return DirectCast(token.Parent, OperatorStatementSyntax).OperatorToken = token
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\Rules\AdjustSpaceFormattingRule.vb (25)
93If TypeOf currentToken.Parent Is BinaryExpressionSyntax AndAlso DirectCast(currentToken.Parent, BinaryExpressionSyntax).Left.IsKind(SyntaxKind.XmlAttributeAccessExpression) OrElse 94currentToken.Parent.IsKind(SyntaxKind.SimpleAssignmentStatement) AndAlso DirectCast(currentToken.Parent, AssignmentStatementSyntax).Left.IsKind(SyntaxKind.XmlAttributeAccessExpression) Then 99If currentToken.Parent.IsKind(SyntaxKind.XmlDeclarationOption) Then 173If currentToken.Kind = SyntaxKind.OpenParenToken AndAlso TypeOf currentToken.Parent Is ArrayRankSpecifierSyntax Then 183If previousToken.Kind = SyntaxKind.CloseParenToken AndAlso TypeOf previousToken.Parent Is TypeParameterListSyntax AndAlso 184currentToken.Kind = SyntaxKind.OpenParenToken AndAlso TypeOf currentToken.Parent Is ParameterListSyntax Then 196previousToken.Parent.IsKind(SyntaxKind.ConditionalAccessExpression) Then 202currentToken.Parent.Kind = SyntaxKind.ConditionalAccessExpression Then 210If previousToken.Kind = SyntaxKind.ColonToken AndAlso TypeOf previousToken.Parent Is LabelStatementSyntax Then 223If previousToken.Kind = SyntaxKind.DollarSignDoubleQuoteToken AndAlso previousToken.Parent.IsKind(SyntaxKind.InterpolatedStringExpression) Then 228If currentToken.Kind = SyntaxKind.DoubleQuoteToken AndAlso currentToken.Parent.IsKind(SyntaxKind.InterpolatedStringExpression) Then 233If (currentToken.Kind = SyntaxKind.OpenBraceToken AndAlso currentToken.Parent.IsKind(SyntaxKind.Interpolation)) OrElse 234(previousToken.Kind = SyntaxKind.CloseBraceToken AndAlso previousToken.Parent.IsKind(SyntaxKind.Interpolation)) Then 239If (previousToken.Kind = SyntaxKind.OpenBraceToken AndAlso previousToken.Parent.IsKind(SyntaxKind.Interpolation)) OrElse 240(currentToken.Kind = SyntaxKind.CloseBraceToken AndAlso currentToken.Parent.IsKind(SyntaxKind.Interpolation)) Then 245If (previousToken.Kind = SyntaxKind.CommaToken AndAlso previousToken.Parent.IsKind(SyntaxKind.InterpolationAlignmentClause)) OrElse 246(currentToken.Kind = SyntaxKind.CommaToken AndAlso currentToken.Parent.IsKind(SyntaxKind.InterpolationAlignmentClause)) Then 251If (previousToken.Kind = SyntaxKind.ColonToken AndAlso previousToken.Parent.IsKind(SyntaxKind.InterpolationFormatClause)) OrElse 252(currentToken.Kind = SyntaxKind.ColonToken AndAlso currentToken.Parent.IsKind(SyntaxKind.InterpolationFormatClause)) Then 331TypeOf previousToken.Parent Is UnaryExpressionSyntax Then 347previousToken.Parent Is currentToken.Parent Then 352Dim labelStatement = TryCast(previousToken.Parent, LabelStatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\Rules\ElasticTriviaFormattingRule.vb (17)
116currentToken.Parent.Kind = SyntaxKind.CollectionInitializer AndAlso 117currentToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 143currentToken.Parent.Kind = SyntaxKind.NamedFieldInitializer Then 150previousToken.Parent.Kind = SyntaxKind.CollectionInitializer AndAlso 151previousToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 158previousToken.Parent.Kind = SyntaxKind.CollectionInitializer AndAlso 159previousToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 166currentToken.Parent.Kind = SyntaxKind.CollectionInitializer AndAlso 167currentToken.Parent.Parent.Kind = SyntaxKind.CollectionInitializer Then 173If currentToken.Parent.Kind = SyntaxKind.ObjectMemberInitializer Then 179If currentToken.Parent.Kind = SyntaxKind.CollectionInitializer AndAlso 180currentToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 187Dim attributeNode = TryCast(previousToken.Parent, AttributeListSyntax) 199TypeOf currentToken.Parent Is ParenthesizedExpressionSyntax Then 205If TypeOf currentToken.Parent IsNot EndBlockStatementSyntax Then 216If TypeOf previousToken.Parent Is XmlNodeSyntax Then 238If TypeOf token.Parent IsNot NameSyntax Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\Rules\NodeBasedFormattingRule.vb (3)
200Dim outerBlock = firstTokenOfInnerBlock.Parent 213(ReferenceEquals(outerBlock, firstTokenOfInnerBlock.Parent) OrElse 281If TypeOf previousToken.Parent Is XmlElementSyntax Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\Rules\StructuredTriviaFormattingRule.vb (4)
37If TypeOf previousToken.Parent Is StructuredTriviaSyntax OrElse TypeOf currentToken.Parent Is StructuredTriviaSyntax Then 41If TypeOf previousToken.Parent Is DirectiveTriviaSyntax OrElse TypeOf currentToken.Parent Is DirectiveTriviaSyntax Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Services\SyntaxFacts\VisualBasicSyntaxFacts.vb (17)
112Return (IsUnaryExpressionOperatorToken(CType(token.Kind, SyntaxKind)) AndAlso (TypeOf token.Parent Is UnaryExpressionSyntax OrElse TypeOf token.Parent Is OperatorStatementSyntax)) OrElse 113(IsBinaryExpressionOperatorToken(CType(token.Kind, SyntaxKind)) AndAlso (TypeOf token.Parent Is BinaryExpressionSyntax OrElse TypeOf token.Parent Is OperatorStatementSyntax)) 246If TypeOf token.Parent Is IdentifierNameSyntax AndAlso token.HasMatchingText(SyntaxKind.NewKeyword) Then 247Dim memberAccess = TryCast(token.Parent.Parent, MemberAccessExpressionSyntax) 255If TypeOf token.Parent Is IdentifierNameSyntax AndAlso token.HasMatchingText(SyntaxKind.NewKeyword) Then 256Dim memberAccess = TryCast(token.Parent.Parent, MemberAccessExpressionSyntax) 290Return TypeOf token.Parent Is QueryClauseSyntax 292Return (TypeOf token.Parent Is QueryClauseSyntax) OrElse (token.Parent.IsKind(SyntaxKind.GroupAggregation)) 294Return TypeOf token.Parent Is JoinConditionSyntax 296Return TypeOf token.Parent Is OrderingSyntax 298Return TypeOf token.Parent Is CollectionRangeVariableSyntax 775Dim node = root.FindToken(position).Parent 1033Dim node = token.Parent 1476Dim parent = token.Parent
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\CallStatementSyntaxExtensions.vb (1)
15nextToken.Parent.IsKind(SyntaxKind.PredefinedType)) AndAlso
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ContextQuery\SyntaxTokenExtensions.vb (4)
60Dim allowsImplicitLineContinuation = token.Parent IsNot Nothing AndAlso 105Return targetToken.Parent.IsKind(SyntaxKind.BadDirectiveTrivia) 110targetToken.GetPreviousToken().Parent.IsKind(SyntaxKind.BadDirectiveTrivia) 128Dim argumentList = TryCast(token.Parent, ArgumentListSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ContextQuery\SyntaxTreeExtensions.vb (23)
125If targetToken.Kind = SyntaxKind.None OrElse targetToken.Parent Is Nothing Then 177If token.Kind = SyntaxKind.GreaterThanToken AndAlso token.Parent.Kind = SyntaxKind.AttributeList Then 248If targetToken.Parent.IsKind(SyntaxKind.ParameterList) AndAlso 255If targetToken.Parent.IsKind(SyntaxKind.Parameter) AndAlso 322If targetToken.Parent.IsKind(SyntaxKind.ArgumentList) AndAlso 323TypeOf targetToken.Parent.Parent Is NewExpressionSyntax Then 325Dim symbolInfo = semanticModel.GetSymbolInfo(DirectCast(targetToken.Parent.Parent, NewExpressionSyntax).Type(), cancellationToken) 443targetToken.Parent.IsKind(SyntaxKind.ParameterList) AndAlso 444TypeOf targetToken.Parent.Parent Is LambdaHeaderSyntax Then 450targetToken.Parent.IsKind(SyntaxKind.ArgumentList, SyntaxKind.CollectionInitializer, SyntaxKind.EraseStatement) Then 470targetToken.Parent.IsKind(SyntaxKind.QualifiedName) AndAlso 471targetToken.Parent.Parent.IsKind(SyntaxKind.Attribute) Then 531Dim parent = token.Parent 549Dim possibleTuple = token.Parent 672If targetToken.Kind = SyntaxKind.None OrElse targetToken.Parent Is Nothing Then 686Dim ancestor = targetToken.Parent 722If targetToken.Parent.FirstAncestorOrSelf(Of AggregateClauseSyntax)() Is Nothing AndAlso 723targetToken.Parent.FirstAncestorOrSelf(Of GroupByClauseSyntax)() Is Nothing AndAlso 724targetToken.Parent.FirstAncestorOrSelf(Of GroupJoinClauseSyntax)() Is Nothing Then 779Not targetToken.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression) Then 784Dim memberAccess = DirectCast(targetToken.Parent, MemberAccessExpressionSyntax) 1080Return tokenOnLeftOfPosition.Parent.IsKind(SyntaxKind.ParenthesizedExpression, 1085tokenOnLeftOfPosition.Parent.IsKind(SyntaxKind.TupleExpression, SyntaxKind.TupleType)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ContextQuery\VisualBasicSyntaxContext.vb (6)
147Dim asClause = TryCast(targetToken.Parent, AsClauseSyntax) 184isGenericConstraintContext:=targetToken.Parent.IsKind(SyntaxKind.TypeParameterSingleConstraintClause, SyntaxKind.TypeParameterMultipleConstraintClause), 194isOnArgumentListBracketOrComma:=targetToken.Parent.IsKind(SyntaxKind.ArgumentList), 217Dim collectionRange = TryCast(targetToken.Parent, CollectionRangeVariableSyntax) 283Return TypeOf targetToken.Parent Is DirectiveTriviaSyntax 295Dim parent = TryCast(targetToken.Parent, InheritsOrImplementsStatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Indentation\SpecialFormattingOperation.vb (1)
30Dim attributeNode = TryCast(previousToken.Parent, AttributeListSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Indentation\VisualBasicIndentationService.Indenter.vb (6)
159(containingToken.IsKind(SyntaxKind.CloseBraceToken) AndAlso token.Parent.IsKind(SyntaxKind.Interpolation)) Then 192If Not ContainingStatementHasDiagnostic(lastVisibleTokenOnPreviousLine.Parent) Then 205Dim visibleTokenOnCurrentLineParent = visibleTokenOnCurrentLine.Parent 313(TypeOf token.Parent Is ParameterListSyntax OrElse 314TypeOf token.Parent Is ArgumentListSyntax OrElse 315TypeOf token.Parent Is TypeParameterListSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Indentation\VisualBasicIndentationService.vb (1)
95Dim startNode = token.Parent
Microsoft.CodeAnalysis.Workspaces (36)
FindSymbols\FindReferences\Finders\AbstractReferenceFinder.cs (2)
46? token.Parent 48parent ??= token.Parent!;
FindSymbols\FindReferences\Finders\AbstractReferenceFinder_GlobalSuppressions.cs (1)
184var attributeArgument = token.Parent?.Parent;
FindSymbols\FindReferences\Finders\AbstractTypeParameterSymbolReferenceFinder.cs (4)
50return syntaxFacts.IsIdentifierName(token.Parent) && 51syntaxFacts.IsObjectCreationExpression(token.Parent.Parent); 61Contract.ThrowIfNull(token.Parent); 62var boundSymbol = state.SemanticModel.GetSymbolInfo(token.Parent, cancellationToken).Symbol;
FindSymbols\FindReferences\Finders\ConstructorSymbolReferenceFinder.cs (1)
269var node = newKeywordToken.Parent;
ObsoleteSymbol\AbstractObsoleteSymbolService.cs (2)
173if (syntaxFacts.IsDeclaration(token.Parent)) 175var symbol = semanticModel.GetDeclaredSymbol(token.Parent, cancellationToken);
Shared\Extensions\SemanticModelExtensions.cs (2)
93var tokenParent = token.Parent; 97var usingStatement = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (1)
34=> semanticModel.GetSymbolInfo(token.Parent!, cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
800parent = structuredTrivia.ParentTrivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (8)
19=> token.Parent?.FirstAncestorOrSelf(predicate); 27return token.Parent != null 28? token.Parent.AncestorsAndSelf().OfType<T>() 34return token.Parent != null 35? token.Parent.AncestorsAndSelf().Where(predicate) 44if (token.Parent is not T parentNode) 84? ((ICompilationUnitSyntax)token.Parent!.SyntaxTree!.GetRoot(CancellationToken.None)).EndOfFileToken 154=> token.Parent ?? throw new InvalidOperationException("Token's parent was null");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (4)
231var current = token.Parent; 238current = ((IStructuredTriviaSyntax)current).ParentTrivia.Token.Parent; 249var startNode = token.Parent; 280var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (1)
144var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (3)
293var leftNode = tokenToLeft.Parent; 331var rightNode = tokenToRightOrIn.Parent; 546var ancestor = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (2)
278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (2)
81var beginningNode = node.FindToken(node.Span.Start).Parent; 82var endNode = node.FindToken(node.Span.End - 1).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
148var node = token.Parent!.AncestorsAndSelf().First(a => a.FullSpan.Contains(span));
Microsoft.ML.InternalCodeAnalyzer (3)
ContractsCheckNameofFixProvider.cs (2)
44var nameArg = root.FindToken(diagnosticSpan.Start).Parent.FirstAncestorOrSelf<ArgumentSyntax>(); 74.Select(p => p.Parent).Where(n => n.IsKind(SyntaxKind.IdentifierName));
NameFixProvider.cs (1)
99c => RenameAsync(context.Document, token.Parent, originalName, renamer, c), diagnostic.Id), diagnostic);
Roslyn.Diagnostics.Analyzers (24)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (1)
34=> semanticModel.GetSymbolInfo(token.Parent!, cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
800parent = structuredTrivia.ParentTrivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (8)
19=> token.Parent?.FirstAncestorOrSelf(predicate); 27return token.Parent != null 28? token.Parent.AncestorsAndSelf().OfType<T>() 34return token.Parent != null 35? token.Parent.AncestorsAndSelf().Where(predicate) 44if (token.Parent is not T parentNode) 84? ((ICompilationUnitSyntax)token.Parent!.SyntaxTree!.GetRoot(CancellationToken.None)).EndOfFileToken 154=> token.Parent ?? throw new InvalidOperationException("Token's parent was null");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (4)
231var current = token.Parent; 238current = ((IStructuredTriviaSyntax)current).ParentTrivia.Token.Parent; 249var startNode = token.Parent; 280var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.InitialContextFinder.cs (1)
144var startNode = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
55var parent = _trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (3)
293var leftNode = tokenToLeft.Parent; 331var rightNode = tokenToRightOrIn.Parent; 546var ancestor = token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (2)
278var parentNode = GetParentThatContainsGivenSpan(token.Parent, backwardPosition, forward: false); 309var parentNode = GetParentThatContainsGivenSpan(token.Parent, forwardPosition, forward: true);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (2)
81var beginningNode = node.FindToken(node.Span.Start).Parent; 82var endNode = node.FindToken(node.Span.End - 1).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
148var node = token.Parent!.AncestorsAndSelf().First(a => a.FullSpan.Contains(span));
Roslyn.Diagnostics.CSharp.Analyzers (477)
CSharpAvoidOptSuffixForNullableEnableCode.cs (1)
75var symbol = semanticModel.GetDeclaredSymbol(identifier.Parent, cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (2)
38if (token.Parent?.Parent is InterpolatedStringExpressionSyntax { StringStartToken.RawKind: (int)SyntaxKind.InterpolatedMultiLineRawStringStartToken }) 56if (IsInDirective(token.Parent))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (3)
27if (name.Parent is ExpressionSyntax expression) 44if (name.Parent is ExpressionSyntax expression) 135switch (token.Parent)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTokenExtensions.cs (2)
47token.Parent.IsKind(SyntaxKind.ObjectInitializerExpression); 50=> token.IsKind(SyntaxKind.OpenBraceToken) && token.Parent.IsKind(SyntaxKind.AccessorList);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTreeExtensions.cs (1)
160if (token.Parent is XmlCrefAttributeSyntax attribute)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.DocumentationCommentExteriorCommentRewriter.cs (1)
67var currentParent = trivia.Token.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (50)
78=> token.IsOpenParenInParameterList() && token.Parent.IsParentKind(SyntaxKind.ConversionOperatorDeclaration); 81=> token.IsOpenParenInParameterList() && token.Parent.IsParentKind(SyntaxKind.OperatorDeclaration); 84=> token.Kind() == SyntaxKind.OpenParenToken && token.Parent.IsKind(SyntaxKind.ParameterList); 87=> token.Kind() == SyntaxKind.CloseParenToken && token.Parent.IsKind(SyntaxKind.ParameterList); 104if (token.Parent is (kind: SyntaxKind.ArgumentList or SyntaxKind.AttributeArgumentList)) 110if (token.Parent.IsKind(SyntaxKind.PositionalPatternClause) && token.Parent.Parent.IsKind(SyntaxKind.RecursivePattern)) 113return token.Parent.Parent.GetFirstToken() != token; 120=> token.Kind() == SyntaxKind.ColonToken && token.Parent.IsKind(SyntaxKind.BaseList); 123=> token.Kind() == SyntaxKind.CommaToken && (token.Parent.IsAnyArgumentList() || token.Parent?.Kind() is SyntaxKind.ParameterList or SyntaxKind.FunctionPointerParameterList); 126=> token.Kind() == SyntaxKind.OpenParenToken && token.Parent.IsKind(SyntaxKind.ParameterList) && token.Parent.Parent.IsKind(SyntaxKind.ParenthesizedLambdaExpression); 152token.Parent is ForStatementSyntax forStatement && 163if (token.Parent is not StatementSyntax statement || 179return token.Parent is ExpressionSyntax || token.Parent.IsKind(SyntaxKind.PropertyPatternClause); 189if (token.Parent is not BlockSyntax block || 211token.Parent.IsKind(SyntaxKind.EnumDeclaration); 217token.Parent.IsAnyArgumentList(); 223token.Parent.IsKind(SyntaxKind.VariableDeclaration); 227=> token.Parent is ParenthesizedExpressionSyntax parenthesizedExpression && parenthesizedExpression.OpenParenToken.Equals(token); 230=> token.Parent is ParenthesizedExpressionSyntax parenthesizedExpression && parenthesizedExpression.CloseParenToken.Equals(token); 234var parent = token.Parent ?? throw new ArgumentNullException(nameof(token)); 281token.Parent.IsKind(SyntaxKind.EqualsValueClause) && 282token.Parent.Parent.IsKind(SyntaxKind.PropertyDeclaration); 287if (token.Parent is not StatementSyntax statement) 308=> token.IsDotInMemberAccess() || (token.Kind() == SyntaxKind.DotToken && token.Parent.IsKind(SyntaxKind.QualifiedName)); 312if (token.Parent is not MemberAccessExpressionSyntax memberAccess) 324return token.Parent is (kind: SyntaxKind.TypeParameterList or SyntaxKind.TypeArgumentList); 332((token.Parent is InitializerExpressionSyntax) || 333(token.Parent is AnonymousObjectCreationExpressionSyntax)); 337=> token.Kind() == SyntaxKind.ColonToken && token.Parent is CasePatternSwitchLabelSyntax; 340=> token.Kind() == SyntaxKind.ColonToken && token.Parent.IsKind(SyntaxKind.SwitchExpressionArm); 343=> token.Kind() == SyntaxKind.CommaToken && token.Parent.IsKind(SyntaxKind.SwitchExpression); 346=> token.Kind() == SyntaxKind.CommaToken && token.Parent.IsKind(SyntaxKind.PropertyPatternClause); 351token.Parent is LabeledStatementSyntax labeledStatement && 361token.Parent is LabeledStatementSyntax labeledStatement && 377=> token.Kind() == SyntaxKind.InKeyword && token.Parent is FromClauseSyntax { Expression: QueryExpressionSyntax }; 382token.Parent?.Parent is QueryExpressionSyntax queryExpression && 477if (token.Parent == null) 482return token.Parent.Parent is LabeledStatementSyntax; 516return token.Parent is PrefixUnaryExpressionSyntax; 520=> currentToken.Parent.IsKind(SyntaxKind.Interpolation); 527return currentToken.Kind() == SyntaxKind.OpenParenToken && currentToken is { Parent: ParenthesizedVariableDesignationSyntax, Parent.Parent: DeclarationExpressionSyntax }; 536currentToken.Parent.IsKind(SyntaxKind.TupleExpression); 542currentToken.Parent.IsKind(SyntaxKind.TupleType); 548currentToken.Parent.IsKind(SyntaxKind.ParenthesizedVariableDesignation); 552=> token.Kind() == SyntaxKind.CommaToken && token.Parent.IsKind(SyntaxKind.CollectionExpression);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (35)
116currentToken.Parent.IsKind(SyntaxKind.TypeParameterConstraintClause)) 118RoslynDebug.AssertNotNull(previousToken.Parent); 121if (previousToken.Parent.Ancestors().OfType<TypeParameterConstraintClauseSyntax>().Any()) 127var firstTokenAfterTypeConstraint = currentToken.Parent.GetLastToken().GetNextToken(); 128var lastTokenForTypeConstraint = currentToken.Parent.GetLastToken().GetNextToken(); 131firstTokenAfterTypeConstraint.Parent.IsKind(SyntaxKind.TypeParameterConstraintClause)) 143currentToken.Parent.IsParentKind(SyntaxKind.IfStatement)) 185if (previousToken.Parent is not FileScopedNamespaceDeclarationSyntax) 294previousToken.Parent is AttributeListSyntax && 295currentToken.Parent is not AttributeListSyntax) 328return (((previousToken.Parent is StatementSyntax) && currentToken.Parent != previousToken.Parent) 334if (previousToken.Parent is AttributeListSyntax parent) 340if (!currentToken.IsKind(SyntaxKind.EndOfFileToken) && !(currentToken.Parent is AttributeListSyntax)) 359return previousToken.Parent is EnumDeclarationSyntax ? 1 : 0; 365if (previousToken.Parent is LabeledStatementSyntax or SwitchLabelSyntax) 373if ((currentToken.Kind() == SyntaxKind.FromKeyword && currentToken.Parent.IsKind(SyntaxKind.FromClause)) || 374(currentToken.Kind() == SyntaxKind.LetKeyword && currentToken.Parent.IsKind(SyntaxKind.LetClause)) || 375(currentToken.Kind() == SyntaxKind.WhereKeyword && currentToken.Parent.IsKind(SyntaxKind.WhereClause)) || 376(currentToken.Kind() == SyntaxKind.JoinKeyword && currentToken.Parent.IsKind(SyntaxKind.JoinClause)) || 377(currentToken.Kind() == SyntaxKind.JoinKeyword && currentToken.Parent.IsKind(SyntaxKind.JoinIntoClause)) || 378(currentToken.Kind() == SyntaxKind.OrderByKeyword && currentToken.Parent.IsKind(SyntaxKind.OrderByClause)) || 379(currentToken.Kind() == SyntaxKind.SelectKeyword && currentToken.Parent.IsKind(SyntaxKind.SelectClause)) || 380(currentToken.Kind() == SyntaxKind.GroupKeyword && currentToken.Parent.IsKind(SyntaxKind.GroupClause))) 396if (currentToken.Parent is AttributeListSyntax parent) 400previousToken.Parent is not AttributeListSyntax) 417return previousToken.Parent is TypeParameterListSyntax ? 1 : 0; 438nextToken.Parent.IsKind(SyntaxKind.DoStatement)) 454if (previousToken.Parent is ForStatementSyntax) 462else if (previousToken.Parent is UsingDirectiveSyntax) 464return currentToken.Parent is UsingDirectiveSyntax ? 1 : 2; 466else if (previousToken.Parent is ExternAliasDirectiveSyntax) 468return currentToken.Parent is ExternAliasDirectiveSyntax ? 1 : 2; 470else if (currentToken.Parent is LocalFunctionStatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\NewLineUserSettingFormattingRule.cs (25)
78RoslynDebug.AssertNotNull(currentToken.Parent); 85&& previousToken.Parent!.Parent == currentToken.Parent.Parent) 112if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent is BaseTypeDeclarationSyntax or NamespaceDeclarationSyntax) 121if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression)) 132if (currentToken.Parent.Kind() is SyntaxKind.ObjectInitializerExpression 143else if (currentToken.Parent.IsKind(SyntaxKind.PropertyPatternClause)) 153var isFirstTokenOfSwitchArm = currentToken.Parent.IsParentKind(SyntaxKind.RecursivePattern, out RecursivePatternSyntax? recursivePattern) 165var currentTokenParentParent = currentToken.Parent.Parent; 220if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.SwitchExpression)) 229if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && IsControlBlock(currentToken.Parent)) 242RoslynDebug.AssertNotNull(currentToken.Parent); 249if (previousToken.IsKind(SyntaxKind.CommaToken) && previousToken.Parent.IsKind(SyntaxKind.ObjectInitializerExpression)) 263if (previousToken.IsKind(SyntaxKind.CommaToken) && previousToken.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression)) 280|| previousToken.Parent!.Parent != currentToken.Parent.Parent) 317if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent is BaseTypeDeclarationSyntax or NamespaceDeclarationSyntax) 330if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression)) 347currentToken.Parent.Kind() is SyntaxKind.ObjectInitializerExpression or SyntaxKind.CollectionInitializerExpression or SyntaxKind.WithInitializerExpression or SyntaxKind.PropertyPatternClause) 364currentToken.Parent.Kind() is SyntaxKind.ArrayInitializerExpression or SyntaxKind.ImplicitArrayCreationExpression) 369var currentTokenParentParent = currentToken.Parent.Parent; 445if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && currentToken.Parent.IsKind(SyntaxKind.SwitchExpression)) 458if (currentToken.IsKind(SyntaxKind.OpenBraceToken) && IsControlBlock(currentToken.Parent)) 474&& (previousToken.Parent is StatementSyntax && !previousToken.Parent.IsKind(SyntaxKind.ForStatement))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SpacingFormattingRule.cs (29)
45RoslynDebug.Assert(previousToken.Parent != null && currentToken.Parent != null); 49var previousParentKind = previousToken.Parent.Kind(); 50var currentParentKind = currentToken.Parent.Kind(); 92if (previousToken.Parent.IsKind(SyntaxKind.OperatorDeclaration) && currentToken.IsOpenParenInParameterListOfAOperationDeclaration()) 163if ((previousToken.Parent.Kind() is SyntaxKind.ParenthesizedExpression or SyntaxKind.ParenthesizedPattern && previousKind == SyntaxKind.OpenParenToken) || 164(currentToken.Parent.Kind() is SyntaxKind.ParenthesizedExpression or SyntaxKind.ParenthesizedPattern && currentKind == SyntaxKind.CloseParenToken)) 178&& IsEmptyForStatement((ForStatementSyntax)previousToken.Parent)) 208if (currentKind == SyntaxKind.OpenBracketToken && currentToken.Parent.Kind() is SyntaxKind.ListPattern or SyntaxKind.CollectionExpression) 249if (previousKind == SyntaxKind.CloseBracketToken && previousToken.Parent.IsKind(SyntaxKind.AttributeList)) 253currentToken.Parent.IsKind(SyntaxKind.AttributeList)) 334if (currentToken.Parent is BinaryExpressionSyntax || 335previousToken.Parent is BinaryExpressionSyntax || 336currentToken.Parent is AssignmentExpressionSyntax || 337previousToken.Parent is AssignmentExpressionSyntax || 338currentToken.Parent.Kind() is SyntaxKind.AndPattern or SyntaxKind.OrPattern or SyntaxKind.RelationalPattern || 339previousToken.Parent.Kind() is SyntaxKind.AndPattern or SyntaxKind.OrPattern or SyntaxKind.RelationalPattern) 465if (previousToken.Parent.IsKind(SyntaxKind.NotPattern)) 494if ((currentKind == SyntaxKind.OpenBraceToken && currentToken.Parent is InterpolationSyntax) || 495(previousKind == SyntaxKind.CloseBraceToken && previousToken.Parent is InterpolationSyntax)) 501if (previousKind == SyntaxKind.OpenBraceToken && previousToken.Parent is InterpolationSyntax) 507if (currentKind == SyntaxKind.CloseBraceToken && currentToken.Parent is InterpolationSyntax interpolation) 518if ((previousKind == SyntaxKind.CommaToken && previousToken.Parent is InterpolationAlignmentClauseSyntax) || 519(currentKind == SyntaxKind.CommaToken && currentToken.Parent is InterpolationAlignmentClauseSyntax)) 525if ((previousKind == SyntaxKind.ColonToken && previousToken.Parent is InterpolationFormatClauseSyntax) || 526(currentKind == SyntaxKind.ColonToken && currentToken.Parent is InterpolationFormatClauseSyntax)) 546var rangeExpression = (RangeExpressionSyntax)previousToken.Parent; 557var rangeExpression = (RangeExpressionSyntax)currentToken.Parent; 610=> token.Parent is (kind: SyntaxKind.ArrayRankSpecifier or SyntaxKind.BracketedArgumentList or SyntaxKind.BracketedParameterList or SyntaxKind.ImplicitArrayCreationExpression or SyntaxKind.ListPattern or SyntaxKind.CollectionExpression);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\StructuredTriviaFormattingRule.cs (6)
16if (previousToken.Parent is StructuredTriviaSyntax || currentToken.Parent is StructuredTriviaSyntax) 26if (previousToken.Parent is StructuredTriviaSyntax || currentToken.Parent is StructuredTriviaSyntax) 30if (currentToken.Parent == previousToken.Parent &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (30)
165if (previousToken.Kind() == SyntaxKind.CloseParenToken && previousToken.Parent.IsEmbeddedStatementOwnerWithCloseParen()) 170if (previousToken.Kind() == SyntaxKind.DoKeyword && previousToken.Parent.IsKind(SyntaxKind.DoStatement)) 195currentToken.Parent is EmptyStatementSyntax && 203if (previousToken.Kind() == SyntaxKind.CloseBracketToken && previousToken.Parent is AttributeListSyntax) 205var attributeOwner = previousToken.Parent?.Parent; 223if (previousToken.Parent is UsingDirectiveSyntax previousUsing) 228currentToken.Parent is UsingDirectiveSyntax currentUsing && 246if (previousToken.Parent is FileScopedNamespaceDeclarationSyntax) 322if (previousToken.Kind() == SyntaxKind.CloseParenToken && previousToken.Parent.IsEmbeddedStatementOwnerWithCloseParen()) 339previousToken.Parent.IsKind(SyntaxKind.AttributeList) && 340previousToken.Parent.IsParentKind(SyntaxKind.Parameter)) 368var spaces = previousToken.Parent is (kind: 401if (previousToken.Kind() == SyntaxKind.CommaToken && currentToken.Kind() == SyntaxKind.OpenBracketToken && currentToken.Parent is AttributeListSyntax) 407if (previousToken.Kind() == SyntaxKind.CloseBracketToken && previousToken.Parent is AttributeListSyntax) 430currentToken.Parent?.Kind() is not SyntaxKind.CollectionExpression and not SyntaxKind.AttributeList && 449currentToken.Parent is (kind: 466if (previousToken.Parent is CastExpressionSyntax && 473if (previousToken.Parent is (kind: SyntaxKind.TypeArgumentList or SyntaxKind.TypeParameterList or SyntaxKind.FunctionPointerType)) 490currentToken.Parent is (kind: SyntaxKind.TypeArgumentList or SyntaxKind.TypeParameterList)) 497previousToken.Parent is PrefixUnaryExpressionSyntax) 504currentToken.Parent is PostfixUnaryExpressionSyntax) 510if (currentToken.IsKind(SyntaxKind.QuestionToken) && currentToken.Parent.IsKind(SyntaxKind.ConditionalAccessExpression)) 517currentToken.Parent is (kind: SyntaxKind.NullableType or SyntaxKind.ClassConstraint)) 524previousToken.Parent?.IsParentKind(SyntaxKind.ArrayType) == true) 531currentToken.Parent.IsKind(SyntaxKind.SuppressNullableWarningExpression)) 537if (currentToken.Kind() == SyntaxKind.AsteriskToken && currentToken.Parent is PointerTypeSyntax) 543if (previousToken.Kind() == SyntaxKind.AsteriskToken && previousToken.Parent is PrefixUnaryExpressionSyntax) 578&& !previousToken.Parent.IsKind(SyntaxKind.SuppressNullableWarningExpression)) 584if (previousToken.Kind() == SyntaxKind.TildeToken && (previousToken.Parent is PrefixUnaryExpressionSyntax or DestructorDeclarationSyntax)) 591previousToken.Parent is PrefixUnaryExpressionSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Indentation\CSharpSmartTokenFormatter.cs (4)
72endToken.Parent.IsKind(SyntaxKind.Block) && 73endToken.Parent.Parent?.Kind() is SyntaxKind.TryStatement or SyntaxKind.DoStatement; 94(token.Parent.IsInitializerForArrayOrCollectionCreationExpression() || 95token.Parent is AnonymousObjectCreationExpressionSyntax))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (15)
114(token.Parent is PrefixUnaryExpressionSyntax or PostfixUnaryExpressionSyntax or OperatorDeclarationSyntax)) || 115(SyntaxFacts.IsBinaryExpression(kind) && (token.Parent is BinaryExpressionSyntax or OperatorDeclarationSyntax or RelationalPatternSyntax)) || 116(SyntaxFacts.IsAssignmentExpressionOperatorToken(kind) && token.Parent is AssignmentExpressionSyntax); 268=> token.Parent is ConstructorInitializerSyntax(SyntaxKind.ThisConstructorInitializer) constructorInit && 272=> token.Parent is ConstructorInitializerSyntax(SyntaxKind.BaseConstructorInitializer) constructorInit && 290return token.Parent is QueryClauseSyntax; 294return token.Parent is SelectOrGroupClauseSyntax; 297return token.Parent is OrderingSyntax; 299return token.Parent is (kind: SyntaxKind.JoinIntoClause or SyntaxKind.QueryContinuation); 520if (token.Kind() == SyntaxKind.CommaToken && token.Parent.IsKind(SyntaxKind.OrderByClause)) 525if (token.Parent.IsKind(SyntaxKind.CollectionExpression)) 528if (semanticModel != null && token.Parent is BracketedArgumentListSyntax { Parent: ElementAccessExpressionSyntax elementAccessExpression }) 719var node = root.FindToken(position).Parent; 952var node = token.Parent; 1332if (token.Kind() == SyntaxKind.OverrideKeyword && token.Parent is MemberDeclarationSyntax member)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (15)
42var (_, closeBrace) = previousToken.Parent.GetBracePair(); 79var parent = endToken.Parent; 99var parent = endToken.Parent; 151var parent = endToken.Parent; 251var parent = endToken.Parent; 317RoslynDebug.AssertNotNull(previousToken.Parent?.Parent); 318var labelNode = previousToken.Parent.Parent; 328(previousToken.Parent.IsKind(SyntaxKind.Block) || 329previousToken.Parent is TypeDeclarationSyntax || 330previousToken.Parent is NamespaceDeclarationSyntax); 389token.Parent is SwitchLabelSyntax switchLabel && 415RoslynDebug.AssertNotNull(token.Parent); 419if (token.Parent.Kind() is SyntaxKind.Block or 422return token.Parent.Parent as MemberDeclarationSyntax; 426return token.Parent.FirstAncestorOrSelf<MemberDeclarationSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (1)
207return contextTree?.GetRoot(cancellationToken).FindToken(contextLocation!.SourceSpan.Start).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (1)
540var block = token.Parent.GetAncestorOrThis<BlockSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (12)
214targetToken.Parent.IsKind(SyntaxKind.DestructorDeclaration) && 215targetToken.Parent.Parent is (kind: SyntaxKind.ClassDeclaration or SyntaxKind.RecordDeclaration); 224var isOnArgumentListBracketOrComma = targetToken.Parent is (kind: SyntaxKind.ArgumentList or SyntaxKind.AttributeArgumentList or SyntaxKind.ArrayRankSpecifier); 282isRightAfterUsingOrImportDirective: targetToken.Parent is UsingDirectiveSyntax usingDirective && usingDirective?.GetLastToken() == targetToken, 313token.Parent.IsKind(SyntaxKind.AttributeList) && 353token.Parent.IsKind(SyntaxKind.AttributeList)) 377token.Parent.IsKind(SyntaxKind.AttributeList) && 378token.Parent.Parent is ParameterSyntax { Parent: ParameterListSyntax { Parent: RecordDeclarationSyntax record } }) 393token.Parent.IsKind(SyntaxKind.AttributeList) && 394token.Parent.Parent is StatementSyntax) 489return targetToken.Parent switch 527var attributeList = this.TargetToken.Parent?.FirstAncestorOrSelf<AttributeListSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (47)
41if (token is { RawKind: (int)SyntaxKind.StaticKeyword, Parent: UsingDirectiveSyntax }) 48token.GetPreviousToken() is { RawKind: (int)SyntaxKind.StaticKeyword, Parent: UsingDirectiveSyntax }) 115case SyntaxKind.OpenBraceToken when token.Parent.IsKind(SyntaxKind.Block): 124if (token.Parent.IsKind(SyntaxKind.Block)) 126if (token.Parent.Parent is StatementSyntax) 135if (token.Parent.Parent.Kind() is not SyntaxKind.TryStatement and not SyntaxKind.DoStatement) 138else if (token.Parent.Parent?.Kind() 148if (token.Parent.IsKind(SyntaxKind.SwitchStatement)) 156return token.Parent is (kind: SyntaxKind.CaseSwitchLabel or SyntaxKind.DefaultSwitchLabel or SyntaxKind.CasePatternSwitchLabel or SyntaxKind.LabeledStatement); 158case SyntaxKind.DoKeyword when token.Parent.IsKind(SyntaxKind.DoStatement): 162var parent = token.Parent; 174return token.Parent.IsKind(SyntaxKind.ElseClause); 177if (token.Parent.IsKind(SyntaxKind.AttributeList)) 180var container = token.Parent.Parent; 225if (token.Parent is FileScopedNamespaceDeclarationSyntax namespaceDeclaration && namespaceDeclaration.SemicolonToken == token) 259if (token.Parent.IsKind(SyntaxKind.AttributeList)) 261var container = token.Parent.Parent; 274if (token.Parent.IsKind(SyntaxKind.CastExpression)) 279if (token.Parent is ParenthesizedExpressionSyntax parenExpr) 334targetToken.Parent.IsKind(SyntaxKind.ParenthesizedExpression)) 340if (targetToken.Parent is PrefixUnaryExpressionSyntax prefix) 347if (targetToken.Parent is BinaryExpressionSyntax binary) 396targetToken.Parent.IsKind(SyntaxKind.SwitchStatement)) 403if (targetToken.Parent is (kind: SyntaxKind.CaseSwitchLabel or SyntaxKind.DefaultSwitchLabel or SyntaxKind.CasePatternSwitchLabel)) 431targetToken.Parent is (kind: SyntaxKind.CrefBracketedParameterList or SyntaxKind.CrefParameterList); 450targetToken.Parent.IsKind(SyntaxKind.NameColon) && 451targetToken.Parent.Parent.IsKind(SyntaxKind.Argument) && 452targetToken.Parent.Parent.Parent.IsKind(SyntaxKind.ArgumentList)) 454var owner = targetToken.Parent.Parent.Parent.Parent; 467if (targetToken.Parent.IsKind(SyntaxKind.ArgumentList)) 469if (targetToken.Parent?.Parent?.Kind() 480if (targetToken.Parent.IsParentKind(SyntaxKind.InvocationExpression) && !targetToken.IsInvocationOfVarExpression()) 581targetToken.Parent.IsKind(SyntaxKind.AccessorList)) 589targetToken.Parent.IsKind(SyntaxKind.Block) && 590targetToken.Parent.Parent is AccessorDeclarationSyntax) 597targetToken.Parent is AccessorDeclarationSyntax) 604targetToken.Parent.IsKind(SyntaxKind.AttributeList) && 605targetToken.Parent.Parent is AccessorDeclarationSyntax) 637IsGenericInterfaceOrDelegateTypeParameterList(targetToken.Parent)) 643IsGenericInterfaceOrDelegateTypeParameterList(targetToken.Parent)) 649targetToken.Parent.IsKind(SyntaxKind.AttributeList) && 650targetToken.Parent.Parent.IsKind(SyntaxKind.TypeParameter) && 651IsGenericInterfaceOrDelegateTypeParameterList(targetToken.Parent.Parent.Parent)) 661if (token.Kind() == SyntaxKind.CommaToken && token.Parent is BaseArgumentListSyntax) 663var argumentList = (BaseArgumentListSyntax)token.Parent; 687if (token.Parent is not MemberAccessExpressionSyntax memberAccessExpression) 697=> token.Parent is IdentifierNameSyntax typedParent &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (176)
37token.Parent.IsKind(SyntaxKind.AttributeList)) 45token.Parent.IsKind(SyntaxKind.AttributeList)) 53token.Parent.IsKind(SyntaxKind.AttributeTargetSpecifier)) 60if (token.Parent.IsKind(SyntaxKind.QualifiedName) && 61token.Parent.IsParentKind(SyntaxKind.Attribute)) 68if (token.Parent.IsKind(SyntaxKind.AliasQualifiedName) && 69token.Parent.IsParentKind(SyntaxKind.Attribute)) 90var parent = token.Parent; 168if (token.Parent is BaseTypeDeclarationSyntax) 179if (token.Parent is MemberDeclarationSyntax && 180token.Parent.Parent is BaseTypeDeclarationSyntax) 196if (token.Parent is BaseTypeDeclarationSyntax && 197token.Parent.Parent is BaseTypeDeclarationSyntax) 202else if (token.Parent is AccessorListSyntax) 208token.Parent.IsKind(SyntaxKind.Block) && 209token.Parent.Parent is MemberDeclarationSyntax) 221token.Parent.IsKind(SyntaxKind.AttributeList)) 229var container = token.Parent.Parent?.Parent; 298var member = token.Parent; 359if (token.Kind() == SyntaxKind.CloseBracketToken && token.Parent is AttributeListSyntax) 360return syntaxTree.IsLocalFunctionDeclarationContext(token.Parent.SpanStart, validModifiers, cancellationToken); 440if (token.IsKind(SyntaxKind.OpenBraceToken) && token.Parent is NamespaceDeclarationSyntax or TypeDeclarationSyntax) 457if (token.Parent is (kind: SyntaxKind.ExternAliasDirective or SyntaxKind.UsingDirective)) 461else if (token.Parent is MemberDeclarationSyntax) 479if (token.Parent is BaseTypeDeclarationSyntax) 483else if (token.Parent.IsKind(SyntaxKind.NamespaceDeclaration)) 487else if (token.Parent is AccessorListSyntax) 492token.Parent.IsKind(SyntaxKind.Block) && 493token.Parent.Parent is MemberDeclarationSyntax) 508token.Parent.IsKind(SyntaxKind.AttributeList)) 511if (token.Parent.IsParentKind(SyntaxKind.CompilationUnit)) 520var container = token.Parent?.Parent?.Parent; 597var container = token.Parent?.Parent; 786token.Parent is BaseListSyntax { Parent: not EnumDeclarationSyntax }) 832token.Parent.IsKind(SyntaxKind.TypeParameterConstraintClause)) 839token.Parent.IsKind(SyntaxKind.IdentifierName) && 840token.Parent.IsParentKind(SyntaxKind.SimpleBaseType) && 841token.Parent.Parent.IsParentKind(SyntaxKind.BaseList)) 885token.Parent is TypeParameterConstraintClauseSyntax constraintClause) 903if (token.IsKind(SyntaxKind.OpenParenToken) && token.Parent.IsKind(SyntaxKind.TypeOfExpression)) 915if (token.IsKind(SyntaxKind.OpenParenToken) && token.Parent.IsKind(SyntaxKind.DefaultExpression)) 928if (token.IsKind(SyntaxKind.OpenParenToken) && token.Parent.IsKind(SyntaxKind.SizeOfExpression)) 949return token.Parent.IsKind(SyntaxKind.FunctionPointerParameterList); 955{ Parent.RawKind: (int)SyntaxKind.FunctionPointerParameter } => true, 957{ Parent: TypeSyntax { Parent.RawKind: (int)SyntaxKind.FunctionPointerParameter } } => true, 963=> targetToken.Parent.IsKind(SyntaxKind.TypeParameterConstraintClause) && 985if (token.Parent is TypeArgumentListSyntax) 996if (nameToken.Parent is not NameSyntax name) 1072token.Parent is ParameterListSyntax parameterList1 && 1079if (token.IsKind(SyntaxKind.LessThanToken) && token.Parent.IsKind(SyntaxKind.FunctionPointerParameterList)) 1086token.Parent is ParameterListSyntax parameterList2 && 1096token.Parent is FunctionPointerParameterListSyntax funcPtrParamList) 1105token.Parent.IsKind(SyntaxKind.AttributeList) && 1106token.Parent.Parent is ParameterSyntax parameter3 && 1117parameter4 = token.Parent as ParameterSyntax; 1120else if (token.IsKind(SyntaxKind.IdentifierToken) && token is { Text: "scoped", Parent: IdentifierNameSyntax scopedIdentifierName }) 1166return token.Parent.IsKind(SyntaxKind.BracketedParameterList); 1179token.Parent.IsKind(SyntaxKind.DelegateDeclaration)) 1211token.Parent is (kind: SyntaxKind.ParameterList or SyntaxKind.BracketedParameterList)) 1221var method = tokenOnLeftOfPosition.Parent.GetAncestorOrThis<MethodDeclarationSyntax>(); 1238if (token.Parent.IsKind(SyntaxKind.ParameterList) && 1239token.Parent.IsParentKind(SyntaxKind.ParenthesizedLambdaExpression)) 1255if (token.Parent is (kind: SyntaxKind.ParenthesizedExpression or SyntaxKind.TupleExpression or SyntaxKind.CastExpression)) 1271parent = token.Parent; 1273else if (token.IsKind(SyntaxKind.ScopedKeyword) && token.Parent.IsKind(SyntaxKind.Parameter)) 1275parent = token.Parent.Parent; 1277else if (token.IsKind(SyntaxKind.IdentifierToken) && token is { Text: "scoped", Parent: IdentifierNameSyntax scopedIdentifierName } && scopedIdentifierName.Parent.IsKind(SyntaxKind.Parameter)) 1330if (leftToken.Parent is (kind: 1335var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent); 1347var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent!); 1357leftToken.Parent.IsKind(SyntaxKind.IdentifierName) && 1358leftToken.Parent.Parent is (kind: SyntaxKind.QualifiedName or SyntaxKind.SimpleMemberAccessExpression)) 1360var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent.Parent); 1376if (leftToken.Parent is ParenthesizedExpressionSyntax parenthesizedExpression) 1384if (leftToken.Parent.IsKind(SyntaxKind.ParenthesizedPattern)) 1399if (leftToken.Kind() is SyntaxKind.OpenBraceToken or SyntaxKind.CommaToken && leftToken.Parent.IsKind(SyntaxKind.SwitchExpression)) 1406if (leftToken.Kind() is SyntaxKind.OpenParenToken or SyntaxKind.CommaToken && leftToken.Parent.IsKind(SyntaxKind.PositionalPatternClause)) 1413if (leftToken.Kind() is SyntaxKind.OpenBracketToken or SyntaxKind.CommaToken && leftToken.Parent.IsKind(SyntaxKind.ListPattern)) 1420if (leftToken.IsKind(SyntaxKind.DotDotToken) && leftToken.Parent.IsKind(SyntaxKind.SlicePattern)) 1428if (leftToken.IsKind(SyntaxKind.ColonToken) && leftToken.Parent is (kind: SyntaxKind.NameColon or SyntaxKind.ExpressionColon) && 1429leftToken.Parent.IsParentKind(SyntaxKind.Subpattern)) 1441return leftToken.Parent is BinaryPatternSyntax || 1442leftToken.Parent is SingleVariableDesignationSyntax { Parent: DeclarationPatternSyntax }; 1446if (leftToken.IsKind(SyntaxKind.NotKeyword) && leftToken.Parent.IsKind(SyntaxKind.NotPattern)) 1456leftToken.Parent.IsKind(SyntaxKind.RelationalPattern)) 1504if (lastTokenInPattern.Parent is SingleVariableDesignationSyntax variableDesignationSyntax && 1505originalLeftToken.Parent == variableDesignationSyntax) 1551SyntaxNode? node = leftToken.Parent as ExpressionSyntax; 1581if (possibleCommaOrParen.Parent is (kind: 1591if (possibleCommaOrParen.Parent.IsKind(SyntaxKind.ParameterList) && 1592possibleCommaOrParen.Parent?.Parent is ParenthesizedLambdaExpressionSyntax parenthesizedLambda) 1616if (leftToken.Parent.IsKind(SyntaxKind.ParenthesizedVariableDesignation) || 1617leftToken.Parent.IsParentKind(SyntaxKind.ParenthesizedVariableDesignation)) 1637if (leftToken.IsKind(SyntaxKind.OpenParenToken) && leftToken.Parent.IsKind(SyntaxKind.ParenthesizedExpression)) 1639if (IsPossibleVarDeconstructionOpenParenOrComma(FindTokenOnLeftOfNode(leftToken.Parent))) 1647if (leftToken.Kind() is SyntaxKind.OpenParenToken or SyntaxKind.CommaToken && leftToken.Parent.IsKind(SyntaxKind.TupleExpression)) 1649if (IsPossibleVarDeconstructionOpenParenOrComma(FindTokenOnLeftOfNode(leftToken.Parent))) 1659var outer = UnwrapPossibleTuple(leftToken.Parent!); 1700leftToken.Parent.IsKind(SyntaxKind.ArgumentList) && 1701leftToken.Parent?.Parent is InvocationExpressionSyntax invocation) 1794token.Parent.IsKind(SyntaxKind.LocalDeclarationStatement)) 1805var parent = token.Parent; 1826token.Parent is ArgumentSyntax argument && 1847token.Parent is LocalDeclarationStatementSyntax) 1873if (token.IsKind(SyntaxKind.IdentifierToken) && token.Text == "scoped" && token.Parent.IsKind(SyntaxKind.IdentifierName) && token.Parent.Parent is VariableDeclarationSyntax or ExpressionStatementSyntax or IncompleteMemberSyntax) 1879if (token.IsKind(SyntaxKind.ScopedKeyword) && token.Parent is IncompleteMemberSyntax or ScopedTypeSyntax) 2057token.Parent.IsKind(SyntaxKind.CastExpression)) 2077token.Parent.IsKind(SyntaxKind.GotoCaseStatement)) 2083token.Parent is EqualsValueClauseSyntax equalsValue) 2118if (token.Parent.IsKind(SyntaxKind.AttributeArgumentList) && 2126token.Parent.IsKind(SyntaxKind.NameColon) && 2127token.Parent.IsParentKind(SyntaxKind.AttributeArgument)) 2134token.Parent.IsKind(SyntaxKind.NameEquals) && 2135token.Parent.IsParentKind(SyntaxKind.AttributeArgument)) 2216if (token.Parent.IsKind(SyntaxKind.NameEquals) && 2217token.Parent.IsParentKind(SyntaxKind.UsingDirective)) 2258if (token.Parent.IsKind(SyntaxKind.ParenthesizedExpression)) 2267if (token.Parent is CastExpressionSyntax castExpression && 2278if (token.Parent is PrefixUnaryExpressionSyntax prefix) 2291if (token.Parent is AwaitExpressionSyntax awaitExpression) 2315if (token.Parent is BinaryExpressionSyntax binary) 2352previousToken.Parent?.Kind() is SyntaxKind.PointerType or SyntaxKind.NullableType) 2354var type = previousToken.Parent as TypeSyntax; 2375token.Parent.IsKind(SyntaxKind.ArrayRankSpecifier)) 2383token.Parent.IsKind(SyntaxKind.RangeExpression) && 2391token.Parent is ConditionalExpressionSyntax conditionalExpression) 2400token.Parent.IsKind(SyntaxKind.ConditionalExpression)) 2410if (token.Parent is (kind: SyntaxKind.TypeOfExpression or SyntaxKind.DefaultExpression or SyntaxKind.SizeOfExpression)) 2431token.Parent is (kind: SyntaxKind.ArgumentList or SyntaxKind.BracketedArgumentList or SyntaxKind.TupleExpression)) 2442if (token.Parent.IsKind(SyntaxKind.AttributeArgumentList)) 2455if (token.Parent.IsKind(SyntaxKind.Argument)) 2459else if (token.Parent.IsKind(SyntaxKind.RefExpression)) 2463if (token.Parent.IsParentKind(SyntaxKind.ParenthesizedExpression)) 2474token.Parent.IsKind(SyntaxKind.NameColon) && 2475token.Parent.IsParentKind(SyntaxKind.Argument)) 2490if (token.Parent is InitializerExpressionSyntax) 2494if (token.Parent.IsKind(SyntaxKind.ObjectInitializerExpression) && token.IsKind(SyntaxKind.OpenBraceToken)) 2509token.Parent?.Parent is ObjectCreationExpressionSyntax objectCreation) 2525token.Parent is ForStatementSyntax forStatement) 2536token.Parent is ForStatementSyntax forStatement2 && 2545token.Parent.IsKind(SyntaxKind.ForStatement)) 2556if (token.Parent is (kind: 2569token.Parent.IsKind(SyntaxKind.JoinClause)) 2576token.Parent.IsKind(SyntaxKind.WhereClause)) 2584token.Parent.IsKind(SyntaxKind.OrderByClause)) 2591token.Parent.IsKind(SyntaxKind.SelectClause)) 2599token.Parent.IsKind(SyntaxKind.GroupClause)) 2632if (token.IsKind(SyntaxKind.OpenParenToken) && token.Parent.IsKind(SyntaxKind.UsingStatement)) 2680if (token.IsKind(SyntaxKind.WhenKeyword) && token.Parent.IsKind(SyntaxKind.WhenClause)) 2698token.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression)) 2707token.Parent.IsKind(SyntaxKind.ListPattern)) 2716token.Parent.IsKind(SyntaxKind.CollectionExpression)) 2725token.Parent.IsKind(SyntaxKind.SpreadElement)) 2738return token.Parent is InterpolationSyntax interpolation 2746=> token.Parent?.Parent is InvocationExpressionSyntax invocation && 2760if (token.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression)) 2762var parentMemberAccess = token.Parent; 2776if (token.Parent.IsKind(SyntaxKind.QualifiedName)) 2778var parentQualifiedName = token.Parent; 2795if (token.Parent.IsKind(SyntaxKind.ArgumentList) && 2796token.Parent.Parent is InvocationExpressionSyntax invocationExpression && 2875token.Parent.IsKind(SyntaxKind.IdentifierName) && 2876token.Parent.Parent is (kind: SyntaxKind.ObjectInitializerExpression or SyntaxKind.CollectionInitializerExpression)) 2883token.Parent.IsKind(SyntaxKind.IdentifierName)) 2885if (token.Parent.Parent is ArgumentSyntax { RefOrOutKeyword.RawKind: (int)SyntaxKind.OutKeyword }) 2990token.Parent.IsKind(SyntaxKind.CatchDeclaration)) 3008targetToken.Parent is BaseListSyntax { Parent: TypeDeclarationSyntax }; 3019targetToken.Parent.IsKind(SyntaxKind.BaseList) && 3020targetToken.Parent.IsParentKind(SyntaxKind.EnumDeclaration); 3035if (token.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression)) 3037var memberAccess = (MemberAccessExpressionSyntax)token.Parent; 3040else if (token.Parent is QualifiedNameSyntax qualifiedName && 3041token.Parent?.Parent is BinaryExpressionSyntax(SyntaxKind.IsExpression) binaryExpression && 3047else if (token.Parent is QualifiedNameSyntax qualifiedName1 && 3048token.Parent?.Parent is DeclarationPatternSyntax declarationExpression &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (1)
141var namespaceUsings = root.FindToken(position).Parent!.GetAncestors<BaseNamespaceDeclarationSyntax>().SelectMany(n => n.Usings);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SyntaxTreeExtensions.cs (1)
171return token.Parent is GenericNameSyntax genericName && genericName.TypeArgumentList != null &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (6)
58if (token.IsKind(SyntaxKind.CloseParenToken) && !token.Parent.IsKind(SyntaxKind.UsingStatement)) 63if (token.IsKind(SyntaxKind.ColonToken) && !token.Parent.IsKind(SyntaxKind.LabeledStatement) && token.Parent is not SwitchLabelSyntax) 152token.Parent is not ElseClauseSyntax elseClause) 351if (currentToken.Parent != null) 353var currentTokenParentParent = currentToken.Parent.Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (12)
121|| token is { RawKind: (int)SyntaxKind.CloseBraceToken, Parent: InterpolationSyntax }) 176(token.IsKind(SyntaxKind.CloseBraceToken) && token.Parent.IsKind(SyntaxKind.Interpolation))) 183if (token.Parent is LabeledStatementSyntax || token.IsLastTokenInLabelStatement()) 220token.Parent?.Parent is StatementSyntax or ElseClauseSyntax); 222var embeddedStatementOwner = token.Parent.Parent; 253if (token.Parent.IsKind(SyntaxKind.AccessorList) && 254token.Parent.Parent.IsKind(SyntaxKind.PropertyDeclaration)) 272var nonTerminalNode = token.Parent; 285var nonTerminalNode = token.Parent; 309if (token.Parent.IsKind(SyntaxKind.ArgumentList)) 311return GetDefaultIndentationFromToken(indenter, token.Parent.GetFirstToken(includeZeroWidth: true)); 325=> token.Parent switch
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
200var parent = token.Parent;
Roslyn.Diagnostics.VisualBasic.Analyzers (105)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\InvocationExpressionSyntaxExtensions.vb (1)
28lastExpressionToken.Parent.IsKind(SyntaxKind.ArgumentList) Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ParenthesizedExpressionSyntaxExtensions.vb (5)
427Dim lastStatement = lastToken.Parent.GetFirstEnclosingStatement() 442nextToken.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression) Then 535nextToken.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression)) AndAlso 537nextToken.Parent.IsKind(SyntaxKind.SelectStatement)) AndAlso 540nextToken.Parent.IsKind(SyntaxKind.DictionaryAccessExpression)) Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SemanticModelExtensions.vb (2)
19Dim expression = TryCast(name.Parent, ExpressionSyntax) 34Dim expression = TryCast(name.Parent, ExpressionSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\StatementSyntaxExtensions.vb (1)
731Return nextToken.Parent.FirstAncestorOrSelf(Of StatementSyntax)()
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\DefaultOperationProvider.vb (19)
57If previousToken.Parent Is Nothing Then 69ElseIf lastTrivia.RawKind = SyntaxKind.LineContinuationTrivia AndAlso previousToken.Parent.GetAncestorsOrThis(Of SyntaxNode)().Any(Function(node As SyntaxNode) IsSingleLineIfOrElseClauseSyntax(node)) Then 80If previousToken.Kind = SyntaxKind.GreaterThanToken AndAlso previousToken.Parent IsNot Nothing AndAlso TypeOf previousToken.Parent Is AttributeListSyntax Then 84If previousToken.Parent.Parent IsNot Nothing AndAlso TypeOf previousToken.Parent.Parent Is ParameterSyntax Then 91If currentToken.Kind = SyntaxKind.LessThanToken AndAlso currentToken.Parent IsNot Nothing AndAlso TypeOf currentToken.Parent Is AttributeListSyntax Then 95currentToken.Parent.Parent IsNot Nothing AndAlso TypeOf currentToken.Parent.Parent Is ParameterSyntax Then 108Dim xmlDeclaration = TryCast(previousToken.Parent, XmlDeclarationSyntax) 113If TypeOf previousToken.Parent Is XmlNodeSyntax OrElse TypeOf currentToken.Parent Is XmlNodeSyntax Then 128TypeOf currentToken.Parent Is ImportsStatementSyntax AndAlso 132Dim currentImports = DirectCast(currentToken.Parent, ImportsStatementSyntax) 182Dim xmlDeclaration = TryCast(currentToken.Parent, XmlDeclarationSyntax) 190Dim startTag = TryCast(currentToken.Parent, XmlElementStartTagSyntax) 198Dim emptyTag = TryCast(currentToken.Parent, XmlEmptyElementSyntax) 211TypeOf previousToken.Parent Is LabelStatementSyntax AndAlso
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\FormattingHelpers.vb (55)
13token.Parent.Kind = SyntaxKind.AttributeList AndAlso 14DirectCast(token.Parent, AttributeListSyntax).LessThanToken.Equals(token) Then 24token.Parent.Kind = SyntaxKind.AttributeList AndAlso 25DirectCast(token.Parent, AttributeListSyntax).GreaterThanToken.Equals(token) Then 33If token.Parent Is Nothing Then 39token.Parent.Kind = SyntaxKind.XmlString AndAlso 40(DirectCast(token.Parent, XmlStringSyntax).StartQuoteToken.Equals(token) OrElse 41DirectCast(token.Parent, XmlStringSyntax).EndQuoteToken.Equals(token)) Then 49If token.Parent Is Nothing Then 53If token.Parent.Kind = SyntaxKind.XmlString AndAlso 54Not DirectCast(token.Parent, XmlStringSyntax).StartQuoteToken.Equals(token) AndAlso 55Not DirectCast(token.Parent, XmlStringSyntax).EndQuoteToken.Equals(token) Then 87If token.Parent Is Nothing Then 93token.Parent.Kind = SyntaxKind.XmlEmptyElement Then 94Dim xmlElement = DirectCast(token.Parent, XmlEmptyElementSyntax) 104token.Parent.Kind = SyntaxKind.XmlAttributeAccessExpression Then 105Dim xmlMemberAccess = DirectCast(token.Parent, XmlMemberAccessExpressionSyntax) 115token.Parent.Kind = SyntaxKind.XmlPrefix Then 116Dim xmlElement = DirectCast(token.Parent, XmlPrefixSyntax) 126token.Parent.Kind = SyntaxKind.XmlAttribute Then 127Dim xmlElement = DirectCast(token.Parent, XmlAttributeSyntax) 137token.Parent.Kind = SyntaxKind.XmlCrefAttribute Then 138Dim xmlElement = DirectCast(token.Parent, XmlCrefAttributeSyntax) 148token.Parent.Kind = SyntaxKind.XmlNameAttribute Then 149Dim xmlElement = DirectCast(token.Parent, XmlNameAttributeSyntax) 159token.Parent.Kind = SyntaxKind.XmlNamespaceImportsClause Then 160Dim xmlElement = DirectCast(token.Parent, XmlNamespaceImportsClauseSyntax) 170token.Parent.Kind = SyntaxKind.XmlNamespaceImportsClause Then 171Dim xmlElement = DirectCast(token.Parent, XmlNamespaceImportsClauseSyntax) 181token.Parent.Kind = SyntaxKind.XmlBracketedName Then 182Dim xmlBracketedName = DirectCast(token.Parent, XmlBracketedNameSyntax) 192token.Parent.Kind = SyntaxKind.XmlBracketedName Then 193Dim xmlBracketedName = DirectCast(token.Parent, XmlBracketedNameSyntax) 201If token.Parent.Parent Is Nothing Then 207token.Parent.Parent.Kind = SyntaxKind.XmlElement Then 208Dim xmlElement = DirectCast(token.Parent.Parent, XmlElementSyntax) 218token.Parent.Parent.Kind = SyntaxKind.XmlElement Then 219Dim xmlElement = DirectCast(token.Parent.Parent, XmlElementSyntax) 229If token.Kind = SyntaxKind.GreaterThanToken AndAlso IsGreaterThanInXmlTag(token.Parent, token) Then 255Return TypeOf currentToken.Parent Is NullableTypeSyntax OrElse 256TypeOf currentToken.Parent Is ModifiedIdentifierSyntax 264Return TypeOf previousToken.Parent Is AttributeTargetSyntax 273Dim memberAccess = TryCast(token.Parent, MemberAccessExpressionSyntax) 278If token.Parent.Parent Is Nothing Then 283memberAccess = TryCast(token.Parent, MemberAccessExpressionSyntax) 292Dim argumentList = TryCast(token.Parent, ArgumentListSyntax) 301Dim binaryCondition = TryCast(token.Parent, BinaryConditionalExpressionSyntax) 310Dim ternaryCondition = TryCast(token.Parent, TernaryConditionalExpressionSyntax) 319Dim xmlDeclaration = TryCast(token.Parent, XmlDeclarationSyntax) 332Dim memberAccess = TryCast(token.Parent, MemberAccessExpressionSyntax) 337Dim xmlMemberAccess = TryCast(token.Parent, XmlMemberAccessExpressionSyntax) 350Dim memberAccess = TryCast(token.Parent, MemberAccessExpressionSyntax) 359Dim namedFieldInitializer = TryCast(token.Parent, NamedFieldInitializerSyntax) 368If token.Parent.IsKind(SyntaxKind.OperatorStatement) Then 369Return DirectCast(token.Parent, OperatorStatementSyntax).OperatorToken = token
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\Rules\NodeBasedFormattingRule.vb (3)
200Dim outerBlock = firstTokenOfInnerBlock.Parent 213(ReferenceEquals(outerBlock, firstTokenOfInnerBlock.Parent) OrElse 281If TypeOf previousToken.Parent Is XmlElementSyntax Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Services\SyntaxFacts\VisualBasicSyntaxFacts.vb (17)
112Return (IsUnaryExpressionOperatorToken(CType(token.Kind, SyntaxKind)) AndAlso (TypeOf token.Parent Is UnaryExpressionSyntax OrElse TypeOf token.Parent Is OperatorStatementSyntax)) OrElse 113(IsBinaryExpressionOperatorToken(CType(token.Kind, SyntaxKind)) AndAlso (TypeOf token.Parent Is BinaryExpressionSyntax OrElse TypeOf token.Parent Is OperatorStatementSyntax)) 246If TypeOf token.Parent Is IdentifierNameSyntax AndAlso token.HasMatchingText(SyntaxKind.NewKeyword) Then 247Dim memberAccess = TryCast(token.Parent.Parent, MemberAccessExpressionSyntax) 255If TypeOf token.Parent Is IdentifierNameSyntax AndAlso token.HasMatchingText(SyntaxKind.NewKeyword) Then 256Dim memberAccess = TryCast(token.Parent.Parent, MemberAccessExpressionSyntax) 290Return TypeOf token.Parent Is QueryClauseSyntax 292Return (TypeOf token.Parent Is QueryClauseSyntax) OrElse (token.Parent.IsKind(SyntaxKind.GroupAggregation)) 294Return TypeOf token.Parent Is JoinConditionSyntax 296Return TypeOf token.Parent Is OrderingSyntax 298Return TypeOf token.Parent Is CollectionRangeVariableSyntax 775Dim node = root.FindToken(position).Parent 1033Dim node = token.Parent 1476Dim parent = token.Parent
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\CallStatementSyntaxExtensions.vb (1)
15nextToken.Parent.IsKind(SyntaxKind.PredefinedType)) AndAlso
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Indentation\SpecialFormattingOperation.vb (1)
30Dim attributeNode = TryCast(previousToken.Parent, AttributeListSyntax)
SuperFileCheck (2)
Program.cs (2)
272if (x.Token.Parent == null) 290return !x.Token.Parent.Ancestors().Any(p => p.IsKind(SyntaxKind.MethodDeclaration) && p.Span.Contains(x.Span));
System.Windows.Forms.Analyzers.CodeFixes.CSharp (1)
System\Windows\Forms\CSharp\CodeFixes\AddDesignerSerializationVisibility\AddDesignerSerializationVisibilityCodeFixProvider.cs (1)
43.Parent!