4320 references to Parent
Microsoft.CodeAnalysis (25)
DiagnosticAnalyzer\AnalyzerDriver.cs (1)
1190node = node.Parent)
DiagnosticAnalyzer\SuppressMessageAttributeState.cs (1)
164node = node.Parent)
Syntax\SeparatedSyntaxList.cs (1)
125return new SyntaxToken(node.Parent, green, node.GetChildPosition(index), _list.index + index);
Syntax\SyntaxList.cs (1)
27protected override SyntaxTree SyntaxTreeCore => this.Parent!.SyntaxTree;
Syntax\SyntaxNavigator.cs (6)
435while (node.Parent != null) 440foreach (var child in node.Parent.ChildNodesAndTokens()) 469node = node.Parent; 485while (node.Parent != null) 490foreach (var child in node.Parent.ChildNodesAndTokens().Reverse()) 519node = node.Parent;
Syntax\SyntaxNode.cs (9)
220Interlocked.CompareExchange(ref element, green.CreateRed(this.Parent, this.GetChildPosition(slot)), null); 242Interlocked.CompareExchange(ref element, green.CreateRed(this.Parent, this.GetChildPosition(1)), null); 265var newNode = greenChild.CreateRed(this.Parent, GetChildPosition(index)); 386for (SyntaxNode? node = this; node != null; node = node.Parent) 538if (node.Parent != null) 540node = node.Parent; 798return this.Parent? 816var parent = node.Parent; 978var parent = node.Parent;
Syntax\SyntaxNodeExtensions_Tracking.cs (4)
149while (node.Parent != null) 151node = node.Parent; 175if (node.Parent != null) 177node = node.Parent;
Syntax\SyntaxNodeOrToken.cs (1)
126public SyntaxNode? Parent => _token != null ? _nodeOrParent : _nodeOrParent?.Parent;
Syntax\SyntaxNodeOrTokenList.cs (1)
85internal SyntaxNode? Parent => _node?.Parent;
Microsoft.CodeAnalysis.CodeStyle (46)
AbstractConvertTypeOfToNameOfDiagnosticAnalyzer.cs (1)
39var parent = node.Parent;
AbstractObjectCreationExpressionAnalyzer.cs (2)
93if (_objectCreationExpression.Parent.Parent is not TVariableDeclaratorSyntax containingDeclarator)
AbstractRemoveUnnecessaryParenthesesDiagnosticAnalyzer.cs (1)
73var parentKind = parenthesizedExpression.Parent?.RawKind;
AbstractSelectedMembers.cs (2)
69.Where(m => m.Parent is TTypeDeclarationSyntax) 82var containingType = (TTypeDeclarationSyntax)firstMember.Parent;
AbstractSpeculationAnalyzer.cs (6)
501RoslynDebug.AssertNotNull(currentOriginalNode.Parent); 502RoslynDebug.AssertNotNull(currentReplacedNode.Parent); 506currentOriginalNode = currentOriginalNode.Parent; 507currentReplacedNode = currentReplacedNode.Parent; 533Debug.Assert(previousOriginalNode == null || previousOriginalNode.Parent == currentOriginalNode); 534Debug.Assert(previousReplacedNode == null || previousReplacedNode.Parent == currentReplacedNode);
AbstractUseAutoPropertyAnalyzer.cs (2)
232if (fieldReference.GetSyntax(cancellationToken) is not TVariableDeclarator { Parent.Parent: TFieldDeclaration fieldDeclaration } variableDeclarator)
AbstractUseIsNullForReferenceEqualsDiagnosticAnalyzer.cs (1)
134var negated = syntaxFacts.IsLogicalNotExpression(invocation.Parent);
AbstractUseNullPropagationDiagnosticAnalyzer_IfStatement.cs (1)
77if (whenPartMatch.Parent is TMemberAccessExpressionSyntax memberAccess)
BottomUpBaseIndentationFinder.cs (4)
242current = current.Parent; 261currentNode = currentNode.Parent; 272currentNode = currentNode.Parent; 295currentNode = currentNode.Parent;
CommonFormattingHelpers.cs (1)
337node = node.Parent;
FormattingContext.InitialContextFinder.cs (2)
99node = node.Parent; 191currentIndentationNode = currentIndentationNode.Parent;
FormattingExtensions.cs (4)
23if (node.Parent == null) 28if (node.Parent.Span != node.Span) 30return node.Parent; 33return GetParentWithBiggerSpan(node.Parent);
IBlockFactsExtensions.cs (3)
15for (var current = node; current is not null; current = current.Parent) 17if (blockFacts.IsStatementContainer(current.Parent)) 18return current.Parent;
ISyntaxFactsExtensions.cs (7)
302while (syntaxFacts.IsParenthesizedExpression(node?.Parent)) 303node = node.Parent; 608var parent = node?.Parent; 617var parent = node?.Parent; 627var parent = node?.Parent; 637var parent = node?.Parent; 647var parent = node?.Parent;
SyntaxNodeExtensions.cs (6)
22=> node.Parent ?? throw new InvalidOperationException("Node's parent was null"); 29var current = node.Parent; 42var current = node.Parent; 57var current = node.Parent; 126if (node?.Parent is not T parentNode) 800var parent = node.Parent;
UseCollectionInitializerAnalyzer.cs (1)
68containingBlockOrCompilationUnit = containingBlockOrCompilationUnit.Parent!;
UseNamedMemberInitializerAnalyzer.cs (2)
64var containingBlockOrCompilationUnit = _containingStatement.Parent; 70containingBlockOrCompilationUnit = containingBlockOrCompilationUnit.Parent;
Microsoft.CodeAnalysis.CodeStyle.Fixes (32)
AbstractAddAnonymousTypeMemberNameCodeFixProvider.cs (3)
64if (node.Parent is not TAnonymousObjectMemberDeclaratorSyntax declarator) 75if (declarator.Parent is not TAnonymousObjectInitializer) 126var anonymousType = current.Parent;
AbstractAddImportsService.cs (1)
202var node = usingDirective != null ? usingDirective.Parent! : contextNode;
AbstractAddParameterCodeFixProvider.cs (1)
63for (var node = initialNode; node != null; node = node.Parent)
AbstractMakeMethodSynchronousCodeFixProvider.cs (3)
217expressionNode = nameNode.Parent; 227var invocationExpression = expressionNode.Parent; 247var parentExpression = parentMemberAccessExpression.Parent;
AbstractRemoveUnusedValuesCodeFixProvider.cs (14)
166!syntaxFacts.IsExpressionStatement(node.Parent)) 172else if (syntaxFacts.IsDeclarationPattern(node.Parent)) 471if (declaredLocal == null && node.Parent is TCatchStatementSyntax) 473declaredLocal = semanticModel.GetDeclaredSymbol(node.Parent, cancellationToken) as ILocalSymbol; 501Contract.ThrowIfFalse(node.GetRequiredParent().Parent is TExpressionStatementSyntax); 508if (node.Parent is TStatementSyntax) 511nodesToRemove.Add(node.Parent); 513else if (node.Parent is TExpressionSyntax && node.Parent.Parent is TExpressionStatementSyntax) 516nodesToRemove.Add(node.Parent.Parent); 684n => n.Parent is TSwitchCaseBlockSyntax || 685blockFacts.IsExecutableBlock(n.Parent) &&
AbstractSimplifyInterpolationCodeFixProvider.cs (1)
63interpolationSyntax.Parent is TInterpolatedStringExpressionSyntax interpolatedString)
AbstractUseCompoundAssignmentCodeFixProvider.cs (1)
103if (syntaxFacts.IsSimpleAssignmentStatement(currentAssignment.Parent))
AbstractUseNullPropagationCodeFixProvider.cs (5)
163var isElseIf = syntaxFacts.IsElseClause(ifStatement.Parent); 178TryGetBlock(whenTrueStatement.Parent, out var block)) 196nodeToBeReplaced = ifStatement.Parent!; 219if (syntaxFacts.IsSimpleMemberAccessExpression(match.Parent)) 221var memberAccess = match.Parent;
NamingStyleCodeFixProvider.cs (1)
70node = node.Parent;
SyntaxEditorExtensions.cs (2)
206n.Parent == null, 214n.Parent == null,
Microsoft.CodeAnalysis.CSharp (134)
Binder\Binder.IdentifierUsedAsValueFinder.cs (2)
123Debug.Assert(targetNode.Parent is not null); 124targetNode = targetNode.Parent;
Binder\Binder_Conversions.cs (3)
1186if (node.Parent != null && node.Parent.Kind() == SyntaxKind.InvocationExpression) 1188errorNode = node.Parent;
Binder\Binder_Expressions.cs (5)
3920SyntaxNode equalsValueClause = node.Parent; 3927SyntaxNode variableDeclarator = equalsValueClause.Parent; 3934SyntaxNode variableDeclaration = variableDeclarator.Parent; 3941variableDeclaration.Parent.IsKind(SyntaxKind.LocalDeclarationStatement) || 3942variableDeclaration.Parent.IsKind(SyntaxKind.ForStatement);
Binder\Binder_QueryErrors.cs (1)
33for (SyntaxNode node = queryClause; ; node = node.Parent)
Binder\Binder_Statements.cs (2)
3274if (syntax.Parent is QueryClauseSyntax || syntax.Parent is SelectOrGroupClauseSyntax)
Binder\Binder_Symbols.cs (2)
2267node = node.Parent; 2566var code = (where.Parent is QueryClauseSyntax) ? ErrorCode.ERR_TypeVarNotFoundRangeVariable : ErrorCode.ERR_TypeVarNotFound;
Binder\Binder_TupleOperators.cs (1)
318Location location = ((BoundTupleExpression)(useRight ? right : left)).Arguments[i].Syntax.Parent.Location;
Binder\BinderFactory.BinderFactoryVisitor.cs (3)
83return VisitCore(parent.Parent); 1067if (node.IsKind(SyntaxKind.UsingDirective) && node.Parent == containingNode) 1072node = node.Parent;
Binder\BinderFactory.cs (2)
114if ((!InScript || node.Kind() != SyntaxKind.CompilationUnit) && node.Parent != null) 116node = node.Parent;
Compilation\CSharpSemanticModel.cs (1)
3963parentSyntax == boundNode.Syntax.Parent &&
Compilation\SpeculativeSemanticModelWithMemberModel.cs (2)
150attributeOrParameter.Parent is null || 156MemberSemanticModel containing = GetEnclosingMemberModel(attributeOrParameter.Parent);
Compilation\SyntaxTreeSemanticModel.cs (8)
370var variableDecl = type.ModifyingScopedOrRefTypeOrSelf().Parent as VariableDeclarationSyntax; 987for (SyntaxNode curr = node; curr != null; curr = curr.Parent) 2411return (node) => node.Kind() != SyntaxKind.GlobalStatement || node.Parent != unit; 2416return (node) => node.Parent != unit || node.Kind() == SyntaxKind.GlobalStatement; 2438if (node.Parent == typeDeclaration) 2442else if (node.Parent is BaseListSyntax baseList) 2446else if (node.Parent is PrimaryConstructorBaseTypeSyntax baseType && baseType == typeDeclaration.PrimaryConstructorBaseTypeIfClass) 2474if (node.Parent == typeDeclaration)
CSharpDeclarationComputer.cs (1)
201if (node.Parent is BasePropertyDeclarationSyntax parentProperty)
FlowAnalysis\UnassignedAddressTakenVariablesWalker.cs (2)
54if (node.Parent.Kind() == SyntaxKind.AddressOfExpression) 56_result.Add((PrefixUnaryExpressionSyntax)node.Parent);
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (1)
518var tryStatementSyntax = (TryStatementSyntax)node.Syntax.Parent;
Lowering\ClosureConversion\ClosureConversion.cs (2)
1739var curSyntax = lambdaSyntax.Parent; 1754curSyntax = curSyntax.Parent;
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (3)
417Debug.Assert(returnStatement.ExpressionOpt.Syntax.Parent != null); 419SyntaxKind parentKind = returnStatement.ExpressionOpt.Syntax.Parent.Kind(); 571SyntaxNode? parent = body.Parent;
Lowering\Instrumentation\DebugInfoInjector.cs (5)
100Debug.Assert(syntax is { Parent: { Parent: { } } }); 101var grandparent = syntax.Parent.Parent; 158SyntaxNode? parent = original.Syntax.Parent;
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (6)
83SyntaxNode? node = boundFixed.Syntax.Parent; 135Debug.Assert(node.Parent is TryStatementSyntax); 136if (((TryStatementSyntax)node.Parent).Finally != null) 143node = node.Parent; 145node = node.Parent; 153node = node.Parent;
Lowering\LocalRewriter\LocalRewriter_PatternSwitchStatement.cs (1)
45SyntaxNode? section = d.Syntax.Parent;
Operations\CSharpOperationFactory.cs (3)
2013Debug.Assert(node.Parent != null); 2014varStatement = node.Parent; 2016varDeclaration = node.Parent;
Operations\CSharpOperationFactory_Methods.cs (3)
40(SyntaxNode syntax, bool isImplicit) = expression.Syntax is { Parent: ArgumentSyntax or AttributeArgumentSyntax } ? (expression.Syntax.Parent, expression.WasCompilerGenerated) : (value.Syntax, true); 384var assignmentSyntax = value.Syntax?.Parent ?? syntax;
Parser\Blender.cs (1)
168parent = parent.Parent)
Parser\Blender.Cursor.cs (3)
91if (node.Parent == null) 96var children = node.Parent.ChildNodesAndTokens(); 129var redToken = new CodeAnalysis.SyntaxToken(node.Parent, greenToken, node.Position, _indexInParent);
Symbols\Source\SourceLocalSymbol.cs (6)
172nodeToBind.Kind() == SyntaxKind.ArgumentList && (nodeToBind.Parent is ConstructorInitializerSyntax || nodeToBind.Parent is PrimaryConstructorBaseTypeSyntax) || 729nodeToBind.Kind() == SyntaxKind.ArgumentList && (nodeToBind.Parent is ConstructorInitializerSyntax || nodeToBind.Parent is PrimaryConstructorBaseTypeSyntax) || 760switch (_nodeToBind.Parent) 769throw ExceptionUtilities.UnexpectedValue(_nodeToBind.Parent);
Symbols\Tuples\TupleTypeSymbol.cs (1)
306diagnostics.Add(ErrorCode.WRN_TupleLiteralNameMismatch, literal.Arguments[i].Syntax.Parent!.Location, sourceName, destination);
Syntax\CSharpSyntaxNode.cs (1)
128return (CSharpSyntaxNode?)base.Parent;
Syntax\LambdaUtilities.cs (15)
40return !node.Parent.IsKind(SyntaxKind.QueryExpression); 53Debug.Assert(lambdaBody.Parent is object); 54var lambda = lambdaBody.Parent; 60lambda = lambda.Parent; 73Debug.Assert(oldBody.Parent is object); 103var oldJoin = (JoinClauseSyntax)oldBody.Parent; 109var oldGroup = (GroupClauseSyntax)oldBody.Parent; 141var parent = node?.Parent; 298if (node.Parent.IsKind(SyntaxKind.QueryExpression)) 437if (node.Parent != null) 439switch (node.Parent.Kind()) 445SeparatedSyntaxList<ExpressionSyntax> incrementors = ((ForStatementSyntax)node.Parent).Incrementors; 463if (node is ExpressionSyntax && node.Parent != null && node.Parent.Parent == null)
Syntax\SyntaxFacts.cs (13)
24var p = node.Parent as AliasQualifiedNameSyntax; 30var parent = node.Parent; 47var p = node.Parent as AttributeSyntax; 283var parent1 = node.Parent; 289var parent2 = parent1.Parent; 300var parent3 = parent2.Parent; 316var parent4 = parent3.Parent; 345var current = node.Parent; 348while (current != null && (current.IsKind(ParenthesizedExpression) || current.IsKind(CastExpression))) current = current.Parent; 350current = current.Parent; 352current = current.Parent; 354current = current.Parent; 455parent = node.ModifyingScopedOrRefTypeOrSelf().Parent as DeclarationExpressionSyntax;
Syntax\SyntaxNodeExtensions.cs (10)
150if (node.Parent.IsKind(SyntaxKind.CastExpression)) 152node = node.Parent; 155while (node.Parent.IsKind(SyntaxKind.ConditionalExpression)) 157node = node.Parent; 160SyntaxNode? parentNode = node.Parent; 172SyntaxNode? variableDeclarator = parentNode.Parent; 175variableDeclarator.Parent.IsKind(SyntaxKind.VariableDeclaration); 180return parentNode.Parent.IsKind(SyntaxKind.ExpressionStatement); 301SyntaxNode? parentNode = syntax.Parent; 306parentNode = parentNode.Parent;
Syntax\SyntaxNodeRemover.cs (4)
326Debug.Assert(node.Parent is object); 346this.AddDirectives(node.Parent, GetRemovedSpan(span, fullSpan)); 366Debug.Assert(node.Parent is object); 380this.AddDirectives(node.Parent, GetRemovedSpan(span, fullSpan));
Syntax\SyntaxNormalizer.cs (21)
202if (IsAccessorListWithoutAccessorsWithBlockBody(currentToken.Parent?.Parent)) 251if (currentToken.Parent is AttributeListSyntax && currentToken.Parent.Parent is not ParameterSyntax) 301return (nextToken.Parent is AttributeListSyntax && !(nextToken.Parent.Parent is ParameterSyntax)) ? 1 : 0; 370currentTokenParent?.Parent is AnonymousFunctionExpressionSyntax || 383if (currentTokenParent?.Parent is PropertyDeclarationSyntax property && IsSingleLineProperty(property) && 434IsAccessorListWithoutAccessorsWithBlockBody(currentToken.Parent.Parent)) 622IsAccessorListWithoutAccessorsWithBlockBody(next.Parent.Parent)) 659token.Parent.Parent?.Parent is not UsingDirectiveSyntax) 686if (token.Parent.Parent?.Kind() is not SyntaxKind.TypeArgumentList and not SyntaxKind.UsingDirective) 883if (next is { RawKind: (int)SyntaxKind.OpenParenToken, Parent.Parent: ParenthesizedLambdaExpressionSyntax lambda } && 1311else if (node.Parent != null) 1313if (node.Parent.IsKind(SyntaxKind.CompilationUnit)) 1318int parentDepth = GetDeclarationDepth(node.Parent); 1320if (node.Parent.Kind() is SyntaxKind.GlobalStatement or SyntaxKind.FileScopedNamespaceDeclaration) 1325if (node.IsKind(SyntaxKind.IfStatement) && node.Parent.IsKind(SyntaxKind.ElseClause)) 1330if (node.Parent is BlockSyntax) 1335if (node is { Parent: InitializerExpressionSyntax or AnonymousObjectMemberDeclaratorSyntax } || 1338if (!IsSingleLineInitializerContext(node.Parent)) 1400var currentParent = node.Parent; 1417currentParent = currentParent.Parent;
Microsoft.CodeAnalysis.CSharp.CodeStyle (387)
AnchorIndentationFormattingRule.cs (2)
35if (block.Parent is null or BlockSyntax) 43block.Parent.GetFirstToken(includeZeroWidth: true),
ArgumentSyntaxExtensions.cs (3)
46if (argument.Parent is not BaseArgumentListSyntax argumentList || 47argumentList.Parent is null) 53var symbolInfo = semanticModel.GetSymbolInfo(argumentList.Parent, cancellationToken);
ArrowExpressionClausePlacementDiagnosticAnalyzer.cs (1)
63if (arrowExpressionClause.Parent is AccessorDeclarationSyntax)
AttributeArgumentSyntaxExtensions.cs (2)
33if (argument.Parent is not AttributeArgumentListSyntax argumentList) 36if (argumentList.Parent is not AttributeSyntax invocableExpression)
BaseFormattingRule.cs (2)
178RoslynDebug.AssertNotNull(node.Parent); 181firstTokenOfNode = node.Parent.GetFirstToken(includeZeroWidth: true);
CastSimplifier.cs (29)
118if (leftOrRightChild.Parent is BinaryExpressionSyntax(SyntaxKind.EqualsExpression or SyntaxKind.NotEqualsExpression) binary) 152if (castExpression.WalkUpParentheses().Parent is PrefixUnaryExpressionSyntax(SyntaxKind.BitwiseNotExpression) parent && 153parent.WalkUpParentheses().Parent is CastExpressionSyntax parentCast) 185if (isDefaultLiteralCast && castNode.WalkUpParentheses().Parent is PatternSyntax or CaseSwitchLabelSyntax) 405if (castNode.WalkUpParentheses().Parent is MemberAccessExpressionSyntax memberAccessExpression) 433if (castNode.WalkUpParentheses().Parent is InvocationExpressionSyntax invocationExpression) 452if (castNode.WalkUpParentheses().Parent is BinaryExpressionSyntax(SyntaxKind.IsExpression) isExpression && 566if (castNode.WalkUpParentheses().Parent is not MemberAccessExpressionSyntax { Parent: InvocationExpressionSyntax } memberAccessExpression) 685if (parent.Parent is not ConditionalExpressionSyntax originalConditionalExpression) 861if (parent.Parent is ConditionalExpressionSyntax conditionalExpression) 931if (castNode.Parent is AssignmentExpressionSyntax assignmentExpression && 938else if (castNode.Parent is InitializerExpressionSyntax(SyntaxKind.ArrayInitializerExpression) arrayInitializer) 944else if (castNode.Parent is EqualsValueClauseSyntax equalsValue && 946equalsValue.Parent is VariableDeclaratorSyntax variableDeclarator) 970for (SyntaxNode? current = expression; current != null; current = current.Parent) 985for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent; 987currentOld = currentOld.Parent, currentNew = currentNew.Parent) 1012for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent; 1014currentOld = currentOld.Parent, currentNew = currentNew.Parent) 1042for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent; 1044currentOld = currentOld.Parent, currentNew = currentNew.Parent) 1318if (castNode.WalkUpParentheses().Parent is InterpolationSyntax)
ConvertProgramAnalysis_TopLevelStatements.cs (1)
61methodDeclaration.Parent is not TypeDeclarationSyntax containingTypeDeclaration ||
ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (2)
65if (declaration.Parent == node.Parent && declarator.Initializer is null)
CSharpAccessibilityFacts.cs (6)
242if (vd.Variables.Count == 1 && vd.Parent == null) 255var vd = declaration.Parent as VariableDeclarationSyntax; 287if (declaration.Parent is not AttributeListSyntax parentList || parentList.Attributes.Count > 1) 323=> node?.Parent.IsKind(SyntaxKind.FieldDeclaration) ?? false; 326=> node?.Parent.IsKind(SyntaxKind.EventFieldDeclaration) ?? false; 329=> node?.Parent.IsKind(SyntaxKind.LocalDeclarationStatement) ?? false;
CSharpAddRequiredExpressionParenthesesDiagnosticAnalyzer.cs (4)
77=> binaryLike.Parent is ConstantPatternSyntax 78? binaryLike.Parent.Parent as ExpressionSyntax 79: binaryLike.Parent as ExpressionSyntax;
CSharpAddRequiredPatternParenthesesDiagnosticAnalyzer.cs (1)
45=> binaryLike.Parent as PatternSyntax;
CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (1)
288if (statement.Parent is BlockSyntax block)
CSharpAsAndNullCheckDiagnosticAnalyzer.cs (4)
102var localStatement = declarator.Parent?.Parent; 103var enclosingBlock = localStatement?.Parent; 241if (identifierName.Parent is AssignmentExpressionSyntax assignmentExpression &&
CSharpConvertTypeOfToNameOfDiagnosticAnalyzer.cs (1)
37return node is TypeOfExpressionSyntax { Parent: MemberAccessExpressionSyntax } typeofExpression &&
CSharpInferredMemberNameSimplifier.cs (3)
16if (node.NameColon == null || !node.Parent.IsKind(SyntaxKind.TupleExpression)) 26if (RemovalCausesAmbiguity(((TupleExpressionSyntax)node.Parent).Arguments, node)) 47if (RemovalCausesAmbiguity(((AnonymousObjectCreationExpressionSyntax)node.Parent!).Initializers, node))
CSharpInlineDeclarationDiagnosticAnalyzer.cs (8)
93if (argumentNode.Parent is not ArgumentListSyntax argumentList) 98var invocationOrCreation = argumentList.Parent; 142var localDeclaration = localDeclarator.Parent as VariableDeclarationSyntax; 143if (localDeclaration?.Parent is not LocalDeclarationStatementSyntax localStatement) 172if (localStatement.Parent is not BlockSyntax enclosingBlockOfLocalStatement) 271for (var current = argumentExpression; current != null; current = current.Parent) 273if (current.Parent is LambdaExpressionSyntax lambda && 313? current.Parent
CSharpIsAndCastCheckDiagnosticAnalyzer.cs (3)
86var ifStatementScope = ifStatement.Parent.IsKind(SyntaxKind.Block) 87? ifStatement.Parent 163if (!isExpression.Parent.IsKind(SyntaxKind.IfStatement, out ifStatement))
CSharpNamingStyleDiagnosticAnalyzer.cs (2)
32Parent: ParameterListSyntax 34Parent: RecordDeclarationSyntax
CSharpRemoveUnnecessaryDiscardDesignationDiagnosticAnalyzer.cs (3)
52if (discard.Parent is DeclarationPatternSyntax declarationPattern) 56if (declarationPattern.Parent is not IsPatternExpressionSyntax) 78else if (discard.Parent is RecursivePatternSyntax recursivePattern)
CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (2)
55switch (parenthesizedExpression.Parent) 80case ConstantPatternSyntax constantPattern when constantPattern.Parent is IsPatternExpressionSyntax isPatternExpression:
CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (2)
238node1 = node1.Parent; 239node2 = node2.Parent;
CSharpRemoveUnnecessaryPatternParenthesesDiagnosticAnalyzer.cs (2)
51if (parenthesizedPattern.Parent is not PatternSyntax) 60if (parenthesizedPattern.Parent is not BinaryPatternSyntax parentPattern)
CSharpRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (2)
66var statementAncestor = unusedSymbolWriteOperation.Syntax.FirstAncestorOrSelf<StatementSyntax>()?.Parent; 100if (unusedDefinition.Syntax.Parent is ForEachStatementSyntax forEachStatement &&
CSharpSemanticFacts.cs (1)
340case IdentifierNameSyntax { Parent: PrimaryConstructorBaseTypeSyntax baseType }:
CSharpSimplifyInterpolationHelpers.cs (1)
22ConditionalExpressionSyntax { Parent: ParenthesizedExpressionSyntax parent } => parent,
CSharpSyntaxFacts.cs (32)
162=> node?.Parent is MemberAccessExpressionSyntax memberAccess && memberAccess.Name == node; 196=> node?.Parent is UsingDirectiveSyntax usingDirective && 243if (firstStatement.Parent == secondStatement.Parent) 246if (IsGlobalStatement(firstStatement.Parent) 247&& IsGlobalStatement(secondStatement.Parent) 248&& firstStatement.Parent.Parent == secondStatement.Parent.Parent) 262return node.Parent is BaseMethodDeclarationSyntax or 635node.Parent.IsParentKind(SyntaxKind.Subpattern); 647if (identifier.Parent.IsParentKind(SyntaxKind.WithInitializerExpression)) 649var withInitializer = identifier.Parent.GetRequiredParent(); 653else if (identifier.Parent.IsParentKind(SyntaxKind.ObjectInitializerExpression)) 655var objectInitializer = identifier.Parent.GetRequiredParent(); 656if (objectInitializer.Parent is BaseObjectCreationExpressionSyntax) 658initializedInstance = objectInitializer.Parent; 661else if (objectInitializer?.Parent is AssignmentExpressionSyntax(SyntaxKind.SimpleAssignmentExpression) assignment) 676Parent: BaseObjectCreationExpressionSyntax or ArrayCreationExpressionSyntax or ImplicitArrayCreationExpressionSyntax 679creationExpression = node.Parent; 718node = node.Parent; 765var parent = node.GetAncestor<TypeDeclarationSyntax>() ?? node.Parent; 769parent = parent.Parent; 778parent = parent.Parent; 987var parent = node.Parent; 1235node.Parent is AttributeListSyntax attributeList && 1264return node.Parent.IsParentKind(SyntaxKind.FieldDeclaration) || 1265node.Parent.IsParentKind(SyntaxKind.EventFieldDeclaration); 1351=> node?.Parent is ForEachStatementSyntax foreachStatement && foreachStatement.Expression == node; 1388=> ((VariableDeclarationSyntax)((VariableDeclaratorSyntax)node).Parent!).Type; 1394=> node?.Parent is PropertyDeclarationSyntax propertyDeclaration && propertyDeclaration.Initializer == node;
CSharpTriviaFormatter.DocumentationCommentExteriorCommentRewriter.cs (1)
86currentParent = currentParent.Parent;
CSharpTypeStyleHelper.cs (2)
105var isSupportedParentKind = variableDeclaration.Parent is (kind: 121switch (declaration.Parent)
CSharpUseDeconstructionDiagnosticAnalyzer.cs (3)
101if (variableDeclaration is not { Parent: LocalDeclarationStatementSyntax localDeclaration, Variables: [{ Initializer.Value: { } initializerValue } declarator] }) 108var searchScope = localDeclaration.Parent is GlobalStatementSyntax globalStatement 257if (identifierName.Parent is not MemberAccessExpressionSyntax memberAccess)
CSharpUseExplicitTypeHelper.cs (6)
72if (typeName.Parent is DeclarationExpressionSyntax declExpression && 85if (typeName.Parent is VariableDeclarationSyntax variableDeclaration && 86typeName.Parent.Parent is (kind: SyntaxKind.LocalDeclarationStatement or SyntaxKind.ForStatement or SyntaxKind.UsingStatement)) 99if ((variableDeclaration.Parent as LocalDeclarationStatementSyntax)?.IsConst == true) 104else if (typeName.Parent is ForEachStatementSyntax foreachStatement &&
CSharpUseImplicitObjectCreationDiagnosticAnalyzer.cs (11)
67if (objectCreation.Parent.IsKind(SyntaxKind.EqualsValueClause) && 68objectCreation.Parent.Parent.IsKind(SyntaxKind.VariableDeclarator) && 69objectCreation.Parent.Parent.Parent is VariableDeclarationSyntax variableDeclaration && 86else if (objectCreation.Parent.IsKind(SyntaxKind.ArrowExpressionClause)) 88typeNode = objectCreation.Parent.Parent switch 95AccessorDeclarationSyntax(SyntaxKind.GetAccessorDeclaration) { Parent: AccessorListSyntax { Parent: BasePropertyDeclarationSyntax baseProperty } } accessor => baseProperty.Type,
CSharpUseImplicitTypeHelper.cs (10)
106if (typeName.Parent is VariableDeclarationSyntax variableDeclaration && 107typeName.Parent.Parent is (kind: 113if ((variableDeclaration.Parent as LocalDeclarationStatementSyntax)?.IsConst == true) 152else if (typeName.Parent is ForEachStatementSyntax foreachStatement && 161else if (typeName.Parent is DeclarationExpressionSyntax declarationExpression && 223if (declarationExpression.Parent is not ArgumentSyntax argument || 224argument.Parent is not ArgumentListSyntax argumentList || 225argumentList.Parent is not InvocationExpressionSyntax invocationExpression) 313if (n.Parent is MemberAccessExpressionSyntax memberAccessParent && memberAccessParent.Expression == n)
CSharpUseInferredMemberNameDiagnosticAnalyzer.cs (2)
39if (nameColon.Parent is not ArgumentSyntax argument) 66if (nameEquals.Parent is not AnonymousObjectMemberDeclaratorSyntax anonCtor)
CSharpUseLocalFunctionDiagnosticAnalyzer.cs (14)
93if (localDeclaration.Parent is not BlockSyntax block) 187anonymousFunction.Parent.IsParentKind(SyntaxKind.VariableDeclarator) && 188anonymousFunction.Parent.Parent.IsParentKind(SyntaxKind.VariableDeclaration) && 189anonymousFunction.Parent.Parent.Parent.IsParentKind(SyntaxKind.LocalDeclarationStatement, out localDeclaration)) 232if (nodeToCheck.Parent is BinaryExpressionSyntax) 239if (nodeToCheck.Parent is InvocationExpressionSyntax invocationExpression) 243else if (nodeToCheck.Parent is MemberAccessExpressionSyntax memberAccessExpression) 245if (memberAccessExpression.Parent is InvocationExpressionSyntax explicitInvocationExpression && 318if (anonymousFunction?.Parent is AssignmentExpressionSyntax(SyntaxKind.SimpleAssignmentExpression) assignment && 319assignment.Parent is ExpressionStatementSyntax expressionStatement && 320expressionStatement.Parent is BlockSyntax block)
CSharpUseNameofInNullableAttributeDiagnosticAnalyzer.cs (4)
115var attributeList = attribute.Parent as AttributeListSyntax; 116var container = attributeList?.Parent; 120var parameterList = container.Parent as BaseParameterListSyntax; 121container = parameterList?.Parent;
CSharpUsePatternCombinatorsDiagnosticAnalyzer.cs (1)
129return node.WalkUpParentheses().Parent switch
CSharpVirtualCharService.cs (1)
37if (token.Parent?.Parent is InterpolatedStringExpressionSyntax { StringStartToken.RawKind: (int)SyntaxKind.InterpolatedMultiLineRawStringStartToken })
DefaultExpressionSyntaxExtensions.cs (4)
40if (defaultExpression?.Parent is EqualsValueClauseSyntax equalsValueClause) 70equalsValueClause.Parent?.Parent is VariableDeclarationSyntax declaration) 74else if (equalsValueClause?.Parent is ParameterSyntax parameter)
DirectiveSyntaxExtensions.cs (3)
22while (node != null && (node.Parent != null || node is StructuredTriviaSyntax)) 24if (node.Parent != null) 26node = node.Parent;
ElasticTriviaFormattingRule.cs (1)
398if (parent.Parent is ParameterSyntax)
EmbeddedStatementPlacementDiagnosticAnalyzer.cs (2)
85var parent = statement.Parent; 108var blockParent = parent.Parent;
ExpressionSyntaxExtensions.cs (43)
21while (expression?.Parent is ParenthesizedExpressionSyntax parentExpr) 36=> expression.IsParentKind(SyntaxKind.NameMemberCref) && expression.Parent.IsParentKind(SyntaxKind.QualifiedCref); 39=> expression?.Parent is MemberAccessExpressionSyntax(SyntaxKind.SimpleMemberAccessExpression) memberAccess && memberAccess.Name == expression; 46return expression == (expression.Parent as MemberAccessExpressionSyntax)?.Name || 51=> expression?.Parent is MemberBindingExpressionSyntax memberBinding && 55=> expression?.Parent is QualifiedNameSyntax qualifiedName && qualifiedName.Right == expression; 58=> expression?.Parent is AliasQualifiedNameSyntax aliasName && aliasName.Name == expression; 89=> (expression?.Parent) is MemberAccessExpressionSyntax(SyntaxKind.SimpleMemberAccessExpression) memberAccess && 94(expression.Parent is MemberAccessExpressionSyntax memberAccess && memberAccess.Expression == expression); 97=> (expression?.Parent) is QualifiedNameSyntax qualifiedName && qualifiedName.Left == expression; 103=> expression?.Parent is InvocationExpressionSyntax invocation && 191=> expression?.Parent is ArgumentSyntax { RefOrOutKeyword: SyntaxToken(SyntaxKind.OutKeyword) } argument && 203while (expression?.Parent is ParenthesizedExpressionSyntax or PostfixUnaryExpressionSyntax(SyntaxKind.SuppressNullableWarningExpression)) 204expression = (ExpressionSyntax)expression.Parent; 206if (expression?.Parent is RefExpressionSyntax or 209refParent = expression.Parent; 218=> expression?.Parent is ArgumentSyntax { RefKindKeyword: SyntaxToken(SyntaxKind.InKeyword) }; 244if (expression.Parent != null) 282var parent = expr.Parent; 291if (parent.Parent?.Kind() == SyntaxKind.TupleExpression) 293expr = (TupleExpressionSyntax)parent.Parent; 337if (refParent.Parent is EqualsValueClauseSyntax { Parent: VariableDeclaratorSyntax { Parent: VariableDeclarationSyntax { Type: { } variableDeclarationType } } }) 355if (expression.Parent.IsKind(SyntaxKind.AddressOfExpression)) 366if (expression.Parent is MemberAccessExpressionSyntax memberAccess && 385var nameEquals = expression?.Parent as NameEqualsSyntax; 391if (expression?.Parent is SyntaxNode parent) 407=> expression is IdentifierNameSyntax { Parent: NameColonSyntax }; 502return expression is { Parent.RawKind: not (int)SyntaxKind.ConditionalAccessExpression }; 505if (expression.Parent == null) 508switch (expression.Parent.Kind()) 538var parentConditionalAccessExpression = (ConditionalAccessExpressionSyntax)expression.Parent; 540!parentConditionalAccessExpression.Parent.IsKind(SyntaxKind.ConditionalAccessExpression); 545var isOrAsExpression = (BinaryExpressionSyntax)expression.Parent; 581if (expression.Parent is PrefixUnaryExpressionSyntax) 591while (topExpression.Parent is TypeSyntax typeSyntax) 605if (expression.Parent is PostfixUnaryExpressionSyntax or 624if ((expression.IsParentKind(SyntaxKind.NameEquals) && expression.Parent.IsParentKind(SyntaxKind.AttributeArgument)) || 667=> expression is { Parent: ArgumentSyntax { Parent: ArgumentListSyntax { Parent: InvocationExpressionSyntax invocation } } } && 919=> expression?.Parent is MemberAccessExpressionSyntax;
FormattingHelpers.cs (13)
109if (token.Parent.IsKind(SyntaxKind.PositionalPatternClause) && token.Parent.Parent.IsKind(SyntaxKind.RecursivePattern)) 112return token.Parent.Parent.GetFirstToken() != token; 125=> token.Kind() == SyntaxKind.OpenParenToken && token.Parent.IsKind(SyntaxKind.ParameterList) && token.Parent.Parent.IsKind(SyntaxKind.ParenthesizedLambdaExpression); 203&& statementOrElse.Parent != null 204&& statementOrElse.Parent.IsEmbeddedStatementOwner(); 279token.Parent.Parent.IsKind(SyntaxKind.PropertyDeclaration); 383token.Parent?.Parent is QueryExpressionSyntax queryExpression && 391var parent = initializer.Parent; 415return anonymousObjectInitializer.Parent is AnonymousObjectCreationExpressionSyntax; 427var parent = initializer.Parent; 445var parent = anonymousObjectInitializer.Parent; 481return token.Parent.Parent is LabeledStatementSyntax; 528currentToken.Parent.Parent is DeclarationExpressionSyntax;
FormattingRangeHelper.cs (9)
187var containerOfList = parent.Parent; 203var parentOfParent = parent.Parent; 338RoslynDebug.AssertNotNull(previousToken.Parent?.Parent); 339var labelNode = previousToken.Parent.Parent; 382RoslynDebug.AssertNotNull(node.Parent); 384node = node.Parent; 391node = node.Parent; 401node = node.Parent; 443return token.Parent.Parent as MemberDeclarationSyntax;
IndentBlockFormattingRule.cs (8)
67if (node is TypeParameterConstraintClauseSyntax { Parent: { } declaringNode }) 108RoslynDebug.AssertNotNull(node.Parent); 109var switchStatement = (SwitchStatementSyntax)node.Parent; 182if (propertyPatternClause.Parent is RecursivePatternSyntax { Parent: { } recursivePatternParent }) 227if (node.IsKind(SyntaxKind.ArrayInitializerExpression) && node.Parent != null && node.Parent.IsKind(SyntaxKind.ArrayCreationExpression)) 256if (node.IsKind(SyntaxKind.ListPattern) && node.Parent != null)
InvokeDelegateWithConditionalAccessAnalyzer.cs (2)
225if (!ifStatement.Parent.IsKind(SyntaxKind.Block)) 260var parentBlock = (BlockSyntax)ifStatement.Parent;
NewLineUserSettingFormattingRule.cs (7)
49var parentKind = node.Parent?.Kind(); 85&& previousToken.Parent!.Parent == currentToken.Parent.Parent) 145var currentTokenParentParent = currentToken.Parent.Parent; 257|| previousToken.Parent!.Parent != currentToken.Parent.Parent) 346var currentTokenParentParent = currentToken.Parent.Parent;
NullableImpactingSpanWalker.cs (4)
75if (node?.Parent is QualifiedNameSyntax qualifiedName 94if (node?.Parent is BaseNamespaceDeclarationSyntax) 100if (node.IsParentKind(SyntaxKind.NameEquals) && node.Parent.IsParentKind(SyntaxKind.UsingDirective)) 114while (node.Parent is QualifiedNameSyntax qualifiedName
ParenthesizedExpressionSyntaxExtensions.cs (22)
29var nodeParent = node.Parent; 41? nodeParent.Parent as ExpressionSyntax 72if (nodeParent is EqualsValueClauseSyntax { Parent: VariableDeclaratorSyntax { Parent: VariableDeclarationSyntax varDecl } }) 308if (node.Parent is not ConstantPatternSyntax { Parent: IsPatternExpressionSyntax }) 496if (node?.Parent is CastExpressionSyntax castExpression) 554if (node.Parent is BinaryExpressionSyntax binaryExpression && 556(binaryExpression.IsParentKind(SyntaxKind.Argument) || binaryExpression.Parent is InitializerExpressionSyntax)) 608if (node.Parent is ArgumentSyntax argument) 610if (argument.Parent is ArgumentListSyntax argumentList) 619else if (node.Parent is InitializerExpressionSyntax initializer) 643if (node.Parent is ArgumentSyntax argument) 645if (argument.Parent is ArgumentListSyntax argumentList) 654else if (node.Parent is InitializerExpressionSyntax initializer) 692if (pattern is DiscardPatternSyntax && node.Parent is IsPatternExpressionSyntax) 707if (node.Parent is ParenthesizedPatternSyntax) 711if (node.Parent is IsPatternExpressionSyntax) 715if (node.Parent is SwitchExpressionArmSyntax) 719if (node.Parent is SubpatternSyntax) 723if (node.Parent is CasePatternSwitchLabelSyntax) 729return node.Parent is PatternSyntax patternParent &&
RemoveUnreachableCodeHelpers.cs (2)
18switch (firstUnreachableStatement.Parent) 29if (globalStatement.Parent is not CompilationUnitSyntax compilationUnit)
SemanticModelExtensions.cs (32)
207if (type.Parent is BaseTypeSyntax baseType && 208baseType.Parent is BaseListSyntax baseList && 216else if (baseList.Types[0] == type.Parent) 225if (type?.Parent is VariableDeclarationSyntax variableDeclaration && 234type.Parent.IsParentKind(SyntaxKind.EqualsValueClause) && 235type.Parent.Parent.IsParentKind(SyntaxKind.VariableDeclarator) && 236type.Parent.Parent.Parent.IsParentKind(SyntaxKind.VariableDeclaration, out variableDeclaration) && 260type.Parent, cancellationToken).DeclaredAccessibility; 273if (type.IsParentKind(SyntaxKind.Parameter) && type.Parent.IsParentKind(SyntaxKind.ParameterList)) 275if (type.Parent.Parent.IsParentKind(SyntaxKind.DelegateDeclaration) || 276type.Parent.Parent.IsParentKind(SyntaxKind.MethodDeclaration) || 277type.Parent.Parent.IsParentKind(SyntaxKind.IndexerDeclaration) || 278type.Parent.Parent.IsParentKind(SyntaxKind.OperatorDeclaration)) 281type.Parent.Parent.Parent, cancellationToken).DeclaredAccessibility; 284if (type.Parent.Parent.IsParentKind(SyntaxKind.ConstructorDeclaration)) 286var symbol = semanticModel.GetDeclaredSymbol(type.Parent.Parent.Parent, cancellationToken); 391else if (current.Parent is ForEachStatementSyntax foreachStatement && 427if (topExpression?.Parent is ArgumentSyntax argument) 434if (argument.Parent is BaseArgumentListSyntax argumentList) 437if (semanticModel.GetSymbolInfo(argumentList.Parent, cancellationToken).Symbol is IMethodSymbol member && index < member.Parameters.Length)
SimpleNameSyntaxExtensions.cs (6)
19return ((MemberAccessExpressionSyntax)name.Parent).Expression; 27return ((QualifiedNameSyntax)name.Parent).Left; 31return ((QualifiedCrefSyntax)name.Parent.Parent).Container; 52if (simpleName?.Parent is InvocationExpressionSyntax invocation && 59if (simpleName?.Parent is ElementAccessExpressionSyntax elementAccess &&
SimplifyPropertyPatternHelpers.cs (1)
26Parent: PropertyPatternClauseSyntax,
SpeculationAnalyzer.cs (6)
284Debug.Assert(previousOriginalNode == null || previousOriginalNode.Parent == currentOriginalNode); 285Debug.Assert(previousReplacedNode == null || previousReplacedNode.Parent == currentReplacedNode); 428var oldSwitchStatement = (SwitchStatementSyntax)originalCaseSwitchLabel.Parent.Parent; 429var newSwitchStatement = (SwitchStatementSyntax)newCaseSwitchLabel.Parent.Parent;
StatementSyntaxExtensions.cs (4)
40if (first.Parent.IsKind(SyntaxKind.GlobalStatement)) 41return second.Parent.IsKind(SyntaxKind.GlobalStatement); 43return first.Parent == second.Parent;
SuppressFormattingRule.cs (3)
132var constructorDeclarationNode = constructorInitializerNode.Parent as ConstructorDeclarationSyntax; 380if (initializer is { Parent: { } }) 382AddInitializerSuppressOperations(list, initializer.Parent, initializer.Expressions);
SyntaxNodeExtensions.cs (27)
44=> CodeAnalysis.CSharpExtensions.IsKind(node?.Parent, kind); 51result = (TNode)node.Parent!; 206if ((current?.Parent is MemberAccessExpressionSyntax(SyntaxKind.SimpleMemberAccessExpression) memberAccess && memberAccess.Name == current) || 207(current?.Parent is MemberBindingExpressionSyntax memberBinding && memberBinding.Name == current)) 209current = current.Parent; 223current.Parent is not ConditionalAccessExpressionSyntax) 225current = current.Parent; 255if (current?.Parent is ConditionalAccessExpressionSyntax conditional1 && 261if (current?.Parent is ConditionalAccessExpressionSyntax conditional2 && 281while (current?.Parent is ConditionalAccessExpressionSyntax conditional && 348=> node?.Parent is AssignmentExpressionSyntax(SyntaxKind.SimpleAssignmentExpression) assignment && 353return node?.Parent != null && 354node.Parent.IsAnyAssignExpression() && 355((AssignmentExpressionSyntax)node.Parent).Left == node; 360return node?.Parent != null && 361node.Parent.IsAnyAssignExpression() && 362((AssignmentExpressionSyntax)node.Parent).Right == node; 367return node?.Parent != null && 368node.Parent.IsCompoundAssignExpression() && 369((AssignmentExpressionSyntax)node.Parent).Left == node; 432return !memberDeclaration.Parent.IsKind(SyntaxKind.CompilationUnit); 757=> node?.Parent is EqualsValueClauseSyntax equalsValue && 774current = current.Parent; 977for (var current = node; current != null; current = current.Parent) 1027for (var current = node; current != null; current = current.Parent) 1051{ Parent: NameEqualsSyntax { Parent: UsingDirectiveSyntax _ } } => true, 1052{ Parent: IdentifierNameSyntax { Parent: UsingDirectiveSyntax _ } } => true,
TokenBasedFormattingRule.cs (3)
201var attributeOwner = previousToken.Parent?.Parent; 230RoslynDebug.AssertNotNull(currentUsing.Parent); 232var usings = GetUsings(currentUsing.Parent);
UsePatternMatchingHelpers.cs (5)
29if (asExpression.Parent is not ParenthesizedExpressionSyntax 32Parent: ConditionalAccessExpressionSyntax parentConditionalAccess 54if (conditionalAccessExpression.Parent is BinaryExpressionSyntax(SyntaxKind.EqualsExpression) parentBinaryExpression1 && 63else if (conditionalAccessExpression.Parent is 81else if (conditionalAccessExpression.Parent is IsPatternExpressionSyntax parentIsPatternExpression)
UseSimpleUsingStatementDiagnosticAnalyzer.cs (1)
82if (outermostUsing.Parent is not BlockSyntax parentBlock)
UseUtf8StringLiteralDiagnosticAnalyzer.cs (2)
105else if (elements is [{ Syntax.Parent: ArgumentSyntax }, ..]) 110else if (elements is [{ Syntax.Parent: (kind: SyntaxKind.CollectionInitializerExpression) }, ..])
VariableDeclaratorExtensions.cs (1)
15if (declarator.Parent is VariableDeclarationSyntax variableDeclaration)
WrappingFormattingRule.cs (1)
149firstTokenOfNode = node.Parent!.GetFirstToken(includeZeroWidth: true);
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (267)
AbstractAssignOutParametersCodeFixProvider.cs (5)
68return location.Parent is BlockSyntax 69|| location.Parent is SwitchSectionSyntax 70|| location.Parent.IsEmbeddedStatementOwner(); 75return location.Parent is ArrowExpressionClauseSyntax or LambdaExpressionSyntax; 83for (var current = node; current != null; current = current.Parent)
AddInheritdocCodeFixProvider.cs (4)
65if (node.IsKind(SyntaxKind.VariableDeclarator) && node.Parent?.Parent?.IsKind(SyntaxKind.EventFieldDeclaration) == false) 96if (node.IsKind(SyntaxKind.VariableDeclarator) && !(node = node.Parent?.Parent).IsKind(SyntaxKind.EventFieldDeclaration))
ArgumentFixer.cs (1)
31var newInvocation = newArgumentList.Parent!;
AssignOutParametersAtStartCodeFixProvider.cs (2)
44statement.Parent is BlockSyntax block && 46block.Parent == container)
AttributeArgumentFixer.cs (1)
31var newAttribute = (AttributeSyntax)newArgumentList.Parent!;
CompilationUnitSyntaxExtensions.cs (1)
22if (usingDirectiveAncestor?.Parent is CompilationUnitSyntax)
ConvertSwitchStatementToExpressionCodeFixProvider.cs (2)
103if (declaratorToRemoveNode.Parent is VariableDeclarationSyntax { Parent: LocalDeclarationStatementSyntax declStatement, Variables.Count: 1 })
ConvertToRecordEngine.cs (4)
206(expression.Parent as AssignmentExpressionSyntax)?.Parent as ExpressionStatementSyntax) 477.Select(referenceLocations => referenceLocations.Location.FindNode(cancellationToken).Parent) 497expression => objectCreationExpression.Initializer!.Expressions.IndexOf(expression.Parent));
CSharpAddExplicitCastCodeFixProvider.cs (4)
80&& targetArgument.Parent is ArgumentListSyntax argumentList 81&& argumentList.Parent is SyntaxNode invocationNode) 88&& targetAttributeArgument.Parent is AttributeArgumentListSyntax attributeArgumentList 89&& attributeArgumentList.Parent is AttributeSyntax attributeNode)
CSharpAddParameterCodeFixProvider.cs (1)
63var constructorDeclaration = constructorInitializer.Parent;
CSharpAsAndNullCheckCodeFixProvider.cs (4)
76if (statement.Parent is BlockSyntax or SwitchSectionSyntax) 78statementParentScopes.Add(statement.Parent); 111if (declarator.Parent is VariableDeclarationSyntax declaration && 112declaration.Parent is LocalDeclarationStatementSyntax localDeclaration &&
CSharpChangeToIEnumerableCodeFixProvider.cs (4)
94var oldAccessor = node.Parent?.Parent as PropertyDeclarationSyntax; 100var oldIndexer = node.Parent?.Parent as IndexerDeclarationSyntax;
CSharpCodeGenerationHelpers.cs (3)
277&& reusableSyntaxNode.Parent is VariableDeclarationSyntax variableDeclarationNode 278&& reusableSyntaxNode.Parent.Parent is FieldDeclarationSyntax fieldDeclarationNode)
CSharpDeclarationComparer.cs (5)
345for (var node = parent; node != null; node = node.Parent) 388var xAccessibility = GetAccessibilityPrecedence(xModifiers, x.Parent ?? y.Parent); 389var yAccessibility = GetAccessibilityPrecedence(yModifiers, y.Parent ?? x.Parent);
CSharpDeclareAsNullableCodeFixProvider.cs (19)
77if (node.Parent is AssignmentExpressionSyntax assignment) 138if (node.Parent is (kind: SyntaxKind.ReturnStatement or SyntaxKind.YieldReturnStatement)) 183if (node.Parent?.Parent?.Parent is VariableDeclarationSyntax variableDeclaration) 190if (node.Parent is AssignmentExpressionSyntax assignment) 196if (syntax is VariableDeclaratorSyntax { Parent: VariableDeclarationSyntax { Variables.Count: 1 } declaration }) 207if (syntax is VariableDeclaratorSyntax { Parent: VariableDeclarationSyntax { Variables.Count: 1 } declaration }) 232if (node.Parent is ArgumentSyntax argument && argument.Parent?.Parent is InvocationExpressionSyntax invocation) 258if (node.Parent?.Parent is PropertyDeclarationSyntax propertyDeclaration) 268if (node is VariableDeclaratorSyntax { Parent: VariableDeclarationSyntax { Parent: FieldDeclarationSyntax, Variables.Count: 1 } declarationSyntax }) 272if (node.Parent?.Parent is ParameterSyntax optionalParameter) 280node.Parent?.Parent is MethodDeclarationSyntax arrowMethod)
CSharpFixIncorrectConstraintCodeFixProvider.cs (1)
47if (constraint.Parent is not TypeParameterConstraintClauseSyntax)
CSharpIndentationService.cs (3)
135!argument.Parent.IsKind(SyntaxKind.ThisConstructorInitializer) && 198RoslynDebug.AssertNotNull(node.Parent); 201var baseToken = node.Parent.GetFirstToken(includeZeroWidth: true);
CSharpIndentationService.Indenter.cs (9)
225(token.Parent.Parent is StatementSyntax || token.Parent.Parent is ElseClauseSyntax)); 227var embeddedStatementOwner = token.Parent.Parent; 230RoslynDebug.AssertNotNull(embeddedStatementOwner.Parent); 231embeddedStatementOwner = embeddedStatementOwner.Parent; 253token.Parent.Parent.IsKind(SyntaxKind.PropertyDeclaration)) 405if (queryExpressionClause.Parent is not QueryBodySyntax queryBody) 428RoslynDebug.AssertNotNull(queryBody.Parent); 429return indenter.GetIndentationOfToken(queryBody.Parent.GetFirstToken(includeZeroWidth: true));
CSharpInlineDeclarationCodeFixProvider.cs (5)
61declarationsToRemove.Add((LocalDeclarationStatementSyntax)diagnostic.AdditionalLocations[0].FindNode(cancellationToken).Parent.Parent); 121var declaration = (VariableDeclarationSyntax)declarator.Parent; 130var localDeclarationStatement = (LocalDeclarationStatementSyntax)declaration.Parent; 131var block = (BlockSyntax)localDeclarationStatement.Parent;
CSharpMakeMemberRequiredCodeFixProvider.cs (4)
56if (node is not (PropertyDeclarationSyntax or VariableDeclaratorSyntax { Parent.Parent: FieldDeclarationSyntax })) 125if (memberDeclarator is VariableDeclaratorSyntax { Parent.Parent: FieldDeclarationSyntax fieldDeclaration })
CSharpMakeMemberStaticCodeFixProvider.cs (4)
39if (node.IsKind(SyntaxKind.VariableDeclarator) && node.Parent is VariableDeclarationSyntax { Parent: FieldDeclarationSyntax or EventFieldDeclarationSyntax }) 41memberDeclaration = node.Parent.Parent;
CSharpMakeStatementAsynchronousCodeFixProvider.cs (2)
101if (node.Parent is (kind: 106return node.Parent;
CSharpMakeStructMemberReadOnlyCodeFixProvider.cs (2)
59else if (declaration is AccessorDeclarationSyntax { Parent: AccessorListSyntax { Parent: BasePropertyDeclarationSyntax property } accessorList } accessor)
CSharpRemoveUnnecessaryDiscardDesignationCodeFixProvider.cs (2)
51switch (discard.Parent) 54if (declarationPattern.Parent is IsPatternExpressionSyntax isPattern)
CSharpRemoveUnusedLocalFunctionCodeFixProvider.cs (1)
61editor.RemoveNode(localFunction.Parent is GlobalStatementSyntax globalStatement ? globalStatement : localFunction);
CSharpRemoveUnusedValuesCodeFixProvider.cs (5)
46=> declarator.Parent?.Parent as LocalDeclarationStatementSyntax; 60variableDeclarator.Parent is VariableDeclarationSyntax parent) 137editor.InsertBefore(switchCaseBlock.Parent, declarationStatement); 170if (originalCompoundAssignment.Parent.IsKind(SyntaxKind.ExpressionStatement))
CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (2)
95declarationPattern.Parent is IsPatternExpressionSyntax isPatternExpression) 203if (_localDeclarationStatement.Parent is BlockSyntax or SwitchSectionSyntax)
CSharpSemanticFactsService.cs (1)
48if (SyntaxFacts.IsParameterList(container) && SyntaxFacts.IsLocalFunctionStatement(container.Parent))
CSharpSimplificationHelpers.cs (1)
33var parent = parentOfToken.Parent;
CSharpSyntaxContext.cs (6)
229targetToken.Parent.Parent is (kind: SyntaxKind.ClassDeclaration or SyntaxKind.RecordDeclaration); 366if (token.Parent.Parent is ParameterSyntax { Parent: ParameterListSyntax { Parent: RecordDeclarationSyntax } }) 387token.Parent.Parent is StatementSyntax) 486FromClauseSyntax { Parent: QueryExpressionSyntax queryExpression } fromClause => queryExpression.FromClause == fromClause,
CSharpTypeInferenceService.TypeInferrer.cs (53)
136var parent = node.Parent; 281if (argument.Parent != null) 283if (argument.Parent.Parent is ConstructorInitializerSyntax initializer) 289if (argument.Parent?.Parent is InvocationExpressionSyntax invocation) 295if (argument.Parent?.Parent is ObjectCreationExpressionSyntax creation) 306if (argument.Parent?.Parent is ElementAccessExpressionSyntax elementAccess) 317if (argument?.Parent is TupleExpressionSyntax tupleExpression) 323if (argument.Parent.IsParentKind(SyntaxKind.ImplicitElementAccess) && 324argument.Parent.Parent.IsParentKind(SyntaxKind.SimpleAssignmentExpression) && 325argument.Parent.Parent.Parent.IsParentKind(SyntaxKind.ObjectInitializerExpression) && 326argument.Parent.Parent.Parent.Parent?.Parent is ObjectCreationExpressionSyntax objectCreation) 379if (argument.Parent != null) 381if (argument.Parent.Parent is AttributeSyntax attribute) 511switch (argumentList.Parent) 543if (attributeArgumentList.Parent is AttributeSyntax attribute) 739var argumentCount = argumentOpt?.Parent is BaseArgumentListSyntax baseArgumentList ? baseArgumentList.Arguments.Count : -1; 900if (bracketedArgumentList.Parent is ElementAccessExpressionSyntax elementAccess) 1228if (equalsValue?.Parent is VariableDeclaratorSyntax varDecl) 1231if (equalsValue?.Parent is PropertyDeclarationSyntax propertyDecl) 1235SemanticModel.GetDeclaredSymbol(equalsValue.Parent, CancellationToken) is IParameterSymbol parameter) 1382if (initializerExpression?.Parent is ImplicitArrayCreationExpressionSyntax implicitArray) 1410else if (initializerExpression?.Parent is EqualsValueClauseSyntax equalsValueClause) 1420else if (initializerExpression?.Parent is ArrayCreationExpressionSyntax arrayCreation) 1430else if (initializerExpression?.Parent is ObjectCreationExpressionSyntax objectCreation) 1454var assignExpression = (AssignmentExpressionSyntax)initializerExpression.Parent; 1523if (singleVariableDesignation.Parent is DeclarationPatternSyntax declarationPattern) 1668if (memberDeclarator.NameEquals != null && memberDeclarator.Parent is AnonymousObjectCreationExpressionSyntax) 1676var types = InferTypes((AnonymousObjectCreationExpressionSyntax)memberDeclarator.Parent); 1695return nameColon.Parent switch 1711return expressionColon.Parent switch 1765memberAccessExpression?.Parent is InvocationExpressionSyntax invocation && 1766memberAccessExpression.Parent.IsParentKind(SyntaxKind.AwaitExpression)) 1888if (nameColon.Parent is SubpatternSyntax subpattern) 1898if (expressionColon.Parent is SubpatternSyntax subpattern) 1915if (nameEquals.Parent is AttributeArgumentSyntax attributeArgumentSyntax) 2081=> InferTypeInMethodLikeDeclaration(arrowClause.Parent); 2117if (arm.Parent is SwitchExpressionSyntax switchExpression) 2165var switchStatement = (SwitchStatementSyntax)switchLabel.Parent.Parent; 2239variableDeclarator.Parent is not VariableDeclarationSyntax variableDeclaration) 2307var inferredFutureUsage = InferTypeBasedOnLaterUsage(symbol, afterNode: left.Parent);
CSharpUseCompoundAssignmentCodeFixProvider.cs (1)
57if (currentAssignment.Parent is ForStatementSyntax forStatement &&
CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
52if (ifStatement.Parent is ElseClauseSyntax &&
CSharpUseConditionalExpressionForReturnCodeFixProvider.cs (1)
38if (ifStatement.Parent is ElseClauseSyntax &&
CSharpUseDeconstructionCodeFixProvider.cs (2)
77var variableDeclaration = (VariableDeclarationSyntax)variableDeclarator.Parent; 84variableDeclaration.Parent,
CSharpUseNullPropagationCodeFixProvider.cs (1)
56var elseClauseSyntax = (ElseClauseSyntax)ifStatement.Parent!;
CSharpUseRangeOperatorCodeFixProvider.cs (1)
191while (expr?.Parent is CheckedExpressionSyntax parent)
InvokeDelegateWithConditionalAccessCodeFixProvider.cs (1)
105if (ifStatement.Parent.IsKind(SyntaxKind.ElseClause) &&
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs\SyntaxTokenExtensions.cs (17)
123if (token.Parent.Parent is StatementSyntax) 179var container = token.Parent.Parent; 260var container = token.Parent.Parent; 261if (container is IncompleteMemberSyntax && container.Parent is CompilationUnitSyntax) 450targetToken.Parent.Parent.IsKind(SyntaxKind.Argument) && 451targetToken.Parent.Parent.Parent.IsKind(SyntaxKind.ArgumentList)) 453var owner = targetToken.Parent.Parent.Parent.Parent; 587targetToken.Parent.Parent is AccessorDeclarationSyntax) 602targetToken.Parent.Parent is AccessorDeclarationSyntax) 614if (node?.Parent is TypeDeclarationSyntax(SyntaxKind.InterfaceDeclaration) typeDecl) 616else if (node?.Parent is DelegateDeclarationSyntax delegateDecl) 647targetToken.Parent.Parent.IsKind(SyntaxKind.TypeParameter) && 648IsGenericInterfaceOrDelegateTypeParameterList(targetToken.Parent.Parent.Parent))
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs\SyntaxTreeExtensions.cs (73)
99parent = attributeList.Parent; 179token.Parent.Parent is BaseTypeDeclarationSyntax) 196token.Parent.Parent is BaseTypeDeclarationSyntax) 208token.Parent.Parent is MemberDeclarationSyntax) 228var container = token.Parent.Parent?.Parent; 312member.Parent is BaseTypeDeclarationSyntax; 492token.Parent.Parent is MemberDeclarationSyntax) 519var container = token.Parent?.Parent?.Parent; 596var container = token.Parent?.Parent; 778if (token.Parent is BaseListSyntax { Parent: not EnumDeclarationSyntax }) 833token.Parent.Parent.IsParentKind(SyntaxKind.BaseList)) 949{ Parent: TypeSyntax { Parent.RawKind: (int)SyntaxKind.FunctionPointerParameter } } => true, 1008name.Parent?.Parent is ConditionalExpressionSyntax conditional && 1010conditional.Parent.IsParentKind(SyntaxKind.GlobalStatement)) 1082token.Parent.Parent is ParameterSyntax parameter2 && 1083parameter2.Parent is ParameterListSyntax parameterList2 && 1098parameter3 = scopedIdentifierName.Parent as ParameterSyntax; 1102if (parameter3 is { Parent: ParameterListSyntax parameterList3 } && 1253parent = token.Parent.Parent; 1255else if (token.IsKind(SyntaxKind.IdentifierToken) && token.Text == "scoped" && token.Parent is IdentifierNameSyntax scopedIdentifierName && scopedIdentifierName.Parent.IsKind(SyntaxKind.Parameter)) 1257parent = scopedIdentifierName.Parent.Parent; 1336leftToken.Parent.Parent is (kind: SyntaxKind.QualifiedName or SyntaxKind.SimpleMemberAccessExpression)) 1338var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent.Parent); 1420leftToken.Parent is SingleVariableDesignationSyntax { Parent: DeclarationPatternSyntax }; 1504while (typeSyntax.Parent is TypeSyntax parentTypeSyntax) 1509if (typeSyntax.Parent is BinaryExpressionSyntax binaryExpressionSyntax && 1540if (node is CaseSwitchLabelSyntax { Parent: SwitchSectionSyntax }) 1568possibleCommaOrParen.Parent?.Parent is ParenthesizedLambdaExpressionSyntax parenthesizedLambda) 1636if (outer.Parent is ForEachStatementSyntax @foreach) 1657if (node.Parent.IsKind(SyntaxKind.ParenthesizedExpression)) 1659node = node.Parent; 1663if (node.Parent.IsKind(SyntaxKind.Argument) && node.Parent.Parent.IsKind(SyntaxKind.TupleExpression)) 1665node = node.Parent.Parent; 1677leftToken.Parent?.Parent is InvocationExpressionSyntax invocation) 1785parent.Parent?.Parent is (kind: 1793if (parent.Parent is (kind: SyntaxKind.ForEachStatement or SyntaxKind.ForEachVariableStatement)) 1853if (token.IsKind(SyntaxKind.IdentifierToken) && token.Text == "scoped" && token.Parent.IsKind(SyntaxKind.IdentifierName) && token.Parent.Parent is VariableDeclarationSyntax or ExpressionStatementSyntax or IncompleteMemberSyntax) 2069equalsValue.Parent.IsParentKind(SyntaxKind.VariableDeclaration)) 2341type.Parent?.Parent is LocalDeclarationStatementSyntax declStatement) 2506token.Parent?.Parent is ObjectCreationExpressionSyntax objectCreation) 2736=> token.Parent?.Parent is InvocationExpressionSyntax invocation && 2753while (parentMemberAccess.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression)) 2755parentMemberAccess = parentMemberAccess.Parent; 2758if (parentMemberAccess.Parent.IsKind(SyntaxKind.Argument) && 2759parentMemberAccess.Parent.IsChildNode<ArgumentListSyntax>(a => a.Arguments.FirstOrDefault())) 2761token = ((ArgumentListSyntax)parentMemberAccess.Parent.Parent!).OpenParenToken; 2769while (parentQualifiedName.Parent.IsKind(SyntaxKind.QualifiedName)) 2771parentQualifiedName = parentQualifiedName.Parent; 2774if (parentQualifiedName.Parent.IsKind(SyntaxKind.Argument) && 2775parentQualifiedName.Parent.IsChildNode<ArgumentListSyntax>(a => a.Arguments.FirstOrDefault())) 2777token = ((ArgumentListSyntax)parentQualifiedName.Parent.Parent!).OpenParenToken; 2786token.Parent.Parent is InvocationExpressionSyntax invocationExpression && 2853nameExpr = (ExpressionSyntax)nameExpr.Parent!; 2864token.Parent.Parent is (kind: SyntaxKind.ObjectInitializerExpression or SyntaxKind.CollectionInitializerExpression)) 2873if (token.Parent.Parent is ArgumentSyntax { RefOrOutKeyword.RawKind: (int)SyntaxKind.OutKeyword }) 2909if (name.Parent != null) 2911switch (name.Parent.Kind()) 2914return ((QualifiedNameSyntax)name.Parent).Right == name; 2916return ((AliasQualifiedNameSyntax)name.Parent).Name == name; 2918return ((MemberAccessExpressionSyntax)name.Parent).Name == name; 3021token.Parent?.Parent is BinaryExpressionSyntax(SyntaxKind.IsExpression) binaryExpression && 3028token.Parent?.Parent is DeclarationPatternSyntax declarationExpression &&
MakeLocalFunctionStaticCodeFixHelper.cs (1)
76if (identifierNode.Parent is InvocationExpressionSyntax invocation)
UseExplicitTypeCodeFixProvider.cs (4)
60var declarationContext = node.Parent; 64declarationContext = declarationContext.Parent; 94RoslynDebug.AssertNotNull(typeSyntax.Parent); 96var tupleTypeSymbol = GetConvertedType(semanticModel, typeSyntax.Parent, cancellationToken);
UseExpressionBodyCodeFixProvider.cs (1)
92if (declaration.Parent is AccessorListSyntax accessorList)
UseSimpleUsingStatementCodeFixProvider.cs (1)
54var blocks = topmostUsingStatements.Select(u => (BlockSyntax)u.Parent);
UseThrowExpressionCodeFixProvider.cs (1)
69if (throwStatementExpression.Parent is ThrowStatementSyntax throwStatement &&
Microsoft.CodeAnalysis.CSharp.EditorFeatures (15)
AutomaticCompletion\AutomaticLineEnderCommandHandler.cs (1)
311=> n is ArrowExpressionClauseSyntax ? n.Parent : n;
AutomaticCompletion\AutomaticLineEnderCommandHandler_Helpers.cs (8)
244if (ifStatementNode.Else == null && ifStatementNode.Parent is BlockSyntax) 312if (elseClauseNode.Parent is IfStatementSyntax { Parent: BlockSyntax }) 319elseClauseNode.Parent!, 563var parent = accessorDeclarationNode.Parent; 564var parentOfParent = parent?.Parent; 799&& accessorDeclarationNode.Parent != null 800&& accessorDeclarationNode.Parent.IsParentKind(SyntaxKind.PropertyDeclaration)
CompleteStatement\CompleteStatementCommandHandler.cs (1)
242currentNode = currentNode.Parent;
DocumentationComments\XmlTagCompletionCommandHandler.cs (4)
73token.Parent?.Parent is XmlElementSyntax parentElement && 101if (parentStartTag.Parent?.Parent is XmlElementSyntax grandParentElement) 124if (parentStartTag.Parent is not XmlElementSyntax parentElement)
StringCopyPaste\StringCopyPasteHelpers.cs (1)
248for (var current = node; current != null; current = current.Parent)
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (9)
EditAndContinue\ActiveStatementTests.cs (1)
11302if (node.Parent is MethodDeclarationSyntax methodDecl && methodDecl.Identifier.Text == "G")
EditAndContinue\CSharpEditAndContinueAnalyzerTests.cs (1)
61node = node.Parent;
Formatting\CodeCleanupTests.TestFixers.cs (6)
37Assumes.NotNull(node?.Parent); 38var newRoot = root.RemoveNode(node.Parent, SyntaxRemoveOptions.KeepNoTrivia); 106Assumes.NotNull(node?.Parent); 107var newRoot = root.RemoveNode(node.Parent, SyntaxRemoveOptions.KeepNoTrivia); 162Assumes.NotNull(node?.Parent); 163var newRoot = root.RemoveNode(node.Parent, SyntaxRemoveOptions.KeepNoTrivia);
TypeInferrer\TypeInferrerTests.cs (1)
79currentNode = currentNode.Parent;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (1)
Emit\EditAndContinue\EditAndContinueTestBase.cs (1)
127node = node.Parent;
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (4)
Attributes\AttributeTests.cs (1)
5422var m = (ExpressionSyntax)cm.SyntaxTrees[0].GetCompilationUnitRoot().FindToken(index).Parent.Parent;
Diagnostics\DiagnosticAnalyzerTests.cs (1)
807switch (CSharpExtensions.Kind(context.Node.Parent))
Semantics\PatternMatchingTests_ListPatterns.cs (2)
3653typeInfo = model.GetTypeInfo(designation.Parent); 4424typeInfo = model.GetTypeInfo(designation.Parent);
Microsoft.CodeAnalysis.CSharp.Features (744)
AbstractAssignOutParametersCodeFixProvider.cs (5)
68return location.Parent is BlockSyntax 69|| location.Parent is SwitchSectionSyntax 70|| location.Parent.IsEmbeddedStatementOwner(); 75return location.Parent is ArrowExpressionClauseSyntax or LambdaExpressionSyntax; 83for (var current = node; current != null; current = current.Parent)
AddImport\CSharpAddImportFeatureService.cs (7)
68else if (node.Parent.IsKind(SyntaxKind.CollectionInitializerExpression)) 87var memberAccessName = (node.Parent as MemberAccessExpressionSyntax)?.Name; 88var conditionalAccessName = (((node.Parent as ConditionalAccessExpressionSyntax)?.WhenNotNull as InvocationExpressionSyntax)?.Expression as MemberBindingExpressionSyntax)?.Name; 125var memberAccess = nameNode.Parent as MemberAccessExpressionSyntax; 126var memberBinding = nameNode.Parent as MemberBindingExpressionSyntax; 168node.AncestorsAndSelf().Any(n => n is QueryExpressionSyntax && !(n.Parent is QueryContinuationSyntax)); 631if (node.Parent.IsKind(SyntaxKind.CollectionInitializerExpression))
AddInheritdocCodeFixProvider.cs (4)
65if (node.IsKind(SyntaxKind.VariableDeclarator) && node.Parent?.Parent?.IsKind(SyntaxKind.EventFieldDeclaration) == false) 96if (node.IsKind(SyntaxKind.VariableDeclarator) && !(node = node.Parent?.Parent).IsKind(SyntaxKind.EventFieldDeclaration))
ArgumentFixer.cs (1)
31var newInvocation = newArgumentList.Parent!;
ArrowExpressionClausePlacementDiagnosticAnalyzer.cs (1)
63if (arrowExpressionClause.Parent is AccessorDeclarationSyntax)
AssignOutParametersAtStartCodeFixProvider.cs (2)
44statement.Parent is BlockSyntax block && 46block.Parent == container)
AttributeArgumentFixer.cs (1)
31var newAttribute = (AttributeSyntax)newArgumentList.Parent!;
BraceCompletion\CurlyBraceCompletionService.cs (2)
156var currentTokenParentParent = currentToken.Parent?.Parent; 212var parentKind = node?.Parent?.Kind();
ChangeSignature\ChangeSignatureFormattingRule.cs (2)
38if (node.Parent != null) 40var baseToken = node.Parent.GetFirstToken();
ChangeSignature\CSharpChangeSignatureService.cs (1)
189for (var current = node; current != null; current = current.Parent)
CodeFixes\GenerateMethod\GenerateDeconstructMethodCodeFixProvider.cs (1)
83type = model.GetTypeInfo(deconstruction.Parent).Type;
CodeFixes\Suppression\CSharpSuppressionCodeFixProvider.cs (1)
214return attributeSyntax.Parent is AttributeListSyntax attributeList && attributeList.Attributes.Count == 1;
CodeLens\CSharpCodeLensDisplayInfoService.cs (8)
54node = node.Parent; 59node = node.Parent; 96if (node.Parent.IsKind(SyntaxKind.AccessorList) && 97node.Parent.Parent.IsKind(SyntaxKind.IndexerDeclaration)) 99return GetDisplayName(semanticModel, node.Parent.Parent); 186scopeNode = scopeNode.Parent;
CodeRefactorings\ConvertLocalFunctionToMethod\CSharpConvertLocalFunctionToMethodCodeRefactoringProvider.cs (2)
53if (localFunction.Parent is not BlockSyntax parentBlock) 194if (node.Parent is InvocationExpressionSyntax invocation)
CodeRefactorings\CSharpRefactoringHelpersService.cs (2)
101var declaration = declarator.Parent; 102if (declaration?.Parent is LocalDeclarationStatementSyntax localDeclarationStatement)
CodeRefactorings\InlineMethod\CSharpInlineMethodRefactoringProvider.cs (1)
109var parent = syntaxNode.Parent;
CodeRefactorings\InlineTemporary\InlineTemporaryCodeRefactoringProvider.cs (24)
57if (variableDeclarator.Parent is not VariableDeclarationSyntax variableDeclaration || 58variableDeclaration.Parent is not LocalDeclarationStatementSyntax localDeclarationStatement) 111if (identifierNode?.Parent is ArgumentSyntax argument) 116else if (identifierNode.Parent.Kind() is 125else if (identifierNode.Parent is AssignmentExpressionSyntax binaryExpression && 274var variableDeclaration = (VariableDeclarationSyntax)variableDeclarator.Parent; 275var localDeclaration = (LocalDeclarationStatementSyntax)variableDeclaration.Parent; 276var scope = localDeclaration.Parent; 279scope = scope.Parent; 282scope = parentExpressions.LastOrDefault()?.Parent ?? scope; 285scope = scope.Parent; 303var localDeclaration = (LocalDeclarationStatementSyntax)variableDeclaration.Parent; 317var variableDeclaration = (VariableDeclarationSyntax)variableDeclarator.Parent; 323var localDeclaration = (LocalDeclarationStatementSyntax)variableDeclaration.Parent; 348var newLocalDeclaration = (LocalDeclarationStatementSyntax)FindDeclarator(newScope).Parent.Parent; 352if (newLocalDeclaration?.Parent is LabeledStatementSyntax labeledStatement) 359if (newLocalDeclaration?.Parent is GlobalStatementSyntax globalStatement) 387var isVar = ((VariableDeclarationSyntax)variableDeclarator.Parent).Type.IsVar; 438var parent = node.Parent; 440parent = parent.Parent; 444parent = parent.Parent; 449else if (parent?.Parent is AssignmentExpressionSyntax(SyntaxKind.SimpleAssignmentExpression) assignment) 454parent = parent.Parent;
CodeRefactorings\InlineTemporary\InlineTemporaryCodeRefactoringProvider.ReferenceRewriter.cs (1)
79if (node.Parent is TupleExpressionSyntax tupleExpression &&
CodeRefactorings\SyncNamespace\CSharpChangeNamespaceService.cs (6)
135RoslynDebug.Assert(nameRef.Parent is object); 136oldNode = nameRef.Parent; 152RoslynDebug.Assert(nameRef.Parent is object); 153oldNode = nameRef.Parent; 166else if (nameRef.Parent is NameMemberCrefSyntax crefName && crefName.Parent is QualifiedCrefSyntax qualifiedCref)
CodeRefactorings\UseExplicitOrImplicitType\AbstractUseTypeCodeRefactoringProvider.cs (5)
100if (type?.Parent is RefTypeSyntax) 101type = (TypeSyntax)type.Parent; 103if (type?.Parent is VariableDeclarationSyntax) 104return type.Parent; 113var typeNodeParent = typeNode?.Parent;
CodeRefactorings\UseRecursivePatterns\UseRecursivePatternsCodeRefactoringProvider.cs (8)
79WhenClauseSyntax { Parent: CasePatternSwitchLabelSyntax switchLabel } whenClause => CombineWhenClauseCondition(switchLabel.Pattern, whenClause.Condition, model), 80WhenClauseSyntax { Parent: SwitchExpressionArmSyntax switchArm } whenClause => CombineWhenClauseCondition(switchArm.Pattern, whenClause.Condition, model), 90WhenClauseSyntax { Parent: CasePatternSwitchLabelSyntax } => true, 91WhenClauseSyntax { Parent: SwitchExpressionArmSyntax } => true, 106if (leftTarget.Parent is IsPatternExpressionSyntax isPatternExpression && 155switch (receiver.GetRequiredParent().Parent) 258ExpressionSyntax constant => originalReceiver.Parent switch 300if (designation is not { Parent: PatternSyntax(not SyntaxKind.ListPattern) containingPattern })
Completion\CompletionProviders\AttributeNamedParameterCompletionProvider.cs (1)
73if (token.Parent!.Parent is not AttributeSyntax attributeSyntax || token.Parent is not AttributeArgumentListSyntax attributeArgumentList)
Completion\CompletionProviders\AwaitCompletionProvider.cs (1)
70if (parent is QualifiedNameSyntax { Parent: LocalFunctionStatementSyntax localFunction } qualifiedName &&
Completion\CompletionProviders\CSharpSuggestionModeCompletionProvider.cs (3)
134return token.Parent.Parent is not null and ParenthesizedLambdaExpressionSyntax; 178&& token.Parent.Parent is InvocationExpressionSyntax invocation 212for (var current = patternSyntax; current != null; current = current.Parent as PatternSyntax)
Completion\CompletionProviders\DeclarationName\DeclarationNameInfo.cs (8)
151var argument = token.Parent.Parent as ArgumentSyntax // var is child of ArgumentSyntax, eg. Goo(out var $$ 152?? token.Parent.Parent?.Parent as ArgumentSyntax; // var is child of DeclarationExpression 326v => v.Parent is FieldDeclarationSyntax f ? f.Modifiers : null, 365modifierGetter: v => v.Parent is LocalDeclarationStatementSyntax localDeclaration 404modifierGetter: v => v.Parent is UsingStatementSyntax or ForStatementSyntax 455token.GetAncestor<ParameterSyntax>()?.Parent?.Parent is (kind: SyntaxKind.RecordDeclaration or SyntaxKind.RecordStructDeclaration))
Completion\CompletionProviders\DeclarationName\DeclarationNameRecommender.cs (2)
292if (parameterSyntax is not { Type: { } parameterType, Parent.Parent: BaseMethodDeclarationSyntax baseMethod })
Completion\CompletionProviders\ExplicitInterfaceTypeCompletionProvider.cs (1)
82if (typeNode.Parent is TypeSyntax parentType && parentType.Span.End < position)
Completion\CompletionProviders\NamedParameterCompletionProvider.cs (1)
83var parameterLists = GetParameterLists(semanticModel, position, argumentList.Parent!, cancellationToken);
Completion\CompletionProviders\ObjectAndWithInitializerCompletionProvider.cs (3)
80if (token.Parent.Parent is not ExpressionSyntax expression) 125if (token.Parent == null || token.Parent.Parent == null) 148var parent = token.Parent?.Parent;
Completion\CompletionProviders\PropertySubPatternCompletionProvider.cs (7)
60var propertyPatternType = semanticModel.GetTypeInfo((PatternSyntax)propertyPatternClause.Parent!, cancellationToken).ConvertedType; 183return token.Parent is PropertyPatternClauseSyntax { Parent: PatternSyntax } propertyPatternClause 201while (memberAccess.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression)) 203memberAccess = (MemberAccessExpressionSyntax)memberAccess.Parent; 206if (memberAccess is { Parent.Parent: SubpatternSyntax { Parent: PropertyPatternClauseSyntax found } })
Completion\CompletionProviders\XmlDocCommentCompletionProvider.cs (11)
119token.Parent.Parent.IsParentKind(SyntaxKind.XmlElement)) 132if (token.Parent.Parent is XmlElementSyntax xmlElement) 138token.Parent.Parent!.Parent is XmlElementSyntax nestedXmlElement) 143if (token.Parent.Parent is DocumentationCommentTriviaSyntax || 144(token.Parent.Parent.IsKind(SyntaxKind.XmlEmptyElement) && token.Parent.Parent.Parent is DocumentationCommentTriviaSyntax)) 206(elementName, attributes) = GetElementNameAndAttributes(token.Parent.Parent!); 220(elementName, attributes) = GetElementNameAndAttributes(attributeSyntax.Parent!); 265token.Parent?.Parent is XmlNameAttributeSyntax xmlName)
Completion\KeywordRecommenders\AssemblyKeywordRecommender.cs (3)
27var parentSyntax = attributeList.Parent; 36case BaseTypeDeclarationSyntax baseType when baseType.Parent is CompilationUnitSyntax: 40case IncompleteMemberSyntax incompleteMember when incompleteMember.Parent is CompilationUnitSyntax:
Completion\KeywordRecommenders\BaseKeywordRecommender.cs (2)
54token.Parent.Parent?.Parent is (kind: SyntaxKind.ClassDeclaration or SyntaxKind.RecordDeclaration))
Completion\KeywordRecommenders\NamespaceKeywordRecommender.cs (3)
118!token.Parent.Parent.IsKind(SyntaxKind.FileScopedNamespaceDeclaration)) 129token.Parent.Parent is not TypeDeclarationSyntax) 145token.Parent.Parent is not TypeDeclarationSyntax)
Completion\KeywordRecommenders\RefKeywordRecommender.cs (1)
180|| parent?.Parent?.Kind() == SyntaxKind.VariableDeclarator;
Completion\KeywordRecommenders\WhenKeywordRecommender.cs (1)
37if (pattern?.Parent is SwitchExpressionArmSyntax)
Completion\KeywordRecommenders\WhereKeywordRecommender.cs (1)
83if (baseList?.Parent is TypeDeclarationSyntax typeDecl)
ConvertForEachToFor\CSharpConvertForEachToForCodeRefactoringProvider.cs (1)
49return foreachInfo.ForEachStatement.Parent.IsKind(SyntaxKind.Block);
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.cs (1)
46if (syntaxToRemove is (IfStatementSyntax or BlockSyntax) and { Parent: ElseClauseSyntax elseClause } &&
ConvertLinq\ConvertForEachToLinqQuery\CSharpConvertForEachToLinqQueryProvider.cs (2)
292if (forEachInfo.ForEachStatement?.Parent is BlockSyntax block && 293block.Parent == memberDeclarationSyntax)
ConvertLinq\CSharpConvertLinqQueryToForEachProvider.cs (11)
219var identifier = ((QueryBodySyntax)selectClause.Parent).Continuation.Identifier; 229var parent = _source.WalkUpParentheses().Parent; 270currentNode = currentNode.Parent; 286if (memberAccessExpression.Parent is InvocationExpressionSyntax invocationExpression) 426var invocationParent = invocationExpression.WalkUpParentheses().Parent; 468if (invocationParent?.Parent.Kind() is 473((VariableDeclarationSyntax)invocationParent.Parent.Parent).Variables.Count == 1) 475var variableDeclarator = ((VariableDeclaratorSyntax)invocationParent.Parent); 478((VariableDeclarationSyntax)variableDeclarator.Parent).Type, 955node = node.Parent;
ConvertProgram\ConvertProgramTransform_TopLevelStatements.cs (4)
32var typeDeclaration = (TypeDeclarationSyntax?)methodDeclaration.Parent; 43if (typeDeclaration.Parent is not BaseNamespaceDeclarationSyntax namespaceDeclaration) 109var namespaceDeclaration = typeDeclaration.Parent as BaseNamespaceDeclarationSyntax; 223typeDeclaration.Parent is NamespaceDeclarationSyntax namespaceDeclaration)
ConvertProgramAnalysis_TopLevelStatements.cs (1)
61methodDeclaration.Parent is not TypeDeclarationSyntax containingTypeDeclaration ||
ConvertSwitchStatementToExpressionCodeFixProvider.cs (2)
103if (declaratorToRemoveNode.Parent is VariableDeclarationSyntax { Parent: LocalDeclarationStatementSyntax declStatement, Variables.Count: 1 })
ConvertSwitchStatementToExpressionDiagnosticAnalyzer.Analyzer.cs (2)
65if (declaration.Parent == node.Parent && declarator.Initializer is null)
ConvertToRecordEngine.cs (4)
206(expression.Parent as AssignmentExpressionSyntax)?.Parent as ExpressionStatementSyntax) 477.Select(referenceLocations => referenceLocations.Location.FindNode(cancellationToken).Parent) 497expression => objectCreationExpression.Initializer!.Expressions.IndexOf(expression.Parent));
CSharpAddExplicitCastCodeFixProvider.cs (4)
80&& targetArgument.Parent is ArgumentListSyntax argumentList 81&& argumentList.Parent is SyntaxNode invocationNode) 88&& targetAttributeArgument.Parent is AttributeArgumentListSyntax attributeArgumentList 89&& attributeArgumentList.Parent is AttributeSyntax attributeNode)
CSharpAddParameterCodeFixProvider.cs (1)
63var constructorDeclaration = constructorInitializer.Parent;
CSharpAddRequiredExpressionParenthesesDiagnosticAnalyzer.cs (4)
77=> binaryLike.Parent is ConstantPatternSyntax 78? binaryLike.Parent.Parent as ExpressionSyntax 79: binaryLike.Parent as ExpressionSyntax;
CSharpAddRequiredPatternParenthesesDiagnosticAnalyzer.cs (1)
45=> binaryLike.Parent as PatternSyntax;
CSharpAsAndNullCheckCodeFixProvider.cs (4)
76if (statement.Parent is BlockSyntax or SwitchSectionSyntax) 78statementParentScopes.Add(statement.Parent); 111if (declarator.Parent is VariableDeclarationSyntax declaration && 112declaration.Parent is LocalDeclarationStatementSyntax localDeclaration &&
CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (1)
288if (statement.Parent is BlockSyntax block)
CSharpAsAndNullCheckDiagnosticAnalyzer.cs (4)
102var localStatement = declarator.Parent?.Parent; 103var enclosingBlock = localStatement?.Parent; 241if (identifierName.Parent is AssignmentExpressionSyntax assignmentExpression &&
CSharpChangeToIEnumerableCodeFixProvider.cs (4)
94var oldAccessor = node.Parent?.Parent as PropertyDeclarationSyntax; 100var oldIndexer = node.Parent?.Parent as IndexerDeclarationSyntax;
CSharpConvertTypeOfToNameOfDiagnosticAnalyzer.cs (1)
37return node is TypeOfExpressionSyntax { Parent: MemberAccessExpressionSyntax } typeofExpression &&
CSharpDeclarationComputer.cs (1)
201if (node.Parent is BasePropertyDeclarationSyntax parentProperty)
CSharpDeclareAsNullableCodeFixProvider.cs (19)
77if (node.Parent is AssignmentExpressionSyntax assignment) 138if (node.Parent is (kind: SyntaxKind.ReturnStatement or SyntaxKind.YieldReturnStatement)) 183if (node.Parent?.Parent?.Parent is VariableDeclarationSyntax variableDeclaration) 190if (node.Parent is AssignmentExpressionSyntax assignment) 196if (syntax is VariableDeclaratorSyntax { Parent: VariableDeclarationSyntax { Variables.Count: 1 } declaration }) 207if (syntax is VariableDeclaratorSyntax { Parent: VariableDeclarationSyntax { Variables.Count: 1 } declaration }) 232if (node.Parent is ArgumentSyntax argument && argument.Parent?.Parent is InvocationExpressionSyntax invocation) 258if (node.Parent?.Parent is PropertyDeclarationSyntax propertyDeclaration) 268if (node is VariableDeclaratorSyntax { Parent: VariableDeclarationSyntax { Parent: FieldDeclarationSyntax, Variables.Count: 1 } declarationSyntax }) 272if (node.Parent?.Parent is ParameterSyntax optionalParameter) 280node.Parent?.Parent is MethodDeclarationSyntax arrowMethod)
CSharpFixIncorrectConstraintCodeFixProvider.cs (1)
47if (constraint.Parent is not TypeParameterConstraintClauseSyntax)
CSharpInlineDeclarationCodeFixProvider.cs (5)
61declarationsToRemove.Add((LocalDeclarationStatementSyntax)diagnostic.AdditionalLocations[0].FindNode(cancellationToken).Parent.Parent); 121var declaration = (VariableDeclarationSyntax)declarator.Parent; 130var localDeclarationStatement = (LocalDeclarationStatementSyntax)declaration.Parent; 131var block = (BlockSyntax)localDeclarationStatement.Parent;
CSharpInlineDeclarationDiagnosticAnalyzer.cs (8)
93if (argumentNode.Parent is not ArgumentListSyntax argumentList) 98var invocationOrCreation = argumentList.Parent; 142var localDeclaration = localDeclarator.Parent as VariableDeclarationSyntax; 143if (localDeclaration?.Parent is not LocalDeclarationStatementSyntax localStatement) 172if (localStatement.Parent is not BlockSyntax enclosingBlockOfLocalStatement) 271for (var current = argumentExpression; current != null; current = current.Parent) 273if (current.Parent is LambdaExpressionSyntax lambda && 313? current.Parent
CSharpIsAndCastCheckDiagnosticAnalyzer.cs (3)
86var ifStatementScope = ifStatement.Parent.IsKind(SyntaxKind.Block) 87? ifStatement.Parent 163if (!isExpression.Parent.IsKind(SyntaxKind.IfStatement, out ifStatement))
CSharpMakeMemberRequiredCodeFixProvider.cs (4)
56if (node is not (PropertyDeclarationSyntax or VariableDeclaratorSyntax { Parent.Parent: FieldDeclarationSyntax })) 125if (memberDeclarator is VariableDeclaratorSyntax { Parent.Parent: FieldDeclarationSyntax fieldDeclaration })
CSharpMakeMemberStaticCodeFixProvider.cs (4)
39if (node.IsKind(SyntaxKind.VariableDeclarator) && node.Parent is VariableDeclarationSyntax { Parent: FieldDeclarationSyntax or EventFieldDeclarationSyntax }) 41memberDeclaration = node.Parent.Parent;
CSharpMakeStatementAsynchronousCodeFixProvider.cs (2)
101if (node.Parent is (kind: 106return node.Parent;
CSharpMakeStructMemberReadOnlyCodeFixProvider.cs (2)
59else if (declaration is AccessorDeclarationSyntax { Parent: AccessorListSyntax { Parent: BasePropertyDeclarationSyntax property } accessorList } accessor)
CSharpNamingStyleDiagnosticAnalyzer.cs (2)
32Parent: ParameterListSyntax 34Parent: RecordDeclarationSyntax
CSharpRemoveUnnecessaryDiscardDesignationCodeFixProvider.cs (2)
51switch (discard.Parent) 54if (declarationPattern.Parent is IsPatternExpressionSyntax isPattern)
CSharpRemoveUnnecessaryDiscardDesignationDiagnosticAnalyzer.cs (3)
52if (discard.Parent is DeclarationPatternSyntax declarationPattern) 56if (declarationPattern.Parent is not IsPatternExpressionSyntax) 78else if (discard.Parent is RecursivePatternSyntax recursivePattern)
CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (2)
55switch (parenthesizedExpression.Parent) 80case ConstantPatternSyntax constantPattern when constantPattern.Parent is IsPatternExpressionSyntax isPatternExpression:
CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (2)
238node1 = node1.Parent; 239node2 = node2.Parent;
CSharpRemoveUnnecessaryPatternParenthesesDiagnosticAnalyzer.cs (2)
51if (parenthesizedPattern.Parent is not PatternSyntax) 60if (parenthesizedPattern.Parent is not BinaryPatternSyntax parentPattern)
CSharpRemoveUnusedLocalFunctionCodeFixProvider.cs (1)
61editor.RemoveNode(localFunction.Parent is GlobalStatementSyntax globalStatement ? globalStatement : localFunction);
CSharpRemoveUnusedParametersAndValuesDiagnosticAnalyzer.cs (2)
66var statementAncestor = unusedSymbolWriteOperation.Syntax.FirstAncestorOrSelf<StatementSyntax>()?.Parent; 100if (unusedDefinition.Syntax.Parent is ForEachStatementSyntax forEachStatement &&
CSharpRemoveUnusedValuesCodeFixProvider.cs (5)
46=> declarator.Parent?.Parent as LocalDeclarationStatementSyntax; 60variableDeclarator.Parent is VariableDeclarationSyntax parent) 137editor.InsertBefore(switchCaseBlock.Parent, declarationStatement); 170if (originalCompoundAssignment.Parent.IsKind(SyntaxKind.ExpressionStatement))
CSharpSimplifyInterpolationHelpers.cs (1)
22ConditionalExpressionSyntax { Parent: ParenthesizedExpressionSyntax parent } => parent,
CSharpUseCompoundAssignmentCodeFixProvider.cs (1)
57if (currentAssignment.Parent is ForStatementSyntax forStatement &&
CSharpUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
52if (ifStatement.Parent is ElseClauseSyntax &&
CSharpUseConditionalExpressionForReturnCodeFixProvider.cs (1)
38if (ifStatement.Parent is ElseClauseSyntax &&
CSharpUseDeconstructionCodeFixProvider.cs (2)
77var variableDeclaration = (VariableDeclarationSyntax)variableDeclarator.Parent; 84variableDeclaration.Parent,
CSharpUseDeconstructionDiagnosticAnalyzer.cs (3)
101if (variableDeclaration is not { Parent: LocalDeclarationStatementSyntax localDeclaration, Variables: [{ Initializer.Value: { } initializerValue } declarator] }) 108var searchScope = localDeclaration.Parent is GlobalStatementSyntax globalStatement 257if (identifierName.Parent is not MemberAccessExpressionSyntax memberAccess)
CSharpUseImplicitObjectCreationDiagnosticAnalyzer.cs (11)
67if (objectCreation.Parent.IsKind(SyntaxKind.EqualsValueClause) && 68objectCreation.Parent.Parent.IsKind(SyntaxKind.VariableDeclarator) && 69objectCreation.Parent.Parent.Parent is VariableDeclarationSyntax variableDeclaration && 86else if (objectCreation.Parent.IsKind(SyntaxKind.ArrowExpressionClause)) 88typeNode = objectCreation.Parent.Parent switch 95AccessorDeclarationSyntax(SyntaxKind.GetAccessorDeclaration) { Parent: AccessorListSyntax { Parent: BasePropertyDeclarationSyntax baseProperty } } accessor => baseProperty.Type,
CSharpUseInferredMemberNameDiagnosticAnalyzer.cs (2)
39if (nameColon.Parent is not ArgumentSyntax argument) 66if (nameEquals.Parent is not AnonymousObjectMemberDeclaratorSyntax anonCtor)
CSharpUseLocalFunctionDiagnosticAnalyzer.cs (14)
93if (localDeclaration.Parent is not BlockSyntax block) 187anonymousFunction.Parent.IsParentKind(SyntaxKind.VariableDeclarator) && 188anonymousFunction.Parent.Parent.IsParentKind(SyntaxKind.VariableDeclaration) && 189anonymousFunction.Parent.Parent.Parent.IsParentKind(SyntaxKind.LocalDeclarationStatement, out localDeclaration)) 232if (nodeToCheck.Parent is BinaryExpressionSyntax) 239if (nodeToCheck.Parent is InvocationExpressionSyntax invocationExpression) 243else if (nodeToCheck.Parent is MemberAccessExpressionSyntax memberAccessExpression) 245if (memberAccessExpression.Parent is InvocationExpressionSyntax explicitInvocationExpression && 318if (anonymousFunction?.Parent is AssignmentExpressionSyntax(SyntaxKind.SimpleAssignmentExpression) assignment && 319assignment.Parent is ExpressionStatementSyntax expressionStatement && 320expressionStatement.Parent is BlockSyntax block)
CSharpUseNameofInNullableAttributeDiagnosticAnalyzer.cs (4)
115var attributeList = attribute.Parent as AttributeListSyntax; 116var container = attributeList?.Parent; 120var parameterList = container.Parent as BaseParameterListSyntax; 121container = parameterList?.Parent;
CSharpUseNullPropagationCodeFixProvider.cs (1)
56var elseClauseSyntax = (ElseClauseSyntax)ifStatement.Parent!;
CSharpUsePatternCombinatorsDiagnosticAnalyzer.cs (1)
129return node.WalkUpParentheses().Parent switch
CSharpUseRangeOperatorCodeFixProvider.cs (1)
191while (expr?.Parent is CheckedExpressionSyntax parent)
Debugging\CSharpProximityExpressionsService.Worker.cs (12)
87if (block != null && block?.Parent is CatchClauseSyntax catchClause && 97? (BlockSyntax)_parentStatement.Parent 104=> _parentStatement.Parent is BlockSyntax parentBlockOpt && parentBlockOpt.Statements.FirstOrDefault() == _parentStatement; 120if (block != null && block.Parent is MemberDeclarationSyntax memberDeclaration) 126&& _parentStatement.Parent is GlobalStatementSyntax { Parent: CompilationUnitSyntax compilationUnit } globalStatement 140block.Parent is AccessorDeclarationSyntax && 141block.Parent.Parent is AccessorListSyntax && 142block.Parent.Parent.Parent is IndexerDeclarationSyntax indexerDeclaration)
Debugging\DataTipInfoGetter.cs (1)
60return new DebugDataTipInfo(expression.Parent.Span, text: null);
Diagnostics\Analyzers\CSharpUnboundIdentifiersDiagnosticAnalyzer.cs (1)
29=> node.Parent is InvocationExpressionSyntax invocation && invocation.IsNameOfInvocation();
DocumentationComments\CSharpDocumentationCommentSnippetService.cs (2)
188for (SyntaxNode? current = exceptionType; current != null; current = current?.Parent) 190if (current is not BlockSyntax { Parent: TryStatementSyntax tryStatement } block ||
EditAndContinue\BreakpointSpans.cs (8)
75node = node.Parent; 374if (switchLabel.Parent is not SwitchSectionSyntax switchSection || switchSection.Statements.Count == 0) 592=> declaration.Parent!.Kind() switch 661var variableDeclaration = (VariableDeclarationSyntax)variableDeclarator.Parent!; 743if (expression == null || expression.Parent == null) 748var parent = expression.Parent; 797if (declaration is VariableDeclaratorSyntax { Parent.Parent: BaseFieldDeclarationSyntax fieldDeclaration } variableDeclarator)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (117)
118RoslynDebug.Assert(current.Parent.IsKind(SyntaxKind.VariableDeclaration)); 120switch (current.Parent.Parent!.Kind()) 128current = current.Parent; 133if (current.Parent is (kind: SyntaxKind.PropertyDeclaration or SyntaxKind.IndexerDeclaration)) 142current = current.Parent; 238var fieldDeclaration = (BaseFieldDeclarationSyntax)declarator.Parent!.Parent!; 299if (bodyOrMatchRoot.Parent.IsKind(SyntaxKind.ConstructorDeclaration)) 301return bodyOrMatchRoot.Parent; 307bodyOrMatchRoot.Parent.IsKind(SyntaxKind.VariableDeclarator) && 308bodyOrMatchRoot.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration)) 310return bodyOrMatchRoot.Parent.Parent; 315if (bodyOrMatchRoot.Parent.IsKind(SyntaxKind.EqualsValueClause) && 316bodyOrMatchRoot.Parent.Parent.IsKind(SyntaxKind.VariableDeclarator) && 317bodyOrMatchRoot.Parent.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration)) 319return bodyOrMatchRoot.Parent.Parent.Parent; 342if (declarationBody.Parent.IsKind(SyntaxKind.ConstructorDeclaration)) 344var constructor = (ConstructorDeclarationSyntax)declarationBody.Parent; 345var partnerConstructor = (ConstructorDeclarationSyntax?)partnerDeclarationBody?.Parent; 467node = node.Parent!; 470partner = partner.Parent; 552current = current.Parent; 569Contract.ThrowIfNull(oldDeclaration.Parent); 570Contract.ThrowIfNull(newDeclaration.Parent); 571var comparer = new SyntaxComparer(oldDeclaration.Parent, newDeclaration.Parent, new[] { oldDeclaration }, new[] { newDeclaration }, compareStatementSyntax: false); 572return comparer.ComputeMatch(oldDeclaration.Parent, newDeclaration.Parent); 580if (oldBody is ExpressionSyntax || newBody is ExpressionSyntax || (oldBody.Parent.IsKind(SyntaxKind.LocalFunctionStatement) && newBody.Parent.IsKind(SyntaxKind.LocalFunctionStatement))) 601var parent = body.Parent!; 604return parent.IsKind(SyntaxKind.ArrowExpressionClause) && parent.Parent.IsKind(SyntaxKind.LocalFunctionStatement) ? parent.Parent : parent; 612if (oldBody.Parent.IsKind(SyntaxKind.ConstructorDeclaration)) 618RoslynDebug.Assert(newBody.Parent.IsKind(SyntaxKind.ConstructorDeclaration)); 619RoslynDebug.Assert(newBody.Parent is object); 621return SyntaxComparer.Statement.ComputeMatch(oldBody.Parent, newBody.Parent, knownMatches); 752var newConstructor = (ConstructorDeclarationSyntax)(newBody.Parent.IsKind(SyntaxKind.ArrowExpressionClause) ? newBody.Parent.Parent : newBody.Parent)!; 925var parent = statement.Parent; 1017if (oldStatement.Parent is UsingStatementSyntax oldUsing) 1019return newStatement.Parent is UsingStatementSyntax newUsing && 1157=> node is CompilationUnitSyntax ? null : node.Parent!.FirstAncestorOrSelf<BaseTypeDeclarationSyntax>(); 1167Contract.ThrowIfFalse(node.Parent is (kind: 1171declaration = node.Parent.Parent!; 1177node.Parent?.Parent is (kind: 1182declaration = node.Parent.Parent; 1194=> declaration is ParameterSyntax { Parent: ParameterListSyntax { Parent: RecordDeclarationSyntax } }; 1221if (declaration is AccessorDeclarationSyntax { Parent: AccessorListSyntax { Parent: PropertyDeclarationSyntax property } list } && 1377Debug.Assert(node.Parent.IsKind(SyntaxKind.AccessorList)); 1379if (HasEdit(editMap, node.Parent, editKind) && !HasEdit(editMap, node.Parent.Parent, editKind)) 1640return TryGetDiagnosticSpanImpl(node.Parent!, editKind); 1703return TryGetDiagnosticSpanImpl(node.Parent!, editKind); 1724return TryGetDiagnosticSpanImpl(node.Parent!, editKind); 1847return TryGetDiagnosticSpanImpl(queryBody.Clauses.FirstOrDefault() ?? queryBody.Parent!, editKind); 2013return TryGetDisplayNameImpl(node.Parent!, editKind); 2044if (node.Parent!.Parent!.IsKind(SyntaxKind.PropertyDeclaration)) 2050RoslynDebug.Assert(node.Parent.Parent.IsKind(SyntaxKind.IndexerDeclaration)); 2056if (node.Parent!.Parent!.IsKind(SyntaxKind.PropertyDeclaration)) 2062RoslynDebug.Assert(node.Parent.Parent.IsKind(SyntaxKind.IndexerDeclaration)); 2071return node.Parent!.Kind() switch 2229RoslynDebug.Assert(((LocalDeclarationStatementSyntax)node.Parent!.Parent!).AwaitKeyword.IsKind(SyntaxKind.AwaitKeyword)); 2381if (node.IsParentKind(SyntaxKind.CompilationUnit) || node.Parent.IsParentKind(SyntaxKind.CompilationUnit)) 2407if (oldNode.IsParentKind(SyntaxKind.CompilationUnit) || oldNode.Parent.IsParentKind(SyntaxKind.CompilationUnit)) 2430if (newNode.IsParentKind(SyntaxKind.CompilationUnit) || newNode.Parent.IsParentKind(SyntaxKind.CompilationUnit)) 2568RoslynDebug.Assert(current.Parent is object); 2569RoslynDebug.Assert(current.Parent.Kind() == SyntaxKind.TryStatement); 2570current = current.Parent; 2588current = current.Parent; 2672tryStatement = (TryStatementSyntax)node.Parent!; 2698if (SyntaxUtilities.IsAsyncDeclaration(body.Parent)) 2739match.Matches.TryGetValue(deletedSuspensionPoint.Parent!.Parent!, out var newLocalDeclaration) && 2773match.ReverseMatches.TryGetValue(insertedSuspensionPoint.Parent!.Parent!, out var oldLocalDeclaration) && 2776var newLocalDeclaration = (LocalDeclarationStatementSyntax)insertedSuspensionPoint!.Parent!.Parent!; 2800RoslynDebug.Assert(node.Parent is object); 2801switch (node.Parent.Kind()) 2820node = node.Parent; 2854return awaitExpression.Parent!.Parent!.Parent == containingStatementPart; 2859return awaitExpression.Parent!.Parent!.Parent!.Parent == containingStatementPart; 2922if (oldActiveStatement.Parent!.Parent!.Parent is not SwitchStatementSyntax oldSwitch) 2928var newSwitch = (SwitchStatementSyntax)newActiveStatement.Parent!.Parent!.Parent!; 3018node = node.Parent;
EditAndContinue\SyntaxComparer.cs (26)
244if (node != null && node.Parent.IsKind(SyntaxKind.ForStatement) && node is ExpressionSyntax) 466if (node == null || node.Parent.IsKind(SyntaxKind.QueryExpression)) 624if (node?.Parent is (kind: SyntaxKind.PropertyDeclaration or SyntaxKind.IndexerDeclaration)) 668if (node is { Parent: { } parent } && parent.IsParentKind(SyntaxKind.CompilationUnit)) 1029if (leftBlock.Parent == null || 1030rightBlock.Parent == null || 1031leftBlock.Parent.IsKind(SyntaxKind.ConstructorDeclaration) || 1032rightBlock.Parent.IsKind(SyntaxKind.ConstructorDeclaration)) 1038if (GetLabel(leftBlock.Parent) != GetLabel(rightBlock.Parent)) 1044switch (leftBlock.Parent.Kind()) 1061distance = GetDistance(leftBlock.Parent, rightBlock.Parent); 1065var leftCatch = (CatchClauseSyntax)leftBlock.Parent; 1066var rightCatch = (CatchClauseSyntax)rightBlock.Parent; 1070var leftTry = (TryStatementSyntax)leftCatch.Parent!; 1071var rightTry = (TryStatementSyntax)rightCatch.Parent!; 1079distance = GetDistance(leftBlock.Parent, rightBlock.Parent); 1100throw ExceptionUtilities.UnexpectedValue(leftBlock.Parent.Kind()); 1109if (leftNode.Parent != null && 1110rightNode.Parent != null && 1111GetLabel(leftNode.Parent) == GetLabel(rightNode.Parent)) 1113parentDistance = ComputeDistance(leftNode.Parent, rightNode.Parent);
EditAndContinue\SyntaxUtilities.cs (7)
69result = node.Parent.Kind() is SyntaxKind.PropertyDeclaration or SyntaxKind.IndexerDeclaration ? 103if (syntax is ExpressionSyntax && syntax.Parent is ArrowExpressionClauseSyntax) 109if (syntax is ExpressionSyntax && syntax.Parent.Parent is VariableDeclaratorSyntax) 115if (syntax is ExpressionSyntax && syntax.Parent.Parent is PropertyDeclarationSyntax) 273declaration = declaration.Parent;
EmbeddedStatementPlacementDiagnosticAnalyzer.cs (2)
85var parent = statement.Parent; 108var blockParent = parent.Parent;
EncapsulateField\CSharpEncapsulateFieldService.cs (5)
66var declaration = root.GetAnnotatedNodes<SyntaxNode>(tempAnnotation).First().Parent as VariableDeclarationSyntax; 70var fieldSyntax = declaration.Parent as FieldDeclarationSyntax; 95declaration = declarator.Parent as VariableDeclarationSyntax; 120declaration = declarator.Parent as VariableDeclarationSyntax; 158=> field.Parent is TypeDeclarationSyntax;
ExtractMethod\CSharpMethodExtractor.cs (3)
90currentNode = currentNode.Parent; 117return await InsertionPoint.CreateAsync(document, globalStatement.Parent, cancellationToken).ConfigureAwait(false); 124return await InsertionPoint.CreateAsync(document, globalStatement.Parent, cancellationToken).ConfigureAwait(false);
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.CallSiteContainerRewriter.cs (6)
52Contract.ThrowIfFalse(_firstStatementOrFieldToReplace.Parent == _lastStatementOrFieldToReplace.Parent 59private SyntaxNode ContainerOfStatementsOrFieldToReplace => _firstStatementOrFieldToReplace.Parent; 332var firstMemberIndex = newMembers.FindIndex(s => s == (global ? _firstStatementOrFieldToReplace.Parent : _firstStatementOrFieldToReplace)); 335var lastMemberIndex = newMembers.FindIndex(s => s == (global ? _lastStatementOrFieldToReplace.Parent : _lastStatementOrFieldToReplace)); 424if (node != ContainerOfStatementsOrFieldToReplace.Parent)
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (8)
100return (node.Parent is GlobalStatementSyntax) ? node.Parent : node; 133Contract.ThrowIfFalse(firstStatementToRemove.Parent == lastStatementToRemove.Parent 218Contract.ThrowIfFalse(declStatement.Parent.IsStatementContainerNode()); 220return declStatement.Parent; 667var usingKeyword = originalIdentifierToken.Parent?.Parent?.Parent is LocalDeclarationStatementSyntax { UsingKeyword.FullSpan.IsEmpty: false }
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.ExpressionCodeGenerator.cs (10)
57if (expression.Parent != null && 58expression.Parent.Kind() == SyntaxKind.EqualsValueClause && 59expression.Parent.Parent != null && 60expression.Parent.Parent.Kind() == SyntaxKind.VariableDeclarator) 62var name = ((VariableDeclaratorSyntax)expression.Parent.Parent).Identifier.ValueText; 179scope ??= CSharpSelectionResult.GetContainingScopeOf<ArrowExpressionClauseSyntax>().Parent; 195sourceNode.Parent is MemberAccessExpressionSyntax memberAccessExpression && memberAccessExpression.Name == sourceNode,
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.MultipleStatementsCodeGenerator.cs (4)
66foreach (var statement in GetStatementsFromContainer(firstStatementUnderContainer.Parent)) 102var container = firstStatement.Parent; 104return container.Parent; 119GlobalStatementSyntax globalStatement => ((CompilationUnitSyntax)globalStatement.Parent).Members.OfType<GlobalStatementSyntax>().Select(globalStatement => globalStatement.Statement),
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.SingleStatementCodeGenerator.cs (1)
64return firstStatement.Parent;
ExtractMethod\CSharpSelectionResult.cs (6)
80for (; current != null; current = current.Parent) 163return constructorInitializer.Parent; 170return field.Parent; 174Contract.ThrowIfFalse(last.Parent.IsParentKind(SyntaxKind.CompilationUnit)); 175return last.Parent.Parent;
ExtractMethod\CSharpSelectionResult.ExpressionResult.cs (1)
85if (node.Parent is CastExpressionSyntax castExpression)
ExtractMethod\CSharpSelectionResult.StatementResult.cs (5)
80if (access.Parent == null || access.Parent.Parent == null) 85return semanticModel.GetDeclaredSymbol(access.Parent.Parent) switch
ExtractMethod\CSharpSelectionValidator.cs (3)
195firstValidNode = (firstValidNode.Parent is ExpressionStatementSyntax) ? firstValidNode.Parent : firstValidNode; 483if (body.Parent is not MethodDeclarationSyntax method)
ExtractMethod\CSharpSelectionValidator.Validator.cs (1)
31return block.Parent is BlockSyntax or
ExtractMethod\Extensions.cs (7)
36for (var current = node; current is object; current = current.Parent) 38if (current.Parent != null && 39current.Parent.IsStatementContainerNode()) 49=> (StatementSyntax)((node.Parent is LabeledStatementSyntax) ? node.Parent : node); 258=> node is InitializerExpressionSyntax && node.Parent is EqualsValueClauseSyntax; 261=> node is ExpressionSyntax && node.Parent is CastExpressionSyntax;
FullyQualify\CSharpFullyQualifyService.cs (1)
59simpleName.Parent is UsingDirectiveSyntax { Alias: null, StaticKeyword.RawKind: 0 } usingDirective)
GenerateConstructor\CSharpGenerateConstructorService.cs (4)
91? (NameSyntax)simpleName.Parent 94if (fullName.Parent is ObjectCreationExpressionSyntax objectCreationExpression) 123? (NameSyntax)simpleName.Parent 126if (fullName.Parent is AttributeSyntax attribute)
GenerateDefaultConstructors\CSharpGenerateDefaultConstructorsService.cs (3)
48if (node is { Parent: BaseTypeSyntax { Parent: BaseListSyntax { Types: [var firstType, ..] } baseList } }) 50if (baseList.Parent is TypeDeclarationSyntax(SyntaxKind.ClassDeclaration or SyntaxKind.RecordDeclaration) parentTypeDecl &&
GenerateMember\GenerateEnumMember\CSharpGenerateEnumMemberService.cs (1)
38simpleNameOrMemberAccessExpression = identifierName.Parent is MemberAccessExpressionSyntax memberAccess && memberAccess.Name == identifierName
GenerateMember\GenerateParameterizedMember\CSharpGenerateConversionService.cs (2)
36(node.Parent is AssignmentExpressionSyntax || node.Parent is EqualsValueClauseSyntax) &&
GenerateMember\GenerateParameterizedMember\CSharpGenerateMethodService.cs (4)
93var memberAccess = simpleName?.Parent as MemberAccessExpressionSyntax; 94var conditionalMemberAccess = simpleName?.Parent?.Parent?.Parent as ConditionalAccessExpressionSyntax;
GenerateMember\GenerateVariable\CSharpGenerateVariableService.cs (8)
94var memberAccess = identifierName.Parent as MemberAccessExpressionSyntax; 95var conditionalMemberAccess = identifierName.Parent.Parent as ConditionalAccessExpressionSyntax; 182if (expression.Parent is (kind: SyntaxKind.NameColon or SyntaxKind.ExpressionColon) && 183expression.Parent.IsParentKind(SyntaxKind.Subpattern)) 200if (node.IsLeftSideOfAssignExpression() && node.Parent.IsParentKind(SyntaxKind.ExpressionStatement)) 202var assignExpression = (AssignmentExpressionSyntax)node.Parent; 203var expressionStatement = (StatementSyntax)assignExpression.Parent;
GenerateType\CSharpGenerateTypeService.cs (36)
53expression.Parent.IsParentKind(SyntaxKind.ArrayCreationExpression); 61if (expression is TypeSyntax typeSyntax && expression.Parent is TypeArgumentListSyntax typeArgumentList) 63var symbolInfo = semanticModel.GetSymbolInfo(typeArgumentList.Parent, cancellationToken); 92expression.Parent is BaseTypeSyntax baseType && 93baseType.Parent is BaseListSyntax baseList && 97if (baseList.Types[0] != expression.Parent) 104return baseList?.Parent.Kind() is 111expression.Parent is TypeConstraintSyntax typeConstraint && 112typeConstraint.Parent is TypeParameterConstraintClauseSyntax constraintClause) 165nameOrMemberAccessExpression = generateTypeServiceStateOptions.NameOrMemberAccessExpression = (ExpressionSyntax)simpleName.Parent; 186if (nameOrMemberAccessExpression.Parent is BaseTypeSyntax && 187nameOrMemberAccessExpression.Parent.IsParentKind(SyntaxKind.BaseList) && 188((BaseTypeSyntax)nameOrMemberAccessExpression.Parent).Type == nameOrMemberAccessExpression && 189nameOrMemberAccessExpression.Parent.Parent.IsParentKind(SyntaxKind.EnumDeclaration)) 248simpleName.Parent == token.Parent) 258fieldDeclaration.Parent is CompilationUnitSyntax && 271if (simpleName.Parent is QualifiedNameSyntax parent) 306if (simpleName.Parent is not null and not QualifiedNameSyntax) 319if (nameOrMemberAccessExpression.Parent is not null and QualifiedNameSyntax) 338if ((nameOrMemberAccessExpression.IsKind(SyntaxKind.SimpleMemberAccessExpression) || (nameOrMemberAccessExpression.Parent != null && nameOrMemberAccessExpression.IsParentKind(SyntaxKind.SimpleMemberAccessExpression))) 350outerMostMemberAccessExpression = (ExpressionSyntax)nameOrMemberAccessExpression.Parent; 377if (nameOrMemberAccessExpression.Parent is ObjectCreationExpressionSyntax) 379var objectCreationExpressionOpt = generateTypeServiceStateOptions.ObjectCreationExpressionOpt = (ObjectCreationExpressionSyntax)nameOrMemberAccessExpression.Parent; 425if (nameOrMemberAccessExpression.Parent is VariableDeclarationSyntax variableDeclaration && 436if (nameOrMemberAccessExpression.Parent is CastExpressionSyntax castExpression && 673if (node.Parent.Kind() is SyntaxKind.InterfaceDeclaration or SyntaxKind.StructDeclaration or SyntaxKind.RecordStructDeclaration) 683node = node.Parent; 701node.Parent != null && 702node.Parent is TypeDeclarationSyntax) 704if (node.Parent is TypeDeclarationSyntax typeDecl) 721node.Parent != null && 722node.Parent is TypeDeclarationSyntax) 740node = node.Parent; 817if (propertyName.Parent is AssignmentExpressionSyntax parentAssignment) 823if (propertyName.Parent is IsPatternExpressionSyntax isPatternExpression)
GoToDefinition\CSharpGoToDefinitionSymbolService.cs (3)
85node = node.Parent; 101node = node.Parent; 116node = node.Parent;
Highlighting\KeywordHighlighters\IfStatementHighlighter.cs (1)
34if (ifStatement.Parent.Kind() != SyntaxKind.ElseClause)
ImplementInterface\AbstractChangeImplementationCodeRefactoringProvider.cs (1)
155for (var node = token.Parent; node != null; node = node.Parent)
ImplementInterface\CSharpImplementExplicitlyCodeRefactoringProvider.cs (3)
103? identifierName.Parent 107if (syntaxFacts.IsInvocationExpression(node.Parent)) 108node = node.Parent;
ImplementInterface\CSharpImplementInterfaceCodeFixProvider.cs (4)
24private readonly Func<TypeSyntax, bool> _interfaceName = n => n.Parent is BaseTypeSyntax && n.Parent.Parent is BaseListSyntax && ((BaseTypeSyntax)n.Parent).Type == n;
ImplementInterface\CSharpImplementInterfaceService.cs (7)
43if (node is TypeSyntax interfaceNode && interfaceNode.Parent is BaseTypeSyntax baseType && 47if (interfaceNode.Parent.Parent?.Parent.Kind() is 60classOrStructDecl = interfaceNode.Parent.Parent.Parent as TypeDeclarationSyntax;
InlineHints\CSharpInlineTypeHintsService.cs (4)
56else if (node is SingleVariableDesignationSyntax { Parent: not DeclarationPatternSyntax and not DeclarationExpressionSyntax } variableDesignation) 62return node.Parent is VarPatternSyntax varPattern 85return parameterNode.Parent?.Parent?.Kind() is SyntaxKind.ParenthesizedLambdaExpression
IntroduceParameter\CSharpIntroduceParameterCodeRefactoringProvider.cs (2)
34return variableDecl.Parent?.Parent as LocalDeclarationStatementSyntax;
IntroduceUsingStatement\CSharpIntroduceUsingStatementCodeRefactoringProvider.cs (1)
71if (declarationStatement.Parent is SwitchSectionSyntax ||
IntroduceVariable\CSharpIntroduceVariableService.cs (1)
65for (SyntaxNode node = expression; node != null; node = node.Parent)
IntroduceVariable\CSharpIntroduceVariableService_IntroduceLocal.cs (4)
70var method = document.SemanticModel.GetDeclaredSymbol(arrowExpression.Parent, cancellationToken) as IMethodSymbol; 226var oldParentingNode = oldBody.Parent; 325if (!IsBlockLike(statement.Parent)) 337innermostCommonBlock = statement.Parent;
IntroduceVariable\CSharpIntroduceVariableService_IntroduceQueryLocal.cs (1)
88var oldQuery = (QueryBodySyntax)oldClause.Parent;
InvertIf\CSharpInvertIfCodeRefactoringProvider.cs (1)
38=> ifNode?.Parent is (kind: SyntaxKind.Block or SyntaxKind.SwitchSection);
InvokeDelegateWithConditionalAccessAnalyzer.cs (2)
225if (!ifStatement.Parent.IsKind(SyntaxKind.Block)) 260var parentBlock = (BlockSyntax)ifStatement.Parent;
InvokeDelegateWithConditionalAccessCodeFixProvider.cs (1)
105if (ifStatement.Parent.IsKind(SyntaxKind.ElseClause) &&
LambdaUtilities.cs (21)
40return !node.Parent.IsKind(SyntaxKind.QueryExpression); 53Debug.Assert(lambdaBody.Parent is object); 54var lambda = lambdaBody.Parent; 60lambda = lambda.Parent; 73Debug.Assert(oldBody.Parent is object); 103var oldJoin = (JoinClauseSyntax)oldBody.Parent; 109var oldGroup = (GroupClauseSyntax)oldBody.Parent; 141var parent = node?.Parent; 161return arrowExpressionClause.Expression == node && arrowExpressionClause.Parent is LocalFunctionStatementSyntax; 165return fromClause.Expression == node && fromClause.Parent is QueryBodySyntax; 228Debug.Assert(selectOrGroupClause.Parent!.Parent is object); 229var containingQueryOrContinuation = selectOrGroupClause.Parent.Parent; 298if (node.Parent.IsKind(SyntaxKind.QueryExpression)) 437if (node.Parent != null) 439switch (node.Parent.Kind()) 445SeparatedSyntaxList<ExpressionSyntax> incrementors = ((ForStatementSyntax)node.Parent).Incrementors; 463if (node is ExpressionSyntax && node.Parent != null && node.Parent.Parent == null)
MakeLocalFunctionStaticCodeFixHelper.cs (1)
76if (identifierNode.Parent is InvocationExpressionSyntax invocation)
NullableImpactingSpanWalker.cs (4)
75if (node?.Parent is QualifiedNameSyntax qualifiedName 94if (node?.Parent is BaseNamespaceDeclarationSyntax) 100if (node.IsParentKind(SyntaxKind.NameEquals) && node.Parent.IsParentKind(SyntaxKind.UsingDirective)) 114while (node.Parent is QualifiedNameSyntax qualifiedName
QuickInfo\CSharpDiagnosticAnalyzerQuickInfoProvider.cs (3)
65{ Parent: PragmaWarningDirectiveTriviaSyntax } node => node, 107Parent: AttributeArgumentListSyntax 110Parent: AttributeSyntax
QuickInfo\CSharpSemanticQuickInfoProvider.cs (2)
52token.Parent?.Parent.IsKind(SyntaxKind.ElementAccessExpression) == true) 54found = token.Parent.Parent;
QuickInfo\CSharpSyntacticQuickInfoProvider.cs (2)
89spanStart = parent.Parent!.SpanStart; 99var parent = node.Parent;
RemoveUnreachableCodeHelpers.cs (2)
18switch (firstUnreachableStatement.Parent) 29if (globalStatement.Parent is not CompilationUnitSyntax compilationUnit)
RemoveUnusedVariable\CSharpRemoveUnusedVariableCodeFixProvider.cs (7)
40node = node.Parent; 43var parent = node.Parent; 65RemoveNode(editor, node.IsParentKind(SyntaxKind.GlobalStatement) ? node.Parent : node, blockFacts); 77if (node.Parent?.Parent is not LocalDeclarationStatementSyntax localDeclaration) 82return localDeclaration.Parent is GlobalStatementSyntax || 83blockFacts.IsExecutableBlock(localDeclaration.Parent);
Rename\CSharpRenameIssuesService.cs (2)
62if (parent?.Parent is VariableDeclarationSyntax varDecl) 66else if (parent?.Parent is FieldDeclarationSyntax fieldDecl)
ReplaceMethodWithProperty\CSharpReplaceMethodWithPropertyService.cs (1)
401if (nameNode.IsAnyMemberAccessExpressionName() && nameNode.Parent == invocationExpression)
ReplacePropertyWithMethods\CSharpReplacePropertyWithMethodsService.cs (1)
301=> identifierName.Parent as NameMemberCrefSyntax;
SignatureHelp\AttributeSignatureHelpProvider.cs (1)
63token.Parent.Parent is AttributeSyntax;
SignatureHelp\ConstructorInitializerSignatureHelpProvider.cs (1)
96var currentConstructor = semanticModel.GetDeclaredSymbol(constructorInitializer.Parent!, cancellationToken);
SignatureHelp\ElementAccessExpressionSignatureHelpProvider.cs (9)
118if (expression.Parent is ConditionalAccessExpressionSyntax conditional) 157if (expression.Parent is ConditionalAccessExpressionSyntax) 292token.Parent.Parent is ElementAccessExpressionSyntax; 304(openBracket.Parent.Parent is ElementAccessExpressionSyntax || openBracket.Parent.Parent is ElementBindingExpressionSyntax)); 345Contract.ThrowIfFalse(openBracket.Parent is ArrayRankSpecifierSyntax && openBracket.Parent.Parent is ArrayTypeSyntax); 376token.Parent.Parent is ElementBindingExpressionSyntax && 377token.Parent.Parent.Parent is ConditionalAccessExpressionSyntax;
SignatureHelp\GenericNameSignatureHelpProvider.cs (3)
67token.Parent.Parent is GenericNameSyntax; 164Contract.ThrowIfFalse(lessThanToken.Parent is TypeArgumentListSyntax && lessThanToken.Parent.Parent is GenericNameSyntax); 165return SignatureHelpUtilities.GetSignatureHelpSpan(((GenericNameSyntax)lessThanToken.Parent.Parent).TypeArgumentList);
SignatureHelp\SignatureHelpUtilities.cs (5)
107if (parenthesizedExpr.Parent is ArgumentSyntax) 109var parent = parenthesizedExpr.Parent; 110var grandParent = parent.Parent; 111if (grandParent is ArgumentListSyntax && grandParent.Parent is TSyntaxNode) 139token.Parent.Parent is TSyntaxNode;
SimplifyPropertyPatternHelpers.cs (1)
26Parent: PropertyPatternClauseSyntax,
SplitOrMergeIfStatements\CSharpIfLikeStatementGenerator.cs (8)
31if (expression.Parent is IfStatementSyntax ifStatement && ifStatement.Condition == expression) 43if (node is IfStatementSyntax && node.Parent is ElseClauseSyntax) 45parentIfOrElseIf = (IfStatementSyntax)node.Parent.Parent; 76while (ifStatement.Parent is ElseClauseSyntax elseClause) 78ifStatement = (IfStatementSyntax)elseClause.Parent; 156editor.ReplaceNode(elseIfClause.Parent.Parent, (currentNode, _) =>
Structure\Providers\ArrowExpressionClauseStructureProvider.cs (2)
27textSpan: TextSpan.FromBounds(previousToken.Span.End, node.Parent.Span.End), 28hintSpan: node.Parent.Span,
Structure\Providers\BlockSyntaxStructureProvider.cs (9)
26var parentKind = node.Parent.Kind(); 34if (IsNonBlockStatement(node.Parent) || 37var type = GetType(node.Parent); 45autoCollapse: parentKind == SyntaxKind.LocalFunctionStatement && node.Parent.IsParentKind(SyntaxKind.GlobalStatement))); 69var type = GetType(node.Parent); 84var parent = node.Parent; 87parent = parent.Parent; 108if (node.Parent.IsKind(SyntaxKind.IfStatement)) 127return node.Parent.Span.End;
Structure\Providers\InitializerExpressionStructureProvider.cs (2)
24if (node.Parent is InitializerExpressionSyntax) 65hintSpan: node.Parent.Span,
SyntaxBindingUtilities.cs (4)
17or VariableDeclaratorSyntax { Parent.Parent: UsingStatementSyntax { AwaitKeyword.RawKind: not 0 } or LocalDeclarationStatementSyntax { AwaitKeyword.RawKind: not 0 } } 21=> node is VariableDeclaratorSyntax { Parent.Parent: UsingStatementSyntax { } or LocalDeclarationStatementSyntax { UsingKeyword.RawKind: not 0 } }
UseAutoProperty\CSharpUseAutoPropertyCodeFixProvider.cs (2)
38var fieldDeclaration = (FieldDeclarationSyntax)declarator.Parent.Parent;
UseExplicitTypeCodeFixProvider.cs (4)
60var declarationContext = node.Parent; 64declarationContext = declarationContext.Parent; 94RoslynDebug.AssertNotNull(typeSyntax.Parent); 96var tupleTypeSymbol = GetConvertedType(semanticModel, typeSyntax.Parent, cancellationToken);
UseExpressionBody\UseExpressionBodyCodeRefactoringProvider.cs (2)
156for (var current = node; current != null; current = current.Parent) 182? declaration.Parent
UseExpressionBodyCodeFixProvider.cs (1)
92if (declaration.Parent is AccessorListSyntax accessorList)
UseNamedArguments\CSharpUseNamedArgumentsCodeRefactoringProvider.cs (2)
28=> argument.Parent?.Parent;
UsePatternMatching\CSharpIsAndCastCheckWithoutNameDiagnosticAnalyzer.cs (1)
229for (SyntaxNode? current = isExpression; current != null; current = current.Parent)
UsePatternMatchingHelpers.cs (5)
29if (asExpression.Parent is not ParenthesizedExpressionSyntax 32Parent: ConditionalAccessExpressionSyntax parentConditionalAccess 54if (conditionalAccessExpression.Parent is BinaryExpressionSyntax(SyntaxKind.EqualsExpression) parentBinaryExpression1 && 63else if (conditionalAccessExpression.Parent is 81else if (conditionalAccessExpression.Parent is IsPatternExpressionSyntax parentIsPatternExpression)
UseSimpleUsingStatementCodeFixProvider.cs (1)
54var blocks = topmostUsingStatements.Select(u => (BlockSyntax)u.Parent);
UseSimpleUsingStatementDiagnosticAnalyzer.cs (1)
82if (outermostUsing.Parent is not BlockSyntax parentBlock)
UseThrowExpressionCodeFixProvider.cs (1)
69if (throwStatementExpression.Parent is ThrowStatementSyntax throwStatement &&
UseUtf8StringLiteralDiagnosticAnalyzer.cs (2)
105else if (elements is [{ Syntax.Parent: ArgumentSyntax }, ..]) 110else if (elements is [{ Syntax.Parent: (kind: SyntaxKind.CollectionInitializerExpression) }, ..])
Wrapping\SeparatedSyntaxList\CSharpArgumentWrapper.cs (1)
101for (var current = token.Parent; current != listSyntax; current = current?.Parent)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (12)
Semantics\BindingTests.cs (10)
3004var node1 = tree.GetRoot().DescendantNodes().Where(n => n.IsKind(SyntaxKind.IdentifierName) && ((IdentifierNameSyntax)n).Identifier.ValueText == "Use").Single().Parent; 3018var node = tree.GetRoot().DescendantNodes().Where(n => n.IsKind(SyntaxKind.IdentifierName) && ((IdentifierNameSyntax)n).Identifier.ValueText == "AuthenticateAsync").Single().Parent; 3084var node1 = tree.GetRoot().DescendantNodes().Where(n => n.IsKind(SyntaxKind.IdentifierName) && ((IdentifierNameSyntax)n).Identifier.ValueText == "Use").Single().Parent; 3098var node = tree.GetRoot().DescendantNodes().Where(n => n.IsKind(SyntaxKind.IdentifierName) && ((IdentifierNameSyntax)n).Identifier.ValueText == "AuthenticateAsync").Single().Parent; 3157var node1 = tree.GetRoot().DescendantNodes().Where(n => n.IsKind(SyntaxKind.IdentifierName) && ((IdentifierNameSyntax)n).Identifier.ValueText == "Use").Single().Parent; 3172var node = tree.GetRoot().DescendantNodes().Where(n => n.IsKind(SyntaxKind.IdentifierName) && ((IdentifierNameSyntax)n).Identifier.ValueText == "AuthenticateAsync").Single().Parent; 3242var node1 = tree.GetRoot().DescendantNodes().Where(n => n.IsKind(SyntaxKind.IdentifierName) && ((IdentifierNameSyntax)n).Identifier.ValueText == "Use").Single().Parent; 3257var node = tree.GetRoot().DescendantNodes().Where(n => n.IsKind(SyntaxKind.IdentifierName) && ((IdentifierNameSyntax)n).Identifier.ValueText == "AuthenticateAsync").Single().Parent; 3347var node1 = tree.GetRoot().DescendantNodes().Where(n => n.IsKind(SyntaxKind.IdentifierName) && ((IdentifierNameSyntax)n).Identifier.ValueText == "MathMin").Single().Parent; 3472var node1 = tree.GetRoot().DescendantNodes().Where(n => n.IsKind(SyntaxKind.IdentifierName) && ((IdentifierNameSyntax)n).Identifier.ValueText == "E").Single().Parent;
Semantics\FieldInitializerBindingTests.cs (1)
279Assert.Same(initValueSyntax.Parent, boundInit.Syntax);
Semantics\OutVarTests.cs (1)
18814var constructorDeclaration = (ConstructorDeclarationSyntax)context.Node.Parent;
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
DeclarationTests.cs (1)
396for (var node = token.Parent; node != null; node = node.Parent)
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (8)
Diagnostics\LocationsTests.cs (1)
458var expressionDiags = syntaxTree.GetDiagnostics(token.Parent.Parent);
ParentChecker.cs (2)
32var parentTrivia = trivia.GetStructure().Parent; 45var parentTrivia = trivia.GetStructure().Parent;
Syntax\StructuredTriviaTests.cs (4)
85var foundDocComment = result.Parent.Parent.Parent.Parent; 86Assert.Null(foundDocComment.Parent);
Syntax\SyntaxNodeTests.cs (1)
1333Assert.Null(trivia.GetStructure().Parent);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (10)
CompilationTestUtils.cs (6)
370=> (expression.Parent is VariableDeclarationSyntax decl && decl.Type == expression) || 371(expression.Parent is ForEachStatementSyntax forEach && forEach.Type == expression) || 372(expression.Parent is DeclarationExpressionSyntax declExpr && declExpr.Type == expression) || 373(expression.Parent is RefTypeSyntax refType && isValidDeclaration(refType)); 528node = node.Parent; 551case { Parent: var parent }:
CSharpTestBase.cs (4)
1675node = node.Parent; 1683if (node.Parent != null && node.Parent.ToString() == bindText) 1685node = node.Parent;
Microsoft.CodeAnalysis.CSharp.WinRT.UnitTests (1)
CodeGen\WinRTCollectionTests.cs (1)
7427var jsonObj = ((MemberAccessExpressionSyntax)add.Parent).Expression;
Microsoft.CodeAnalysis.CSharp.Workspaces (586)
AnchorIndentationFormattingRule.cs (2)
35if (block.Parent is null or BlockSyntax) 43block.Parent.GetFirstToken(includeZeroWidth: true),
ArgumentSyntaxExtensions.cs (3)
46if (argument.Parent is not BaseArgumentListSyntax argumentList || 47argumentList.Parent is null) 53var symbolInfo = semanticModel.GetSymbolInfo(argumentList.Parent, cancellationToken);
AttributeArgumentSyntaxExtensions.cs (2)
33if (argument.Parent is not AttributeArgumentListSyntax argumentList) 36if (argumentList.Parent is not AttributeSyntax invocableExpression)
BaseFormattingRule.cs (2)
178RoslynDebug.AssertNotNull(node.Parent); 181firstTokenOfNode = node.Parent.GetFirstToken(includeZeroWidth: true);
CastSimplifier.cs (29)
118if (leftOrRightChild.Parent is BinaryExpressionSyntax(SyntaxKind.EqualsExpression or SyntaxKind.NotEqualsExpression) binary) 152if (castExpression.WalkUpParentheses().Parent is PrefixUnaryExpressionSyntax(SyntaxKind.BitwiseNotExpression) parent && 153parent.WalkUpParentheses().Parent is CastExpressionSyntax parentCast) 185if (isDefaultLiteralCast && castNode.WalkUpParentheses().Parent is PatternSyntax or CaseSwitchLabelSyntax) 405if (castNode.WalkUpParentheses().Parent is MemberAccessExpressionSyntax memberAccessExpression) 433if (castNode.WalkUpParentheses().Parent is InvocationExpressionSyntax invocationExpression) 452if (castNode.WalkUpParentheses().Parent is BinaryExpressionSyntax(SyntaxKind.IsExpression) isExpression && 566if (castNode.WalkUpParentheses().Parent is not MemberAccessExpressionSyntax { Parent: InvocationExpressionSyntax } memberAccessExpression) 685if (parent.Parent is not ConditionalExpressionSyntax originalConditionalExpression) 861if (parent.Parent is ConditionalExpressionSyntax conditionalExpression) 931if (castNode.Parent is AssignmentExpressionSyntax assignmentExpression && 938else if (castNode.Parent is InitializerExpressionSyntax(SyntaxKind.ArrayInitializerExpression) arrayInitializer) 944else if (castNode.Parent is EqualsValueClauseSyntax equalsValue && 946equalsValue.Parent is VariableDeclaratorSyntax variableDeclarator) 970for (SyntaxNode? current = expression; current != null; current = current.Parent) 985for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent; 987currentOld = currentOld.Parent, currentNew = currentNew.Parent) 1012for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent; 1014currentOld = currentOld.Parent, currentNew = currentNew.Parent) 1042for (SyntaxNode? currentOld = castNode.WalkUpParentheses().Parent, currentNew = rewrittenExpression.WalkUpParentheses().Parent; 1044currentOld = currentOld.Parent, currentNew = currentNew.Parent) 1318if (castNode.WalkUpParentheses().Parent is InterpolationSyntax)
Classification\ClassificationHelpers.cs (18)
186return interpolatedStringText.Parent is InterpolatedStringExpressionSyntax interpolatedString 214return GetClassificationTypeForConstructorOrDestructorParent(constructorDeclaration.Parent!); 218return GetClassificationTypeForConstructorOrDestructorParent(destructorDeclaration.Parent!); 238var varDecl = variableDeclarator.Parent as VariableDeclarationSyntax; 239return varDecl?.Parent switch 298var parent = identifierSyntax.Parent; 301parent = parent.Parent; 321parentNode = parentNode!.Parent!.Parent; 476if (token.Parent is IdentifierNameSyntax && token.Parent?.Parent is ExpressionStatementSyntax) 485token.Parent.Parent is VariableDeclarationSyntax && 486!(token.Parent.Parent.Parent is FieldDeclarationSyntax) && 487!(token.Parent.Parent.Parent is EventFieldDeclarationSyntax); 492&& token.Parent.Parent is TypeConstraintSyntax 493&& token.Parent.Parent.Parent is TypeParameterConstraintClauseSyntax;
Classification\SyntaxClassification\NameSyntaxClassifier.cs (1)
195if ((name.IsUnmanaged || name.IsNotNull) && name.Parent.IsKind(SyntaxKind.TypeConstraint))
Classification\Worker_DocumentationComments.cs (1)
185var classificationType = node.Parent switch
CodeGeneration\CSharpSyntaxGenerator.cs (32)
1972if (declaration.Parent != null) 1974return this.GetType(declaration.Parent); 2014if (vd.Parent != null && vd.Variables.Count == 1) 2016return AsIsolatedDeclaration(vd.Parent); 2023if (v.Parent != null && v.Parent.Parent != null) 2025return ClearTrivia(WithVariable(v.Parent.Parent, v)); 2032if (attr.Parent != null) 2034var attrList = (AttributeListSyntax)attr.Parent; 2083Contract.ThrowIfNull(vd.Parent); 2084return vd.Parent; 2093if (declaration.Parent != null) 2095return GetFullDeclaration(declaration.Parent); 2114var container = GetDeclaration(existingNode.Parent); 2792return AreSimilarExceptForSubDeclarations(decl1.Parent, decl2.Parent); 2840return SyntaxFactory.AreEquivalent(vd1.Type, vd2.Type) && AreSimilarExceptForSubDeclarations(vd1.Parent, vd2.Parent); 2880if (declaration.Parent.IsKind(SyntaxKind.GlobalStatement)) 2883declaration = declaration.Parent; 2919if (declaration.Parent.IsKind(SyntaxKind.GlobalStatement)) 2922declaration = declaration.Parent; 2988if (node.Parent.IsKind(SyntaxKind.GlobalStatement)) 2991node = node.Parent; 3013if (attr.Parent is AttributeListSyntax attrList && attrList.Attributes.Count == 1) 3022if (declaration.Parent != null && ((AttributeArgumentListSyntax)declaration.Parent).Arguments.Count == 1) 3025return RemoveNodeInternal(root, declaration.Parent, options); 3041if (declaration.Parent is BaseListSyntax baseList && baseList.Types.Count == 1) 3050var parent = declaration.Parent;
CSharpAccessibilityFacts.cs (6)
242if (vd.Variables.Count == 1 && vd.Parent == null) 255var vd = declaration.Parent as VariableDeclarationSyntax; 287if (declaration.Parent is not AttributeListSyntax parentList || parentList.Attributes.Count > 1) 323=> node?.Parent.IsKind(SyntaxKind.FieldDeclaration) ?? false; 326=> node?.Parent.IsKind(SyntaxKind.EventFieldDeclaration) ?? false; 329=> node?.Parent.IsKind(SyntaxKind.LocalDeclarationStatement) ?? false;
CSharpCodeGenerationHelpers.cs (3)
277&& reusableSyntaxNode.Parent is VariableDeclarationSyntax variableDeclarationNode 278&& reusableSyntaxNode.Parent.Parent is FieldDeclarationSyntax fieldDeclarationNode)
CSharpDeclarationComparer.cs (5)
345for (var node = parent; node != null; node = node.Parent) 388var xAccessibility = GetAccessibilityPrecedence(xModifiers, x.Parent ?? y.Parent); 389var yAccessibility = GetAccessibilityPrecedence(yModifiers, y.Parent ?? x.Parent);
CSharpIndentationService.cs (3)
135!argument.Parent.IsKind(SyntaxKind.ThisConstructorInitializer) && 198RoslynDebug.AssertNotNull(node.Parent); 201var baseToken = node.Parent.GetFirstToken(includeZeroWidth: true);
CSharpIndentationService.Indenter.cs (9)
225(token.Parent.Parent is StatementSyntax || token.Parent.Parent is ElseClauseSyntax)); 227var embeddedStatementOwner = token.Parent.Parent; 230RoslynDebug.AssertNotNull(embeddedStatementOwner.Parent); 231embeddedStatementOwner = embeddedStatementOwner.Parent; 253token.Parent.Parent.IsKind(SyntaxKind.PropertyDeclaration)) 405if (queryExpressionClause.Parent is not QueryBodySyntax queryBody) 428RoslynDebug.AssertNotNull(queryBody.Parent); 429return indenter.GetIndentationOfToken(queryBody.Parent.GetFirstToken(includeZeroWidth: true));
CSharpInferredMemberNameSimplifier.cs (3)
16if (node.NameColon == null || !node.Parent.IsKind(SyntaxKind.TupleExpression)) 26if (RemovalCausesAmbiguity(((TupleExpressionSyntax)node.Parent).Arguments, node)) 47if (RemovalCausesAmbiguity(((AnonymousObjectCreationExpressionSyntax)node.Parent!).Initializers, node))
CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (2)
95declarationPattern.Parent is IsPatternExpressionSyntax isPatternExpression) 203if (_localDeclarationStatement.Parent is BlockSyntax or SwitchSectionSyntax)
CSharpSemanticFacts.cs (1)
340case IdentifierNameSyntax { Parent: PrimaryConstructorBaseTypeSyntax baseType }:
CSharpSemanticFactsService.cs (1)
48if (SyntaxFacts.IsParameterList(container) && SyntaxFacts.IsLocalFunctionStatement(container.Parent))
CSharpSimplificationHelpers.cs (1)
33var parent = parentOfToken.Parent;
CSharpSyntaxContext.cs (6)
229targetToken.Parent.Parent is (kind: SyntaxKind.ClassDeclaration or SyntaxKind.RecordDeclaration); 366if (token.Parent.Parent is ParameterSyntax { Parent: ParameterListSyntax { Parent: RecordDeclarationSyntax } }) 387token.Parent.Parent is StatementSyntax) 486FromClauseSyntax { Parent: QueryExpressionSyntax queryExpression } fromClause => queryExpression.FromClause == fromClause,
CSharpSyntaxFacts.cs (32)
162=> node?.Parent is MemberAccessExpressionSyntax memberAccess && memberAccess.Name == node; 196=> node?.Parent is UsingDirectiveSyntax usingDirective && 243if (firstStatement.Parent == secondStatement.Parent) 246if (IsGlobalStatement(firstStatement.Parent) 247&& IsGlobalStatement(secondStatement.Parent) 248&& firstStatement.Parent.Parent == secondStatement.Parent.Parent) 262return node.Parent is BaseMethodDeclarationSyntax or 635node.Parent.IsParentKind(SyntaxKind.Subpattern); 647if (identifier.Parent.IsParentKind(SyntaxKind.WithInitializerExpression)) 649var withInitializer = identifier.Parent.GetRequiredParent(); 653else if (identifier.Parent.IsParentKind(SyntaxKind.ObjectInitializerExpression)) 655var objectInitializer = identifier.Parent.GetRequiredParent(); 656if (objectInitializer.Parent is BaseObjectCreationExpressionSyntax) 658initializedInstance = objectInitializer.Parent; 661else if (objectInitializer?.Parent is AssignmentExpressionSyntax(SyntaxKind.SimpleAssignmentExpression) assignment) 676Parent: BaseObjectCreationExpressionSyntax or ArrayCreationExpressionSyntax or ImplicitArrayCreationExpressionSyntax 679creationExpression = node.Parent; 718node = node.Parent; 765var parent = node.GetAncestor<TypeDeclarationSyntax>() ?? node.Parent; 769parent = parent.Parent; 778parent = parent.Parent; 987var parent = node.Parent; 1235node.Parent is AttributeListSyntax attributeList && 1264return node.Parent.IsParentKind(SyntaxKind.FieldDeclaration) || 1265node.Parent.IsParentKind(SyntaxKind.EventFieldDeclaration); 1351=> node?.Parent is ForEachStatementSyntax foreachStatement && foreachStatement.Expression == node; 1388=> ((VariableDeclarationSyntax)((VariableDeclaratorSyntax)node).Parent!).Type; 1394=> node?.Parent is PropertyDeclarationSyntax propertyDeclaration && propertyDeclaration.Initializer == node;
CSharpTriviaFormatter.DocumentationCommentExteriorCommentRewriter.cs (1)
86currentParent = currentParent.Parent;
CSharpTypeInferenceService.TypeInferrer.cs (53)
136var parent = node.Parent; 281if (argument.Parent != null) 283if (argument.Parent.Parent is ConstructorInitializerSyntax initializer) 289if (argument.Parent?.Parent is InvocationExpressionSyntax invocation) 295if (argument.Parent?.Parent is ObjectCreationExpressionSyntax creation) 306if (argument.Parent?.Parent is ElementAccessExpressionSyntax elementAccess) 317if (argument?.Parent is TupleExpressionSyntax tupleExpression) 323if (argument.Parent.IsParentKind(SyntaxKind.ImplicitElementAccess) && 324argument.Parent.Parent.IsParentKind(SyntaxKind.SimpleAssignmentExpression) && 325argument.Parent.Parent.Parent.IsParentKind(SyntaxKind.ObjectInitializerExpression) && 326argument.Parent.Parent.Parent.Parent?.Parent is ObjectCreationExpressionSyntax objectCreation) 379if (argument.Parent != null) 381if (argument.Parent.Parent is AttributeSyntax attribute) 511switch (argumentList.Parent) 543if (attributeArgumentList.Parent is AttributeSyntax attribute) 739var argumentCount = argumentOpt?.Parent is BaseArgumentListSyntax baseArgumentList ? baseArgumentList.Arguments.Count : -1; 900if (bracketedArgumentList.Parent is ElementAccessExpressionSyntax elementAccess) 1228if (equalsValue?.Parent is VariableDeclaratorSyntax varDecl) 1231if (equalsValue?.Parent is PropertyDeclarationSyntax propertyDecl) 1235SemanticModel.GetDeclaredSymbol(equalsValue.Parent, CancellationToken) is IParameterSymbol parameter) 1382if (initializerExpression?.Parent is ImplicitArrayCreationExpressionSyntax implicitArray) 1410else if (initializerExpression?.Parent is EqualsValueClauseSyntax equalsValueClause) 1420else if (initializerExpression?.Parent is ArrayCreationExpressionSyntax arrayCreation) 1430else if (initializerExpression?.Parent is ObjectCreationExpressionSyntax objectCreation) 1454var assignExpression = (AssignmentExpressionSyntax)initializerExpression.Parent; 1523if (singleVariableDesignation.Parent is DeclarationPatternSyntax declarationPattern) 1668if (memberDeclarator.NameEquals != null && memberDeclarator.Parent is AnonymousObjectCreationExpressionSyntax) 1676var types = InferTypes((AnonymousObjectCreationExpressionSyntax)memberDeclarator.Parent); 1695return nameColon.Parent switch 1711return expressionColon.Parent switch 1765memberAccessExpression?.Parent is InvocationExpressionSyntax invocation && 1766memberAccessExpression.Parent.IsParentKind(SyntaxKind.AwaitExpression)) 1888if (nameColon.Parent is SubpatternSyntax subpattern) 1898if (expressionColon.Parent is SubpatternSyntax subpattern) 1915if (nameEquals.Parent is AttributeArgumentSyntax attributeArgumentSyntax) 2081=> InferTypeInMethodLikeDeclaration(arrowClause.Parent); 2117if (arm.Parent is SwitchExpressionSyntax switchExpression) 2165var switchStatement = (SwitchStatementSyntax)switchLabel.Parent.Parent; 2239variableDeclarator.Parent is not VariableDeclarationSyntax variableDeclaration) 2307var inferredFutureUsage = InferTypeBasedOnLaterUsage(symbol, afterNode: left.Parent);
CSharpTypeStyleHelper.cs (2)
105var isSupportedParentKind = variableDeclaration.Parent is (kind: 121switch (declaration.Parent)
CSharpUseExplicitTypeHelper.cs (6)
72if (typeName.Parent is DeclarationExpressionSyntax declExpression && 85if (typeName.Parent is VariableDeclarationSyntax variableDeclaration && 86typeName.Parent.Parent is (kind: SyntaxKind.LocalDeclarationStatement or SyntaxKind.ForStatement or SyntaxKind.UsingStatement)) 99if ((variableDeclaration.Parent as LocalDeclarationStatementSyntax)?.IsConst == true) 104else if (typeName.Parent is ForEachStatementSyntax foreachStatement &&
CSharpUseImplicitTypeHelper.cs (10)
106if (typeName.Parent is VariableDeclarationSyntax variableDeclaration && 107typeName.Parent.Parent is (kind: 113if ((variableDeclaration.Parent as LocalDeclarationStatementSyntax)?.IsConst == true) 152else if (typeName.Parent is ForEachStatementSyntax foreachStatement && 161else if (typeName.Parent is DeclarationExpressionSyntax declarationExpression && 223if (declarationExpression.Parent is not ArgumentSyntax argument || 224argument.Parent is not ArgumentListSyntax argumentList || 225argumentList.Parent is not InvocationExpressionSyntax invocationExpression) 313if (n.Parent is MemberAccessExpressionSyntax memberAccessParent && memberAccessParent.Expression == n)
CSharpVirtualCharService.cs (1)
37if (token.Parent?.Parent is InterpolatedStringExpressionSyntax { StringStartToken.RawKind: (int)SyntaxKind.InterpolatedMultiLineRawStringStartToken })
DefaultExpressionSyntaxExtensions.cs (4)
40if (defaultExpression?.Parent is EqualsValueClauseSyntax equalsValueClause) 70equalsValueClause.Parent?.Parent is VariableDeclarationSyntax declaration) 74else if (equalsValueClause?.Parent is ParameterSyntax parameter)
DirectiveSyntaxExtensions.cs (3)
22while (node != null && (node.Parent != null || node is StructuredTriviaSyntax)) 24if (node.Parent != null) 26node = node.Parent;
ElasticTriviaFormattingRule.cs (1)
398if (parent.Parent is ParameterSyntax)
FindSymbols\CSharpDeclaredSymbolInfoFactoryService.cs (2)
95for (var current = node; current != null; current = current.Parent) 490=> typeDecl.Parent is BaseTypeDeclarationSyntax;
Formatting\CSharpSyntaxFormattingService.cs (1)
343var currentTokenParentParent = currentToken.Parent.Parent;
Formatting\TypingFormattingRule.cs (2)
69if (!SomeParentHasMissingCloseBrace(node.Parent)) 112node = node.Parent;
FormattingHelpers.cs (13)
109if (token.Parent.IsKind(SyntaxKind.PositionalPatternClause) && token.Parent.Parent.IsKind(SyntaxKind.RecursivePattern)) 112return token.Parent.Parent.GetFirstToken() != token; 125=> token.Kind() == SyntaxKind.OpenParenToken && token.Parent.IsKind(SyntaxKind.ParameterList) && token.Parent.Parent.IsKind(SyntaxKind.ParenthesizedLambdaExpression); 203&& statementOrElse.Parent != null 204&& statementOrElse.Parent.IsEmbeddedStatementOwner(); 279token.Parent.Parent.IsKind(SyntaxKind.PropertyDeclaration); 383token.Parent?.Parent is QueryExpressionSyntax queryExpression && 391var parent = initializer.Parent; 415return anonymousObjectInitializer.Parent is AnonymousObjectCreationExpressionSyntax; 427var parent = initializer.Parent; 445var parent = anonymousObjectInitializer.Parent; 481return token.Parent.Parent is LabeledStatementSyntax; 528currentToken.Parent.Parent is DeclarationExpressionSyntax;
FormattingRangeHelper.cs (9)
187var containerOfList = parent.Parent; 203var parentOfParent = parent.Parent; 338RoslynDebug.AssertNotNull(previousToken.Parent?.Parent); 339var labelNode = previousToken.Parent.Parent; 382RoslynDebug.AssertNotNull(node.Parent); 384node = node.Parent; 391node = node.Parent; 401node = node.Parent; 443return token.Parent.Parent as MemberDeclarationSyntax;
IndentBlockFormattingRule.cs (8)
67if (node is TypeParameterConstraintClauseSyntax { Parent: { } declaringNode }) 108RoslynDebug.AssertNotNull(node.Parent); 109var switchStatement = (SwitchStatementSyntax)node.Parent; 182if (propertyPatternClause.Parent is RecursivePatternSyntax { Parent: { } recursivePatternParent }) 227if (node.IsKind(SyntaxKind.ArrayInitializerExpression) && node.Parent != null && node.Parent.IsKind(SyntaxKind.ArrayCreationExpression)) 256if (node.IsKind(SyntaxKind.ListPattern) && node.Parent != null)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs\ExpressionSyntaxExtensions.cs (43)
21while (expression?.Parent is ParenthesizedExpressionSyntax parentExpr) 36=> expression.IsParentKind(SyntaxKind.NameMemberCref) && expression.Parent.IsParentKind(SyntaxKind.QualifiedCref); 39=> expression?.Parent is MemberAccessExpressionSyntax(SyntaxKind.SimpleMemberAccessExpression) memberAccess && memberAccess.Name == expression; 46return expression == (expression.Parent as MemberAccessExpressionSyntax)?.Name || 51=> expression?.Parent is MemberBindingExpressionSyntax memberBinding && 55=> expression?.Parent is QualifiedNameSyntax qualifiedName && qualifiedName.Right == expression; 58=> expression?.Parent is AliasQualifiedNameSyntax aliasName && aliasName.Name == expression; 89=> (expression?.Parent) is MemberAccessExpressionSyntax(SyntaxKind.SimpleMemberAccessExpression) memberAccess && 94(expression.Parent is MemberAccessExpressionSyntax memberAccess && memberAccess.Expression == expression); 97=> (expression?.Parent) is QualifiedNameSyntax qualifiedName && qualifiedName.Left == expression; 103=> expression?.Parent is InvocationExpressionSyntax invocation && 191=> expression?.Parent is ArgumentSyntax { RefOrOutKeyword: SyntaxToken(SyntaxKind.OutKeyword) } argument && 203while (expression?.Parent is ParenthesizedExpressionSyntax or PostfixUnaryExpressionSyntax(SyntaxKind.SuppressNullableWarningExpression)) 204expression = (ExpressionSyntax)expression.Parent; 206if (expression?.Parent is RefExpressionSyntax or 209refParent = expression.Parent; 218=> expression?.Parent is ArgumentSyntax { RefKindKeyword: SyntaxToken(SyntaxKind.InKeyword) }; 244if (expression.Parent != null) 282var parent = expr.Parent; 291if (parent.Parent?.Kind() == SyntaxKind.TupleExpression) 293expr = (TupleExpressionSyntax)parent.Parent; 337if (refParent.Parent is EqualsValueClauseSyntax { Parent: VariableDeclaratorSyntax { Parent: VariableDeclarationSyntax { Type: { } variableDeclarationType } } }) 355if (expression.Parent.IsKind(SyntaxKind.AddressOfExpression)) 366if (expression.Parent is MemberAccessExpressionSyntax memberAccess && 385var nameEquals = expression?.Parent as NameEqualsSyntax; 391if (expression?.Parent is SyntaxNode parent) 407=> expression is IdentifierNameSyntax { Parent: NameColonSyntax }; 502return expression is { Parent.RawKind: not (int)SyntaxKind.ConditionalAccessExpression }; 505if (expression.Parent == null) 508switch (expression.Parent.Kind()) 538var parentConditionalAccessExpression = (ConditionalAccessExpressionSyntax)expression.Parent; 540!parentConditionalAccessExpression.Parent.IsKind(SyntaxKind.ConditionalAccessExpression); 545var isOrAsExpression = (BinaryExpressionSyntax)expression.Parent; 581if (expression.Parent is PrefixUnaryExpressionSyntax) 591while (topExpression.Parent is TypeSyntax typeSyntax) 605if (expression.Parent is PostfixUnaryExpressionSyntax or 624if ((expression.IsParentKind(SyntaxKind.NameEquals) && expression.Parent.IsParentKind(SyntaxKind.AttributeArgument)) || 667=> expression is { Parent: ArgumentSyntax { Parent: ArgumentListSyntax { Parent: InvocationExpressionSyntax invocation } } } && 919=> expression?.Parent is MemberAccessExpressionSyntax;
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs\SyntaxNodeExtensions.cs (27)
44=> CodeAnalysis.CSharpExtensions.IsKind(node?.Parent, kind); 51result = (TNode)node.Parent!; 206if ((current?.Parent is MemberAccessExpressionSyntax(SyntaxKind.SimpleMemberAccessExpression) memberAccess && memberAccess.Name == current) || 207(current?.Parent is MemberBindingExpressionSyntax memberBinding && memberBinding.Name == current)) 209current = current.Parent; 223current.Parent is not ConditionalAccessExpressionSyntax) 225current = current.Parent; 255if (current?.Parent is ConditionalAccessExpressionSyntax conditional1 && 261if (current?.Parent is ConditionalAccessExpressionSyntax conditional2 && 281while (current?.Parent is ConditionalAccessExpressionSyntax conditional && 348=> node?.Parent is AssignmentExpressionSyntax(SyntaxKind.SimpleAssignmentExpression) assignment && 353return node?.Parent != null && 354node.Parent.IsAnyAssignExpression() && 355((AssignmentExpressionSyntax)node.Parent).Left == node; 360return node?.Parent != null && 361node.Parent.IsAnyAssignExpression() && 362((AssignmentExpressionSyntax)node.Parent).Right == node; 367return node?.Parent != null && 368node.Parent.IsCompoundAssignExpression() && 369((AssignmentExpressionSyntax)node.Parent).Left == node; 432return !memberDeclaration.Parent.IsKind(SyntaxKind.CompilationUnit); 757=> node?.Parent is EqualsValueClauseSyntax equalsValue && 774current = current.Parent; 977for (var current = node; current != null; current = current.Parent) 1027for (var current = node; current != null; current = current.Parent) 1051{ Parent: NameEqualsSyntax { Parent: UsingDirectiveSyntax _ } } => true, 1052{ Parent: IdentifierNameSyntax { Parent: UsingDirectiveSyntax _ } } => true,
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\CompilationUnitSyntaxExtensions.cs\CompilationUnitSyntaxExtensions.cs (1)
22if (usingDirectiveAncestor?.Parent is CompilationUnitSyntax)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs\SyntaxTokenExtensions.cs (17)
123if (token.Parent.Parent is StatementSyntax) 179var container = token.Parent.Parent; 260var container = token.Parent.Parent; 261if (container is IncompleteMemberSyntax && container.Parent is CompilationUnitSyntax) 450targetToken.Parent.Parent.IsKind(SyntaxKind.Argument) && 451targetToken.Parent.Parent.Parent.IsKind(SyntaxKind.ArgumentList)) 453var owner = targetToken.Parent.Parent.Parent.Parent; 587targetToken.Parent.Parent is AccessorDeclarationSyntax) 602targetToken.Parent.Parent is AccessorDeclarationSyntax) 614if (node?.Parent is TypeDeclarationSyntax(SyntaxKind.InterfaceDeclaration) typeDecl) 616else if (node?.Parent is DelegateDeclarationSyntax delegateDecl) 647targetToken.Parent.Parent.IsKind(SyntaxKind.TypeParameter) && 648IsGenericInterfaceOrDelegateTypeParameterList(targetToken.Parent.Parent.Parent))
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs\SyntaxTreeExtensions.cs (73)
99parent = attributeList.Parent; 179token.Parent.Parent is BaseTypeDeclarationSyntax) 196token.Parent.Parent is BaseTypeDeclarationSyntax) 208token.Parent.Parent is MemberDeclarationSyntax) 228var container = token.Parent.Parent?.Parent; 312member.Parent is BaseTypeDeclarationSyntax; 492token.Parent.Parent is MemberDeclarationSyntax) 519var container = token.Parent?.Parent?.Parent; 596var container = token.Parent?.Parent; 778if (token.Parent is BaseListSyntax { Parent: not EnumDeclarationSyntax }) 833token.Parent.Parent.IsParentKind(SyntaxKind.BaseList)) 949{ Parent: TypeSyntax { Parent.RawKind: (int)SyntaxKind.FunctionPointerParameter } } => true, 1008name.Parent?.Parent is ConditionalExpressionSyntax conditional && 1010conditional.Parent.IsParentKind(SyntaxKind.GlobalStatement)) 1082token.Parent.Parent is ParameterSyntax parameter2 && 1083parameter2.Parent is ParameterListSyntax parameterList2 && 1098parameter3 = scopedIdentifierName.Parent as ParameterSyntax; 1102if (parameter3 is { Parent: ParameterListSyntax parameterList3 } && 1253parent = token.Parent.Parent; 1255else if (token.IsKind(SyntaxKind.IdentifierToken) && token.Text == "scoped" && token.Parent is IdentifierNameSyntax scopedIdentifierName && scopedIdentifierName.Parent.IsKind(SyntaxKind.Parameter)) 1257parent = scopedIdentifierName.Parent.Parent; 1336leftToken.Parent.Parent is (kind: SyntaxKind.QualifiedName or SyntaxKind.SimpleMemberAccessExpression)) 1338var possibleCommaOrParen = FindTokenOnLeftOfNode(leftToken.Parent.Parent); 1420leftToken.Parent is SingleVariableDesignationSyntax { Parent: DeclarationPatternSyntax }; 1504while (typeSyntax.Parent is TypeSyntax parentTypeSyntax) 1509if (typeSyntax.Parent is BinaryExpressionSyntax binaryExpressionSyntax && 1540if (node is CaseSwitchLabelSyntax { Parent: SwitchSectionSyntax }) 1568possibleCommaOrParen.Parent?.Parent is ParenthesizedLambdaExpressionSyntax parenthesizedLambda) 1636if (outer.Parent is ForEachStatementSyntax @foreach) 1657if (node.Parent.IsKind(SyntaxKind.ParenthesizedExpression)) 1659node = node.Parent; 1663if (node.Parent.IsKind(SyntaxKind.Argument) && node.Parent.Parent.IsKind(SyntaxKind.TupleExpression)) 1665node = node.Parent.Parent; 1677leftToken.Parent?.Parent is InvocationExpressionSyntax invocation) 1785parent.Parent?.Parent is (kind: 1793if (parent.Parent is (kind: SyntaxKind.ForEachStatement or SyntaxKind.ForEachVariableStatement)) 1853if (token.IsKind(SyntaxKind.IdentifierToken) && token.Text == "scoped" && token.Parent.IsKind(SyntaxKind.IdentifierName) && token.Parent.Parent is VariableDeclarationSyntax or ExpressionStatementSyntax or IncompleteMemberSyntax) 2069equalsValue.Parent.IsParentKind(SyntaxKind.VariableDeclaration)) 2341type.Parent?.Parent is LocalDeclarationStatementSyntax declStatement) 2506token.Parent?.Parent is ObjectCreationExpressionSyntax objectCreation) 2736=> token.Parent?.Parent is InvocationExpressionSyntax invocation && 2753while (parentMemberAccess.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression)) 2755parentMemberAccess = parentMemberAccess.Parent; 2758if (parentMemberAccess.Parent.IsKind(SyntaxKind.Argument) && 2759parentMemberAccess.Parent.IsChildNode<ArgumentListSyntax>(a => a.Arguments.FirstOrDefault())) 2761token = ((ArgumentListSyntax)parentMemberAccess.Parent.Parent!).OpenParenToken; 2769while (parentQualifiedName.Parent.IsKind(SyntaxKind.QualifiedName)) 2771parentQualifiedName = parentQualifiedName.Parent; 2774if (parentQualifiedName.Parent.IsKind(SyntaxKind.Argument) && 2775parentQualifiedName.Parent.IsChildNode<ArgumentListSyntax>(a => a.Arguments.FirstOrDefault())) 2777token = ((ArgumentListSyntax)parentQualifiedName.Parent.Parent!).OpenParenToken; 2786token.Parent.Parent is InvocationExpressionSyntax invocationExpression && 2853nameExpr = (ExpressionSyntax)nameExpr.Parent!; 2864token.Parent.Parent is (kind: SyntaxKind.ObjectInitializerExpression or SyntaxKind.CollectionInitializerExpression)) 2873if (token.Parent.Parent is ArgumentSyntax { RefOrOutKeyword.RawKind: (int)SyntaxKind.OutKeyword }) 2909if (name.Parent != null) 2911switch (name.Parent.Kind()) 2914return ((QualifiedNameSyntax)name.Parent).Right == name; 2916return ((AliasQualifiedNameSyntax)name.Parent).Name == name; 2918return ((MemberAccessExpressionSyntax)name.Parent).Name == name; 3021token.Parent?.Parent is BinaryExpressionSyntax(SyntaxKind.IsExpression) binaryExpression && 3028token.Parent?.Parent is DeclarationPatternSyntax declarationExpression &&
NewLineUserSettingFormattingRule.cs (7)
49var parentKind = node.Parent?.Kind(); 85&& previousToken.Parent!.Parent == currentToken.Parent.Parent) 145var currentTokenParentParent = currentToken.Parent.Parent; 257|| previousToken.Parent!.Parent != currentToken.Parent.Parent) 346var currentTokenParentParent = currentToken.Parent.Parent;
ParenthesizedExpressionSyntaxExtensions.cs (22)
29var nodeParent = node.Parent; 41? nodeParent.Parent as ExpressionSyntax 72if (nodeParent is EqualsValueClauseSyntax { Parent: VariableDeclaratorSyntax { Parent: VariableDeclarationSyntax varDecl } }) 308if (node.Parent is not ConstantPatternSyntax { Parent: IsPatternExpressionSyntax }) 496if (node?.Parent is CastExpressionSyntax castExpression) 554if (node.Parent is BinaryExpressionSyntax binaryExpression && 556(binaryExpression.IsParentKind(SyntaxKind.Argument) || binaryExpression.Parent is InitializerExpressionSyntax)) 608if (node.Parent is ArgumentSyntax argument) 610if (argument.Parent is ArgumentListSyntax argumentList) 619else if (node.Parent is InitializerExpressionSyntax initializer) 643if (node.Parent is ArgumentSyntax argument) 645if (argument.Parent is ArgumentListSyntax argumentList) 654else if (node.Parent is InitializerExpressionSyntax initializer) 692if (pattern is DiscardPatternSyntax && node.Parent is IsPatternExpressionSyntax) 707if (node.Parent is ParenthesizedPatternSyntax) 711if (node.Parent is IsPatternExpressionSyntax) 715if (node.Parent is SwitchExpressionArmSyntax) 719if (node.Parent is SubpatternSyntax) 723if (node.Parent is CasePatternSwitchLabelSyntax) 729return node.Parent is PatternSyntax patternParent &&
ReassignedVariable\CSharpReassignedVariableService.cs (1)
48current = current.Parent;
Rename\CSharpRenameRewriterLanguageService.cs (8)
277=> accessor?.Parent?.Parent is PropertyDeclarationSyntax property // 3 null checks in one: accessor -> accessor list -> property declaration 547token.Parent.Parent is (kind: SyntaxKind.AliasQualifiedName or SyntaxKind.QualifiedCref or SyntaxKind.QualifiedName)) 878var currentUsing = (UsingDirectiveSyntax)token.Parent!.Parent!.Parent!; 908foreach (var typeParameter in ((TypeParameterListSyntax)currentTypeParameter.Parent!).Parameters) 1187if (token.Parent is TypeSyntax && token.Parent.Parent is TypeSyntax) 1200if (enclosingStatement == null && enclosingInitializer != null && enclosingInitializer.Parent is VariableDeclaratorSyntax)
SemanticModelExtensions.cs (32)
207if (type.Parent is BaseTypeSyntax baseType && 208baseType.Parent is BaseListSyntax baseList && 216else if (baseList.Types[0] == type.Parent) 225if (type?.Parent is VariableDeclarationSyntax variableDeclaration && 234type.Parent.IsParentKind(SyntaxKind.EqualsValueClause) && 235type.Parent.Parent.IsParentKind(SyntaxKind.VariableDeclarator) && 236type.Parent.Parent.Parent.IsParentKind(SyntaxKind.VariableDeclaration, out variableDeclaration) && 260type.Parent, cancellationToken).DeclaredAccessibility; 273if (type.IsParentKind(SyntaxKind.Parameter) && type.Parent.IsParentKind(SyntaxKind.ParameterList)) 275if (type.Parent.Parent.IsParentKind(SyntaxKind.DelegateDeclaration) || 276type.Parent.Parent.IsParentKind(SyntaxKind.MethodDeclaration) || 277type.Parent.Parent.IsParentKind(SyntaxKind.IndexerDeclaration) || 278type.Parent.Parent.IsParentKind(SyntaxKind.OperatorDeclaration)) 281type.Parent.Parent.Parent, cancellationToken).DeclaredAccessibility; 284if (type.Parent.Parent.IsParentKind(SyntaxKind.ConstructorDeclaration)) 286var symbol = semanticModel.GetDeclaredSymbol(type.Parent.Parent.Parent, cancellationToken); 391else if (current.Parent is ForEachStatementSyntax foreachStatement && 427if (topExpression?.Parent is ArgumentSyntax argument) 434if (argument.Parent is BaseArgumentListSyntax argumentList) 437if (semanticModel.GetSymbolInfo(argumentList.Parent, cancellationToken).Symbol is IMethodSymbol member && index < member.Parameters.Length)
SemanticModelReuse\CSharpSemanticModelReuseLanguageService.cs (6)
35Contract.ThrowIfFalse(accessor.Parent is AccessorListSyntax); 36Contract.ThrowIfFalse(accessor.Parent.Parent is BasePropertyDeclarationSyntax); 37return (BasePropertyDeclarationSyntax)accessor.Parent.Parent; 45for (SyntaxNode? previous = null, current = node; current != null; previous = current, current = current.Parent)
SimpleNameSyntaxExtensions.cs (6)
19return ((MemberAccessExpressionSyntax)name.Parent).Expression; 27return ((QualifiedNameSyntax)name.Parent).Left; 31return ((QualifiedCrefSyntax)name.Parent.Parent).Container; 52if (simpleName?.Parent is InvocationExpressionSyntax invocation && 59if (simpleName?.Parent is ElementAccessExpressionSyntax elementAccess &&
Simplification\CSharpSimplificationService.cs (3)
115var parent = parentOfToken.Parent; 211var parent = currentTuple.Parent; 222var grandParent = parent.Parent;
Simplification\CSharpSimplificationService.Expander.cs (7)
78argument.Parent?.Parent is ObjectCreationExpressionSyntax objectCreationExpression) 252&& node.Parent is TupleExpressionSyntax tuple 622var parent = originalSimpleName.Parent; 880parent = parent.Parent; 949var parent = originalNode.Parent; 980else if (originalNode.Parent is CrefSyntax)
Simplification\Reducers\AbstractCSharpReducer.AbstractReductionRewriter.cs (8)
82for (SyntaxNode? current = expression; current != null; current = current.Parent) 90Contract.ThrowIfNull(lastExpression.Parent); 91return lastExpression.Parent; 97for (SyntaxNode? current = pattern; current != null; current = current.Parent) 105Contract.ThrowIfNull(lastPattern.Parent); 106return lastPattern.Parent; 116Contract.ThrowIfNull(topMostCref.Parent); 117return topMostCref.Parent;
Simplification\Reducers\CSharpDefaultExpressionReducer.Rewriter.cs (1)
52parentNode: node.Parent,
Simplification\Reducers\CSharpInferredMemberNameReducer.Rewriter.cs (3)
57if (node.Parent.IsKind(SyntaxKind.TupleExpression)) 61parentNode: node.Parent, 73parentNode: node.Parent,
Simplification\Reducers\CSharpMiscellaneousReducer.cs (6)
43parameterSyntax.Parent.IsParentKind(SyntaxKind.ParenthesizedLambdaExpression)) 126if (!CanHaveEmbeddedStatement(node.Parent)) 144if (!node.Parent.IsKind(SyntaxKind.IfStatement)) 150if (node.Parent?.Parent is (kind: SyntaxKind.IfStatement or SyntaxKind.ElseClause)) 162if (!FormattingRangeHelper.AreTwoTokensOnSameLine(node.Parent.GetFirstToken(), node.GetFirstToken().GetPreviousToken()))
Simplification\Reducers\CSharpMiscellaneousReducer.Rewriter.cs (3)
26parentNode: node.Parent, 35parentNode: node.Parent, 44parentNode: node.Parent,
Simplification\Simplifiers\AbstractCSharpSimplifier.cs (5)
271var nameofValueOpt = semanticModel.GetConstantValue(node.Parent.Parent.Parent); 351startNode = usingDirective.Parent.Parent;
Simplification\Simplifiers\ExpressionSimplifier.cs (2)
376var type = semanticModel.GetTypeInfo(memberAccess.Parent, cancellationToken).Type; 396if (constructor == null || constructor.Parent.Kind() is not (SyntaxKind.StructDeclaration or SyntaxKind.RecordStructDeclaration))
Simplification\Simplifiers\NameSimplifier.cs (9)
241if (!name.Parent.IsKind(SyntaxKind.QualifiedName) && (inDeclarationContext || inMemberAccessContext)) 366if (name.Parent is QualifiedCrefSyntax qualifiedCrefParent && qualifiedCrefParent.Container == name) 376else if (name.Parent is QualifiedNameSyntax qualifiedParent && qualifiedParent.Left == name && 416if (name.Parent is NameMemberCrefSyntax) 486if (name.Parent.Kind() == SyntaxKind.Attribute || name.IsRightSideOfDotOrColonColon()) 543parent = parent.Parent; 643if (expression?.Parent is CastExpressionSyntax castExpression && 670name = (NameSyntax)name.Parent; 673if (name?.Parent is UsingDirectiveSyntax usingDirective &&
SpeculationAnalyzer.cs (6)
284Debug.Assert(previousOriginalNode == null || previousOriginalNode.Parent == currentOriginalNode); 285Debug.Assert(previousReplacedNode == null || previousReplacedNode.Parent == currentReplacedNode); 428var oldSwitchStatement = (SwitchStatementSyntax)originalCaseSwitchLabel.Parent.Parent; 429var newSwitchStatement = (SwitchStatementSyntax)newCaseSwitchLabel.Parent.Parent;
StatementSyntaxExtensions.cs (4)
40if (first.Parent.IsKind(SyntaxKind.GlobalStatement)) 41return second.Parent.IsKind(SyntaxKind.GlobalStatement); 43return first.Parent == second.Parent;
SuppressFormattingRule.cs (3)
132var constructorDeclarationNode = constructorInitializerNode.Parent as ConstructorDeclarationSyntax; 380if (initializer is { Parent: { } }) 382AddInitializerSuppressOperations(list, initializer.Parent, initializer.Expressions);
TokenBasedFormattingRule.cs (3)
201var attributeOwner = previousToken.Parent?.Parent; 230RoslynDebug.AssertNotNull(currentUsing.Parent); 232var usings = GetUsings(currentUsing.Parent);
VariableDeclaratorExtensions.cs (1)
15if (declarator.Parent is VariableDeclarationSyntax variableDeclaration)
WrappingFormattingRule.cs (1)
149firstTokenOfNode = node.Parent!.GetFirstToken(includeZeroWidth: true);
Microsoft.CodeAnalysis.EditorFeatures.Cocoa (3)
NavigationCommandHandlers\FindImplementingMembersCommandHandler.cs (3)
105var parentTypeNode = documentToken.Parent?.Parent?.Parent?.Parent;
Microsoft.CodeAnalysis.EditorFeatures.Test.Utilities (5)
EditAndContinue\EditAndContinueTestHelpers.cs (1)
361result = result.Parent!;
Structure\AbstractSyntaxNodeStructureProviderTests.cs (4)
30while (node.Parent is TSyntaxNode) 32if ((position == node.SpanStart && position == node.Parent.SpanStart) || 33(position == node.Span.End && position == node.Parent.Span.End)) 35node = (TSyntaxNode)node.Parent;
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (1)
Utilities\SymbolEquivalenceComparerTests.cs (1)
1764invocation ??= method_root.Parent.DescendantNodes().OfType<TInvocation>().First();
Microsoft.CodeAnalysis.EditorFeatures2.UnitTests (11)
Diagnostics\DiagnosticServiceTests.vb (1)
1880Select Case CodeAnalysis.CSharp.CSharpExtensions.Kind(context.Node.Parent)
Expansion\AbstractExpansionTest.vb (3)
58While Not node Is Nothing And Not node.Parent Is Nothing And node.Parent.SpanStart = node.SpanStart 59node = node.Parent
Simplification\AbstractSimplificationTests.vb (6)
93Dim node = root.FindToken(span.Start).Parent.Parent 99Dim node = root.FindToken(span.Start).Parent.Parent.Parent 134While Not node Is Nothing And Not node.Parent Is Nothing And node.Parent.SpanStart = node.SpanStart 135node = node.Parent
Simplification\TypeNameSimplifierTest.vb (1)
4253Dim node = root.FindToken(span.Start).Parent.Parent
Microsoft.CodeAnalysis.Features (205)
AbstractAddAnonymousTypeMemberNameCodeFixProvider.cs (3)
64if (node.Parent is not TAnonymousObjectMemberDeclaratorSyntax declarator) 75if (declarator.Parent is not TAnonymousObjectInitializer) 126var anonymousType = current.Parent;
AbstractAddParameterCodeFixProvider.cs (1)
63for (var node = initialNode; node != null; node = node.Parent)
AbstractConvertTypeOfToNameOfDiagnosticAnalyzer.cs (1)
39var parent = node.Parent;
AbstractMakeMethodSynchronousCodeFixProvider.cs (3)
217expressionNode = nameNode.Parent; 227var invocationExpression = expressionNode.Parent; 247var parentExpression = parentMemberAccessExpression.Parent;
AbstractObjectCreationExpressionAnalyzer.cs (2)
93if (_objectCreationExpression.Parent.Parent is not TVariableDeclaratorSyntax containingDeclarator)
AbstractRemoveUnnecessaryParenthesesDiagnosticAnalyzer.cs (1)
73var parentKind = parenthesizedExpression.Parent?.RawKind;
AbstractRemoveUnusedValuesCodeFixProvider.cs (14)
166!syntaxFacts.IsExpressionStatement(node.Parent)) 172else if (syntaxFacts.IsDeclarationPattern(node.Parent)) 471if (declaredLocal == null && node.Parent is TCatchStatementSyntax) 473declaredLocal = semanticModel.GetDeclaredSymbol(node.Parent, cancellationToken) as ILocalSymbol; 501Contract.ThrowIfFalse(node.GetRequiredParent().Parent is TExpressionStatementSyntax); 508if (node.Parent is TStatementSyntax) 511nodesToRemove.Add(node.Parent); 513else if (node.Parent is TExpressionSyntax && node.Parent.Parent is TExpressionStatementSyntax) 516nodesToRemove.Add(node.Parent.Parent); 684n => n.Parent is TSwitchCaseBlockSyntax || 685blockFacts.IsExecutableBlock(n.Parent) &&
AbstractSimplifyInterpolationCodeFixProvider.cs (1)
63interpolationSyntax.Parent is TInterpolatedStringExpressionSyntax interpolatedString)
AbstractUseAutoPropertyAnalyzer.cs (2)
232if (fieldReference.GetSyntax(cancellationToken) is not TVariableDeclarator { Parent.Parent: TFieldDeclaration fieldDeclaration } variableDeclarator)
AbstractUseCompoundAssignmentCodeFixProvider.cs (1)
103if (syntaxFacts.IsSimpleAssignmentStatement(currentAssignment.Parent))
AbstractUseIsNullForReferenceEqualsDiagnosticAnalyzer.cs (1)
134var negated = syntaxFacts.IsLogicalNotExpression(invocation.Parent);
AbstractUseNullPropagationCodeFixProvider.cs (5)
163var isElseIf = syntaxFacts.IsElseClause(ifStatement.Parent); 178TryGetBlock(whenTrueStatement.Parent, out var block)) 196nodeToBeReplaced = ifStatement.Parent!; 219if (syntaxFacts.IsSimpleMemberAccessExpression(match.Parent)) 221var memberAccess = match.Parent;
AbstractUseNullPropagationDiagnosticAnalyzer_IfStatement.cs (1)
77if (whenPartMatch.Parent is TMemberAccessExpressionSyntax memberAccess)
AddImport\SymbolReferenceFinder.cs (5)
174hasIncompleteParentMember = nameNode?.Parent?.RawKind == syntaxFacts.SyntaxKinds.IncompleteMember; 310? syntaxFacts.GetExpressionOfMemberAccessExpression(nameNode.Parent, allowImplicitTarget: true) 311: syntaxFacts.GetTargetOfMemberBinding(nameNode.Parent); 376methodSymbols, nameNode.Parent, searchScope.CancellationToken); 431methodSymbols, _node.Parent, searchScope.CancellationToken);
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.RemoveSuppressionCodeAction_Attribute.cs (1)
55? attributeNode.Parent
CodeLens\CodeLensReferencesService.cs (1)
194node = node.Parent;
CodeRefactorings\AbstractRefactoringHelpersService.cs (8)
289leftNode = leftNode?.Parent; 324rightNode = rightNode?.Parent; 375selectionNode = selectionNode.Parent; 406if (syntaxFacts.IsLocalDeclarationStatement(node) || syntaxFacts.IsLocalDeclarationStatement(node.Parent)) 408var localDeclarationStatement = syntaxFacts.IsLocalDeclarationStatement(node) ? node : node.Parent!; 468if (syntaxFacts.IsExpressionStatement(node.Parent)) 470yield return node.Parent; 549ancestor = ancestor.Parent;
CodeRefactorings\AddAwait\AbstractAddAwaitCodeRefactoringProvider.cs (1)
73if (syntaxFacts.IsExpressionOfInvocationExpression(node.Parent))
CodeRefactorings\MoveType\AbstractMoveTypeService.cs (1)
173=> typeNode.Parent is TTypeDeclarationSyntax;
CodeRefactorings\MoveType\AbstractMoveTypeService.MoveTypeNamespaceScopeEditor.cs (1)
36if (node.Parent is TNamespaceDeclarationSyntax namespaceDeclaration)
Completion\Providers\AbstractAwaitCompletionProvider.cs (1)
241var parentOfAwaitable = potentialAwaitableExpression.Parent;
Completion\Providers\AbstractInternalsVisibleToCompletionProvider.cs (6)
103while (syntaxFactsService.IsElementAccessExpression(node.Parent) || syntaxFactsService.IsBinaryExpression(node.Parent)) 105node = node.Parent; 109var attributeSyntaxNodeCandidate = node.Parent?.Parent?.Parent;
ConvertAutoPropertyToFullProperty\AbstractConvertAutoPropertyToFullPropertyCodeRefactoringProvider.cs (1)
67if (containingProperty?.Parent is not TTypeDeclarationNode)
ConvertForToForEach\AbstractConvertForToForEachCodeRefactoringProvider.cs (13)
156var argument = current.Parent; 161var argumentList = argument?.Parent; 196if (syntaxFacts.IsElementAccessExpression(argumentList.Parent)) 198var expr = syntaxFacts.GetExpressionOfElementAccessExpression(argumentList.Parent); 210if (syntaxFacts.IsInvocationExpression(argumentList.Parent)) 212var invokedExpression = syntaxFacts.GetExpressionOfInvocationExpression(argumentList.Parent); 424if (syntaxFacts.AreEquivalent(current.Parent, indexExpression)) 430else if (syntaxFacts.AreEquivalent(current.Parent?.Parent, elementAtExpression)) 441var shouldWarn = syntaxFacts.IsArgument(current.Parent); 444syntaxFacts.IsMemberAccessExpression(current.Parent) && 445syntaxFacts.IsInvocationExpression(current.Parent.Parent);
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.Rewriting.cs (2)
53var nodesToRemove = sections.Skip(1).Select(s => s.SyntaxToRemove).Where(s => s.Parent == ifStatement.Parent);
ConvertToInterpolatedString\AbstractConvertConcatenationToInterpolatedStringRefactoringProvider.cs (1)
66IsStringConcat(syntaxFacts, top.Parent, semanticModel, cancellationToken))
ConvertToInterpolatedString\AbstractConvertPlaceholderToInterpolatedStringRefactoringProvider.cs (3)
129var invocation = selectedArgument?.Parent?.Parent as TInvocationExpressionSyntax; 138var invocation = argumentList?.Parent as TInvocationExpressionSyntax;
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (8)
304var current = node.Parent; 318current = current.Parent; 374var current = node.Parent; 398current = current.Parent; 1692oldNode = oldNode.Parent; 1741return HasEdit(editMap, node.Parent, edit.Kind); 1958current = current.Parent; 5937node = node.Parent;
EmbeddedLanguages\AbstractLanguageDetector.cs (4)
76syntaxFacts.IsArgument(token.Parent.Parent)) 78options = GetOptionsFromSiblingArgument(token.Parent.Parent, semanticModel, cancellationToken) ?? 108syntaxFacts.IsArgument(token.Parent.Parent) && 109IsArgumentToWellKnownAPI(token, token.Parent.Parent, semanticModel, cancellationToken, out options);
EmbeddedLanguages\DateAndTime\LanguageServices\DateAndTimeLanguageDetector.cs (4)
85var interpolation = interpolationFormatClause?.Parent; 103var argumentList = argumentNode.Parent; 104var invocationOrCreation = argumentList?.Parent; 158syntaxFacts.IsArgument(token.Parent!.Parent);
EmbeddedLanguages\EmbeddedLanguageDetector.cs (14)
82for (var node = token.Parent; node != null; node = node.Parent) 146var interpolation = interpolationFormatClause?.Parent; 203if (syntaxFacts.IsArgument(container.Parent)) 205if (IsArgumentWithMatchingStringSyntaxAttribute(semanticModel, container.Parent, cancellationToken, out identifier)) 208else if (syntaxFacts.IsAttributeArgument(container.Parent)) 210if (IsAttributeArgumentWithMatchingStringSyntaxAttribute(semanticModel, container.Parent, cancellationToken, out identifier)) 227if (syntaxFacts.IsEqualsValueClause(container.Parent)) 229if (syntaxFacts.IsVariableDeclarator(container.Parent.Parent)) 231var variableDeclarator = container.Parent.Parent; 239else if (syntaxFacts.IsEqualsValueOfPropertyDeclaration(container.Parent)) 241var property = container.Parent.GetRequiredParent(); 259if (syntaxFacts.IsAnyInitializerExpression(node.Parent, out var instance))
EmbeddedLanguages\Json\LanguageServices\JsonLanguageDetector.cs (1)
142var invocationOrCreation = argumentList.Parent;
EmbeddedLanguages\RegularExpressions\LanguageServices\RegexLanguageDetector.cs (1)
109var invocationOrCreation = argumentList.Parent;
ExtractMethod\MethodExtractor.CodeGenerator.cs (1)
123destination = previousMemberNode.Parent ?? previousMemberNode;
ExtractMethod\SelectionValidator.cs (2)
184if (firstStatement != null && stmt.Span.End <= textSpan.End && stmt.Parent == firstStatement.Parent)
FullyQualify\AbstractFullyQualifyService.cs (1)
166var rightSide = syntaxFacts.GetRightSideOfDot(simpleName.Parent);
GenerateMember\GenerateVariable\AbstractGenerateVariableService.State.cs (2)
346var block = assignmentStatement.Parent; 445if (syntaxKinds.AddressOfExpression == SimpleNameOrMemberAccessExpressionOpt.Parent?.RawKind)
Highlighting\Keywords\AbstractKeywordHighlighter.cs (1)
41for (var parent = token.Parent; parent != null; parent = parent.Parent)
ImplementInterface\AbstractImplementInterfaceService.DisposePatternCodeAction.cs (1)
154var typeDeclarationWithCoreMembers = firstGeneratedMember.Parent!;
InlineMethod\AbstractInlineMethodRefactoringProvider.cs (9)
165if (_syntaxFacts.IsThrowStatement(inlineExpression.Parent) || _syntaxFacts.IsThrowExpression(inlineExpression)) 204&& !_syntaxFacts.IsExpressionStatement(calleeInvocationNode.Parent)) 440if (_syntaxFacts.IsThrowStatement(rawInlineExpression.Parent) 441&& _syntaxFacts.IsExpressionStatement(calleeInvocationNode.Parent)) 449&& _syntaxFacts.IsExpressionStatement(calleeInvocationNode.Parent)) 464if (_syntaxFacts.IsExpressionStatement(calleeInvocationNode.Parent) 504if (_syntaxFacts.IsThrowStatement(rawInlineExpression.Parent)) 524if (!_syntaxFacts.IsExpressionStatement(calleeInvocationNode.Parent) 570for (SyntaxNode? node = calleeMethodInvocationNode; node != null; node = node.Parent)
InlineMethod\AbstractInlineMethodRefactoringProvider.MethodParametersInfo.cs (1)
497&& _syntaxFacts.IsExpressionStatement(calleInvocationNode.Parent)
IntroduceParameter\IntroduceParameterDocumentRewriter.cs (2)
119var declarator = _expression?.Parent?.Parent;
IntroduceVariable\AbstractIntroduceVariableService.State.cs (5)
197while (syntaxFacts.IsParenthesizedExpression(current.Parent)) 198current = (TExpressionSyntax)current.Parent; 200if (!syntaxFacts.IsEqualsValueClause(current.Parent)) 203var equalsValue = current.Parent; 204if (!syntaxFacts.IsVariableDeclarator(equalsValue.Parent))
InvertIf\AbstractInvertIfCodeRefactoringProvider.cs (1)
359ifNode.Parent == subsequentStatementRanges[0].Parent;
InvertIf\AbstractInvertIfCodeRefactoringProvider.StatementRange.cs (3)
22Debug.Assert(firstStatement.Parent != null); 23Debug.Assert(firstStatement.Parent == lastStatement.Parent);
InvertLogical\AbstractInvertLogicalCodeRefactoringProvider.cs (7)
56while (expression.Parent?.RawKind == expression.RawKind) 58expression = expression.Parent; 68syntaxFacts.IsLogicalAndExpression(expression.Parent) || syntaxFacts.IsLogicalOrExpression(expression.Parent)) 125while (syntaxFacts.IsParenthesizedExpression(expression.Parent) || 126syntaxFacts.IsLogicalNotExpression(expression.Parent)) 128expression = expression.Parent;
MoveStaticMembers\MoveStaticMembersWithDialogCodeAction.cs (5)
276syntaxFacts.IsMemberAccessExpression(refNode.Parent) && 277syntaxFacts.IsInvocationExpression(refNode.Parent.Parent)) 280var extensionMethodInvocation = refNode.Parent.Parent;
NameTupleElement\AbstractNameTupleElementCodeRefactoringProvider.cs (1)
51var argument = potentialArguments.FirstOrDefault(n => n?.Parent is TTupleExpressionSyntax);
NamingStyleCodeFixProvider.cs (1)
70node = node.Parent;
RemoveUnusedVariable\AbstractRemoveUnusedVariableCodeFixProvider.cs (3)
143var statementParent = localDeclaration.Parent; 176if (variableDeclarator.Parent?.Parent is TLocalDeclarationStatement candidate)
ReplaceConditionalWithStatements\AbstractReplaceConditionalWithStatementsCodeRefactoringProvider.cs (8)
149var parentStatement = topExpression.Parent as TStatementSyntax; 171if (topExpression.Parent is TEqualsValueClauseSyntax equalsValue && 172equalsValue.Parent is TVariableDeclaratorSyntax variableDeclarator) 196if (current.Parent is TExpressionSyntax parentExpression) 202if (current.Parent is TArgumentSyntax { Parent: TArgumentListSyntax { Parent: TExpressionSyntax argumentParent } }) 258var isGlobalStatement = syntaxFacts.IsGlobalStatement(localDeclarationStatement.Parent);
ReplaceDocCommentTextWithTag\AbstractReplaceDocCommentTextWithTagCodeRefactoringProvider.cs (1)
132for (var node = token.Parent; node != null; node = node.Parent)
ReplacePropertyWithMethods\AbstractReplacePropertyWithMethodsService.cs (7)
121_expression = (TExpressionSyntax)_expression.Parent!; 124Contract.ThrowIfNull(_expression.Parent, $"Parent of {_expression} is null."); 193if (replacer._expression.Parent is TStatementSyntax) 251else if (_syntaxFacts.IsInferredAnonymousObjectMemberDeclarator(_expression.Parent)) //.IsParentKind(SyntaxKind.AnonymousObjectMemberDeclarator)) 255var declarator = _expression.Parent; 291Contract.ThrowIfNull(_expression.Parent, $"Parent of {_expression} is null."); 296_expression.Parent,
SignatureHelp\CommonSignatureHelpUtilities.cs (2)
150if (initializer is not { Parent: not null }) 160var parentOperation = semanticModel.GetOperation(initializer.Parent, cancellationToken) as IObjectOrCollectionInitializerOperation;
SimplifyThisOrMe\AbstractSimplifyThisOrMeDiagnosticAnalyzer.cs (1)
57if (node.Parent is not TMemberAccessExpressionSyntax memberAccessExpression)
SplitOrMergeIfStatements\AbstractMergeIfStatementsCodeRefactoringProvider.cs (1)
115while (statements is [{ Parent: var parent }, ..] &&
SplitOrMergeIfStatements\Consecutive\AbstractMergeConsecutiveIfStatementsCodeRefactoringProvider.cs (2)
234blockFacts.IsExecutableBlock(ifOrElseIf.Parent)) 236var blockStatements = blockFacts.GetExecutableBlockStatements(ifOrElseIf.Parent);
SplitOrMergeIfStatements\Consecutive\AbstractSplitIntoConsecutiveIfStatementsCodeRefactoringProvider.cs (1)
89if (!blockFacts.IsExecutableBlock(ifOrElseIf.Parent))
SplitOrMergeIfStatements\Nested\AbstractMergeNestedIfStatementsCodeRefactoringProvider.cs (5)
99if (blockFacts.IsStatementContainer(statement.Parent)) 101var statements = blockFacts.GetStatementContainerStatements(statement.Parent); 105if (rootStatements.Count > 0 && ifGenerator.IsIfOrElseIf(rootStatements[0].Parent)) 107ifOrElseIf = rootStatements[0].Parent; 175var statements = blockFacts.GetStatementContainerStatements(innerIfStatement.Parent);
UseAutoProperty\AbstractUseAutoPropertyCodeFixProvider.cs (4)
254if (fieldToRemove.Parent == property.Parent && 255fieldToRemove.Parent is TTypeDeclarationSyntax typeDeclaration) 339node = node.Parent;
UseCollectionInitializerAnalyzer.cs (1)
68containingBlockOrCompilationUnit = containingBlockOrCompilationUnit.Parent!;
UseNamedArguments\AbstractUseNamedArgumentsCodeRefactoringProvider.cs (3)
36var argument = potentialArguments.FirstOrDefault(n => n.Parent is TArgumentListSyntax) as TSimpleArgumentSyntax; 72if (argument.Parent is not TArgumentListSyntax argumentList) 146var argumentList = (TArgumentListSyntax)firstArgument.Parent!;
UseNamedMemberInitializerAnalyzer.cs (2)
64var containingBlockOrCompilationUnit = _containingStatement.Parent; 70containingBlockOrCompilationUnit = containingBlockOrCompilationUnit.Parent;
ValueTracking\ValueTracker.cs (2)
217if (operation is null && node.Parent is not null) 219operation = semanticModel.GetOperation(node.Parent, cancellationToken);
ValueTracking\ValueTracker.FindReferencesProgress.cs (4)
68if (syntaxFacts.IsMemberAccessExpression(node.Parent)) 70node = node.Parent; 148if (originalNode is null || originalNode.Parent is null) 154var operation = semanticModel.GetOperation(originalNode.Parent, cancellationToken);
Wrapping\BinaryExpression\AbstractBinaryExpressionWrapper.cs (1)
66if (binaryExpr.Parent is TBinaryExpressionSyntax parentBinary &&
Wrapping\ChainedExpression\AbstractChainedExpressionWrapper.cs (1)
86if (IsDecomposableChainPart(node.Parent))
Microsoft.CodeAnalysis.Test.Utilities (9)
CommonTestBase.cs (1)
670node = node.Parent;
Compilation\ControlFlowGraphVerifier.cs (1)
1038assignment.Syntax.Parent is VisualBasic.Syntax.ForStatementSyntax forStmt &&
Syntax\NodeHelpers.cs (7)
98while (retVal.Parent != null) 100retVal = retVal.Parent; 109var retVal = node.Parent == null ? node : node.Parent; 110while (retVal.Parent != null) 112retVal = retVal.Parent; 125retVal = retVal.Parent;
Microsoft.CodeAnalysis.VisualBasic (177)
Analysis\FlowAnalysis\DataFlowPass.vb (1)
1601Dim variableIsUsedDirectlyAndIsAlwaysAssigned = DeclaredVariableIsAlwaysAssignedBeforeInitializer(node.Syntax.Parent, node.InitializerOpt, placeholder)
Binding\Binder_Conversions.vb (5)
457TypeOf argument.Syntax.Parent Is BinaryExpressionSyntax OrElse 458TypeOf argument.Syntax.Parent Is UnaryExpressionSyntax OrElse 459TypeOf argument.Syntax.Parent Is TupleExpressionSyntax OrElse 460(TypeOf argument.Syntax.Parent Is AssignmentStatementSyntax AndAlso argument.Syntax.Parent.Kind <> SyntaxKind.SimpleAssignmentStatement),
Binding\Binder_Expressions.vb (7)
3625If node.Parent Is Nothing OrElse 3626node.Parent.Kind <> SyntaxKind.NamedFieldInitializer Then 3668Dim parent = syntax.Parent 3677Return syntax.Parent IsNot Nothing AndAlso 3678syntax.Parent.Kind = SyntaxKind.NameOfExpression AndAlso 3679DirectCast(syntax.Parent, NameOfExpressionSyntax).Argument Is syntax 4006Dim parent = TryCast(argumentExpression.Parent, SimpleArgumentSyntax)
Binding\Binder_Initializers.vb (3)
291If equalsValueOrAsNewSyntax.Parent IsNot Nothing Then 293fieldSymbols.Length = DirectCast(equalsValueOrAsNewSyntax.Parent, VariableDeclaratorSyntax).Names.Count) 296For Each name In DirectCast(equalsValueOrAsNewSyntax.Parent, VariableDeclaratorSyntax).Names
Binding\Binder_Invocation.vb (4)
1323If result.Parent IsNot Nothing AndAlso result.Parent.IsKind(SyntaxKind.AddressOfExpression) Then 1490node.Parent IsNot Nothing AndAlso 1491node.Parent.Kind = SyntaxKind.NamedFieldInitializer AndAlso
Binding\Binder_Query.vb (3)
587Dim fromClauseSyntax = DirectCast(source.Syntax.Parent, FromClauseSyntax) 622boundCallOrBadExpression = BindQueryOperatorCall(source.Syntax.Parent, source, 630Return New BoundQueryClause(source.Syntax.Parent,
Binding\Binder_Statements.vb (1)
4443syntaxNodeForErrors = declarationSyntax.Parent
Binding\Binder_Utils.vb (4)
1279If TypeOf containingSyntax.Parent Is MethodBlockBaseSyntax OrElse TypeOf containingSyntax.Parent Is PropertyBlockSyntax Then 1280containingSyntax = containingSyntax.Parent 1282Return TryCast(containingSyntax.Parent, TypeBlockSyntax)
Binding\Binder_WithBlock.vb (1)
321node = node.Parent
Binding\BinderFactory.BinderFactoryVisitor.vb (3)
86If _factory.InScript AndAlso node.Parent.Kind = SyntaxKind.CompilationUnit Then 88Return GetBinderForNodeAndUsage(DirectCast(node.Parent, VisualBasicSyntaxNode), NodeUsage.TopLevelExecutableStatement, DirectCast(node.Parent, VisualBasicSyntaxNode), _position)
Binding\BinderFactory.vb (1)
107node = node.Parent
Binding\MemberSemanticModel.vb (16)
1335Debug.Assert(current.Parent.Kind = SyntaxKind.WithStatement) 1336Debug.Assert(current.Parent.Parent.Kind = SyntaxKind.WithBlock) 1338current = current.Parent.Parent 1346current = current.Parent 1360current = current.Parent 1706node.Parent IsNot Nothing AndAlso node.Parent.Kind = SyntaxKind.ObjectMemberInitializer AndAlso 1707node.Parent.Parent IsNot Nothing AndAlso node.Parent.Parent.Kind = SyntaxKind.AnonymousObjectCreationExpression Then 1911Dim parent As SyntaxNode = syntax.Parent 1916parent = parent.Parent 1994node = node.Parent
Compilation\SemanticModel.vb (18)
554node = node.Parent 994parentSyntax Is boundNodes.LowestBoundNode.Syntax.Parent AndAlso 1425parentSyntax Is lowestBoundNode.Syntax.Parent AndAlso 3527If declaringSyntax.Parent IsNot Nothing AndAlso TypeOf declaringSyntax.Parent Is NamespaceBlockSyntax Then 3528Return declaringSyntax.Parent 3533If declaringSyntax.Parent IsNot Nothing AndAlso TypeOf declaringSyntax.Parent Is TypeBlockSyntax Then 3534Return declaringSyntax.Parent 3539If declaringSyntax.Parent IsNot Nothing AndAlso TypeOf declaringSyntax.Parent Is MethodBlockBaseSyntax Then 3540Return declaringSyntax.Parent 3545If declaringSyntax.Parent IsNot Nothing AndAlso TypeOf declaringSyntax.Parent Is EventBlockSyntax Then 3546Return declaringSyntax.Parent 3551If declaringSyntax.Parent IsNot Nothing AndAlso TypeOf declaringSyntax.Parent Is PropertyBlockSyntax Then 3552Return declaringSyntax.Parent
Lowering\Instrumentation\DebugInfoInjector.vb (6)
109Dim aggregateClause = DirectCast(original.Syntax.Parent.Parent, AggregateClauseSyntax) 135Debug.Assert(original.Syntax.Parent.IsKind(SyntaxKind.ExpressionRangeVariable)) 229syntax = DirectCast(original.Syntax.Parent, MultiLineIfBlockSyntax).EndIfStatement 239Return New BoundSequencePoint(DirectCast(original.AlternativeOpt.Syntax.Parent, MultiLineIfBlockSyntax).EndIfStatement, 403syntaxForSequencePoint = localDeclaration.Syntax.Parent
Lowering\Instrumentation\DebugInfoInjector_SequencePoints.vb (9)
13Debug.Assert(containingCatchWithFilter.ExceptionFilterOpt.Syntax.Parent.IsKind(SyntaxKind.CatchFilterClause)) 15Return AddConditionSequencePoint(condition, containingCatchWithFilter.ExceptionFilterOpt.Syntax.Parent, currentMethodOrLambda, local, shareLocal:=False) 119If syntax.Parent.IsKind(SyntaxKind.PropertyStatement) Then 122Dim propertyStatement = DirectCast(syntax.Parent, PropertyStatementSyntax) 131Dim declarator = DirectCast(syntax.Parent, VariableDeclaratorSyntax) 137Return New BoundSequencePoint(syntax.Parent, rewrittenStatement) 149Return New BoundSequencePoint(syntax.Parent, rewrittenStatement) 154Debug.Assert(syntax.Parent.Kind = SyntaxKind.VariableDeclarator) 162Dim declarator = DirectCast(syntax.Parent, VariableDeclaratorSyntax)
Lowering\Instrumentation\Instrumenter.vb (3)
218Debug.Assert(original.AlternativeOpt.Syntax.Parent.Kind = SyntaxKind.MultiLineIfBlock) 265Debug.Assert(original.ExceptionFilterOpt.Syntax.Parent.IsKind(SyntaxKind.CatchFilterClause)) 379Debug.Assert(original.Syntax.Parent.Kind = SyntaxKind.VariableDeclarator)
Lowering\LambdaRewriter\LambdaRewriter.vb (2)
1231Dim curSyntax = lambdaSyntax.Parent 1249curSyntax = curSyntax.Parent
Lowering\LocalRewriter\LocalRewriter.vb (1)
302((node.Syntax.Kind = SyntaxKind.SimpleAsClause AndAlso node.Syntax.Parent.Kind = SyntaxKind.CollectionRangeVariable) OrElse
Lowering\LocalRewriter\LocalRewriter_SelectCase.vb (1)
233Dim selectStatementSyntax = DirectCast(selectExprStmtSyntax.Parent, SelectBlockSyntax).SelectStatement
Lowering\LocalRewriter\LocalRewriter_SyncLock.vb (2)
182If syntaxNode.Parent.Kind = SyntaxKind.SyncLockStatement Then 183tempLockTaken = New SynthesizedLocal(Me._currentMethodOrLambda, enterMethod.Parameters(1).Type, SynthesizedLocalKind.LockTaken, DirectCast(syntaxNode.Parent, SyncLockStatementSyntax))
Lowering\LocalRewriter\LocalRewriter_UnstructuredExceptionHandling.vb (23)
480If statement.Syntax.Parent IsNot Nothing AndAlso statement.Syntax.Parent.Kind = SyntaxKind.EraseStatement Then 496statement.Syntax.Parent Is Nothing OrElse 497statement.Syntax.Parent.Kind <> SyntaxKind.VariableDeclarator OrElse 498statement.Syntax.Parent.Parent Is Nothing OrElse 499statement.Syntax.Parent.Parent.Kind <> SyntaxKind.LocalDeclarationStatement Then 505Not (TypeOf statement.Syntax.Parent Is ReDimStatementSyntax) Then 525statement.Syntax.Parent IsNot Nothing AndAlso 526statement.Syntax.Parent.Kind = SyntaxKind.MultiLineIfBlock AndAlso 527_unstructuredExceptionHandlingResumableStatements.ContainsKey(statement.Syntax.Parent)) 531statement.Syntax.Parent IsNot Nothing AndAlso 532statement.Syntax.Parent.Kind = SyntaxKind.SelectBlock AndAlso 533_unstructuredExceptionHandlingResumableStatements.ContainsKey(statement.Syntax.Parent)) 537statement.Syntax.Parent IsNot Nothing AndAlso 538statement.Syntax.Parent.Kind = SyntaxKind.VariableDeclarator AndAlso 539statement.Syntax.Parent.Parent IsNot Nothing AndAlso 540statement.Syntax.Parent.Parent.Kind = SyntaxKind.LocalDeclarationStatement) 544TypeOf statement.Syntax.Parent Is ReDimStatementSyntax) OrElse 546TypeOf statement.Syntax.Parent Is EraseStatementSyntax))
Operations\VisualBasicOperationFactory.vb (2)
1329Return TryCast(syntax.Parent, MethodBlockBaseSyntax)?.EndBlockStatement Is syntax OrElse 1330TryCast(syntax.Parent, MultiLineLambdaExpressionSyntax)?.EndSubOrFunctionStatement Is syntax
Operations\VisualBasicOperationFactory_Methods.vb (5)
256Dim syntax = If(valueNode.Syntax.Kind = SyntaxKind.OmittedArgument, valueNode.Syntax, TryCast(valueNode.Syntax?.Parent, ArgumentSyntax)) 348Dim syntax As SyntaxNode = If(value.Syntax?.Parent, expression.Syntax) 396Debug.Assert(declaration.Syntax.Parent.IsKind(SyntaxKind.VariableDeclarator)) 397Return declaration.Syntax.Parent 418Dim declaratorSyntax = DirectCast(last.Syntax.Parent, VariableDeclaratorSyntax)
Semantics\OverloadResolution.vb (2)
3415Dim parent As SyntaxNode = syntax.Parent 3424parent = parent.Parent
Symbols\Source\LocalSymbol.vb (5)
548Dim propertyBlock = DirectCast(node.Parent, PropertyBlockSyntax) 551Dim eventBlock = DirectCast(node.Parent, EventBlockSyntax) 558node = _identifierToken.Parent.Parent 564node = node.Parent 571node = node.Parent
Symbols\Source\SourceEventSymbol.vb (1)
455Dim eventBlock = Me._syntaxRef.GetSyntax(cancellationToken).Parent
Symbols\Source\SourceMethodSymbol.vb (1)
752Return TryCast(decl.Parent, MethodBlockBaseSyntax)
Symbols\Source\SourceNamespaceSymbol.vb (1)
422syntax = syntax.Parent
Symbols\Symbol_Attributes.vb (2)
353Dim parent = syntaxList.Node.Parent 355If parent.IsKind(SyntaxKind.AttributesStatement) AndAlso parent.Parent.IsKind(SyntaxKind.CompilationUnit) Then
Symbols\Tuples\TupleTypeSymbol.vb (1)
1124diagnostics.Add(ERRID.WRN_TupleLiteralNameMismatch, literal.Arguments(i).Syntax.Parent.Location, sourceName, destination)
Syntax\LambdaUtilities.vb (21)
51Dim lambda = lambdaBody.Parent 115Dim parent = node?.Parent 147Dim clause = parent.Parent 176Dim parentClause = clause.Parent 178clause = clause.Parent 191Dim parentClause = parent.Parent 206Dim joinClause = DirectCast(parent.Parent, JoinClauseSyntax) 334Dim firstCondition = DirectCast(node.Parent, JoinClauseSyntax).JoinConditions.First 378Dim clause = lambda.Parent 399Dim clause = lambda.Parent 419Dim joinClause = DirectCast(lambda.Parent, JoinClauseSyntax) 534Dim clause = expressionRangeVariable.Parent 556Dim clause = collectionRangeVariable.Parent 577Return clause.Parent.IsKind(SyntaxKind.QueryExpression) AndAlso 578clause Is DirectCast(clause.Parent, QueryExpressionSyntax).Clauses.First 600Return joinCondition Is DirectCast(joinCondition.Parent, JoinClauseSyntax).JoinConditions.First 697If node.Parent?.Parent IsNot Nothing AndAlso 698node.Parent.Parent.Parent Is Nothing Then
Syntax\NamespaceDeclarationSyntaxReference.vb (1)
28node = node.Parent
Syntax\SyntaxBindingUtilities.vb (3)
19node.IsKind(SyntaxKind.ModifiedIdentifier) AndAlso node.Parent.IsKind(SyntaxKind.VariableDeclarator) AndAlso node.Parent.Parent.IsKind(SyntaxKind.UsingStatement) OrElse
Syntax\SyntaxFactory.vb (1)
1050node = node.Parent
Syntax\SyntaxFacts.vb (10)
127Dim parent = node.Parent 135Dim parent = node.Parent 152Dim parent = node.Parent 165Dim parent = node.Parent 641nextNode = nextNode.Parent 672Dim parent1 = TryCast(node.Parent, NameColonEqualsSyntax) 869token.Parent.Parent.Kind = SyntaxKind.NamedFieldInitializer 974Dim n = TryCast(token.Parent.Parent, XmlNodeSyntax) 1160Dim parent = node.Parent 1170parent = node.Parent
Syntax\SyntaxNodeRemover.vb (2)
246Me.AddDirectives(node.Parent, GetRemovedSpan(span, fullSpan)) 270Me.AddDirectives(node.Parent, GetRemovedSpan(span, fullSpan))
Syntax\SyntaxNormalizer.vb (2)
213Not (tokenParent IsNot Nothing AndAlso tokenParent.Parent IsNot Nothing AndAlso tokenParent.Parent.Kind = SyntaxKind.CrefReference) AndAlso
Syntax\VisualBasicSyntaxNode.vb (2)
67current = rootCandidate.Parent 119Return DirectCast(MyBase.Parent, VisualBasicSyntaxNode)
Syntax\VisualBasicSyntaxTree.vb (1)
392node = node.Parent
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (268)
ArgumentSyntaxExtensions.vb (2)
30Dim argumentList = TryCast(argument.Parent, ArgumentListSyntax) 36Dim symbolInfo = semanticModel.GetSymbolInfo(argumentList.Parent, cancellationToken)
CastAnalyzer.vb (4)
36Dim argument = TryCast(_castNode.WalkUpParentheses().Parent, ArgumentSyntax) 62Dim parent = expression.Parent 78Dim returnedType = AsTypeInVariableDeclarator(parentEqualsValue.Parent, semanticModel) 365Dim parentNode = expression.Parent
DefaultOperationProvider.vb (12)
83If previousToken.Parent.Parent IsNot Nothing AndAlso TypeOf previousToken.Parent.Parent Is ParameterSyntax Then 94currentToken.Parent.Parent IsNot Nothing AndAlso TypeOf currentToken.Parent.Parent Is ParameterSyntax Then 136Dim [imports] = DirectCast(previousImports.Parent, CompilationUnitSyntax).Imports 184TypeOf xmlDeclaration.Parent Is XmlDocumentSyntax AndAlso 185Not TypeOf xmlDeclaration.Parent.Parent Is XmlNodeSyntax Then 192TypeOf startTag.Parent Is XmlElementSyntax AndAlso 193Not TypeOf startTag.Parent.Parent Is XmlNodeSyntax Then 200Not TypeOf emptyTag.Parent Is XmlNodeSyntax Then
DirectiveSyntaxExtensions.vb (3)
77While node IsNot Nothing AndAlso (node.Parent IsNot Nothing OrElse TypeOf node Is StructuredTriviaSyntax) 78If node.Parent IsNot Nothing Then 79node = node.Parent
ElasticTriviaFormattingRule.vb (7)
115currentToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 149previousToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 157previousToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 165currentToken.Parent.Parent.Kind = SyntaxKind.CollectionInitializer Then 178currentToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 186If attributeNode IsNot Nothing AndAlso TypeOf attributeNode.Parent Is StatementSyntax AndAlso 256Return TryCast(node, TStatement) IsNot Nothing AndAlso TryCast(node.Parent, TBlock) IsNot Nothing
ExpressionSyntaxExtensions.vb (33)
16expression = DirectCast(expression.Parent, ExpressionSyntax) 38(expression.IsParentKind(SyntaxKind.QualifiedName) AndAlso DirectCast(expression.Parent, QualifiedNameSyntax).Left Is expression) OrElse 39(expression.IsParentKind(SyntaxKind.SimpleMemberAccessExpression) AndAlso DirectCast(expression.Parent, MemberAccessExpressionSyntax).Expression Is expression) 59DirectCast(expression.Parent, MemberAccessExpressionSyntax).Name Is expression 64Return TypeOf expression?.Parent Is MemberAccessExpressionSyntax AndAlso 65DirectCast(expression.Parent, MemberAccessExpressionSyntax).Name Is expression 81DirectCast(expression.Parent, QualifiedNameSyntax).Right Is expression 87DirectCast(expression.Parent, QualifiedNameSyntax).Left Is expression 156Dim unaryParent = TryCast(expression.WalkUpParentheses().Parent, UnaryExpressionSyntax) 279Dim simpleArgument = TryCast(expression?.Parent, SimpleArgumentSyntax) 290Dim argumentList = TryCast(simpleArgument.Parent, ArgumentListSyntax) 293Dim parent = argumentList.Parent 328expression = TryCast(expression.Parent, ExpressionSyntax) 337Dim assignmentStatement = DirectCast(expression.Parent, AssignmentStatementSyntax) 344expression.Parent.IsParentKind(SyntaxKind.SimpleArgument) Then 372expression = TryCast(expression.Parent, ExpressionSyntax) 380If TypeOf expression.Parent Is AssignmentStatementSyntax Then 381Dim assignmentStatement = DirectCast(expression.Parent, AssignmentStatementSyntax) 392If TypeOf expression.Parent Is MemberAccessExpressionSyntax Then 393Dim memberAccess = DirectCast(expression.Parent, MemberAccessExpressionSyntax) 498If TypeOf expression.Parent Is InvocationExpressionSyntax Then 551If TypeOf expression.Parent Is BinaryExpressionSyntax OrElse 552TypeOf expression.Parent Is AssignmentStatementSyntax OrElse 553TypeOf expression.Parent Is WhileOrUntilClauseSyntax OrElse 554TypeOf expression.Parent Is SingleLineLambdaExpressionSyntax OrElse 555TypeOf expression.Parent Is AwaitExpressionSyntax Then 572If TypeOf expression.Parent Is ExpressionRangeVariableSyntax AndAlso 573TypeOf expression.Parent.Parent Is QueryClauseSyntax Then 574Dim rangeVariable = DirectCast(expression.Parent, ExpressionRangeVariableSyntax) 575Dim selectClause = TryCast(rangeVariable.Parent, SelectClauseSyntax) 584Dim queryExpression = TryCast(selectClause.Parent, QueryExpressionSyntax) 589Dim aggregateClause = TryCast(selectClause.Parent, AggregateClauseSyntax)
FormattingHelpers.vb (6)
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) 278If token.Parent.Parent Is Nothing Then
InvocationExpressionSyntaxExtensions.vb (1)
60Return DirectCast(invocationExpression.Parent, ConditionalAccessExpressionSyntax).Expression
J\s\src\Analyzers\VisualBasic\Analyzers\UseAutoProperty\Utilities.vb\Utilities.vb (2)
10Dim declarator = DirectCast(identifier.Parent, VariableDeclaratorSyntax) 18Dim field = DirectCast(declarator.Parent, FieldDeclarationSyntax)
MemberAccessExpressionSyntaxExtensions.vb (8)
50If TypeOf memberAccess.Parent Is InvocationExpressionSyntax Then 51statement = memberAccess.Parent.Parent 54statement = memberAccess.Parent 60DirectCast(statement.Parent, ConstructorBlockSyntax).Statements.First() Is statement 111TypeOf current.Parent Is ObjectCreationExpressionSyntax Then 112Return DirectCast(current.Parent, ExpressionSyntax) 115current = current.Parent
NodeBasedFormattingRule.vb (6)
208outerBlock = outerBlock.Parent 229If Not TypeOf node.Parent Is XmlNodeSyntax Then 244If Not TypeOf xmlNode.Parent Is XmlNodeSyntax Then 249If Not TypeOf xmlNode.Parent Is XmlNodeSyntax Then 255If TypeOf xmlNode.Parent Is XmlEmbeddedExpressionSyntax Then 267Dim element = TryCast(xmlNode.Parent, XmlElementSyntax)
ParenthesizedExpressionSyntaxExtensions.vb (22)
139Dim interpolation = DirectCast(node.Parent, InterpolationSyntax) 158If node.Parent.IsParentKind(SyntaxKind.ObjectCollectionInitializer) AndAlso 159DirectCast(node.Parent.Parent, ObjectCollectionInitializerSyntax).Initializer Is node.Parent Then 166If node.Parent.IsParentKind(SyntaxKind.CollectionInitializer) AndAlso 167node.Parent.Parent.IsParentKind(SyntaxKind.ObjectCollectionInitializer) AndAlso 168DirectCast(node.Parent.Parent.Parent, ObjectCollectionInitializerSyntax).Initializer Is node.Parent.Parent Then 280If TypeOf node.Parent Is ArgumentSyntax Then 284Dim argument = DirectCast(node.Parent, ArgumentSyntax) 301Dim parentInvocation = DirectCast(node.Parent, InvocationExpressionSyntax) 353Dim parentExpression = TryCast(node.Parent, ExpressionSyntax) 453If (node.Parent.Kind = SyntaxKind.InvocationExpression OrElse 454node.Parent.Kind = SyntaxKind.IsExpression OrElse 455node.Parent.Kind = SyntaxKind.TypeOfIsExpression OrElse 456node.Parent.Kind = SyntaxKind.TypeOfIsNotExpression) Then 466node.Parent.Kind = SyntaxKind.XmlEmbeddedExpression Then
SemanticModelExtensions.vb (55)
123type.Parent.IsParentKind(SyntaxKind.VariableDeclarator) Then 124If type.Parent.Parent.IsParentKind(SyntaxKind.FieldDeclaration) OrElse 125type.Parent.Parent.IsParentKind(SyntaxKind.EventStatement) Then 126Dim variableDeclarator = DirectCast(type.Parent.Parent, VariableDeclaratorSyntax) 137type.Parent.IsParentKind(SyntaxKind.AsNewClause) AndAlso 138type.Parent.Parent.IsParentKind(SyntaxKind.VariableDeclarator) Then 139If type.Parent.Parent.Parent.IsParentKind(SyntaxKind.FieldDeclaration) OrElse 140type.Parent.Parent.Parent.IsParentKind(SyntaxKind.EventStatement) Then 141Dim variableDeclarator = DirectCast(type.Parent.Parent.Parent, VariableDeclaratorSyntax) 150If type.Parent.IsParentKind(SyntaxKind.DelegateFunctionStatement) OrElse 151type.Parent.IsParentKind(SyntaxKind.FunctionStatement) OrElse 152type.Parent.IsParentKind(SyntaxKind.PropertyStatement) OrElse 153type.Parent.IsParentKind(SyntaxKind.EventStatement) OrElse 154type.Parent.IsParentKind(SyntaxKind.OperatorStatement) Then 156type.Parent.Parent, cancellationToken).DeclaredAccessibility 161type.Parent.IsParentKind(SyntaxKind.Parameter) AndAlso 162type.Parent.Parent.IsParentKind(SyntaxKind.ParameterList) Then 163If type.Parent.Parent.Parent.IsParentKind(SyntaxKind.DelegateFunctionStatement) OrElse 164type.Parent.Parent.Parent.IsParentKind(SyntaxKind.FunctionStatement) OrElse 165type.Parent.Parent.Parent.IsParentKind(SyntaxKind.PropertyStatement) OrElse 166type.Parent.Parent.Parent.IsParentKind(SyntaxKind.OperatorStatement) OrElse 167type.Parent.Parent.Parent.IsParentKind(SyntaxKind.SubNewStatement) OrElse 168type.Parent.Parent.Parent.IsParentKind(SyntaxKind.SubStatement) Then 170type.Parent.Parent.Parent.Parent, cancellationToken).DeclaredAccessibility 242If TypeOf topExpression.Parent Is ArgumentSyntax Then 243Dim argument = DirectCast(topExpression.Parent, ArgumentSyntax) 250Dim argumentList = TryCast(argument.Parent, ArgumentListSyntax) 253Dim member = TryCast(semanticModel.GetSymbolInfo(argumentList.Parent, cancellationToken).Symbol, IMethodSymbol)
SpeculationAnalyzer.vb (2)
339Debug.Assert(previousOriginalNode Is Nothing OrElse previousOriginalNode.Parent Is currentOriginalNode) 340Debug.Assert(previousReplacedNode Is Nothing OrElse previousReplacedNode.Parent Is currentReplacedNode)
StatementSyntaxExtensions.vb (1)
745DirectCast(statement.Parent, ConstructorBlockSyntax).Statements.FirstOrDefault() Is statement Then
SyntaxNodeExtensions.vb (32)
19node.Parent.IsKind(kind) 25IsKind(node.Parent, kind1, kind2) 31IsKind(node.Parent, kind1, kind2, kind3) 507Where(Function(s) s.Parent.IsExecutableBlock() AndAlso s.Parent.GetExecutableBlockStatements().Contains(s)). 508Select(Function(s) s.Parent) 514Where(Function(s) s.Parent.IsMultiLineExecutableBlock AndAlso s.Parent.GetExecutableBlockStatements().Contains(s)). 515Select(Function(s) s.Parent) 710singleLineIf = DirectCast(executableBlock.Parent, SingleLineIfStatementSyntax) 759current = singleLineIf.Parent 817DirectCast(node.Parent, AssignmentStatementSyntax).Left Is node 823node.Parent.IsAnyAssignmentStatement() AndAlso 824DirectCast(node.Parent, AssignmentStatementSyntax).Left Is node 836node.Parent.IsCompoundAssignmentStatement() AndAlso 837DirectCast(node.Parent, AssignmentStatementSyntax).Left Is node 877If topMostExpression.Parent IsNot Nothing Then 878Return topMostExpression.Parent.ContainsDiagnostics 1015node = DirectCast(node.Parent, ExpressionSyntax) 1024TypeOf node.Parent IsNot ConditionalAccessExpressionSyntax 1026node = TryCast(node.Parent, ExpressionSyntax) 1056If TypeOf node?.Parent Is ConditionalAccessExpressionSyntax AndAlso 1057DirectCast(node.Parent, ConditionalAccessExpressionSyntax).Expression Is node Then 1059node = DirectCast(node.Parent, ExpressionSyntax) 1062If TypeOf node?.Parent Is ConditionalAccessExpressionSyntax AndAlso 1063DirectCast(node.Parent, ConditionalAccessExpressionSyntax).WhenNotNull Is node Then 1065node = DirectCast(node.Parent, ExpressionSyntax) 1082While TypeOf node?.Parent Is ConditionalAccessExpressionSyntax 1083Dim conditionalParent = DirectCast(node.Parent, ConditionalAccessExpressionSyntax) 1127current = current.Parent 1250Dim parent As SyntaxNode = node.Parent 1291Dim parent As SyntaxNode = node.Parent
SyntaxTreeExtensions.vb (2)
71current = current.Parent 92node = node.Parent
VariableDeclaratorSyntaxExtensions.vb (1)
54Not DirectCast(variableDeclarator.Parent, FieldDeclarationSyntax).Modifiers.Any(SyntaxKind.ConstKeyword) Then
VisualBasicAccessibilityFacts.vb (5)
65Not declaration.Parent.IsKind(SyntaxKind.ModuleBlock) 69CanHaveAccessibility(declaration.Parent), 74CanHaveAccessibility(declaration.Parent), 160Return GetModifierTokens(declaration.Parent) 166Return GetModifierTokens(declaration.Parent)
VisualBasicAddRequiredParenthesesDiagnosticAnalyzer.vb (1)
60Return TryCast(binary.Parent, ExpressionSyntax)
VisualBasicConvertTypeOfToNameOfDiagnosticAnalyzer.vb (1)
26Dim isParentValid = node.Parent.GetType() Is GetType(MemberAccessExpressionSyntax)
VisualBasicInferredMemberNameSimplifier.vb (2)
20If RemovalCausesAmbiguity(DirectCast(node.Parent, TupleExpressionSyntax).Arguments, node) Then 35Dim parentMemberInitializer As ObjectMemberInitializerSyntax = DirectCast(node.Parent, ObjectMemberInitializerSyntax)
VisualBasicRemoveUnnecessaryImportsDiagnosticAnalyzer.vb (2)
41If Not result.Contains(clause.Parent) Then 42Dim statement = DirectCast(clause.Parent, ImportsStatementSyntax)
VisualBasicRemoveUnnecessaryParenthesesDiagnosticAnalyzer.vb (1)
51Dim parentBinary = TryCast(parenthesizedExpression.Parent, BinaryExpressionSyntax)
VisualBasicRemoveUnusedParametersAndValuesDiagnosticAnalyzer.vb (1)
53Dim methodSyntax = TryCast(node.Parent, MethodBlockBaseSyntax)
VisualBasicSemanticFacts.vb (4)
97Dim enumBlock = DirectCast(enumStatement.Parent, EnumBlockSyntax) 244TypeOf argument.Parent Is ArgumentListSyntax AndAlso 245TypeOf argument.Parent.Parent Is AttributeSyntax Then
VisualBasicSyntaxFacts.vb (46)
164DirectCast(node.Parent, AttributeSyntax).Name Is node 173Dim memberAccess = TryCast(node?.Parent, MemberAccessExpressionSyntax) 204DirectCast(node.Parent, SimpleImportsClauseSyntax).Name Is node 237Return firstStatement.Parent Is secondStatement.Parent 254Dim memberAccess = TryCast(token.Parent.Parent, MemberAccessExpressionSyntax) 263Dim memberAccess = TryCast(token.Parent.Parent, MemberAccessExpressionSyntax) 633identifierName.Parent.IsParentKind(SyntaxKind.SimpleArgument) AndAlso 634identifierName.Parent.Parent.IsParentKind(SyntaxKind.ArgumentList) AndAlso 635identifierName.Parent.Parent.Parent.IsParentKind(SyntaxKind.Attribute) 650Dim parent = node.Parent 657node = node.Parent 672initializedInstance = identifier.Parent.Parent.Parent 681If TypeOf node.Parent Is ArrayCreationExpressionSyntax Then 682creationExpression = node.Parent 684ElseIf TypeOf node.Parent Is ObjectCollectionInitializerSyntax AndAlso 685TypeOf node.Parent.Parent Is ObjectCreationExpressionSyntax Then 686creationExpression = node.Parent.Parent 722If TypeOf node Is MethodBlockBaseSyntax AndAlso Not TypeOf node.Parent Is PropertyBlockSyntax Then 726If TypeOf node Is MethodBaseSyntax AndAlso Not TypeOf node.Parent Is MethodBlockBaseSyntax Then 730If TypeOf node Is PropertyStatementSyntax AndAlso Not TypeOf node.Parent Is PropertyBlockSyntax Then 734If TypeOf node Is EventStatementSyntax AndAlso Not TypeOf node.Parent Is EventBlockSyntax Then 748node = node.Parent 761If TypeOf node Is MethodStatementSyntax AndAlso Not TypeOf node.Parent Is MethodBlockBaseSyntax Then 765If TypeOf node Is SubNewStatementSyntax AndAlso Not TypeOf node.Parent Is MethodBlockBaseSyntax Then 769If TypeOf node Is OperatorStatementSyntax AndAlso Not TypeOf node.Parent Is MethodBlockBaseSyntax Then 773If TypeOf node Is PropertyStatementSyntax AndAlso Not TypeOf node.Parent Is PropertyBlockSyntax Then 777If TypeOf node Is EventStatementSyntax AndAlso Not TypeOf node.Parent Is EventBlockSyntax Then 919Dim parent = node.Parent 922parent = parent.Parent 930parent = parent.Parent 1053Dim parent = node.Parent 1177Return IsLeftSideOfDot(node) AndAlso TryCast(node.Parent.Parent, ImplementsClauseSyntax) IsNot Nothing 1298If (node.Parent.IsKind(SyntaxKind.FieldDeclaration)) Then 1424Return node IsNot Nothing AndAlso TryCast(node.Parent, ForEachStatementSyntax)?.Expression Is node 1496Return node IsNot Nothing AndAlso TryCast(node.Parent, PropertyStatementSyntax)?.Initializer Is node 1616Return node.Parent IsNot Nothing AndAlso node.Parent.IsKind(kind)
VisualBasicUseAutoPropertyAnalyzer.vb (3)
64Dim declarator = TryCast(variable.Parent, VariableDeclaratorSyntax) 90Dim accessor = TryCast(TryCast(getMethod.DeclaringSyntaxReferences(0).GetSyntax(cancellationToken), AccessorStatementSyntax)?.Parent, AccessorBlockSyntax) 113Dim setAccessor = TryCast(TryCast(setMethod.DeclaringSyntaxReferences(0).GetSyntax(cancellationToken), AccessorStatementSyntax)?.Parent, AccessorBlockSyntax)
VisualBasicUseInferredMemberNameDiagnosticAnalyzer.vb (3)
45Dim argument = DirectCast(nameColonEquals.Parent, SimpleArgumentSyntax) 63If Not fieldInitializer.Parent.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression) Then
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (68)
ArgumentFixer.vb (1)
37Dim parent = newArgumentList.Parent
ExpressionSyntaxExtensions.vb (3)
201Return DirectCast(statement.Parent, ConstructorBlockSyntax).Statements(0) Is statement 206Dim simpleArgument = TryCast(expression.Parent, SimpleArgumentSyntax) 253Return TypeOf expression?.Parent Is MemberAccessExpressionSyntax
ParameterSyntaxExtensions.vb (2)
16parameter.Parent.Parent.IsKind(SyntaxKind.FunctionLambdaHeader, SyntaxKind.SubLambdaHeader) Then
SimpleNameSyntaxExtensions.vb (3)
15Return DirectCast(name.Parent, MemberAccessExpressionSyntax).Expression 17Return DirectCast(name.Parent, QualifiedNameSyntax).Left 37Dim invocationExpression = DirectCast(simpleName.Parent, InvocationExpressionSyntax)
SyntaxTreeExtensions.vb (8)
323TypeOf targetToken.Parent.Parent Is NewExpressionSyntax Then 325Dim symbolInfo = semanticModel.GetSymbolInfo(DirectCast(targetToken.Parent.Parent, NewExpressionSyntax).Type(), cancellationToken) 444TypeOf targetToken.Parent.Parent Is LambdaHeaderSyntax Then 471targetToken.Parent.Parent.IsKind(SyntaxKind.Attribute) Then 596If statementLambdaHeader IsNot Nothing AndAlso statementLambdaHeader.Parent.IsKind(SyntaxKind.SingleLineSubLambdaExpression, 691ancestor = ancestor.Parent.Parent 709ancestor = ancestor.Parent
VisualBasicAddExplicitCastCodeFixProvider.vb (2)
70Dim argumentList = DirectCast(argument.Parent, ArgumentListSyntax) 71Dim invocationNode = argumentList.Parent
VisualBasicConvertToIteratorCodeFixProvider.vb (1)
52If identifier.Parent.Kind <> SyntaxKind.InvocationExpression Then
VisualBasicIndentationService.vb (2)
105currentNode = currentNode.Parent 115currentNode = currentNode.Parent
VisualBasicMakeFieldReadonlyCodeFixProvider.vb (2)
27Dim initializer = CType(declaration.Parent, VariableDeclaratorSyntax).Initializer?.Value 29initializer = TryCast(CType(declaration.Parent, VariableDeclaratorSyntax).AsClause, AsNewClauseSyntax)?.NewExpression
VisualBasicMakeTypeAbstractCodeFixProvider.vb (1)
36typeDeclaration = TryCast(classStatement.Parent, ClassBlockSyntax)
VisualBasicRemoveUnusedValuesCodeFixProvider.vb (1)
72Return TryCast(declarator.Parent, LocalDeclarationStatementSyntax)
VisualBasicSyntaxContext.vb (10)
141Dim methodStatement = TryCast(asClause?.Parent, MethodBaseSyntax) 208If TypeOf collectionRange.Parent Is FromClauseSyntax AndAlso TypeOf collectionRange.Parent.Parent Is QueryExpressionSyntax Then 209Dim fromClause = DirectCast(collectionRange.Parent, FromClauseSyntax) 210Dim queryExpression = DirectCast(collectionRange.Parent.Parent, QueryExpressionSyntax) 215If fromClause.Variables.FirstOrDefault() Is collectionRange AndAlso queryExpression.Clauses.FirstOrDefault() Is collectionRange.Parent Then 218ElseIf TypeOf collectionRange.Parent Is SimpleJoinClauseSyntax OrElse TypeOf collectionRange.Parent Is GroupJoinClauseSyntax Then
VisualBasicSyntaxContextExtensions.vb (5)
88ancestor = ancestor.Parent.Parent 106ancestor = ancestor.Parent 120TypeOf token.Parent.Parent Is NewExpressionSyntax Then 122Dim symbolInfo = context.SemanticModel.GetSymbolInfo(DirectCast(token.Parent.Parent, NewExpressionSyntax).Type())
VisualBasicTypeInferenceService.TypeInferrer.vb (26)
58Dim parent = node.Parent 159Function(nameColonEquals As NameColonEqualsSyntax) InferTypeInArgumentList(TryCast(nameColonEquals.Parent.Parent, ArgumentListSyntax), DirectCast(nameColonEquals.Parent, ArgumentSyntax)), 178Return If(parameterList.Parent IsNot Nothing, 179InferTypeInLambda(TryCast(parameterList.Parent.Parent, LambdaExpressionSyntax)), 185If TypeOf argument.Parent Is ArgumentListSyntax Then 187DirectCast(argument.Parent, ArgumentListSyntax), argument, previousToken) 190If TypeOf argument.Parent Is TupleExpressionSyntax Then 192DirectCast(argument.Parent, TupleExpressionSyntax), 232If argumentList.Parent IsNot Nothing Then 237Dim invocation = TryCast(argumentList.Parent, InvocationExpressionSyntax) 275ElseIf invocation.Parent.IsKind(SyntaxKind.ConditionalAccessExpression) Then 276targetExpression = DirectCast(invocation.Parent, ConditionalAccessExpressionSyntax).Expression 292Dim creation = TryCast(argumentList.Parent, ObjectCreationExpressionSyntax) 317Dim attribute = TryCast(argumentList.Parent, AttributeSyntax) 603Dim variableDeclarator = DirectCast(equalsValue.Parent, VariableDeclaratorSyntax) 627Dim propertySyntax = CType(equalsValue.Parent, PropertyStatementSyntax) 799If TypeOf switchStatementSyntax.Parent Is SelectBlockSyntax Then 800Dim firstCase = DirectCast(switchStatementSyntax.Parent, SelectBlockSyntax).CaseBlocks.SelectMany(Function(c) c.CaseStatement.Cases).OfType(Of SimpleCaseClauseSyntax).FirstOrDefault() 913memberAccessExpression.Parent.IsParentKind(SyntaxKind.AwaitExpression) Then 914Return InferTypes(DirectCast(memberAccessExpression.Parent, ExpressionSyntax)) 933Dim invocation = DirectCast(memberAccessExpression.Parent, InvocationExpressionSyntax) 1065Dim objectInitializer = TryCast(collectionInitializer.Parent, ObjectCollectionInitializerSyntax) 1066Dim objectCreation = TryCast(objectInitializer?.Parent, ObjectCreationExpressionSyntax)
VisualBasicUseConditionalExpressionForAssignmentCodeFixProvider.vb (1)
47Return DirectCast(declarator.Syntax.Parent, VariableDeclaratorSyntax)
Microsoft.CodeAnalysis.VisualBasic.EditorFeatures (18)
AutomaticEndConstructCorrection\AutomaticEndConstructCorrector.vb (4)
200If token.Parent.Parent Is Nothing Then 204Dim beginNode = token.Parent.Parent.TypeSwitch( 235If token.Parent.Parent Is Nothing Then 239Return token.Parent.Parent.TypeSwitch(
DocumentationComments\XmlTagCompletionCommandHandler.vb (3)
43token.Parent.Parent.IsKind(SyntaxKind.XmlElement) Then 45Dim element = DirectCast(token.Parent.Parent, XmlElementSyntax) 72Return HasUnmatchedIdenticalParentStart(TryCast(element.Parent, XmlElementSyntax), expectedName)
EndConstructGeneration\EndConstructStatementVisitor_LambdaHeader.vb (1)
12Dim singleLineExpressionSyntax = TryCast(node.Parent, SingleLineLambdaExpressionSyntax)
GoToBase\VisualBasicGoToBaseService.vb (1)
27Dim constructorBlock = TryCast(subNew.Parent, ConstructorBlockSyntax)
ImplementAbstractClass\ImplementAbstractClassCommandHandler.vb (3)
41If typeSyntax.Parent.Kind <> SyntaxKind.InheritsStatement Then 45Dim classBlock = TryCast(typeSyntax.Parent.Parent, ClassBlockSyntax)
ImplementInterface\ImplementInterfaceCommandHandler.vb (2)
41If typeSyntax.Parent.Kind <> SyntaxKind.ImplementsStatement Then 49typeSyntax.Parent,
LineCommit\CommitFormatter.vb (1)
244node = node.Parent
Utilities\LineAdjustmentFormattingRule.vb (3)
30current.Parent.Parent.IsKind(SyntaxKind.ConstructorBlock, SyntaxKind.SubBlock)) OrElse 32current.Parent.Parent.Kind = SyntaxKind.FunctionBlock) AndAlso 33Not DirectCast(current.Parent.Parent, MethodBlockSyntax).Statements.Any() Then
Microsoft.CodeAnalysis.VisualBasic.EditorFeatures.UnitTests (7)
EditAndContinue\VisualBasicEditAndContinueAnalyzerTests.vb (1)
48node = node.Parent
Formatting\CodeCleanUpTests.vb (3)
657document = document.WithSyntaxRoot(root.RemoveNode(node.Parent, SyntaxRemoveOptions.KeepNoTrivia)) 702document = document.WithSyntaxRoot(root.RemoveNode(node.Parent, SyntaxRemoveOptions.KeepNoTrivia)) 731Return context.Document.WithSyntaxRoot(root.RemoveNode(node.Parent, SyntaxRemoveOptions.KeepNoTrivia))
SymbolId\SymbolKeyTestBase.vb (2)
236Dim declarator = TryCast(node.Parent, VariableDeclaratorSyntax) 254Dim body = TryCast(n.Parent, MethodBlockSyntax)
TypeInferrer\TypeInferrerTests.vb (1)
57currentNode = currentNode.Parent
Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests (3)
CodeGen\WinRTCollectionTests.vb (1)
6366Dim jsonObj = DirectCast(add.Parent, MemberAccessExpressionSyntax).Expression
Emit\EditAndContinue\EditAndContinueTestBase.vb (2)
77Dim methodSyntax = method.DeclaringSyntaxReferences(0).GetSyntax().Parent 171node = node.Parent
Microsoft.CodeAnalysis.VisualBasic.Features (583)
ArgumentFixer.vb (1)
37Dim parent = newArgumentList.Parent
ChangeSignature\ChangeSignatureFormattingRule.vb (2)
23If node.Parent IsNot Nothing Then 27node.Parent.GetFirstToken(),
ChangeSignature\VisualBasicChangeSignatureService.vb (2)
169current = current.Parent 267matchingNode = matchingNode.Parent
CodeFixes\GenerateEndConstruct\GenerateEndConstructCodeFixProvider.vb (13)
74If beginStatement Is Nothing OrElse beginStatement.Parent Is Nothing Then 78Dim endStatement = GetEndStatement(beginStatement.Parent) 83If endStatement.Parent.Kind = SyntaxKind.PropertyBlock Then 87Function(c) GeneratePropertyEndConstructAsync(context.Document, DirectCast(endStatement.Parent, PropertyBlockSyntax), c), 94If endStatement?.Parent?.Parent.Kind = SyntaxKind.PropertyBlock Then 98Function(c) GeneratePropertyEndConstructAsync(context.Document, DirectCast(endStatement.Parent.Parent, PropertyBlockSyntax), c), 119Dim begin = GetBeginStatement(node.Parent) 216Dim nextNode = endStatement.Parent.GetLastToken().GetNextToken().Parent 221Dim updatedParent = DirectCast(endStatement.Parent, EnumBlockSyntax).WithEndEnumStatement(SyntaxFactory.EndEnumStatement()) 222Dim updatedDocument = Await document.ReplaceNodeAsync(endStatement.Parent, updatedParent.WithAdditionalAnnotations(Formatter.Annotation), cancellationToken).ConfigureAwait(False) 251Dim insertionPoint = GetBeginStatement(endStatement.Parent).FullSpan.End
CodeFixes\GenerateEvent\GenerateEventCodeFixProvider.vb (3)
248If Not node.IsParentKind(SyntaxKind.ImplementsClause) OrElse Not node.Parent.IsParentKind(SyntaxKind.EventStatement) Then 265Dim boundEvent = TryCast(semanticModel.GetDeclaredSymbol(node.Parent.Parent, cancellationToken), IEventSymbol)
CodeFixes\Suppression\VisualBasicSuppressionCodeFixProvider.vb (1)
212Dim attributeList = TryCast(attributeSyntax.Parent, AttributeListSyntax)
CodeLens\VisualBasicDisplayInfoService.vb (3)
52Return GetDisplayNode(node.Parent) 132If IsAccessorForDefaultProperty(symbol) AndAlso node.Parent.IsKind(SyntaxKind.PropertyBlock) Then 133Return GetDisplayName(semanticModel, node.Parent)
CodeRefactorings\InlineTemporary\VisualBasicInlineTemporaryCodeRefactoringProvider.ReferenceRewriter.vb (1)
69node.Parent.IsParentKind(SyntaxKind.TupleExpression) Then
CodeRefactorings\InlineTemporary\VisualBasicInlineTemporaryCodeRefactoringProvider.vb (19)
40Not modifiedIdentifier.Parent.IsParentKind(SyntaxKind.LocalDeclarationStatement) Then 45Dim variableDeclarator = DirectCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax) 46Dim localDeclarationStatement = DirectCast(variableDeclarator.Parent, LocalDeclarationStatementSyntax) 93If TypeOf identifierNode.Parent Is AssignmentStatementSyntax Then 94Dim assignment = CType(identifierNode.Parent, AssignmentStatementSyntax) 100If TypeOf identifierNode.Parent Is ArgumentSyntax Then 105Dim argument = DirectCast(identifierNode.Parent, ArgumentSyntax) 156Dim variableDeclarator = DirectCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax) 157Dim localDeclaration = DirectCast(variableDeclarator.Parent, LocalDeclarationStatementSyntax) 251Dim variableDeclarator = DirectCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax) 252Dim localDeclaration = DirectCast(variableDeclarator.Parent, LocalDeclarationStatementSyntax) 254Return localDeclaration.Parent 258Dim variableDeclarator = DirectCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax) 259Dim localDeclaration = DirectCast(variableDeclarator.Parent, LocalDeclarationStatementSyntax) 273Dim variableDeclarator = DirectCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax) 274Dim localDeclaration = DirectCast(variableDeclarator.Parent, LocalDeclarationStatementSyntax) 373Dim initializer = DirectCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax).GetInitializer() 380initializer = DirectCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax).GetInitializer() 391explicitInitializer = DirectCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax).GetInitializer()
CodeRefactorings\MoveType\VisualBasicMoveTypeService.vb (1)
25Return TryCast(typeStatement?.Parent, TypeBlockSyntax)
CodeRefactorings\SyncNamespace\VisualBasicChangeNamespaceService.vb (2)
34old = nameRef.Parent 45old = nameRef.Parent
CodeRefactorings\VisualBasicRefactoringHelpersService.vb (9)
76Yield node.Parent 81If TypeOf node Is ForEachStatementSyntax And TypeOf node.Parent Is ForEachBlockSyntax Then 83Yield foreachStatement.Parent 86If TypeOf node Is ForStatementSyntax And TypeOf node.Parent Is ForBlockSyntax Then 88Yield forStatement.Parent 93If TypeOf declarator.Parent Is LocalDeclarationStatementSyntax Then 94Dim localDeclarationStatement = CType(declarator.Parent, LocalDeclarationStatementSyntax) 105Return (TypeOf node Is ModifiedIdentifierSyntax) AndAlso (TypeOf node.Parent Is ParameterSyntax) AndAlso (CType(node.Parent, ParameterSyntax).Identifier Is node)
Completion\CompletionProviders\CrefCompletionProvider.vb (1)
140Dim xmlAttribute = DirectCast(token.Parent.Parent, XmlAttributeSyntax)
Completion\CompletionProviders\ImplementsClauseCompletionProvider.vb (1)
272parent = parent.Parent
Completion\CompletionProviders\NamedParameterCompletionProvider.vb (2)
77Dim parameterLists = GetParameterLists(semanticModel, position, argumentList.Parent, cancellationToken) 223current = current.Parent
Completion\CompletionProviders\ObjectInitializerCompletionProvider.vb (2)
82containingInitializer.Parent Is Nothing OrElse 88Dim objectCreationExpression = TryCast(containingInitializer.Parent, ObjectCreationExpressionSyntax)
Completion\CompletionProviders\XmlDocCommentCompletionProvider.vb (7)
75If token.Parent.IsKind(SyntaxKind.XmlString) AndAlso token.Parent.Parent.IsKind(SyntaxKind.XmlAttribute) Then 76Dim attribute = DirectCast(token.Parent.Parent, XmlAttributeSyntax) 130Dim grandParent = parentElement?.Parent 149token.Parent.Parent.IsKind(SyntaxKind.XmlElement) Then 151Dim xmlElement = token.Parent.Parent 164AddXmlElementItems(items, parentElement.Parent) 190Dim element = TryCast(endTag.Parent, XmlElementSyntax)
Completion\KeywordRecommenders\Declarations\AttributeScopesKeywordRecommender.vb (1)
34If attributeList.Parent.IsKind(SyntaxKind.AttributesStatement) Then
Completion\KeywordRecommenders\Declarations\EndBlockKeywordRecommender.vb (2)
53node = node.Parent.Parent
Completion\KeywordRecommenders\Declarations\ImplementsKeywordRecommender.vb (2)
44TypeOf typeStatement.Parent Is TypeBlockSyntax AndAlso 45DirectCast(typeStatement.Parent, TypeBlockSyntax).Implements.Count > 0 Then
Completion\KeywordRecommenders\Declarations\OfKeywordRecommender.vb (1)
96Dim arrayType = TryCast(arrayRankSpecifier.Parent, ArrayTypeSyntax)
Completion\KeywordRecommenders\Expressions\BinaryOperatorKeywordRecommender.vb (5)
126If argumentList.Parent IsNot Nothing AndAlso (TypeOf argumentList.Parent.Parent Is ReDimStatementSyntax OrElse 127TypeOf argumentList.Parent.Parent Is VariableDeclaratorSyntax) Then
Completion\KeywordRecommenders\Expressions\KeyKeywordRecommender.vb (2)
38Dim asNewClause = DirectCast(targetToken.Parent.Parent.Parent, AsNewClauseSyntax)
Completion\KeywordRecommenders\Expressions\NewKeywordRecommender.vb (1)
36Not DirectCast(asClause.Parent, PropertyStatementSyntax).Modifiers.Any(
Completion\KeywordRecommenders\Queries\GroupKeywordRecommender.vb (2)
37(variableNameEquals.Parent.IsParentKind(SyntaxKind.GroupByClause) OrElse 38variableNameEquals.Parent.IsParentKind(SyntaxKind.GroupJoinClause)) Then
Completion\KeywordRecommenders\RecommendationHelpers.vb (3)
23Return If(node Is Nothing, Nothing, node.Parent) 78.Where(Function(oc) oc.Parent IsNot Nothing AndAlso 79oc.Parent.Kind <> SyntaxKind.AsNewClause AndAlso
Completion\KeywordRecommenders\Statements\ElseKeywordRecommender.vb (2)
54context.TargetToken.Parent?.Parent.IsKind(SyntaxKind.MultiLineIfBlock, SyntaxKind.ElseIfBlock) Then 59Return If(statement?.Parent.IsKind(SyntaxKind.MultiLineIfBlock, SyntaxKind.ElseIfBlock), False)
Completion\KeywordRecommenders\Statements\FinallyKeywordRecommender.vb (1)
58parent = parent.Parent
Completion\KeywordRecommenders\Statements\UntilAndWhileKeywordRecommender.vb (1)
28targetToken.Parent.Parent.IsKind(SyntaxKind.SimpleDoLoopBlock, SyntaxKind.DoLoopWhileBlock, SyntaxKind.DoLoopUntilBlock)) Then
Completion\KeywordRecommenders\Statements\WhenKeywordRecommender.vb (1)
33childGetter:=Function(asClause) If(TypeOf asClause.Parent Is CatchStatementSyntax, asClause.Type, Nothing), cancellationToken:=cancellationToken) Then
ConvertAutoPropertyToFullProperty\VisualBasicConvertAutoPropertyToFullProperty.vb (1)
91Return DirectCast(syntaxNode, TypeStatementSyntax).Parent
Debugging\DataTipInfoGetter.vb (3)
42expression = DirectCast(expression.Parent, ExpressionSyntax) 46If expression.Parent.IsKind(SyntaxKind.InvocationExpression) Then 47expression = DirectCast(expression.Parent, ExpressionSyntax)
Debugging\ProximityExpressionsGetter.RelevantExpressionsCollector.vb (8)
24TypeOf node.Parent Is TypeArgumentListSyntax OrElse 25TypeOf node.Parent Is AsClauseSyntax OrElse 26(node.Parent.Parent IsNot Nothing AndAlso TypeOf node.Parent.Parent Is AsClauseSyntax) OrElse 27TypeOf node.Parent Is ImplementsClauseSyntax Then 31If node.Parent.IsKind(SyntaxKind.NameColonEquals) Then
Debugging\ProximityExpressionsGetter.Worker.vb (4)
103If TypeOf _parentStatement.Parent Is MethodBlockBaseSyntax Then 104Dim methodBlock = DirectCast(_parentStatement.Parent, MethodBlockBaseSyntax) 120If TypeOf _parentStatement.Parent Is CatchBlockSyntax Then 121Dim catchBlock = DirectCast(_parentStatement.Parent, CatchBlockSyntax)
EditAndContinue\BreakpointSpans.vb (12)
84node = node.Parent 244If node.Parent.IsKind(SyntaxKind.PropertyBlock) Then 274If name.ArrayBounds IsNot Nothing OrElse DirectCast(name.Parent, VariableDeclaratorSyntax).Names.Count > 1 Then 277Return CreateSpan(name.Parent) 335Dim query = DirectCast(fromClause.Parent, QueryExpressionSyntax) 377If collectionRangeVariable.Parent.Kind = SyntaxKind.FromClause Then 378Dim fromClause = DirectCast(collectionRangeVariable.Parent, FromClauseSyntax) 379Dim query = DirectCast(fromClause.Parent, QueryExpressionSyntax) 441If expression Is Nothing OrElse expression.Parent Is Nothing Then 445Select Case expression.Parent.Kind 447Dim joinCondition = DirectCast(expression.Parent, JoinConditionSyntax) 451Dim lambda = DirectCast(expression.Parent, SingleLineLambdaExpressionSyntax)
EditAndContinue\SyntaxComparer.vb (3)
692nodeOpt.Parent.IsKind(SyntaxKind.GroupByClause) AndAlso 693nodeOpt.SpanStart < DirectCast(nodeOpt.Parent, GroupByClauseSyntax).ByKeyword.SpanStart Then 856If nodeOpt IsNot Nothing AndAlso nodeOpt.Parent.IsParentKind(SyntaxKind.AttributesStatement) Then
EditAndContinue\SyntaxUtilities.vb (23)
27If syntax.Parent.Kind = SyntaxKind.EqualsValue Then 28If syntax.Parent.Parent.IsKind(SyntaxKind.PropertyStatement) Then 32Debug.Assert(syntax.Parent.Parent.IsKind(SyntaxKind.VariableDeclarator)) 33Debug.Assert(syntax.Parent.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration)) 35ElseIf syntax.Parent.Kind = SyntaxKind.AsNewClause Then 36If syntax.Parent.Parent.IsKind(SyntaxKind.PropertyStatement) Then 40Debug.Assert(syntax.Parent.Parent.IsKind(SyntaxKind.VariableDeclarator)) 41Debug.Assert(syntax.Parent.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration)) 48Debug.Assert(syntax.Parent.IsKind(SyntaxKind.ModifiedIdentifier)) 49Debug.Assert(syntax.Parent.Parent.IsKind(SyntaxKind.VariableDeclarator)) 50Debug.Assert(syntax.Parent.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration)) 135Not propertyDeclaration.Parent.IsKind(SyntaxKind.PropertyBlock) AndAlso
EditAndContinue\VisualBasicEditAndContinueAnalyzer.vb (159)
62If Not current.Parent.IsKind(SyntaxKind.PropertyBlock) Then 68If current.Parent.IsKind(SyntaxKind.FieldDeclaration) Then 81If current.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration) Then 87current = current.Parent 98Return node.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration) AndAlso DirectCast(node.Parent, VariableDeclaratorSyntax).Names.Count > 1 105Return node.Parent.IsKind(SyntaxKind.FieldDeclaration) AndAlso node.Names.Count = 1 144If Not node.Parent.IsKind(SyntaxKind.FieldDeclaration) Then 175If Not node.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration) Then 183Dim variableDeclarator = DirectCast(node.Parent, VariableDeclaratorSyntax) 205If declaration.Kind = SyntaxKind.ModifiedIdentifier AndAlso declaration.Parent.Kind = SyntaxKind.VariableDeclarator Then 206Dim variableDeclarator = CType(declaration.Parent, VariableDeclaratorSyntax) 331Dim fieldDeclaration = DirectCast(node.Parent, FieldDeclarationSyntax) 361Dim variableDeclarator = DirectCast(node.Parent, VariableDeclaratorSyntax) 408If Not declaration.Parent.IsKind(SyntaxKind.FieldDeclaration) OrElse variableDeclarator.Names.Count > 1 Then 413Dim fieldDeclaration = DirectCast(declaration.Parent, FieldDeclarationSyntax) 437If Not declaration.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration) Then 442Dim variableDeclarator = DirectCast(declaration.Parent, VariableDeclaratorSyntax) 467Debug.Assert(bodyOrMatchRoot.Parent.IsKind(SyntaxKind.VariableDeclarator) OrElse 468bodyOrMatchRoot.Parent.IsKind(SyntaxKind.PropertyStatement)) 469Return bodyOrMatchRoot.Parent 474Debug.Assert(bodyOrMatchRoot.Parent.IsKind(SyntaxKind.ModifiedIdentifier)) 475Return bodyOrMatchRoot.Parent 486If bodyOrMatchRoot.Parent.IsKind(SyntaxKind.AsNewClause) OrElse 487bodyOrMatchRoot.Parent.IsKind(SyntaxKind.EqualsValue) Then 488Return bodyOrMatchRoot.Parent.Parent 514If declarationBody.Parent.Parent.IsKind(SyntaxKind.PropertyStatement) Then 519partnerOpt = partnerDeclarationBodyOpt.Parent.Parent 522Debug.Assert(declarationBody.Parent.Parent.IsKind(SyntaxKind.PropertyStatement)) 523Return declarationBody.Parent.Parent 529partnerOpt = partnerDeclarationBodyOpt.Parent 532Debug.Assert(declarationBody.Parent.IsKind(SyntaxKind.ModifiedIdentifier)) 533Return declarationBody.Parent 536If declarationBody.Parent.IsKind(SyntaxKind.AsNewClause) Then 537Dim variableDeclarator = DirectCast(declarationBody.Parent.Parent, VariableDeclaratorSyntax) 543partnerOpt = DirectCast(partnerDeclarationBodyOpt.Parent.Parent, VariableDeclaratorSyntax).Names(nameIndex) 549partnerOpt = partnerDeclarationBodyOpt.Parent.Parent 557If declarationBody.Parent.IsKind(SyntaxKind.EqualsValue) Then 558Debug.Assert(declarationBody.Parent.Parent.IsKind(SyntaxKind.VariableDeclarator) AndAlso 559declarationBody.Parent.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration)) 562partnerOpt = partnerDeclarationBodyOpt.Parent.Parent 565Return declarationBody.Parent.Parent 588While node.Span.Length < span.Length AndAlso node.Parent.SpanStart = position 589node = node.Parent 590partnerOpt = partnerOpt?.Parent 599node = node.Parent 601partnerOpt = partnerOpt.Parent 609node.Parent.IsKind(SyntaxKind.VariableDeclarator) AndAlso 610DirectCast(node.Parent, VariableDeclaratorSyntax).Names.Count = 1 Then 611node = node.Parent 622Dim leftDeclarator = CType(leftDeclaration.Parent, VariableDeclaratorSyntax) 623Dim rightDeclarator = CType(rightDeclaration.Parent, VariableDeclaratorSyntax) 646node = node.Parent 661Contract.ThrowIfNull(oldDeclaration.Parent) 662Contract.ThrowIfNull(newDeclaration.Parent) 667oldDeclaration = oldDeclaration.Parent 669newDeclaration = newDeclaration.Parent 672Dim comparer = New SyntaxComparer(oldDeclaration.Parent, newDeclaration.Parent, {oldDeclaration}, {newDeclaration}) 673Return comparer.ComputeMatch(oldDeclaration.Parent, newDeclaration.Parent) 680Debug.Assert((TypeOf oldBody.Parent Is LambdaExpressionSyntax) = (TypeOf oldBody.Parent Is LambdaExpressionSyntax)) 684If TypeOf oldBody.Parent Is LambdaExpressionSyntax Then 686Return New SyntaxComparer(oldBody.Parent, newBody.Parent, oldBody.Parent.ChildNodes(), newBody.Parent.ChildNodes(), matchingLambdas:=True, compareStatementSyntax:=True). 687ComputeMatch(oldBody.Parent, newBody.Parent, knownMatches) 695Return New SyntaxComparer(oldBody.Parent, newBody.Parent, {oldBody}, {newBody}, matchingLambdas:=False, compareStatementSyntax:=True). 696ComputeMatch(oldBody.Parent, newBody.Parent, knownMatches) 717Debug.Assert(oldBody.Parent.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration) = newBody.Parent.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration)) 718Debug.Assert(oldBody.Parent.Parent.IsKind(SyntaxKind.PropertyStatement) = newBody.Parent.Parent.IsKind(SyntaxKind.PropertyStatement)) 728Dim oldSingleLineLambda = TryCast(oldBody.Parent, SingleLineLambdaExpressionSyntax) 729Dim newSingleLineLambda = TryCast(newBody.Parent, SingleLineLambdaExpressionSyntax) 746If oldStatement Is oldBody.Parent Then 747newStatement = newBody.Parent 757If newBody.Parent.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration) Then 759Dim newDeclarator = DirectCast(newBody.Parent.Parent, VariableDeclaratorSyntax) 777ElseIf newBody.Parent.Parent.IsKind(SyntaxKind.PropertyStatement) Then 779If oldStatement Is oldBody.Parent.Parent Then 780newStatement = newBody.Parent.Parent 933Dim parent = statement.Parent 1004AreEquivalentIgnoringLambdaBodies(DirectCast(oldStatement.Parent, VariableDeclaratorSyntax).AsClause, 1005DirectCast(newStatement.Parent, VariableDeclaratorSyntax).AsClause) 1029Return modifiedIdentifier.Parent.IsKind(SyntaxKind.VariableDeclarator) AndAlso 1030DirectCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax).Names.Count > 1 1043Return node.Parent.FirstAncestorOrSelf(Of TypeBlockSyntax)() ' TODO: EnbumBlock? 1049declaration = node.Parent.Parent 1055declaration = node.Parent 1075Debug.Assert(declaration.Parent.IsKind(SyntaxKind.VariableDeclarator) OrElse 1076declaration.Parent.IsKind(SyntaxKind.Parameter)) 1078If Not declaration.Parent.IsKind(SyntaxKind.VariableDeclarator) Then 1082Dim declarator = DirectCast(declaration.Parent, VariableDeclaratorSyntax) 1125Dim parent = syntax.Parent 1199Contract.ThrowIfFalse(parent.Parent.IsKind(SyntaxKind.FieldDeclaration)) 1609Return TryGetDiagnosticSpanImpl(node.Parent, editKind) 1722Return TryGetDiagnosticSpanImpl(node.Parent, editKind) 1942Return TryGetDisplayNameImpl(node.Parent, editKind) 2099Return TryGetDisplayNameImpl(node.Parent, editKind) 2263Debug.Assert(oldNode.Parent.IsKind(SyntaxKind.InterfaceBlock) AndAlso newNode.Parent.IsKind(SyntaxKind.InterfaceBlock)) 2312If node.Parent.IsParentKind(SyntaxKind.AttributesStatement) Then 2348If oldNode.Parent.IsParentKind(SyntaxKind.AttributesStatement) Then 2370If newNode.Parent.IsParentKind(SyntaxKind.AttributesStatement) Then 2412edit.OldNode.Parent.IsKind(SyntaxKind.VariableDeclarator) Then 2414If HasEdit(editMap, edit.OldNode.Parent.Parent, EditKind.Delete) Then 2420edit.NewNode.Parent.IsKind(SyntaxKind.VariableDeclarator) Then 2422If HasEdit(editMap, edit.NewNode.Parent.Parent, EditKind.Insert) Then 2550Debug.Assert(node.Parent.Kind = SyntaxKind.TryBlock) 2551node = node.Parent 2564node = node.Parent 2624Return DirectCast(node.Parent, TryBlockSyntax).Span 2673Select Case node.Parent.Kind() 2688node = node.Parent 2721Return awaitExpression.Parent.Parent Is containingStatementPart 2729Return awaitExpression.Parent.Parent Is containingStatementPart 2734Return awaitExpression.Parent.Parent.Parent Is containingStatementPart
EncapsulateField\VisualBasicEncapsulateFieldService.vb (5)
53If (DirectCast(fieldIdentifier.Parent, VariableDeclaratorSyntax).Names.Count = 1) Then 54Dim fieldDeclaration = DirectCast(fieldIdentifier.Parent.Parent, FieldDeclarationSyntax) 97Return TypeOf field.Parent Is TypeBlockSyntax 135Return c.DeclaringSyntaxReferences.Select(Function(d) d.GetSyntax().Parent)
ExtractMethod\Extensions.vb (6)
35Return statement.Parent 43If node.Parent.IsStatementContainerNode() AndAlso 45node.Parent.ContainStatement(DirectCast(node, ExecutableStatementSyntax)) Then 49node = node.Parent 84node = node.Parent 464Return TypeOf node Is ExpressionSyntax AndAlso TypeOf node.Parent Is CastExpressionSyntax
ExtractMethod\VisualBasicMethodExtractor.VisualBasicCodeGenerator.CallSiteContainerRewriter.vb (3)
41Contract.ThrowIfFalse(Me._firstStatementOrFieldToReplace.Parent Is Me._lastStatementOrFieldToReplace.Parent) 58Return Me._firstStatementOrFieldToReplace.Parent
ExtractMethod\VisualBasicMethodExtractor.VisualBasicCodeGenerator.ExpressionCodeGenerator.vb (4)
41expression.Parent.IsParentKind(SyntaxKind.VariableDeclarator) Then 43Dim varDecl = DirectCast(expression.Parent.Parent, VariableDeclaratorSyntax) 125DirectCast(sourceNode.Parent, MemberAccessExpressionSyntax).Name Is sourceNode,
ExtractMethod\VisualBasicMethodExtractor.VisualBasicCodeGenerator.MultipleStatementsCodeGenerator.vb (4)
29Contract.ThrowIfFalse(firstUnderContainer.Parent Is lastUnderContainer.Parent) 48Dim statements = firstStatementUnderContainer.Parent.GetStatements() 65Return If(callSiteContainer, Me.VBSelectionResult.GetFirstStatementUnderContainer().Parent)
ExtractMethod\VisualBasicMethodExtractor.VisualBasicCodeGenerator.SingleStatementCodeGenerator.vb (1)
51Return first.Parent
ExtractMethod\VisualBasicMethodExtractor.VisualBasicCodeGenerator.vb (4)
96Contract.ThrowIfFalse(firstStatementToRemove.Parent Is lastStatementToRemove.Parent) 152Contract.ThrowIfFalse(declStatement.Parent.IsStatementContainerNode()) 154Return declStatement.Parent
ExtractMethod\VisualBasicSelectionResult.vb (10)
82current = current.Parent 141Dim castExpression = TryCast(node.Parent, CastExpressionSyntax) 238.SkipWhile(Function(s) s.Parent IsNot commonRoot) _ 240If statement.Parent.ContainStatement(statement) Then 258.SkipWhile(Function(s) s.Parent IsNot container) _ 262Contract.ThrowIfFalse(lastStatement.Parent Is (GetFirstStatementUnderContainer()).Parent) 272containingScope.Parent _ 282Return field.Parent 287Return [property].Parent
ExtractMethod\VisualBasicSelectionValidator.vb (7)
416Function(s) s.Parent IsNot Nothing AndAlso s.Parent.IsStatementContainerNode() AndAlso s.Parent.ContainStatement(s)) 438If statement1.Parent.IsStatementContainerNode() Then 439Dim contain1 = statement1.Parent.ContainStatement(statement1) 440Dim contain2 = statement2.Parent.ContainStatement(statement2) 443Dim parent = statement1.Parent _
GenerateConstructor\VisualBasicGenerateConstructorService.vb (12)
53TryCast(node.Parent, MemberAccessExpressionSyntax).IsConstructorInitializer() AndAlso 54node.Parent.Parent.Kind = SyntaxKind.InvocationExpression 65Dim memberAccess = DirectCast(simpleName.Parent, MemberAccessExpressionSyntax) 66Dim invocation = DirectCast(memberAccess.Parent, InvocationExpressionSyntax) 101Dim name = If(simpleName.IsRightSideOfQualifiedName(), DirectCast(simpleName.Parent, NameSyntax), simpleName) 103If TypeOf name.Parent Is ObjectCreationExpressionSyntax Then 104Dim objectCreationExpression = DirectCast(name.Parent, ObjectCreationExpressionSyntax) 136Dim name = If(simpleName.IsRightSideOfQualifiedName(), DirectCast(simpleName.Parent, NameSyntax), simpleName) 138If TypeOf name.Parent Is AttributeSyntax Then 139Dim attribute = DirectCast(name.Parent, AttributeSyntax) 175Dim constructorStatements = constructor.DeclaringSyntaxReferences(0).GetSyntax(cancellationToken).Parent.GetStatements()
GenerateDefaultConstructors\VisualBasicGenerateDefaultConstructorsService.vb (2)
42Dim baseList = DirectCast(type.Parent, InheritsStatementSyntax) 48classType = TryCast(semanticDocument.SemanticModel.GetDeclaredSymbol(baseList.Parent, cancellationToken), INamedTypeSymbol)
GenerateMember\GenerateEnumMember\VisualBasicGenerateEnumMemberService.vb (2)
31Dim memberAccess = TryCast(identifierName.Parent, MemberAccessExpressionSyntax) 38Dim invocation = DirectCast(simpleNameOrMemberAccessExpression.Parent, InvocationExpressionSyntax)
GenerateMember\GenerateParameterizedMember\VisualBasicGenerateMethodService.vb (10)
51Dim implementsClause = DirectCast(qualifiedName.Parent, ImplementsClauseSyntax) 56Dim methodStatement = DirectCast(implementsClause.Parent, MethodStatementSyntax) 84Dim memberAccess = TryCast(simpleName?.Parent, MemberAccessExpressionSyntax) 85Dim conditionalMemberAccessInvocationExpression = TryCast(simpleName?.Parent?.Parent?.Parent, ConditionalAccessExpressionSyntax) 86Dim conditionalMemberAccessSimpleMemberAccess = TryCast(simpleName?.Parent?.Parent, ConditionalAccessExpressionSyntax) 116invocationExpressionOpt = DirectCast(simpleNameOrMemberAccessExpression.Parent, InvocationExpressionSyntax) 126ElseIf simpleNameOrMemberAccessExpression?.Parent?.IsKind(SyntaxKind.AddressOfExpression, SyntaxKind.NameOfExpression) Then
GenerateMember\GenerateVariable\VisualBasicGenerateVariableService.vb (7)
40Dim implementsClause = DirectCast(qualifiedName.Parent, ImplementsClauseSyntax) 44Dim propertyBlock = TryCast(implementsClause.Parent, PropertyBlockSyntax) 46DirectCast(implementsClause.Parent, PropertyStatementSyntax), 76Dim memberAccess = TryCast(identifierName.Parent, MemberAccessExpressionSyntax) 83Dim conditionalMemberAccess = TryCast(identifierName.Parent.Parent, ConditionalAccessExpressionSyntax) 95Not simpleNameOrMemberAccessExpression.Parent.IsKind(SyntaxKind.NameOfExpression, SyntaxKind.NamedFieldInitializer) Then
GenerateType\VisualBasicGenerateTypeService.vb (51)
63expression.Parent.IsParentKind(SyntaxKind.TypeParameterMultipleConstraintClause) Then 65Dim typeConstraint = DirectCast(expression.Parent, TypeConstraintSyntax) 66Dim constraintClause = DirectCast(typeConstraint.Parent, TypeParameterMultipleConstraintClauseSyntax) 106nameOrMemberAccessExpression = DirectCast(simpleName.Parent, ExpressionSyntax) 116If TypeOf nameOrMemberAccessExpression.Parent Is BinaryExpressionSyntax Then 153simpleName.Parent Is token.Parent Then 161If nameOrMemberAccessExpression.Parent.IsKind(SyntaxKind.InvocationExpression) Then 169Dim parent = TryCast(simpleName.Parent, QualifiedNameSyntax) 201If simpleName.Parent IsNot Nothing AndAlso TypeOf simpleName.Parent IsNot QualifiedNameSyntax Then 211If nameOrMemberAccessExpression.Parent IsNot Nothing AndAlso TypeOf nameOrMemberAccessExpression.Parent Is QualifiedNameSyntax Then 235nameOrMemberAccessExpression.Parent.IsParentKind(SyntaxKind.Parameter) AndAlso 236nameOrMemberAccessExpression.Parent.Parent.IsParentKind(SyntaxKind.ParameterList) AndAlso 237(nameOrMemberAccessExpression.Parent.Parent.Parent.IsParentKind(SyntaxKind.AddHandlerAccessorStatement) OrElse 238nameOrMemberAccessExpression.Parent.Parent.Parent.IsParentKind(SyntaxKind.RemoveHandlerAccessorStatement)) Then 252If (nameOrMemberAccessExpression.IsKind(SyntaxKind.SimpleMemberAccessExpression) OrElse (nameOrMemberAccessExpression.Parent IsNot Nothing AndAlso nameOrMemberAccessExpression.IsParentKind(SyntaxKind.SimpleMemberAccessExpression))) _ 259outerMostMemberAccessExpression = DirectCast(nameOrMemberAccessExpression.Parent, ExpressionSyntax) 271If TypeOf nameOrMemberAccessExpression.Parent Is ObjectCreationExpressionSyntax Then 272Dim objectCreationExpressionOpt = DirectCast(nameOrMemberAccessExpression.Parent, ObjectCreationExpressionSyntax) 320nameOrMemberAccessExpression.Parent.IsParentKind(SyntaxKind.VariableDeclarator) Then 321variableDeclarator = DirectCast(nameOrMemberAccessExpression.Parent.Parent, VariableDeclaratorSyntax) 343ElseIf TypeOf nameOrMemberAccessExpression.Parent Is CastExpressionSyntax Then 347Dim expressionToBeCasted = DirectCast(nameOrMemberAccessExpression.Parent, CastExpressionSyntax).Expression 439DirectCast(enclosingNamespace.Parent, NamespaceBlockSyntax).EndNamespaceStatement.GetLocation()) 545If node.Parent IsNot Nothing AndAlso TypeOf node.Parent Is InterfaceBlockSyntax Then 557node = node.Parent 572node.Parent IsNot Nothing AndAlso 573TypeOf node.Parent Is TypeBlockSyntax Then 575Return IsAllContainingTypeBlocksPublic(node.Parent) 579node.Parent IsNot Nothing AndAlso TypeOf node.Parent Is TypeStatementSyntax AndAlso 580node.Parent.Parent IsNot Nothing AndAlso TypeOf node.Parent.Parent Is TypeBlockSyntax Then 581Return IsAllContainingTypeBlocksPublic(node.Parent.Parent) 585node.Parent IsNot Nothing AndAlso TypeOf node.Parent Is TypeBlockSyntax Then 590node.Parent IsNot Nothing AndAlso TypeOf node.Parent Is TypeBlockSyntax Then 594node = node.Parent 688Dim fieldInitializer = TryCast(propIdentifierName.Parent, NamedFieldInitializerSyntax)
GoToDefinition\VisualBasicGoToDefinitionSymbolService.vb (6)
92node = node.Parent 104node = node.Parent 116node = node.Parent 128node = node.Parent 140node = node.Parent 152node = node.Parent
Highlighting\KeywordHighlighters\AccessorDeclarationHighlighter.vb (2)
31If TypeOf methodBlock.Parent Is PropertyBlockSyntax Then 32With DirectCast(methodBlock.Parent, PropertyBlockSyntax)
ImplementInterface\VisualBasicImplementInterfaceService.vb (3)
55ElseIf TypeOf node Is TypeSyntax AndAlso TypeOf node.Parent Is ImplementsStatementSyntax Then 57implementsStatement = DirectCast(node.Parent, ImplementsStatementSyntax) 76classOrStructDecl = implementsStatement.Parent
InitializeParameter\VisualBasicInitializeMemberFromParameterCodeRefactoringProvider.vb (1)
68Return TryCast(TryCast(reference, AccessorStatementSyntax)?.Parent, AccessorBlockSyntax)
IntroduceParameter\VisualBasicIntroduceParameterCodeRefactoringProvider.vb (1)
27Return TryCast(variableDecl.Parent, LocalDeclarationStatementSyntax)
IntroduceVariable\VisualBasicIntroduceVariableService.vb (2)
73If TypeOf expression.Parent Is CallStatementSyntax Then 82expression.Parent.IsParentKind(SyntaxKind.VariableDeclarator) Then
IntroduceVariable\VisualBasicIntroduceVariableService_IntroduceField.vb (2)
68For Each declNode In oldType.DeclaringSyntaxReferences.Select(Function(r) r.GetSyntax().Parent).OfType(Of TypeBlockSyntax)() 227Any(Function(a) TypeOf a.Parent Is TypeStatementSyntax)
IntroduceVariable\VisualBasicIntroduceVariableService_IntroduceLocal.vb (6)
103Dim parent = TryCast(current.Parent, SingleLineLambdaExpressionSyntax) 110current = TryCast(current.Parent, ExpressionSyntax) 130oldOutermostBlock = oldOutermostBlock.Parent 171Function(s) s.Parent.IsExecutableBlock() AndAlso s.Parent.GetExecutableBlockStatements().Contains(s)).First() 177Dim oldBlock = oldStatement.Parent
IntroduceVariable\VisualBasicIntroduceVariableService_IntroduceQueryLocal.vb (1)
78Dim oldQuery = DirectCast(oldClause.Parent, QueryExpressionSyntax)
InvertIf\VisualBasicInvertIfCodeRefactoringProvider.SingleLine.vb (1)
26Return TypeOf ifNode.Parent IsNot SingleLineLambdaExpressionSyntax AndAlso
InvertIf\VisualBasicInvertIfCodeRefactoringProvider.vb (1)
64Dim parent = node.Parent
J\s\src\Analyzers\VisualBasic\Analyzers\UseAutoProperty\Utilities.vb\Utilities.vb (2)
10Dim declarator = DirectCast(identifier.Parent, VariableDeclaratorSyntax) 18Dim field = DirectCast(declarator.Parent, FieldDeclarationSyntax)
LambdaUtilities.vb (23)
51Dim lambda = lambdaBody.Parent 90Dim newJoinClause = DirectCast(newJoinCondition.Parent, JoinClauseSyntax) 115Dim parent = node?.Parent 147Dim clause = parent.Parent 176Dim parentClause = clause.Parent 178clause = clause.Parent 191Dim parentClause = parent.Parent 206Dim joinClause = DirectCast(parent.Parent, JoinClauseSyntax) 269Dim clause = rangeVariable.Parent 334Dim firstCondition = DirectCast(node.Parent, JoinClauseSyntax).JoinConditions.First 378Dim clause = lambda.Parent 399Dim clause = lambda.Parent 419Dim joinClause = DirectCast(lambda.Parent, JoinClauseSyntax) 534Dim clause = expressionRangeVariable.Parent 556Dim clause = collectionRangeVariable.Parent 577Return clause.Parent.IsKind(SyntaxKind.QueryExpression) AndAlso 578clause Is DirectCast(clause.Parent, QueryExpressionSyntax).Clauses.First 600Return joinCondition Is DirectCast(joinCondition.Parent, JoinClauseSyntax).JoinConditions.First 697If node.Parent?.Parent IsNot Nothing AndAlso 698node.Parent.Parent.Parent Is Nothing Then
LanguageServices\VisualBasicSymbolDisplayService.SymbolDescriptionBuilder.vb (2)
134Dim syntax = ids.Select(Function(i) i.Parent).OfType(Of VariableDeclaratorSyntax).FirstOrDefault() 144Dim variableDeclarator = ids.Select(Function(i) i.Parent).OfType(Of VariableDeclaratorSyntax).FirstOrDefault()
LineSeparators\VisualBasicLineSeparatorService.vb (1)
138If lastChild.Parent.Kind() = SyntaxKind.CompilationUnit Then
QuickInfo\VisualBasicSemanticQuickInfoProvider.vb (3)
132found = token.Parent.Parent 142token.Parent?.Parent.IsKind(SyntaxKind.InvocationExpression) = True Then 143found = token.Parent.Parent
RemoveUnusedVariable\VisualBasicRemoveUnusedVariableCodeFixProvider.vb (1)
37node = node.Parent
ReplaceMethodWithProperty\VisualBasicReplaceMethodWithPropertyService.vb (10)
57Return DirectCast(declaration.Parent, DeclarationStatementSyntax) 89DirectCast(getAndSetMethods.GetMethodDeclaration.Parent, MethodBlockBaseSyntax).Statements) 105DirectCast(getAndSetMethods.GetMethodDeclaration.Parent, MethodBlockBaseSyntax).Statements) 115DirectCast(getAndSetMethods.SetMethodDeclaration.Parent, MethodBlockBaseSyntax).Statements) 149Dim parentExpression = If(nameNode.IsRightSideOfDot(), DirectCast(nameNode.Parent, ExpressionSyntax), nameNode) 150Dim root = If(parentExpression.IsParentKind(SyntaxKind.InvocationExpression), parentExpression.Parent, parentExpression) 178Dim parentExpression = If(nameNode.IsRightSideOfDot(), DirectCast(nameNode.Parent, ExpressionSyntax), nameNode) 180Not parentExpression.Parent.IsParentKind(SyntaxKind.ExpressionStatement) Then 189parentExpression.Parent.Parent,
ReplacePropertyWithMethods\VisualBasicReplacePropertyWithMethods.vb (8)
94If TypeOf getAccessorDeclaration?.Parent Is AccessorBlockSyntax Then 95Dim block = DirectCast(getAccessorDeclaration.Parent, AccessorBlockSyntax) 127If TypeOf setAccessorDeclaration?.Parent Is AccessorBlockSyntax Then 128Dim block = DirectCast(setAccessorDeclaration.Parent, AccessorBlockSyntax) 215propertyDeclaration.Parent, 220Dim simpleNameCref = TryCast(identifierName.Parent, CrefReferenceSyntax) 225Dim qualifiedName = TryCast(identifierName.Parent, QualifiedNameSyntax) 230Return TryCast(qualifiedName.Parent, CrefReferenceSyntax)
SignatureHelp\AttributeSignatureHelpProvider.vb (1)
45TypeOf token.Parent.Parent Is AttributeSyntax
SignatureHelp\CollectionInitializerSignatureHelpProvider.vb (1)
56document, collectionInitializer.Parent, options, cancellationToken).ConfigureAwait(False)
SignatureHelp\GenericNameSignatureHelpProvider.vb (1)
55TypeOf token.Parent.Parent Is GenericNameSyntax
SignatureHelp\InvocationExpressionSignatureHelpProvider.vb (3)
56TypeOf token.Parent.Parent Is InvocationExpressionSyntax 79Dim targetExpression = If(invocationExpression.Expression Is Nothing AndAlso invocationExpression.Parent.IsKind(SyntaxKind.ConditionalAccessExpression), 80DirectCast(invocationExpression.Parent, ConditionalAccessExpressionSyntax).Expression,
SignatureHelp\MidAssignmentSignatureHelpProvider.vb (1)
30token.Parent.Parent.IsParentKind(SyntaxKind.MidAssignmentStatement)
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider.vb (1)
55TypeOf token.Parent.Parent Is ObjectCreationExpressionSyntax
SignatureHelp\RaiseEventStatementSignatureHelpProvider.vb (1)
54TypeOf token.Parent.Parent Is RaiseEventStatementSyntax
SplitOrMergeIfStatements\VisualBasicIfLikeStatementGenerator.vb (17)
28If TypeOf expression.Parent Is IfStatementSyntax AndAlso 29DirectCast(expression.Parent, IfStatementSyntax).Condition Is expression AndAlso 30TypeOf expression.Parent.Parent Is MultiLineIfBlockSyntax Then 31ifOrElseIf = expression.Parent.Parent 35If TypeOf expression.Parent Is ElseIfStatementSyntax AndAlso 36DirectCast(expression.Parent, ElseIfStatementSyntax).Condition Is expression AndAlso 37TypeOf expression.Parent.Parent Is ElseIfBlockSyntax Then 38ifOrElseIf = expression.Parent.Parent 48Dim ifBlock = DirectCast(node.Parent, MultiLineIfBlockSyntax) 66ifBlock = DirectCast(ifOrElseIf.Parent, MultiLineIfBlockSyntax) 91Return ifOrElseIf.Parent 103Dim ifBlock = DirectCast(elseIfBlock.Parent, MultiLineIfBlockSyntax) 146Dim ifBlock = DirectCast(elseIfBlock.Parent, MultiLineIfBlockSyntax)
SplitOrMergeIfStatements\VisualBasicMergeConsecutiveIfStatementsCodeRefactoringProvider.vb (4)
23If TypeOf node Is IfStatementSyntax AndAlso TypeOf node.Parent Is MultiLineIfBlockSyntax Then 32ifOrElseIf = node.Parent 46If TypeOf node Is ElseIfStatementSyntax AndAlso TypeOf node.Parent Is ElseIfBlockSyntax Then 54ifOrElseIf = node.Parent
SplitOrMergeIfStatements\VisualBasicMergeNestedIfStatementsCodeRefactoringProvider.vb (4)
23If TypeOf node Is IfStatementSyntax And TypeOf node.Parent Is MultiLineIfBlockSyntax Then 32ifOrElseIf = node.Parent 54If TypeOf node Is ElseIfStatementSyntax AndAlso TypeOf node.Parent Is ElseIfBlockSyntax Then 62ifOrElseIf = node.Parent
Structure\Providers\AccessorDeclarationStructureProvider.vb (1)
21Dim block = TryCast(accessorDeclaration.Parent, AccessorBlockSyntax)
Structure\Providers\CollectionInitializerStructureProvider.vb (1)
24If TypeOf node.Parent IsNot ObjectCollectionInitializerSyntax Then
Structure\Providers\ConstructorDeclarationStructureProvider.vb (1)
22Dim block = TryCast(constructorDeclaration.Parent, ConstructorBlockSyntax)
Structure\Providers\EnumDeclarationStructureProvider.vb (1)
21Dim block = TryCast(enumDeclaration.Parent, EnumBlockSyntax)
Structure\Providers\EventDeclarationStructureProvider.vb (1)
21Dim block = TryCast(eventDeclaration.Parent, EventBlockSyntax)
Structure\Providers\MethodDeclarationStructureProvider.vb (1)
21Dim block = TryCast(methodDeclaration.Parent, MethodBlockSyntax)
Structure\Providers\NamespaceDeclarationStructureProvider.vb (1)
21Dim block = TryCast(namespaceDeclaration.Parent, NamespaceBlockSyntax)
Structure\Providers\ObjectCreationInitializerStructureProvider.vb (1)
35hintSpan:=node.Parent.Span,
Structure\Providers\OperatorDeclarationStructureProvider.vb (1)
21Dim block = TryCast(operatorDeclaration.Parent, OperatorBlockSyntax)
Structure\Providers\PropertyDeclarationStructureProvider.vb (1)
21Dim block = TryCast(propertyDeclaration.Parent, PropertyBlockSyntax)
Structure\Providers\TypeDeclarationStructureProvider.vb (1)
21Dim block = TryCast(typeDeclaration.Parent, TypeBlockSyntax)
Structure\VisualBasicStructureHelpers.vb (1)
219Dim attributeOwner = firstToken.Parent.Parent
UseAutoProperty\VisualBasicUseAutoPropertyCodeFixProvider.vb (2)
26node = node.Parent 85Dim declarator = TryCast(identifier?.Parent, VariableDeclaratorSyntax)
UseNamedArguments\VisualBasicUseNamedArgumentsCodeRefactoringProvider.vb (3)
30If argument.Parent.IsParentKind(SyntaxKind.Attribute) Then 34Return argument.Parent.Parent
VisualBasicAddExplicitCastCodeFixProvider.vb (2)
70Dim argumentList = DirectCast(argument.Parent, ArgumentListSyntax) 71Dim invocationNode = argumentList.Parent
VisualBasicAddRequiredParenthesesDiagnosticAnalyzer.vb (1)
60Return TryCast(binary.Parent, ExpressionSyntax)
VisualBasicConvertToIteratorCodeFixProvider.vb (1)
52If identifier.Parent.Kind <> SyntaxKind.InvocationExpression Then
VisualBasicConvertTypeOfToNameOfDiagnosticAnalyzer.vb (1)
26Dim isParentValid = node.Parent.GetType() Is GetType(MemberAccessExpressionSyntax)
VisualBasicMakeFieldReadonlyCodeFixProvider.vb (2)
27Dim initializer = CType(declaration.Parent, VariableDeclaratorSyntax).Initializer?.Value 29initializer = TryCast(CType(declaration.Parent, VariableDeclaratorSyntax).AsClause, AsNewClauseSyntax)?.NewExpression
VisualBasicMakeTypeAbstractCodeFixProvider.vb (1)
36typeDeclaration = TryCast(classStatement.Parent, ClassBlockSyntax)
VisualBasicRemoveUnnecessaryImportsDiagnosticAnalyzer.vb (2)
41If Not result.Contains(clause.Parent) Then 42Dim statement = DirectCast(clause.Parent, ImportsStatementSyntax)
VisualBasicRemoveUnnecessaryParenthesesDiagnosticAnalyzer.vb (1)
51Dim parentBinary = TryCast(parenthesizedExpression.Parent, BinaryExpressionSyntax)
VisualBasicRemoveUnusedParametersAndValuesDiagnosticAnalyzer.vb (1)
53Dim methodSyntax = TryCast(node.Parent, MethodBlockBaseSyntax)
VisualBasicRemoveUnusedValuesCodeFixProvider.vb (1)
72Return TryCast(declarator.Parent, LocalDeclarationStatementSyntax)
VisualBasicUseAutoPropertyAnalyzer.vb (3)
64Dim declarator = TryCast(variable.Parent, VariableDeclaratorSyntax) 90Dim accessor = TryCast(TryCast(getMethod.DeclaringSyntaxReferences(0).GetSyntax(cancellationToken), AccessorStatementSyntax)?.Parent, AccessorBlockSyntax) 113Dim setAccessor = TryCast(TryCast(setMethod.DeclaringSyntaxReferences(0).GetSyntax(cancellationToken), AccessorStatementSyntax)?.Parent, AccessorBlockSyntax)
VisualBasicUseConditionalExpressionForAssignmentCodeFixProvider.vb (1)
47Return DirectCast(declarator.Syntax.Parent, VariableDeclaratorSyntax)
VisualBasicUseInferredMemberNameDiagnosticAnalyzer.vb (3)
45Dim argument = DirectCast(nameColonEquals.Parent, SimpleArgumentSyntax) 63If Not fieldInitializer.Parent.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression) Then
Wrapping\SeparatedSyntaxList\VisualBasicArgumentWrapper.vb (1)
83current = current.Parent
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (30)
Compilation\GetImportScopesTests.vb (2)
54TypeOf syntax.Parent Is SimpleImportsClauseSyntax AndAlso 587Assert.True(TypeOf syntax.Parent Is SimpleImportsClauseSyntax)
Compilation\SemanticModelGetDeclaredSymbolAPITests.vb (11)
757node = node.Parent 911node = node.Parent 1167node = node.Parent 1183node = node.Parent 1634Dim node = treeA.GetCompilationUnitRoot().FindToken(treeA.GetCompilationUnitRoot().ToFullString().IndexOf("VB6", StringComparison.Ordinal)).Parent.Parent 1788node = node.Parent 1901node = node.Parent 2429Assert.Equal("NS.", node.Parent.ToString().Trim()) 2437Assert.Equal("Dummy.", node.Parent.ToString().Trim()) 2443Assert.Equal("F.", node.Parent.ToString().Trim()) 2449Assert.Equal("P.", node.Parent.ToString().Trim())
FlowAnalysis\FlowTestBase.vb (2)
184startNode = startNode.Parent 202endNode = endNode.Parent
Semantics\Conversions.vb (2)
4057Dim variableDeclarator = CType(tree.GetCompilationUnitRoot().FindToken(source.IndexOf("ii", StringComparison.Ordinal)).Parent.Parent, VariableDeclaratorSyntax) 4143Dim variableDeclarator = CType(tree.GetCompilationUnitRoot().FindToken(source.IndexOf("ii", StringComparison.Ordinal)).Parent.Parent, VariableDeclaratorSyntax)
Semantics\FieldInitializerBindingTests.vb (1)
1545Assert.Same(initValueSyntax.Parent, boundInit.Syntax)
Semantics\GetSemanticInfoTests.vb (3)
3822Dim syntaxNode = compilation.SyntaxTrees().Single().GetCompilationUnitRoot().FindToken(position).Parent.Parent.Parent.DescendantNodesAndSelf.OfType(Of GroupAggregationSyntax).Single() 4429node = node.Parent
Semantics\QueryExpressions_SemanticModel.vb (2)
3886Dim node = tree.GetCompilationUnitRoot().FindToken(tree.GetCompilationUnitRoot().ToString().IndexOf("n As", StringComparison.Ordinal)).Parent.Parent.DescendantNodes().OfType(Of IdentifierNameSyntax)().First() 3918Dim node = tree.GetCompilationUnitRoot().FindToken(tree.GetCompilationUnitRoot().ToString().IndexOf("By", StringComparison.Ordinal)).Parent.Parent.DescendantNodes().OfType(Of IdentifierNameSyntax)().First()
Semantics\XmlLiteralSemanticModelTests.vb (7)
58Dim node = FindNodeFromText(tree, "<?xml").Parent 115Dim node = FindNodeFromText(tree, "<x ").Parent 135node = FindNodeFromText(tree, "a=").Parent 294node = FindNodeFromText(tree, "p:").Parent 335node = FindNodeFromText(tree, "p:").Parent 383node = FindNodeFromText(tree, "p:").Parent 505Dim node = FindNodeFromText(tree, "<?xml").Parent
Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests (8)
SymbolsTests\AnonymousTypes\AnonymousTypesSemanticsTests.vb (5)
323tree.GetRoot().FindToken(sub2).Parent.Parent.GetLocation, 333tree.GetRoot().FindToken(sub4).Parent.Parent.GetLocation, 390tree.GetRoot().FindToken(sub1).Parent.Parent.GetLocation, 401tree.GetRoot().FindToken(sub2).Parent.Parent.GetLocation, 1933node = node.Parent
SymbolsTests\Source\BindingsTests.vb (3)
35node = node.Parent 38While (TypeOf node.Parent Is TypeSyntax) 39node = node.Parent
Microsoft.CodeAnalysis.VisualBasic.Syntax.UnitTests (9)
Parser\ParseExpression.vb (1)
1161Dim lambda = DirectCast(subKeyword.Parent.Parent, MultiLineLambdaExpressionSyntax)
TestSyntaxNodes.vb (8)
1817Dim foundDocComment = result.Parent.Parent.Parent.Parent 1818Assert.Equal(Nothing, foundDocComment.Parent) 2004Dim tk_nonzero1 = CType(trivia.First().Token.Parent.Parent.Parent, SyntaxNodeOrToken).GetNextSibling() 2267Assert.Equal(identifier.Parent, root.FindNode(identifier.Span, findInsideTrivia:=True)) 2268Assert.Equal(identifier.Parent.Span, identifier.Span)
Microsoft.CodeAnalysis.VisualBasic.Test.Utilities (21)
CompilationTestUtils.vb (10)
423node = node.Parent 428If node.Parent IsNot Nothing AndAlso hasMatchingText(node.Parent) Then 429node = node.Parent 500node = node.Parent 668node = node.Parent 1077node = node.Parent 1091node = node.Parent 1105node = node.Parent 1131node = node.Parent
ParserTestUtilities.vb (8)
151Dim parent = triviaStructure.Parent 402If node.Parent IsNot Nothing Then 403VerifyContainsErrors(node.Parent, tree, tree.GetDiagnostics(node).ToXml) 451If node.Parent IsNot Nothing Then 452Assert.True(node.SpanStart >= node.Parent.SpanStart AndAlso 453node.Span.End <= node.Parent.Span.End, "Span of child (" & 456node.Parent.Kind.ToString & node.Parent.Span.ToString & ")")
SemanticModelTestBase.vb (3)
37node = node.Parent 78node = node.Parent 107node = node.Parent
Microsoft.CodeAnalysis.VisualBasic.Workspaces (428)
ArgumentSyntaxExtensions.vb (2)
30Dim argumentList = TryCast(argument.Parent, ArgumentListSyntax) 36Dim symbolInfo = semanticModel.GetSymbolInfo(argumentList.Parent, cancellationToken)
CaseCorrection\VisualBasicCaseCorrectionService.Rewriter.vb (3)
130Dim nameColonEquals = TryCast(token.Parent?.Parent, NameColonEqualsSyntax) 131If nameColonEquals IsNot Nothing AndAlso TypeOf nameColonEquals.Parent?.Parent Is TupleExpressionSyntax Then
CastAnalyzer.vb (4)
36Dim argument = TryCast(_castNode.WalkUpParentheses().Parent, ArgumentSyntax) 62Dim parent = expression.Parent 78Dim returnedType = AsTypeInVariableDeclarator(parentEqualsValue.Parent, semanticModel) 365Dim parentNode = expression.Parent
Classification\ClassificationHelpers.vb (16)
218ElseIf TypeOf parent?.Parent Is CatchStatementSyntax AndAlso DirectCast(parent.Parent, CatchStatementSyntax).IdentifierName.Identifier = identifier Then 232Dim parent = identifierSyntax.Parent 235parent = parent.Parent 251parent = parent.Parent?.Parent 282If TypeOf node.Parent Is ParameterSyntax Then 287If TypeOf node.Parent IsNot VariableDeclaratorSyntax Then 291If TypeOf node.Parent.Parent Is LocalDeclarationStatementSyntax Then 292Dim localDeclaration = DirectCast(node.Parent.Parent, LocalDeclarationStatementSyntax) 297If TypeOf node.Parent.Parent Is FieldDeclarationSyntax Then 298Dim localDeclaration = DirectCast(node.Parent.Parent, FieldDeclarationSyntax)
Classification\SyntaxClassification\ImportAliasClauseSyntaxClassifier.vb (1)
28Dim symbolInfo = semanticModel.GetTypeInfo(DirectCast(node.Parent, SimpleImportsClauseSyntax).Name, cancellationToken)
Classification\SyntaxClassification\NameSyntaxClassifier.vb (3)
247modifiedIdentifier.Parent.IsParentKind(SyntaxKind.FieldDeclaration) Then 249If DirectCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax).AsClause Is Nothing AndAlso 250DirectCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax).Initializer Is Nothing Then
Classification\Worker.DocumentationCommentClassifier.vb (2)
150If TypeOf node.Parent Is BaseXmlAttributeSyntax Then 152ElseIf TypeOf node.Parent Is XmlProcessingInstructionSyntax Then
Classification\Worker.XmlClassifier.vb (6)
233If TypeOf element.Parent Is XmlAttributeSyntax AndAlso 234DirectCast(element.Parent, XmlAttributeSyntax).Name Is element Then 236ElseIf TypeOf element.Parent Is XmlMemberAccessExpressionSyntax AndAlso 237element.Parent.Kind = SyntaxKind.XmlAttributeAccessExpression AndAlso 238DirectCast(element.Parent, XmlMemberAccessExpressionSyntax).Name Is element Then 258Dim parent = name.Parent
CodeCleanup\Providers\AddMissingTokensCodeCleanupProvider.vb (3)
69If name Is Nothing OrElse TypeOf name.Parent Is NameSyntax Then 86If TypeOf name.Parent Is MemberAccessExpressionSyntax OrElse 87TypeOf name.Parent Is TupleElementSyntax OrElse
CodeCleanup\Providers\FixIncorrectTokensCodeCleanupProvider.vb (1)
114Dim parent = TryCast(node.Parent, QualifiedNameSyntax)
CodeCleanup\Providers\RemoveUnnecessaryLineContinuationCodeCleanupProvider.vb (1)
267node = node.Parent
CodeCleanup\VisualBasicCodeCleanerService.vb (1)
110Return GetMultiLineContainer(node.Parent)
CodeGeneration\VisualBasicCodeGenerationHelpers.vb (2)
216Dim variableDeclarator = TryCast(modifiedIdentifierNode.Parent, VariableDeclaratorSyntax) 218Dim fieldDecl = TryCast(variableDeclarator.Parent, FieldDeclarationSyntax)
CodeGeneration\VisualBasicDeclarationComparer.vb (3)
325declaration = declaration.Parent 328Dim node = declaration.Parent 345node = node.Parent
CodeGeneration\VisualBasicSyntaxGenerator.vb (31)
1958If IsChildOf(declaration.Parent, SyntaxKind.FieldDeclaration) And GetDeclarationCount(declaration.Parent.Parent) > 1 Then 1960ElseIf IsChildOf(declaration.Parent, SyntaxKind.LocalDeclarationStatement) And GetDeclarationCount(declaration.Parent.Parent) > 1 Then 1965Dim list = TryCast(declaration.Parent, AttributeListSyntax) 2026Return GetFullDeclaration(declaration.Parent) 2030Return declaration.Parent 2033If declaration.Parent IsNot Nothing Then 2034Return declaration.Parent 2038If declaration.Parent IsNot Nothing Then 2039Return declaration.Parent 2054Dim list = TryCast(declaration.Parent, AttributeListSyntax) 2060Dim stmt = TryCast(declaration.Parent, ImportsStatementSyntax) 2239Dim vd = TryCast(declaration.Parent, VariableDeclaratorSyntax) 2322Dim vd = TryCast(declaration.Parent, VariableDeclaratorSyntax) 3689Return AreSimilarExceptForSubDeclarations(decl1.Parent, decl2.Parent) 3719Return SyntaxFactory.AreEquivalent(vd1.AsClause, vd2.AsClause) AndAlso SyntaxFactory.AreEquivalent(vd2.Initializer, vd1.Initializer) AndAlso AreSimilarExceptForSubDeclarations(decl1.Parent, decl2.Parent) 3882Dim vd = TryCast(node.Parent, VariableDeclaratorSyntax) 3888If IsChildOfVariableDeclaration(node) AndAlso GetDeclarationCount(node.Parent) = 1 Then 3890Return RemoveNodeInternal(root, node.Parent, options) 3894Dim attrStmt = TryCast(attrList.Parent, AttributesStatementSyntax) 3900Dim attrList = TryCast(node.Parent, AttributeListSyntax) 3906If IsChildOf(node, SyntaxKind.ArgumentList) AndAlso IsChildOf(node.Parent, SyntaxKind.Attribute) Then 3907Dim argList = DirectCast(node.Parent, ArgumentListSyntax) 3915Dim imps = DirectCast(node.Parent, ImportsStatementSyntax) 3918Return RemoveNodeInternal(root, node.Parent, options) 3921Dim parent = node.Parent
DirectiveSyntaxExtensions.vb (3)
77While node IsNot Nothing AndAlso (node.Parent IsNot Nothing OrElse TypeOf node Is StructuredTriviaSyntax) 78If node.Parent IsNot Nothing Then 79node = node.Parent
FindSymbols\VisualBasicDeclaredSymbolInfoFactoryService.vb (3)
380If Not parameterCount.HasValue OrElse parameterCount.Value = 0 OrElse TypeOf node.Parent?.Parent IsNot ModuleBlockSyntax Then 402Return TypeOf node.Parent Is TypeBlockSyntax
Formatting\DefaultOperationProvider.vb (12)
83If previousToken.Parent.Parent IsNot Nothing AndAlso TypeOf previousToken.Parent.Parent Is ParameterSyntax Then 94currentToken.Parent.Parent IsNot Nothing AndAlso TypeOf currentToken.Parent.Parent Is ParameterSyntax Then 136Dim [imports] = DirectCast(previousImports.Parent, CompilationUnitSyntax).Imports 184TypeOf xmlDeclaration.Parent Is XmlDocumentSyntax AndAlso 185Not TypeOf xmlDeclaration.Parent.Parent Is XmlNodeSyntax Then 192TypeOf startTag.Parent Is XmlElementSyntax AndAlso 193Not TypeOf startTag.Parent.Parent Is XmlNodeSyntax Then 200Not TypeOf emptyTag.Parent Is XmlNodeSyntax Then
Formatting\FormattingHelpers.vb (6)
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) 278If token.Parent.Parent Is Nothing Then
Formatting\Rules\ElasticTriviaFormattingRule.vb (7)
115currentToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 149previousToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 157previousToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 165currentToken.Parent.Parent.Kind = SyntaxKind.CollectionInitializer Then 178currentToken.Parent.Parent.Kind = SyntaxKind.ObjectCollectionInitializer Then 186If attributeNode IsNot Nothing AndAlso TypeOf attributeNode.Parent Is StatementSyntax AndAlso 256Return TryCast(node, TStatement) IsNot Nothing AndAlso TryCast(node.Parent, TBlock) IsNot Nothing
Formatting\Rules\NodeBasedFormattingRule.vb (6)
208outerBlock = outerBlock.Parent 229If Not TypeOf node.Parent Is XmlNodeSyntax Then 244If Not TypeOf xmlNode.Parent Is XmlNodeSyntax Then 249If Not TypeOf xmlNode.Parent Is XmlNodeSyntax Then 255If TypeOf xmlNode.Parent Is XmlEmbeddedExpressionSyntax Then 267Dim element = TryCast(xmlNode.Parent, XmlElementSyntax)
InvocationExpressionSyntaxExtensions.vb (1)
60Return DirectCast(invocationExpression.Parent, ConditionalAccessExpressionSyntax).Expression
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb\ExpressionSyntaxExtensions.vb (33)
16expression = DirectCast(expression.Parent, ExpressionSyntax) 38(expression.IsParentKind(SyntaxKind.QualifiedName) AndAlso DirectCast(expression.Parent, QualifiedNameSyntax).Left Is expression) OrElse 39(expression.IsParentKind(SyntaxKind.SimpleMemberAccessExpression) AndAlso DirectCast(expression.Parent, MemberAccessExpressionSyntax).Expression Is expression) 59DirectCast(expression.Parent, MemberAccessExpressionSyntax).Name Is expression 64Return TypeOf expression?.Parent Is MemberAccessExpressionSyntax AndAlso 65DirectCast(expression.Parent, MemberAccessExpressionSyntax).Name Is expression 81DirectCast(expression.Parent, QualifiedNameSyntax).Right Is expression 87DirectCast(expression.Parent, QualifiedNameSyntax).Left Is expression 156Dim unaryParent = TryCast(expression.WalkUpParentheses().Parent, UnaryExpressionSyntax) 279Dim simpleArgument = TryCast(expression?.Parent, SimpleArgumentSyntax) 290Dim argumentList = TryCast(simpleArgument.Parent, ArgumentListSyntax) 293Dim parent = argumentList.Parent 328expression = TryCast(expression.Parent, ExpressionSyntax) 337Dim assignmentStatement = DirectCast(expression.Parent, AssignmentStatementSyntax) 344expression.Parent.IsParentKind(SyntaxKind.SimpleArgument) Then 372expression = TryCast(expression.Parent, ExpressionSyntax) 380If TypeOf expression.Parent Is AssignmentStatementSyntax Then 381Dim assignmentStatement = DirectCast(expression.Parent, AssignmentStatementSyntax) 392If TypeOf expression.Parent Is MemberAccessExpressionSyntax Then 393Dim memberAccess = DirectCast(expression.Parent, MemberAccessExpressionSyntax) 498If TypeOf expression.Parent Is InvocationExpressionSyntax Then 551If TypeOf expression.Parent Is BinaryExpressionSyntax OrElse 552TypeOf expression.Parent Is AssignmentStatementSyntax OrElse 553TypeOf expression.Parent Is WhileOrUntilClauseSyntax OrElse 554TypeOf expression.Parent Is SingleLineLambdaExpressionSyntax OrElse 555TypeOf expression.Parent Is AwaitExpressionSyntax Then 572If TypeOf expression.Parent Is ExpressionRangeVariableSyntax AndAlso 573TypeOf expression.Parent.Parent Is QueryClauseSyntax Then 574Dim rangeVariable = DirectCast(expression.Parent, ExpressionRangeVariableSyntax) 575Dim selectClause = TryCast(rangeVariable.Parent, SelectClauseSyntax) 584Dim queryExpression = TryCast(selectClause.Parent, QueryExpressionSyntax) 589Dim aggregateClause = TryCast(selectClause.Parent, AggregateClauseSyntax)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\MemberAccessExpressionSyntaxExtensions.vb\MemberAccessExpressionSyntaxExtensions.vb (8)
50If TypeOf memberAccess.Parent Is InvocationExpressionSyntax Then 51statement = memberAccess.Parent.Parent 54statement = memberAccess.Parent 60DirectCast(statement.Parent, ConstructorBlockSyntax).Statements.First() Is statement 111TypeOf current.Parent Is ObjectCreationExpressionSyntax Then 112Return DirectCast(current.Parent, ExpressionSyntax) 115current = current.Parent
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxTreeExtensions.vb\SyntaxTreeExtensions.vb (2)
71current = current.Parent 92node = node.Parent
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ContextQuery\SyntaxTreeExtensions.vb\SyntaxTreeExtensions.vb (8)
323TypeOf targetToken.Parent.Parent Is NewExpressionSyntax Then 325Dim symbolInfo = semanticModel.GetSymbolInfo(DirectCast(targetToken.Parent.Parent, NewExpressionSyntax).Type(), cancellationToken) 444TypeOf targetToken.Parent.Parent Is LambdaHeaderSyntax Then 471targetToken.Parent.Parent.IsKind(SyntaxKind.Attribute) Then 596If statementLambdaHeader IsNot Nothing AndAlso statementLambdaHeader.Parent.IsKind(SyntaxKind.SingleLineSubLambdaExpression, 691ancestor = ancestor.Parent.Parent 709ancestor = ancestor.Parent
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ExpressionSyntaxExtensions.vb\ExpressionSyntaxExtensions.vb (3)
201Return DirectCast(statement.Parent, ConstructorBlockSyntax).Statements(0) Is statement 206Dim simpleArgument = TryCast(expression.Parent, SimpleArgumentSyntax) 253Return TypeOf expression?.Parent Is MemberAccessExpressionSyntax
ParameterSyntaxExtensions.vb (2)
16parameter.Parent.Parent.IsKind(SyntaxKind.FunctionLambdaHeader, SyntaxKind.SubLambdaHeader) Then
ParenthesizedExpressionSyntaxExtensions.vb (22)
139Dim interpolation = DirectCast(node.Parent, InterpolationSyntax) 158If node.Parent.IsParentKind(SyntaxKind.ObjectCollectionInitializer) AndAlso 159DirectCast(node.Parent.Parent, ObjectCollectionInitializerSyntax).Initializer Is node.Parent Then 166If node.Parent.IsParentKind(SyntaxKind.CollectionInitializer) AndAlso 167node.Parent.Parent.IsParentKind(SyntaxKind.ObjectCollectionInitializer) AndAlso 168DirectCast(node.Parent.Parent.Parent, ObjectCollectionInitializerSyntax).Initializer Is node.Parent.Parent Then 280If TypeOf node.Parent Is ArgumentSyntax Then 284Dim argument = DirectCast(node.Parent, ArgumentSyntax) 301Dim parentInvocation = DirectCast(node.Parent, InvocationExpressionSyntax) 353Dim parentExpression = TryCast(node.Parent, ExpressionSyntax) 453If (node.Parent.Kind = SyntaxKind.InvocationExpression OrElse 454node.Parent.Kind = SyntaxKind.IsExpression OrElse 455node.Parent.Kind = SyntaxKind.TypeOfIsExpression OrElse 456node.Parent.Kind = SyntaxKind.TypeOfIsNotExpression) Then 466node.Parent.Kind = SyntaxKind.XmlEmbeddedExpression Then
ReassignedVariable\VisualBasicReassignedVariableService.vb (3)
37Return TryCast(variable.Parent, VariableDeclaratorSyntax)?.Initializer IsNot Nothing 47current = current.Parent 51Return current.Parent
Recommendations\VisualBasicRecommendationServiceRunner.vb (1)
298If leftExpression.Parent.IsKind(SyntaxKind.ConditionalAccessExpression) AndAlso
Rename\VisualBasicRenameRewriterLanguageService.vb (4)
255Dim parent = DirectCast(node.Parent, MultiLineLambdaExpressionSyntax) 402If TypeOf token.Parent Is SimpleNameSyntax AndAlso token.Kind <> SyntaxKind.GlobalKeyword AndAlso token.Parent.Parent.IsKind(SyntaxKind.QualifiedName, SyntaxKind.QualifiedCrefOperatorReference) Then 775For Each typeParameter In DirectCast(currentTypeParameter.Parent, TypeParameterListSyntax).Parameters 852If enclosingStatement Is possibleSpecialStatement.Parent Then
SemanticModelExtensions.vb (55)
123type.Parent.IsParentKind(SyntaxKind.VariableDeclarator) Then 124If type.Parent.Parent.IsParentKind(SyntaxKind.FieldDeclaration) OrElse 125type.Parent.Parent.IsParentKind(SyntaxKind.EventStatement) Then 126Dim variableDeclarator = DirectCast(type.Parent.Parent, VariableDeclaratorSyntax) 137type.Parent.IsParentKind(SyntaxKind.AsNewClause) AndAlso 138type.Parent.Parent.IsParentKind(SyntaxKind.VariableDeclarator) Then 139If type.Parent.Parent.Parent.IsParentKind(SyntaxKind.FieldDeclaration) OrElse 140type.Parent.Parent.Parent.IsParentKind(SyntaxKind.EventStatement) Then 141Dim variableDeclarator = DirectCast(type.Parent.Parent.Parent, VariableDeclaratorSyntax) 150If type.Parent.IsParentKind(SyntaxKind.DelegateFunctionStatement) OrElse 151type.Parent.IsParentKind(SyntaxKind.FunctionStatement) OrElse 152type.Parent.IsParentKind(SyntaxKind.PropertyStatement) OrElse 153type.Parent.IsParentKind(SyntaxKind.EventStatement) OrElse 154type.Parent.IsParentKind(SyntaxKind.OperatorStatement) Then 156type.Parent.Parent, cancellationToken).DeclaredAccessibility 161type.Parent.IsParentKind(SyntaxKind.Parameter) AndAlso 162type.Parent.Parent.IsParentKind(SyntaxKind.ParameterList) Then 163If type.Parent.Parent.Parent.IsParentKind(SyntaxKind.DelegateFunctionStatement) OrElse 164type.Parent.Parent.Parent.IsParentKind(SyntaxKind.FunctionStatement) OrElse 165type.Parent.Parent.Parent.IsParentKind(SyntaxKind.PropertyStatement) OrElse 166type.Parent.Parent.Parent.IsParentKind(SyntaxKind.OperatorStatement) OrElse 167type.Parent.Parent.Parent.IsParentKind(SyntaxKind.SubNewStatement) OrElse 168type.Parent.Parent.Parent.IsParentKind(SyntaxKind.SubStatement) Then 170type.Parent.Parent.Parent.Parent, cancellationToken).DeclaredAccessibility 242If TypeOf topExpression.Parent Is ArgumentSyntax Then 243Dim argument = DirectCast(topExpression.Parent, ArgumentSyntax) 250Dim argumentList = TryCast(argument.Parent, ArgumentListSyntax) 253Dim member = TryCast(semanticModel.GetSymbolInfo(argumentList.Parent, cancellationToken).Symbol, IMethodSymbol)
SemanticModelReuse\VisualBasicSemanticModelReuseLanguageService.vb (2)
29Dim container = accessor.Parent 50node = node.Parent
SimpleNameSyntaxExtensions.vb (3)
15Return DirectCast(name.Parent, MemberAccessExpressionSyntax).Expression 17Return DirectCast(name.Parent, QualifiedNameSyntax).Left 37Dim invocationExpression = DirectCast(simpleName.Parent, InvocationExpressionSyntax)
Simplification\Reducers\VisualBasicInferredMemberNameReducer.Rewriter.vb (2)
54parentNode:=node.Parent, 67parentNode:=node.Parent,
Simplification\Reducers\VisualBasicMiscellaneousReducer.Rewriter.vb (1)
42parentNode:=node.Parent,
Simplification\Reducers\VisualBasicVariableDeclaratorReducer.vb (2)
60Not variableDeclarator.Parent.IsKind( 72Dim parent = variableDeclarator.Parent
Simplification\Simplifiers\AbstractVisualBasicSimplifier.vb (3)
156Dim nameofValueOpt = semanticModel.GetConstantValue(node.Parent.Parent.Parent)
Simplification\Simplifiers\ExpressionSimplifier.vb (2)
278Dim symbolForMemberAccess = semanticModel.GetSymbolInfo(DirectCast(memberAccess.Parent, MemberAccessExpressionSyntax), cancellationToken).Symbol 283Dim parent = DirectCast(memberAccess.Parent, MemberAccessExpressionSyntax)
Simplification\Simplifiers\NameSimplifier.vb (11)
156Not name.Parent.IsKind(SyntaxKind.QualifiedName) AndAlso 157Not name.Parent.IsKind(SyntaxKind.NameOfExpression) Then 270nextNode = nextNode.Parent 315Return TypeOf expression.Parent Is ImportsClauseSyntax AndAlso 326Dim symbolForName = semanticModel.GetSymbolInfo(DirectCast(name.Parent, QualifiedNameSyntax), cancellationToken).Symbol 339Dim parent = DirectCast(name.Parent, QualifiedNameSyntax) 369If name.Parent.Kind = SyntaxKind.Attribute OrElse name.IsRightSideOfDot() Then 438(name.IsParentKind(SyntaxKind.QualifiedName) AndAlso name.Parent?.IsParentKind(SyntaxKind.CrefReference)) OrElse ' cref="System.Nullable(Of T)" 439(name.IsParentKind(SyntaxKind.QualifiedName) AndAlso If(name.Parent?.IsParentKind(SyntaxKind.QualifiedName), False) AndAlso name.Parent.Parent?.IsParentKind(SyntaxKind.CrefReference)) Then ' cref="System.Nullable(Of T).Value"
Simplification\VisualBasicSimplificationService.Expander.vb (3)
301Dim tuple = TryCast(node.Parent, TupleExpressionSyntax) 612Dim parent = originalSimpleName.Parent 750Dim parent = originalNode.Parent
Simplification\VisualBasicSimplificationService.NodesAndTokensToReduceComputer.vb (2)
83node.Parent IsNot Nothing AndAlso node.Parent.Kind() = SyntaxKind.FieldDeclaration
Simplification\VisualBasicSimplificationService.vb (3)
86originalNode.Parent.Kind() = SyntaxKind.FieldDeclaration Then 156Return node IsNot Nothing AndAlso node.Parent IsNot Nothing AndAlso 158TypeOf node.Parent Is FieldDeclarationSyntax
SpeculationAnalyzer.vb (2)
339Debug.Assert(previousOriginalNode Is Nothing OrElse previousOriginalNode.Parent Is currentOriginalNode) 340Debug.Assert(previousReplacedNode Is Nothing OrElse previousReplacedNode.Parent Is currentReplacedNode)
StatementSyntaxExtensions.vb (1)
745DirectCast(statement.Parent, ConstructorBlockSyntax).Statements.FirstOrDefault() Is statement Then
SyntaxNodeExtensions.vb (32)
19node.Parent.IsKind(kind) 25IsKind(node.Parent, kind1, kind2) 31IsKind(node.Parent, kind1, kind2, kind3) 507Where(Function(s) s.Parent.IsExecutableBlock() AndAlso s.Parent.GetExecutableBlockStatements().Contains(s)). 508Select(Function(s) s.Parent) 514Where(Function(s) s.Parent.IsMultiLineExecutableBlock AndAlso s.Parent.GetExecutableBlockStatements().Contains(s)). 515Select(Function(s) s.Parent) 710singleLineIf = DirectCast(executableBlock.Parent, SingleLineIfStatementSyntax) 759current = singleLineIf.Parent 817DirectCast(node.Parent, AssignmentStatementSyntax).Left Is node 823node.Parent.IsAnyAssignmentStatement() AndAlso 824DirectCast(node.Parent, AssignmentStatementSyntax).Left Is node 836node.Parent.IsCompoundAssignmentStatement() AndAlso 837DirectCast(node.Parent, AssignmentStatementSyntax).Left Is node 877If topMostExpression.Parent IsNot Nothing Then 878Return topMostExpression.Parent.ContainsDiagnostics 1015node = DirectCast(node.Parent, ExpressionSyntax) 1024TypeOf node.Parent IsNot ConditionalAccessExpressionSyntax 1026node = TryCast(node.Parent, ExpressionSyntax) 1056If TypeOf node?.Parent Is ConditionalAccessExpressionSyntax AndAlso 1057DirectCast(node.Parent, ConditionalAccessExpressionSyntax).Expression Is node Then 1059node = DirectCast(node.Parent, ExpressionSyntax) 1062If TypeOf node?.Parent Is ConditionalAccessExpressionSyntax AndAlso 1063DirectCast(node.Parent, ConditionalAccessExpressionSyntax).WhenNotNull Is node Then 1065node = DirectCast(node.Parent, ExpressionSyntax) 1082While TypeOf node?.Parent Is ConditionalAccessExpressionSyntax 1083Dim conditionalParent = DirectCast(node.Parent, ConditionalAccessExpressionSyntax) 1127current = current.Parent 1250Dim parent As SyntaxNode = node.Parent 1291Dim parent As SyntaxNode = node.Parent
VariableDeclaratorSyntaxExtensions.vb (1)
54Not DirectCast(variableDeclarator.Parent, FieldDeclarationSyntax).Modifiers.Any(SyntaxKind.ConstKeyword) Then
VisualBasicAccessibilityFacts.vb (5)
65Not declaration.Parent.IsKind(SyntaxKind.ModuleBlock) 69CanHaveAccessibility(declaration.Parent), 74CanHaveAccessibility(declaration.Parent), 160Return GetModifierTokens(declaration.Parent) 166Return GetModifierTokens(declaration.Parent)
VisualBasicIndentationService.vb (2)
105currentNode = currentNode.Parent 115currentNode = currentNode.Parent
VisualBasicInferredMemberNameSimplifier.vb (2)
20If RemovalCausesAmbiguity(DirectCast(node.Parent, TupleExpressionSyntax).Arguments, node) Then 35Dim parentMemberInitializer As ObjectMemberInitializerSyntax = DirectCast(node.Parent, ObjectMemberInitializerSyntax)
VisualBasicSemanticFacts.vb (4)
97Dim enumBlock = DirectCast(enumStatement.Parent, EnumBlockSyntax) 244TypeOf argument.Parent Is ArgumentListSyntax AndAlso 245TypeOf argument.Parent.Parent Is AttributeSyntax Then
VisualBasicSyntaxContext.vb (10)
141Dim methodStatement = TryCast(asClause?.Parent, MethodBaseSyntax) 208If TypeOf collectionRange.Parent Is FromClauseSyntax AndAlso TypeOf collectionRange.Parent.Parent Is QueryExpressionSyntax Then 209Dim fromClause = DirectCast(collectionRange.Parent, FromClauseSyntax) 210Dim queryExpression = DirectCast(collectionRange.Parent.Parent, QueryExpressionSyntax) 215If fromClause.Variables.FirstOrDefault() Is collectionRange AndAlso queryExpression.Clauses.FirstOrDefault() Is collectionRange.Parent Then 218ElseIf TypeOf collectionRange.Parent Is SimpleJoinClauseSyntax OrElse TypeOf collectionRange.Parent Is GroupJoinClauseSyntax Then
VisualBasicSyntaxContextExtensions.vb (5)
88ancestor = ancestor.Parent.Parent 106ancestor = ancestor.Parent 120TypeOf token.Parent.Parent Is NewExpressionSyntax Then 122Dim symbolInfo = context.SemanticModel.GetSymbolInfo(DirectCast(token.Parent.Parent, NewExpressionSyntax).Type())
VisualBasicSyntaxFacts.vb (46)
164DirectCast(node.Parent, AttributeSyntax).Name Is node 173Dim memberAccess = TryCast(node?.Parent, MemberAccessExpressionSyntax) 204DirectCast(node.Parent, SimpleImportsClauseSyntax).Name Is node 237Return firstStatement.Parent Is secondStatement.Parent 254Dim memberAccess = TryCast(token.Parent.Parent, MemberAccessExpressionSyntax) 263Dim memberAccess = TryCast(token.Parent.Parent, MemberAccessExpressionSyntax) 633identifierName.Parent.IsParentKind(SyntaxKind.SimpleArgument) AndAlso 634identifierName.Parent.Parent.IsParentKind(SyntaxKind.ArgumentList) AndAlso 635identifierName.Parent.Parent.Parent.IsParentKind(SyntaxKind.Attribute) 650Dim parent = node.Parent 657node = node.Parent 672initializedInstance = identifier.Parent.Parent.Parent 681If TypeOf node.Parent Is ArrayCreationExpressionSyntax Then 682creationExpression = node.Parent 684ElseIf TypeOf node.Parent Is ObjectCollectionInitializerSyntax AndAlso 685TypeOf node.Parent.Parent Is ObjectCreationExpressionSyntax Then 686creationExpression = node.Parent.Parent 722If TypeOf node Is MethodBlockBaseSyntax AndAlso Not TypeOf node.Parent Is PropertyBlockSyntax Then 726If TypeOf node Is MethodBaseSyntax AndAlso Not TypeOf node.Parent Is MethodBlockBaseSyntax Then 730If TypeOf node Is PropertyStatementSyntax AndAlso Not TypeOf node.Parent Is PropertyBlockSyntax Then 734If TypeOf node Is EventStatementSyntax AndAlso Not TypeOf node.Parent Is EventBlockSyntax Then 748node = node.Parent 761If TypeOf node Is MethodStatementSyntax AndAlso Not TypeOf node.Parent Is MethodBlockBaseSyntax Then 765If TypeOf node Is SubNewStatementSyntax AndAlso Not TypeOf node.Parent Is MethodBlockBaseSyntax Then 769If TypeOf node Is OperatorStatementSyntax AndAlso Not TypeOf node.Parent Is MethodBlockBaseSyntax Then 773If TypeOf node Is PropertyStatementSyntax AndAlso Not TypeOf node.Parent Is PropertyBlockSyntax Then 777If TypeOf node Is EventStatementSyntax AndAlso Not TypeOf node.Parent Is EventBlockSyntax Then 919Dim parent = node.Parent 922parent = parent.Parent 930parent = parent.Parent 1053Dim parent = node.Parent 1177Return IsLeftSideOfDot(node) AndAlso TryCast(node.Parent.Parent, ImplementsClauseSyntax) IsNot Nothing 1298If (node.Parent.IsKind(SyntaxKind.FieldDeclaration)) Then 1424Return node IsNot Nothing AndAlso TryCast(node.Parent, ForEachStatementSyntax)?.Expression Is node 1496Return node IsNot Nothing AndAlso TryCast(node.Parent, PropertyStatementSyntax)?.Initializer Is node 1616Return node.Parent IsNot Nothing AndAlso node.Parent.IsKind(kind)
VisualBasicTypeInferenceService.TypeInferrer.vb (26)
58Dim parent = node.Parent 159Function(nameColonEquals As NameColonEqualsSyntax) InferTypeInArgumentList(TryCast(nameColonEquals.Parent.Parent, ArgumentListSyntax), DirectCast(nameColonEquals.Parent, ArgumentSyntax)), 178Return If(parameterList.Parent IsNot Nothing, 179InferTypeInLambda(TryCast(parameterList.Parent.Parent, LambdaExpressionSyntax)), 185If TypeOf argument.Parent Is ArgumentListSyntax Then 187DirectCast(argument.Parent, ArgumentListSyntax), argument, previousToken) 190If TypeOf argument.Parent Is TupleExpressionSyntax Then 192DirectCast(argument.Parent, TupleExpressionSyntax), 232If argumentList.Parent IsNot Nothing Then 237Dim invocation = TryCast(argumentList.Parent, InvocationExpressionSyntax) 275ElseIf invocation.Parent.IsKind(SyntaxKind.ConditionalAccessExpression) Then 276targetExpression = DirectCast(invocation.Parent, ConditionalAccessExpressionSyntax).Expression 292Dim creation = TryCast(argumentList.Parent, ObjectCreationExpressionSyntax) 317Dim attribute = TryCast(argumentList.Parent, AttributeSyntax) 603Dim variableDeclarator = DirectCast(equalsValue.Parent, VariableDeclaratorSyntax) 627Dim propertySyntax = CType(equalsValue.Parent, PropertyStatementSyntax) 799If TypeOf switchStatementSyntax.Parent Is SelectBlockSyntax Then 800Dim firstCase = DirectCast(switchStatementSyntax.Parent, SelectBlockSyntax).CaseBlocks.SelectMany(Function(c) c.CaseStatement.Cases).OfType(Of SimpleCaseClauseSyntax).FirstOrDefault() 913memberAccessExpression.Parent.IsParentKind(SyntaxKind.AwaitExpression) Then 914Return InferTypes(DirectCast(memberAccessExpression.Parent, ExpressionSyntax)) 933Dim invocation = DirectCast(memberAccessExpression.Parent, InvocationExpressionSyntax) 1065Dim objectInitializer = TryCast(collectionInitializer.Parent, ObjectCollectionInitializerSyntax) 1066Dim objectCreation = TryCast(objectInitializer?.Parent, ObjectCreationExpressionSyntax)
Microsoft.CodeAnalysis.Workspaces (68)
AbstractAddImportsService.cs (1)
202var node = usingDirective != null ? usingDirective.Parent! : contextNode;
AbstractSelectedMembers.cs (2)
69.Where(m => m.Parent is TTypeDeclarationSyntax) 82var containingType = (TTypeDeclarationSyntax)firstMember.Parent;
AbstractSpeculationAnalyzer.cs (6)
501RoslynDebug.AssertNotNull(currentOriginalNode.Parent); 502RoslynDebug.AssertNotNull(currentReplacedNode.Parent); 506currentOriginalNode = currentOriginalNode.Parent; 507currentReplacedNode = currentReplacedNode.Parent; 533Debug.Assert(previousOriginalNode == null || previousOriginalNode.Parent == currentOriginalNode); 534Debug.Assert(previousReplacedNode == null || previousReplacedNode.Parent == currentReplacedNode);
BottomUpBaseIndentationFinder.cs (4)
242current = current.Parent; 261currentNode = currentNode.Parent; 272currentNode = currentNode.Parent; 295currentNode = currentNode.Parent;
CommonFormattingHelpers.cs (1)
337node = node.Parent;
Differencing\AbstractSyntaxComparer.cs (2)
69parent = node.Parent; 72parent = parent.Parent;
Editing\SyntaxGenerator.cs (2)
87node = node.Parent; 105node = node.Parent;
FindSymbols\FindReferences\Finders\AbstractReferenceFinder.cs (10)
600while (syntaxFacts.IsQualifiedName(current.Parent)) 601current = current.Parent; 622while (syntaxFacts.IsQualifiedName(node.Parent)) 623node = node.Parent; 625if (syntaxFacts.IsTypeArgumentList(node.Parent)) 629else if (syntaxFacts.IsTypeConstraint(node.Parent)) 633else if (syntaxFacts.IsBaseTypeList(node.Parent) || 634syntaxFacts.IsBaseTypeList(node.Parent?.Parent)) 740return syntaxFacts.IsLeftSideOfDot(node.Parent);
FindSymbols\FindReferences\Finders\AbstractReferenceFinder_GlobalSuppressions.cs (3)
185var attributeArgument = token.Parent?.Parent; 191var attributeNode = attributeArgument!.Parent?.Parent;
FindSymbols\FindReferences\Finders\AbstractTypeParameterSymbolReferenceFinder.cs (3)
47syntaxFacts.IsObjectCreationExpression(token.Parent.Parent); 56Contract.ThrowIfNull(token.Parent?.Parent); 57var typeInfo = state.SemanticModel.GetTypeInfo(token.Parent.Parent, cancellationToken);
FindSymbols\FindReferences\Finders\ParameterSymbolReferenceFinder.cs (1)
166for (var current = parameterNode; current != null; current = current.Parent)
FormattingContext.InitialContextFinder.cs (2)
99node = node.Parent; 191currentIndentationNode = currentIndentationNode.Parent;
FormattingExtensions.cs (4)
23if (node.Parent == null) 28if (node.Parent.Span != node.Span) 30return node.Parent; 33return GetParentWithBiggerSpan(node.Parent);
IBlockFactsExtensions.cs (3)
15for (var current = node; current is not null; current = current.Parent) 17if (blockFacts.IsStatementContainer(current.Parent)) 18return current.Parent;
ISyntaxFactsExtensions.cs (7)
302while (syntaxFacts.IsParenthesizedExpression(node?.Parent)) 303node = node.Parent; 608var parent = node?.Parent; 617var parent = node?.Parent; 627var parent = node?.Parent; 637var parent = node?.Parent; 647var parent = node?.Parent;
Recommendations\AbstractRecommendationServiceRunner.cs (9)
84if (!(syntaxFactsService.IsArgument(lambdaSyntax.Parent) && 85syntaxFactsService.IsInvocationExpression(lambdaSyntax.Parent.Parent.Parent))) 90var invocationExpression = lambdaSyntax.Parent.Parent.Parent; 92var argumentName = syntaxFactsService.GetNameForArgument(lambdaSyntax.Parent); 93var ordinalInInvocation = arguments.IndexOf(lambdaSyntax.Parent);
SyntaxEditorExtensions.cs (2)
206n.Parent == null, 214n.Parent == null,
SyntaxNodeExtensions.cs (6)
22=> node.Parent ?? throw new InvalidOperationException("Node's parent was null"); 29var current = node.Parent; 42var current = node.Parent; 57var current = node.Parent; 126if (node?.Parent is not T parentNode) 800var parent = node.Parent;
Microsoft.CodeAnalysis.Workspaces.UnitTests (1)
SymbolKeyTests.cs (1)
1480node = node.Parent;
Microsoft.VisualStudio.LanguageServices (2)
Progression\GraphNodeIdCreation.cs (1)
527currentNode = currentNode.Parent;
Venus\ContainedDocument.cs (1)
866current = current.Parent;
Microsoft.VisualStudio.LanguageServices.CSharp (37)
CodeModel\CSharpCodeModelService.cs (24)
141node.Parent != null) 260return MatchesScope(node.Parent!, scope); 339return GetAttributeNodes(parent.Parent!); 1164if (member.Parent is (kind: SyntaxKind.InterfaceDeclaration or SyntaxKind.EnumDeclaration)) 1180if (!(member.Parent is BaseTypeDeclarationSyntax) && 1674RoslynDebug.Assert(attributeNode.Parent is AttributeListSyntax); 1676return (AttributeListSyntax)attributeNode.Parent; 1682RoslynDebug.Assert(attributeNode.Parent is AttributeListSyntax); 1684var attributeList = (AttributeListSyntax)attributeNode.Parent; 1761Contract.ThrowIfNull(node.Parent); 1762return node.Parent; 1849: usingDirective.Parent; 1934var parameterList = (ParameterListSyntax)parameter.Parent!; 2020if (member.Parent is InterfaceDeclarationSyntax) 2039if (member.Parent is InterfaceDeclarationSyntax) 2258if (member.Parent is InterfaceDeclarationSyntax) 2279if (member.Parent is InterfaceDeclarationSyntax) 2290if (member.Parent is ClassDeclarationSyntax) 2292var parentFlags = ((ClassDeclarationSyntax)member.Parent).GetModifierFlags(); 2774var enumDeclaration = (EnumDeclarationSyntax)node.Parent!; 3085var attributeDeclaration = (AttributeListSyntax)attribute.Parent!; 3163var variableDeclaration = (VariableDeclarationSyntax)member.Parent!; 3457return InsertAttributeListIntoContainer(index, list, container.Parent!); 3585if (methodDeclaration?.Parent is not ClassDeclarationSyntax classDecl ||
CodeModel\CSharpCodeModelService.NodeLocator.cs (1)
1171return new VirtualTreePoint(fileScopedNamespace.SyntaxTree, text, fileScopedNamespace.Parent.Span.End);
LanguageService\CSharpDebuggerIntelliSenseContext.cs (1)
76token.Parent.Parent is MemberDeclarationSyntax)
LanguageService\CSharpHelpContextService.cs (10)
246if (token.Parent.Parent.IsKind(SyntaxKind.Parameter)) 251else if (token.Parent.Parent.IsKind(SyntaxKind.PropertyDeclaration)) 256else if (token.Parent.Parent.IsKind(SyntaxKind.EnumMemberDeclaration)) 261else if (token.Parent.Parent.IsKind(SyntaxKind.VariableDeclarator)) 269if (token.Parent.Parent.IsKind(SyntaxKind.AnonymousObjectMemberDeclarator)) 274else if (token.Parent.Parent.IsKind(SyntaxKind.UsingDirective)) 279else if (token.Parent.Parent.IsKind(SyntaxKind.AttributeArgument)) 398if (token.Parent is IdentifierNameSyntax { Parent: TypeConstraintSyntax { Parent: TypeParameterConstraintClauseSyntax } }) 514token.Parent?.Parent is VariableDeclarationSyntax declaration && token.Parent == declaration.Type)
Utilities\BlankLineInGeneratedMethodFormattingRule.cs (1)
28currentToken.Parent.Parent.Kind() == SyntaxKind.MethodDeclaration)
Microsoft.VisualStudio.LanguageServices.Implementation (5)
CodeModel\AbstractCodeModelService.cs (2)
424Contract.ThrowIfNull(node.Parent); 425GetOptionNameAndOrdinal(node.Parent, node, out var name, out var ordinal);
CodeModel\FileCodeModel.cs (1)
603parent = parent.Parent;
CodeModel\FileCodeModel_Events.cs (1)
201codeModelEvent.ParentNode.Parent != null)
RoslynVisualStudioWorkspace.cs (1)
180syntaxNode = syntaxNode.Parent;
Microsoft.VisualStudio.LanguageServices.VisualBasic (71)
CodeModel\VisualBasicCodeModelService.CodeModelEventCollector.vb (15)
137If member.Parent.IsKind(SyntaxKind.CompilationUnit, SyntaxKind.NamespaceBlock) AndAlso 820Dim oldVariableDeclarator = DirectCast(oldModifiedIdentifier.Parent, VariableDeclaratorSyntax) 821Dim newVariableDeclarator = DirectCast(newModifiedIdentifier.Parent, VariableDeclaratorSyntax) 828Dim oldField = DirectCast(oldVariableDeclarator.Parent, FieldDeclarationSyntax) 829Dim newField = DirectCast(newVariableDeclarator.Parent, FieldDeclarationSyntax) 1109TypeOf node.Parent Is TypeBlockSyntax Then 1111Return node.Parent 1115TypeOf node.Parent Is EnumBlockSyntax Then 1117Return node.Parent 1121TypeOf node.Parent Is MethodBlockBaseSyntax Then 1123Return node.Parent 1127TypeOf node.Parent Is PropertyBlockSyntax Then 1129Return node.Parent 1133TypeOf node.Parent Is EventBlockSyntax Then 1135Return node.Parent
CodeModel\VisualBasicCodeModelService.NodeLocator.vb (18)
51Return GetTypeBlockStartPoint(text, options, DirectCast(node.Parent, TypeBlockSyntax), part) 53Return GetEnumBlockStartPoint(text, options, DirectCast(node.Parent, EnumBlockSyntax), part) 71Return GetMethodBlockStartPoint(text, options, DirectCast(node.Parent, MethodBlockBaseSyntax), part) 74If TypeOf node.Parent Is MethodBlockBaseSyntax Then 75Return GetMethodBlockStartPoint(text, options, DirectCast(node.Parent, MethodBlockBaseSyntax), part) 100Return GetNamespaceBlockStartPoint(text, options, DirectCast(node.Parent, NamespaceBlockSyntax), part) 115Return GetImportsStatementStartPoint(text, DirectCast(node.Parent, ImportsStatementSyntax), part) 141Return GetTypeBlockEndPoint(text, DirectCast(node.Parent, TypeBlockSyntax), part) 143Return GetEnumBlockEndPoint(text, DirectCast(node.Parent, EnumBlockSyntax), part) 161Return GetMethodBlockEndPoint(text, DirectCast(node.Parent, MethodBlockBaseSyntax), part) 164If TypeOf node.Parent Is MethodBlockBaseSyntax Then 165Return GetMethodBlockEndPoint(text, DirectCast(node.Parent, MethodBlockBaseSyntax), part) 190Return GetNamespaceBlockEndPoint(text, DirectCast(node.Parent, NamespaceBlockSyntax), part) 205Return GetImportsStatementEndPoint(text, DirectCast(node.Parent, ImportsStatementSyntax), part) 766DirectCast(propertyStatement.Parent, PropertyBlockSyntax).EndPropertyStatement.Span.End, 775DirectCast(propertyStatement.Parent, PropertyBlockSyntax).EndPropertyStatement.SpanStart, 889DirectCast(eventStatement.Parent, EventBlockSyntax).EndEventStatement.Span.End, 897DirectCast(eventStatement.Parent, EventBlockSyntax).EndEventStatement.SpanStart,
CodeModel\VisualBasicCodeModelService.vb (25)
170node.Parent IsNot Nothing Then 230If Not TypeOf node.Parent Is EventBlockSyntax Then 242If Not TypeOf node.Parent Is PropertyBlockSyntax Then 281If node.Parent.Kind <> SyntaxKind.Parameter Then 285Return MatchesScope(node.Parent, scope) 403Return GetAttributeNodes(node.Parent) 1519If member.Parent.Kind = SyntaxKind.InterfaceBlock OrElse 1520member.Parent.Kind = SyntaxKind.EnumBlock Then 1531If Not TypeOf member.Parent Is TypeBlockSyntax AndAlso 1596Dim attributeBlock = DirectCast(attribute.Parent, AttributeListSyntax) 1637Dim importsStatement = DirectCast(importsClause.Parent, ImportsStatementSyntax) 1679Dim variableDeclarator = DirectCast(member.Parent, VariableDeclaratorSyntax) 1680Dim fieldDeclaration = DirectCast(variableDeclarator.Parent, FieldDeclarationSyntax) 1857Return node.Parent 2113If member.Parent.Kind = SyntaxKind.InterfaceBlock Then 2653If member.Parent.Kind = SyntaxKind.InterfaceBlock Then 2717If TypeOf memberNode.Parent Is ModuleBlockSyntax OrElse 2718TypeOf memberNode.Parent Is InterfaceBlockSyntax OrElse 2719TypeOf memberNode.Parent Is PropertyBlockSyntax OrElse 2720TypeOf memberNode.Parent Is PropertyStatementSyntax Then 2921Dim parentType = TryCast(member.Parent, DeclarationStatementSyntax) 3510Dim variableDeclarator = DirectCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax) 4061Dim parentTypeBlock = TryCast(method.Parent, TypeBlockSyntax) 4089Dim parentTypeBlock = TryCast(method.Parent, TypeBlockSyntax) 4200Not TypeOf node.Parent Is InterfaceBlockSyntax
CodeModel\VisualBasicCodeModelService_Prototype.vb (1)
127Dim variableDeclarator = TryCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax)
Help\VisualBasicHelpContextService.Visitor.vb (12)
46Visit(node.Parent) 54Visit(node.Parent) 138If TypeOf (node.Parent) Is ArrayCreationExpressionSyntax Then 139Visit(node.Parent) 377node.Parent.Parent.Kind() = SyntaxKind.ModuleBlock AndAlso 430If Not TypeOf node.Parent Is InheritsOrImplementsStatementSyntax Then 431If TypeOf node.Parent Is DeclarationStatementSyntax OrElse TypeOf node.Parent Is FieldDeclarationSyntax Then 549If node.Parent.Kind() <> SyntaxKind.PropertyBlock Then 613If Not node.Parent.IsKind(SyntaxKind.AnonymousObjectCreationExpression) Then 921If node.Parent.IsKind(SyntaxKind.GroupJoinClause) Then