233 references to FirstAncestorOrSelf
GenerateDocumentationAndConfigFiles (3)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\AbstractInitializerParameterService.cs (1)
92var functionDeclaration = parameterDeclaration.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration);
ILLink.RoslynAnalyzer (1)
TrimAnalysis\TrimDataFlowAnalysis.cs (1)
97var method = op.Syntax.FirstAncestorOrSelf<MethodDeclarationSyntax>();
Metrics (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
Metrics.Legacy (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
Microsoft.AspNetCore.App.Analyzers (4)
RouteEmbeddedLanguage\FrameworkParametersCompletionProvider.cs (3)
171(previous.IsKind(SyntaxKind.CloseBracketToken) && previous.GetRequiredParent().FirstAncestorOrSelf<AttributeListSyntax>() != null) || 172(previous.IsKind(SyntaxKind.LessThanToken) && previous.GetRequiredParent().FirstAncestorOrSelf<GenericNameSyntax>() != null)) 190var methodSyntax = container.FirstAncestorOrSelf<MethodDeclarationSyntax>();
RouteEmbeddedLanguage\Infrastructure\RouteStringSyntaxDetector.cs (1)
99var statement = container.FirstAncestorOrSelf<SyntaxNode>(n => n is StatementSyntax);
Microsoft.AspNetCore.App.CodeFixes (2)
Kestrel\ListenOnIPv6AnyFixer.cs (1)
40var argumentSyntax = root.FindNode(diagnostic.Location.SourceSpan).FirstAncestorOrSelf<ArgumentSyntax>();
PublicPartialProgramClassFixer.cs (1)
39.FirstAncestorOrSelf<ClassDeclarationSyntax>();
Microsoft.AspNetCore.Mvc.Api.Analyzers (1)
AddResponseTypeAttributeCodeFixAction.cs (1)
132var methodSyntax = diagnosticNode.FirstAncestorOrSelf<MethodDeclarationSyntax>();
Microsoft.CodeAnalysis.Analyzers (6)
MetaAnalyzers\DiagnosticAnalyzerAPIUsageAnalyzer.cs (1)
198syntax = syntax.FirstAncestorOrSelf<SyntaxNode>(IsNamedTypeDeclarationBlock, ascendOutOfTrivia: false) ?? syntax;
MetaAnalyzers\DiagnosticAnalyzerCorrectnessAnalyzer.SyntaxNodeWithinAnalyzerTypeCompilationAnalyzer.cs (1)
30TClassDeclarationSyntax? classDecl = syntax.FirstAncestorOrSelf<TClassDeclarationSyntax>(ascendOutOfTrivia: false);
MetaAnalyzers\ReportDiagnosticAnalyzer.cs (1)
226diagnosticInitializer = syntaxRef.GetSyntax(symbolContext.CancellationToken).FirstAncestorOrSelf<TVariableDeclaratorSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\AbstractInitializerParameterService.cs (1)
92var functionDeclaration = parameterDeclaration.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration);
Microsoft.CodeAnalysis.AnalyzerUtilities (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
Microsoft.CodeAnalysis.BannedApiAnalyzers (3)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\AbstractInitializerParameterService.cs (1)
92var functionDeclaration = parameterDeclaration.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration);
Microsoft.CodeAnalysis.CodeStyle (9)
src\Analyzers\Core\Analyzers\NewLines\ConsecutiveStatementPlacement\AbstractConsecutiveStatementPlacementDiagnosticAnalyzer.cs (1)
84var nextTokenContainingStatement = nextToken.Parent?.FirstAncestorOrSelf<TExecutableStatementSyntax>();
src\Analyzers\Core\Analyzers\UseAutoProperty\AbstractUseAutoPropertyAnalyzer.cs (2)
212if (!shouldAnalyze && analysisRoot.FirstAncestorOrSelf<SyntaxNode>(node => node is TPropertyDeclaration or TFieldDeclaration) == null) 637=> nodes.Where(n => n.FirstAncestorOrSelf<TConstructorDeclaration>() is null);
src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractObjectCreationExpressionAnalyzer.cs (1)
103var statement = rootExpression.FirstAncestorOrSelf<TStatementSyntax>()!;
src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractUseCollectionInitializerDiagnosticAnalyzer.cs (1)
155var containingStatement = objectCreationExpression.FirstAncestorOrSelf<TStatementSyntax>();
src\Analyzers\Core\Analyzers\UseCollectionInitializer\UpdateExpressionState.cs (1)
68ContainingStatement = startExpression.FirstAncestorOrSelf<TStatementSyntax>()!;
src\Analyzers\Core\Analyzers\UseObjectInitializer\AbstractUseObjectInitializerDiagnosticAnalyzer.cs (1)
113var containingStatement = objectCreationExpression.FirstAncestorOrSelf<TStatementSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
Microsoft.CodeAnalysis.CodeStyle.Fixes (11)
src\Analyzers\Core\CodeFixes\DocumentationComments\AbstractAddDocCommentNodesCodeFixProvider.cs (1)
32var parentMethod = root.FindNode(context.Span).FirstAncestorOrSelf<TMemberDeclarationSyntax>();
src\Analyzers\Core\CodeFixes\DocumentationComments\AbstractRemoveDocCommentNodeCodeFixProvider.cs (1)
55return paramNode.FirstAncestorOrSelf<TXmlElementSyntax>();
src\Analyzers\Core\CodeFixes\MakeFieldReadonly\AbstractMakeFieldReadonlyCodeFixProvider.cs (2)
49declarators.Add(root.FindNode(diagnosticSpan, getInnermostNodeForTie: true).FirstAncestorOrSelf<TSymbolSyntax>()!); 59var declaratorsByField = declarators.GroupBy(g => g.FirstAncestorOrSelf<TFieldDeclarationSyntax>()!);
src\Analyzers\Core\CodeFixes\RemoveUnusedMembers\AbstractRemoveUnusedMembersCodeFixProvider.cs (1)
69var fieldDeclarator = node.FirstAncestorOrSelf<TFieldDeclarationSyntax>();
src\Analyzers\Core\CodeFixes\RemoveUnusedParametersAndValues\AbstractRemoveUnusedValuesCodeFixProvider.cs (3)
401var expressionStatement = root.FindNode(diagnostic.Location.SourceSpan).FirstAncestorOrSelf<TExpressionStatementSyntax>(); 495var variableDeclarator = node.FirstAncestorOrSelf<TVariableDeclaratorSyntax>(); 694var insertionNode = node.FirstAncestorOrSelf<SyntaxNode>(
src\Analyzers\Core\CodeFixes\UseAutoProperty\AbstractUseAutoPropertyCodeFixProvider.cs (1)
455.Select(n => n.FirstAncestorOrSelf<TConstructorDeclaration>())
src\Analyzers\Core\CodeFixes\UseObjectInitializer\AbstractUseObjectInitializerCodeFixProvider.cs (1)
80var statement = objectCreation.FirstAncestorOrSelf<TStatementSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\AbstractInitializerParameterService.cs (1)
92var functionDeclaration = parameterDeclaration.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration);
Microsoft.CodeAnalysis.CSharp (17)
Binder\BinderFactory.BinderFactoryVisitor.cs (2)
1111XmlCrefAttributeSyntax containingAttribute = parent.FirstAncestorOrSelf<XmlCrefAttributeSyntax>(ascendOutOfTrivia: false); 1122XmlCrefAttributeSyntax containingAttribute = parent.FirstAncestorOrSelf<XmlCrefAttributeSyntax>(ascendOutOfTrivia: false);
Compilation\CSharpCompilation.cs (1)
2740Parent!.FirstAncestorOrSelf<ExternAliasDirectiveSyntax>();
Compilation\CSharpSemanticModel.cs (2)
464var methodDecl = node.FirstAncestorOrSelf<MethodDeclarationSyntax>(); 5271var fieldDecl = declaringSyntax.FirstAncestorOrSelf<BaseFieldDeclarationSyntax>();
Compilation\SpeculativeSemanticModelWithMemberModel.cs (2)
60attributedNode = attributedNode?.FirstAncestorOrSelf<AttributeListSyntax>()?.Parent; 150var attributeOrParameter = node.FirstAncestorOrSelf<SyntaxNode>(static n => n.Kind() is SyntaxKind.Attribute or SyntaxKind.Parameter);
Compilation\SyntaxTreeSemanticModel.cs (1)
1042return node.FirstAncestorOrSelf(s_isMemberDeclarationFunction);
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
440var whenClause = original.Syntax.FirstAncestorOrSelf<WhenClauseSyntax>();
Lowering\Instrumentation\DebugInfoInjector.cs (1)
439WhenClauseSyntax? whenClause = original.Syntax.FirstAncestorOrSelf<WhenClauseSyntax>();
Lowering\Instrumentation\Instrumenter.cs (1)
282Debug.Assert(original.Syntax.FirstAncestorOrSelf<WhenClauseSyntax>() != null);
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (3)
255VariableDeclaratorSyntax? declarator = fixedInitializer.Syntax.FirstAncestorOrSelf<VariableDeclaratorSyntax>(); 316VariableDeclaratorSyntax? declarator = fixedInitializer.Syntax.FirstAncestorOrSelf<VariableDeclaratorSyntax>(); 449VariableDeclaratorSyntax? declarator = fixedInitializer.Syntax.FirstAncestorOrSelf<VariableDeclaratorSyntax>();
Symbols\Source\SourceLabelSymbol.cs (2)
96node = _identifierNodeOrToken.Parent.FirstAncestorOrSelf<LabeledStatementSyntax>(); 100node = _identifierNodeOrToken.AsNode()!.FirstAncestorOrSelf<SwitchLabelSyntax>();
Symbols\Symbol.cs (1)
515CSharpSyntaxNode node = token.Parent.FirstAncestorOrSelf<TNode>();
Microsoft.CodeAnalysis.CSharp.Analyzers (2)
MetaAnalyzers\CSharpReportDiagnosticAnalyzer.cs (1)
46var propertyDecl = accessor.FirstAncestorOrSelf<PropertyDeclarationSyntax>();
MetaAnalyzers\Fixers\CSharpPreferIsKindFix.cs (1)
24var binaryExpression = root.FindNode(span, getInnermostNodeForTie: true).FirstAncestorOrSelf<BinaryExpressionSyntax>();
Microsoft.CodeAnalysis.CSharp.CodeStyle (10)
src\Analyzers\CSharp\Analyzers\InlineDeclaration\CSharpInlineDeclarationDiagnosticAnalyzer.cs (1)
118var containingStatement = argumentExpression.FirstAncestorOrSelf<StatementSyntax>();
src\Analyzers\CSharp\Analyzers\RemoveUnreachableCode\CSharpRemoveUnreachableCodeDiagnosticAnalyzer.cs (1)
73var firstUnreachableStatement = node.FirstAncestorOrSelf<StatementSyntax>();
src\Analyzers\CSharp\Analyzers\RemoveUnusedParametersAndValues\CSharpRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (1)
69var statementAncestor = unusedSymbolWriteOperation.Syntax.FirstAncestorOrSelf<StatementSyntax>()?.Parent;
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (1)
548var containingBlock = declarator.FirstAncestorOrSelf<BlockSyntax>();
src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (2)
444if (lastAssignedMemberDeclaration.FirstAncestorOrSelf<BaseTypeDeclarationSyntax>() != 445currentAssignedMemberDeclaration.FirstAncestorOrSelf<BaseTypeDeclarationSyntax>())
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
904=> expression.FirstAncestorOrSelf<XmlCrefAttributeSyntax>() != null;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ILocalSymbolExtensions.cs (1)
18var localFunctionStatement = destinationBlock.FirstAncestorOrSelf<LocalFunctionStatementSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
446return token.Parent.FirstAncestorOrSelf<MemberDeclarationSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.cs (1)
61if (typeName?.FirstAncestorOrSelf<SyntaxNode>(a => a.Kind() is SyntaxKind.DeclarationExpression or SyntaxKind.VariableDeclaration or SyntaxKind.ForEachStatement) is not { } declaration)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (4)
src\Analyzers\CSharp\CodeFixes\MakeTypeAbstract\CSharpMakeTypeAbstractCodeFixProvider.cs (1)
49var enclosingType = node.FirstAncestorOrSelf<TypeDeclarationSyntax>();
src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\MultiLineConditionalExpressionFormattingRule.cs (1)
54var statement = conditional.FirstAncestorOrSelf<StatementSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (2)
1987var declaration = yieldStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct()); 2028var ancestor = returnStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct());
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (3)
Diagnostics\GetDiagnosticsTests.cs (2)
1139if (node.FirstAncestorOrSelf<BasePropertyDeclarationSyntax>() is { } basePropertyDecl) 1149else if (node.FirstAncestorOrSelf<BaseMethodDeclarationSyntax>() is { } baseMethodDecl)
Semantics\PatternMatchingTestBase.cs (1)
322var dataFlowParent = designation.FirstAncestorOrSelf<ExpressionSyntax>();
Microsoft.CodeAnalysis.CSharp.Features (21)
Completion\CompletionProviders\CrefCompletionProvider.cs (2)
101var parentNode = token.Parent?.FirstAncestorOrSelf<DocumentationCommentTriviaSyntax>()?.ParentTrivia.Token.Parent; 187var typeDeclaration = token.Parent?.FirstAncestorOrSelf<TypeDeclarationSyntax>();
Completion\KeywordRecommenders\InKeywordRecommender.cs (1)
115var joinClause = token.Parent?.FirstAncestorOrSelf<JoinClauseSyntax>();
Copilot\CSharpImplementNotImplementedExceptionFixProvider.cs (2)
61var methodOrProperty = diagnosticNode.FirstAncestorOrSelf<MemberDeclarationSyntax>(); 89var methodOrProperty = diagnosticNode.FirstAncestorOrSelf<MemberDeclarationSyntax>();
DecompiledSource\CSharpDecompiledSourceFormattingRule.cs (2)
38var previousStatement = previousToken.Parent.FirstAncestorOrSelf<StatementSyntax>(); 39var nextStatement = currentToken.Parent.FirstAncestorOrSelf<StatementSyntax>();
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (2)
913=> node is CompilationUnitSyntax ? null : node.Parent!.FirstAncestorOrSelf<BaseTypeDeclarationSyntax>(); 1492=> node.FirstAncestorOrSelf<QueryExpressionSyntax>();
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (1)
1076var enclosingMethod = returnOperationSyntax.FirstAncestorOrSelf<SyntaxNode>(n => n switch
GoToDefinition\CSharpGoToDefinitionSymbolService.cs (1)
76if (node.FirstAncestorOrSelf<GotoStatementSyntax>() is not GotoStatementSyntax gotoStatement)
ReplaceMethodWithProperty\CSharpReplaceMethodWithPropertyService.cs (1)
369var invocation = nameNode?.FirstAncestorOrSelf<InvocationExpressionSyntax>();
src\Analyzers\CSharp\Analyzers\InlineDeclaration\CSharpInlineDeclarationDiagnosticAnalyzer.cs (1)
118var containingStatement = argumentExpression.FirstAncestorOrSelf<StatementSyntax>();
src\Analyzers\CSharp\Analyzers\RemoveUnreachableCode\CSharpRemoveUnreachableCodeDiagnosticAnalyzer.cs (1)
73var firstUnreachableStatement = node.FirstAncestorOrSelf<StatementSyntax>();
src\Analyzers\CSharp\Analyzers\RemoveUnusedParametersAndValues\CSharpRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (1)
69var statementAncestor = unusedSymbolWriteOperation.Syntax.FirstAncestorOrSelf<StatementSyntax>()?.Parent;
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (1)
548var containingBlock = declarator.FirstAncestorOrSelf<BlockSyntax>();
src\Analyzers\CSharp\Analyzers\UsePrimaryConstructor\CSharpUsePrimaryConstructorDiagnosticAnalyzer.cs (2)
444if (lastAssignedMemberDeclaration.FirstAncestorOrSelf<BaseTypeDeclarationSyntax>() != 445currentAssignedMemberDeclaration.FirstAncestorOrSelf<BaseTypeDeclarationSyntax>())
src\Analyzers\CSharp\CodeFixes\MakeTypeAbstract\CSharpMakeTypeAbstractCodeFixProvider.cs (1)
49var enclosingType = node.FirstAncestorOrSelf<TypeDeclarationSyntax>();
src\Analyzers\CSharp\CodeFixes\UseConditionalExpression\MultiLineConditionalExpressionFormattingRule.cs (1)
54var statement = conditional.FirstAncestorOrSelf<StatementSyntax>();
UseExpressionBody\UseExpressionBodyCodeRefactoringProvider.cs (1)
68var containingLambda = node.FirstAncestorOrSelf<LambdaExpressionSyntax>();
Microsoft.CodeAnalysis.CSharp.Features.UnitTests (1)
EditAndContinue\BreakpointSpansTests.cs (1)
77var declarationNode = root.FindToken(position).Parent.FirstAncestorOrSelf<TDeclaration>();
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (14)
Compilation\GetSemanticInfoTests.cs (1)
4757var parameterSyntax = trueLiteral.FirstAncestorOrSelf<ParameterSyntax>();
Compilation\SemanticModelAPITests.cs (1)
3782var expr = identifier.FirstAncestorOrSelf<ArgumentSyntax>().Parent.Parent;
Compilation\SemanticModelGetDeclaredSymbolAPITests.cs (1)
2758var expr = tree.FindNodeOrTokenByKind(SyntaxKind.StringLiteralToken).Parent.FirstAncestorOrSelf<ExpressionStatementSyntax>().Expression;
Symbols\Source\DeclaringSyntaxNodeTests.cs (6)
140var node = tree.GetRoot().FindToken(position).Parent.FirstAncestorOrSelf<TNode>(); 155var node = tree.GetCompilationUnitRoot().FindToken(position).Parent.FirstAncestorOrSelf<TNode>(); 263var declaratorA1 = tree.GetCompilationUnitRoot().FindToken(posA1).Parent.FirstAncestorOrSelf<VariableDeclaratorSyntax>(); 307var declaratorQ = tree.GetCompilationUnitRoot().FindToken(posQ).Parent.FirstAncestorOrSelf<VariableDeclaratorSyntax>(); 314var declaratorX = tree.GetCompilationUnitRoot().FindToken(posX).Parent.FirstAncestorOrSelf<VariableDeclaratorSyntax>(); 321var declaratorZ = tree.GetCompilationUnitRoot().FindToken(posZ).Parent.FirstAncestorOrSelf<VariableDeclaratorSyntax>();
Symbols\StaticAbstractMembersInInterfacesTests.cs (5)
20103var declaredSymbol = model.GetDeclaredSymbol(node.FirstAncestorOrSelf<OperatorDeclarationSyntax>()); 20186var declaredSymbol = model.GetDeclaredSymbol(node.FirstAncestorOrSelf<OperatorDeclarationSyntax>()); 20278var declaredSymbol = model.GetDeclaredSymbol(node.FirstAncestorOrSelf<OperatorDeclarationSyntax>()); 20367var declaredSymbol = model.GetDeclaredSymbol(node.FirstAncestorOrSelf<OperatorDeclarationSyntax>()); 29316var declaredSymbol = model.GetDeclaredSymbol(node.FirstAncestorOrSelf<ConversionOperatorDeclarationSyntax>());
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (17)
Syntax\SyntaxNodeTests.cs (17)
124var firstParens = e.FirstAncestorOrSelf<ExpressionSyntax>(n => n.Kind() == SyntaxKind.ParenthesizedExpression); 2479var b = expr.DescendantTokens().Where(t => t.Text == "b").Select(t => t.Parent.FirstAncestorOrSelf<ArgumentSyntax>()).FirstOrDefault(); 2494var b = expr.DescendantTokens().Where(t => t.Text == "b").Select(t => t.Parent.FirstAncestorOrSelf<ArgumentSyntax>()).FirstOrDefault(); 2510var b = expr.DescendantTokens().Where(t => t.Text == "b").Select(t => t.Parent.FirstAncestorOrSelf<ArgumentSyntax>()).FirstOrDefault(); 2527var b = expr.DescendantTokens().Where(t => t.Text == "b").Select(t => t.Parent.FirstAncestorOrSelf<ArgumentSyntax>()).FirstOrDefault(); 2548var b = expr.DescendantTokens().Where(t => t.Text == "b").Select(t => t.Parent.FirstAncestorOrSelf<ArgumentSyntax>()).FirstOrDefault(); 2567var b = expr.DescendantTokens().Where(t => t.Text == "b").Select(t => t.Parent.FirstAncestorOrSelf<ArgumentSyntax>()).FirstOrDefault(); 2583var b = expr.DescendantTokens().Where(t => t.Text == "b").Select(t => t.Parent.FirstAncestorOrSelf<ArgumentSyntax>()).FirstOrDefault(); 2599var b = expr.DescendantTokens().Where(t => t.Text == "b").Select(t => t.Parent.FirstAncestorOrSelf<ArgumentSyntax>()).FirstOrDefault(); 2615var b = expr.DescendantTokens().Where(t => t.Text == "b").Select(t => t.Parent.FirstAncestorOrSelf<ArgumentSyntax>()).FirstOrDefault(); 2635var b = expr.DescendantTokens().Where(t => t.Text == "b").Select(t => t.Parent.FirstAncestorOrSelf<ArgumentSyntax>()).FirstOrDefault(); 2652var n = expr.DescendantTokens().Where(t => t.Text == "a").Select(t => t.Parent.FirstAncestorOrSelf<ArgumentSyntax>()).FirstOrDefault(); 2666var n = expr.DescendantTokens().Where(t => t.Text == "a").Select(t => t.Parent.FirstAncestorOrSelf<ArgumentSyntax>()).FirstOrDefault(); 2680var n = expr.DescendantTokens().Where(t => t.Text == "c").Select(t => t.Parent.FirstAncestorOrSelf<ArgumentSyntax>()).FirstOrDefault(); 2694var b = expr.DescendantTokens().Where(t => t.Text == "b").Select(t => t.Parent.FirstAncestorOrSelf<StatementSyntax>()).FirstOrDefault(); 2708var b = expr.DescendantTokens().Where(t => t.Text == "b").Select(t => t.Parent.FirstAncestorOrSelf<StatementSyntax>()).FirstOrDefault(); 3883var firstParens = e.FirstAncestorOrSelf<ExpressionSyntax>(n => n.Kind() == SyntaxKind.ParenthesizedExpression);
Microsoft.CodeAnalysis.CSharp.Workspaces (13)
Classification\ClassificationHelpers.cs (1)
472var fromClause = token.Parent.FirstAncestorOrSelf<FromClauseSyntax>();
Recommendations\CSharpRecommendationServiceRunner.cs (1)
522var containingStaticFunction = contextNode.FirstAncestorOrSelf<SyntaxNode>(a => a switch
Rename\CSharpRenameRewriterLanguageService.cs (1)
749var enclosingMemberDeclaration = expression.FirstAncestorOrSelf<MemberDeclarationSyntax>();
Simplification\CSharpSimplificationService.Expander.cs (1)
139var parentLambda = node.FirstAncestorOrSelf<LambdaExpressionSyntax>();
Simplification\Reducers\CSharpMiscellaneousReducer.cs (1)
48var oldLambda = parameterSyntax.FirstAncestorOrSelf<ParenthesizedLambdaExpressionSyntax>();
Simplification\Simplifiers\AbstractCSharpSimplifier.cs (1)
381var nameOfInvocationExpr = expression.FirstAncestorOrSelf<InvocationExpressionSyntax>(
Simplification\Simplifiers\ExpressionSimplifier.cs (1)
369var ancestorInvocation = memberAccess.FirstAncestorOrSelf<InvocationExpressionSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
904=> expression.FirstAncestorOrSelf<XmlCrefAttributeSyntax>() != null;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ILocalSymbolExtensions.cs (1)
18var localFunctionStatement = destinationBlock.FirstAncestorOrSelf<LocalFunctionStatementSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
446return token.Parent.FirstAncestorOrSelf<MemberDeclarationSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.cs (1)
61if (typeName?.FirstAncestorOrSelf<SyntaxNode>(a => a.Kind() is SyntaxKind.DeclarationExpression or SyntaxKind.VariableDeclaration or SyntaxKind.ForEachStatement) is not { } declaration)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (2)
1987var declaration = yieldStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct()); 2028var ancestor = returnStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct());
Microsoft.CodeAnalysis.EditorFeatures (1)
InlineRename\AbstractEditorInlineRenameService.cs (1)
58var targetNode = containingNode.FirstAncestorOrSelf<T>() ?? containingNode;
Microsoft.CodeAnalysis.EditorFeatures.Test.Utilities (1)
Structure\AbstractSyntaxNodeStructureProviderTests.cs (1)
26var node = token.Parent.FirstAncestorOrSelf<TSyntaxNode>();
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (2)
CodeGeneration\CodeGenerationTests.cs (2)
573var declarationNode = taggedNode.FirstAncestorOrSelf<T>(); 593var declarationNode = testContext.GetDestinationNode().FirstAncestorOrSelf<T>();
Microsoft.CodeAnalysis.Features (37)
AddDebuggerDisplay\AbstractAddDebuggerDisplayCodeRefactoringProvider.cs (1)
91var typeDecl = method.FirstAncestorOrSelf<TTypeDeclarationSyntax>();
ConvertToInterpolatedString\AbstractConvertConcatenationToInterpolatedStringRefactoringProvider.cs (1)
52var declarator = top.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsVariableDeclarator);
ConvertToInterpolatedString\ConvertRegularStringToInterpolatedStringRefactoringProvider.cs (2)
60var declarator = literalExpression.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsVariableDeclarator); 69var attribute = literalExpression.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsAttribute);
EmbeddedLanguages\EmbeddedLanguageDetector.cs (2)
238var statement = container.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsStatement); 307var statement = container.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsStatement);
ExtractClass\AbstractExtractClassRefactoringProvider.cs (2)
91var containingTypeDeclarationNode = selectedMemberNodes.First().FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsTypeDeclaration); 99if (selectedMemberNodes.Any(m => m.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsTypeDeclaration) != containingTypeDeclarationNode))
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (1)
188var functionDeclaration = firstParameterNode.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration);
InitializeParameter\AbstractInitializeParameterCodeRefactoringProvider.cs (1)
66var functionDeclaration = selectedParameter.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration);
IntroduceParameter\AbstractIntroduceParameterCodeRefactoringProvider.cs (2)
63var containingMethod = expression.FirstAncestorOrSelf<SyntaxNode>(node => generator.GetParameterListNode(node) is not null); 135var invalidNode = expression.FirstAncestorOrSelf<SyntaxNode>(node => syntaxFacts.IsAttributeArgument(node) || syntaxFacts.IsParameter(node));
MoveToNamespace\AbstractMoveToNamespaceService.cs (3)
90var declarationSyntax = node.FirstAncestorOrSelf<TNamespaceDeclarationSyntax>(); 162=> namedTypeSyntax.FirstAncestorOrSelf<TNamespaceDeclarationSyntax>(); 266syntaxNode ??= container.FirstAncestorOrSelf<TNamespaceDeclarationSyntax>() ?? syntaxRoot;
Snippets\SnippetProviders\AbstractConsoleSnippetProvider.cs (1)
95var nearestExpression = closestNode.FirstAncestorOrSelf<TExpressionSyntax>(static exp => exp.Parent is TExpressionStatementSyntax or TLambdaExpressionSyntax);
Snippets\SnippetProviders\AbstractInlineStatementSnippetProvider.cs (1)
77return closestNode.FirstAncestorOrSelf<TStatementSyntax>();
SplitOrMergeIfStatements\AbstractMergeIfStatementsCodeRefactoringProvider.cs (1)
82return innerMatch?.FirstAncestorOrSelf<SyntaxNode>(
src\Analyzers\Core\Analyzers\NewLines\ConsecutiveStatementPlacement\AbstractConsecutiveStatementPlacementDiagnosticAnalyzer.cs (1)
84var nextTokenContainingStatement = nextToken.Parent?.FirstAncestorOrSelf<TExecutableStatementSyntax>();
src\Analyzers\Core\Analyzers\UseAutoProperty\AbstractUseAutoPropertyAnalyzer.cs (2)
212if (!shouldAnalyze && analysisRoot.FirstAncestorOrSelf<SyntaxNode>(node => node is TPropertyDeclaration or TFieldDeclaration) == null) 637=> nodes.Where(n => n.FirstAncestorOrSelf<TConstructorDeclaration>() is null);
src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractObjectCreationExpressionAnalyzer.cs (1)
103var statement = rootExpression.FirstAncestorOrSelf<TStatementSyntax>()!;
src\Analyzers\Core\Analyzers\UseCollectionInitializer\AbstractUseCollectionInitializerDiagnosticAnalyzer.cs (1)
155var containingStatement = objectCreationExpression.FirstAncestorOrSelf<TStatementSyntax>();
src\Analyzers\Core\Analyzers\UseCollectionInitializer\UpdateExpressionState.cs (1)
68ContainingStatement = startExpression.FirstAncestorOrSelf<TStatementSyntax>()!;
src\Analyzers\Core\Analyzers\UseObjectInitializer\AbstractUseObjectInitializerDiagnosticAnalyzer.cs (1)
113var containingStatement = objectCreationExpression.FirstAncestorOrSelf<TStatementSyntax>();
src\Analyzers\Core\CodeFixes\DocumentationComments\AbstractAddDocCommentNodesCodeFixProvider.cs (1)
32var parentMethod = root.FindNode(context.Span).FirstAncestorOrSelf<TMemberDeclarationSyntax>();
src\Analyzers\Core\CodeFixes\DocumentationComments\AbstractRemoveDocCommentNodeCodeFixProvider.cs (1)
55return paramNode.FirstAncestorOrSelf<TXmlElementSyntax>();
src\Analyzers\Core\CodeFixes\MakeFieldReadonly\AbstractMakeFieldReadonlyCodeFixProvider.cs (2)
49declarators.Add(root.FindNode(diagnosticSpan, getInnermostNodeForTie: true).FirstAncestorOrSelf<TSymbolSyntax>()!); 59var declaratorsByField = declarators.GroupBy(g => g.FirstAncestorOrSelf<TFieldDeclarationSyntax>()!);
src\Analyzers\Core\CodeFixes\RemoveUnusedMembers\AbstractRemoveUnusedMembersCodeFixProvider.cs (1)
69var fieldDeclarator = node.FirstAncestorOrSelf<TFieldDeclarationSyntax>();
src\Analyzers\Core\CodeFixes\RemoveUnusedParametersAndValues\AbstractRemoveUnusedValuesCodeFixProvider.cs (3)
401var expressionStatement = root.FindNode(diagnostic.Location.SourceSpan).FirstAncestorOrSelf<TExpressionStatementSyntax>(); 495var variableDeclarator = node.FirstAncestorOrSelf<TVariableDeclaratorSyntax>(); 694var insertionNode = node.FirstAncestorOrSelf<SyntaxNode>(
src\Analyzers\Core\CodeFixes\UseAutoProperty\AbstractUseAutoPropertyCodeFixProvider.cs (1)
455.Select(n => n.FirstAncestorOrSelf<TConstructorDeclaration>())
src\Analyzers\Core\CodeFixes\UseObjectInitializer\AbstractUseObjectInitializerCodeFixProvider.cs (1)
80var statement = objectCreation.FirstAncestorOrSelf<TStatementSyntax>();
ValueTracking\ValueTracker.FindReferencesProgress.cs (2)
102var elementAccess = node.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsElementAccessExpression); 179var invocationSyntax = originalNode.FirstAncestorOrSelf<SyntaxNode>(syntaxFacts.IsInvocationExpression);
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (3)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\AbstractInitializerParameterService.cs (1)
92var functionDeclaration = parameterDeclaration.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration);
Microsoft.CodeAnalysis.PublicApiAnalyzers (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
Microsoft.CodeAnalysis.ResxSourceGenerator (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
Microsoft.CodeAnalysis.Test.Utilities (1)
MarkedSource\SourceWithMarkedNodes.cs (1)
128var nodeOfKind = node.FirstAncestorOrSelf<SyntaxNode>(n => n.RawKind == marker.SyntaxKind);
Microsoft.CodeAnalysis.VisualBasic (2)
Compilation\SemanticModel.vb (1)
3564Dim fieldDecl = declaringSyntax.FirstAncestorOrSelf(Of FieldDeclarationSyntax)()
Symbols\Symbol.vb (1)
375Dim node As VisualBasicSyntaxNode = token.Parent.FirstAncestorOrSelf(Of TNode)()
Microsoft.CodeAnalysis.Workspaces (3)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\AbstractInitializerParameterService.cs (1)
92var functionDeclaration = parameterDeclaration.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration);
Microsoft.Interop.LibraryImportGenerator (1)
Analyzers\ConvertToLibraryImportFixer.cs (1)
344LocalDeclarationStatementSyntax declaration = invocation.FirstAncestorOrSelf<LocalDeclarationStatementSyntax>();
Microsoft.Interop.SourceGeneration (1)
ContainingSyntaxContext.cs (1)
69for (SyntaxNode? parent = memberDeclaration.FirstAncestorOrSelf<BaseNamespaceDeclarationSyntax>(); parent is BaseNamespaceDeclarationSyntax ns; parent = parent.Parent)
Microsoft.ML.InternalCodeAnalyzer (1)
ContractsCheckNameofFixProvider.cs (1)
44var nameArg = root.FindToken(diagnosticSpan.Start).Parent.FirstAncestorOrSelf<ArgumentSyntax>();
Microsoft.VisualStudio.LanguageServices.CSharp (10)
CodeModel\CSharpCodeModelService.cs (8)
115return node.FirstAncestorOrSelf<BaseFieldDeclarationSyntax>() != null; 571var baseFieldDeclaration = node.FirstAncestorOrSelf<BaseFieldDeclarationSyntax>(); 624var eventFieldDeclaration = node.FirstAncestorOrSelf<EventFieldDeclarationSyntax>(); 2423var containingType = member.FirstAncestorOrSelf<TypeDeclarationSyntax>(); 2750var fieldDeclaration = node.FirstAncestorOrSelf<BaseFieldDeclarationSyntax>(); 2790var attributeList = node.FirstAncestorOrSelf<AttributeListSyntax>(); 2817var argumentList = node.FirstAncestorOrSelf<AttributeArgumentListSyntax>(); 2827var parameterList = node.FirstAncestorOrSelf<ParameterListSyntax>();
CodeModel\CSharpCodeModelService.NodeLocator.cs (2)
680var field = node.FirstAncestorOrSelf<BaseFieldDeclarationSyntax>(); 1260var field = node.FirstAncestorOrSelf<BaseFieldDeclarationSyntax>();
Roslyn.Diagnostics.Analyzers (4)
PartsExportedWithMEFv2MustBeMarkedAsShared.Fixer.cs (1)
59=> (declaration = node.FirstAncestorOrSelf<TTypeSyntax>()) is not null;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\AbstractInitializerParameterService.cs (1)
92var functionDeclaration = parameterDeclaration.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration);
Roslyn.Diagnostics.CSharp.Analyzers (9)
CSharpApplyTraitToClass.cs (1)
25=> reportedNode.FirstAncestorOrSelf<TypeDeclarationSyntax>();
CSharpCreateTestAccessor.cs (1)
31return reportedNode.FirstAncestorOrSelf<TypeDeclarationSyntax>();
CSharpExposeMemberForTesting.cs (1)
35return reportedNode.FirstAncestorOrSelf<TypeDeclarationSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
904=> expression.FirstAncestorOrSelf<XmlCrefAttributeSyntax>() != null;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ILocalSymbolExtensions.cs (1)
18var localFunctionStatement = destinationBlock.FirstAncestorOrSelf<LocalFunctionStatementSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
446return token.Parent.FirstAncestorOrSelf<MemberDeclarationSyntax>();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpTypeStyleHelper.cs (1)
61if (typeName?.FirstAncestorOrSelf<SyntaxNode>(a => a.Kind() is SyntaxKind.DeclarationExpression or SyntaxKind.VariableDeclaration or SyntaxKind.ForEachStatement) is not { } declaration)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (2)
1987var declaration = yieldStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct()); 2028var ancestor = returnStatement.FirstAncestorOrSelf<SyntaxNode>(n => n.IsReturnableConstruct());
Test.Utilities (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
Text.Analyzers (3)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (1)
202=> nodes.FindInnermostCommonNode()?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTokenExtensions.cs (1)
19=> token.Parent?.FirstAncestorOrSelf(predicate);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\InitializeParameter\AbstractInitializerParameterService.cs (1)
92var functionDeclaration = parameterDeclaration.FirstAncestorOrSelf<SyntaxNode>(IsFunctionDeclaration);