src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.DocumentationCommentExteriorCommentRewriter.cs (1)
85currentParent = currentParent.Parent;
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (91)
127if (current is { Parent.Parent: RecordDeclarationSyntax })
137Debug.Assert(current.Parent.IsKind(SyntaxKind.VariableDeclaration));
139switch (current.Parent.Parent!.Kind())
147current = current.Parent;
152if (current.Parent is (kind: SyntaxKind.PropertyDeclaration or SyntaxKind.IndexerDeclaration))
161Debug.Assert(current.Parent.IsKind(SyntaxKind.CompilationUnit));
162declarations = new(current.Parent);
166current = current.Parent;
299node = node.Parent!;
302partnerStatement = partnerStatement.Parent;
376ParameterListSyntax parameters => parameters.Parent!,
392current = current.Parent;
409AccessorDeclarationSyntax { Parent.Parent: IndexerDeclarationSyntax { ParameterList: var list } } => list,
410ArrowExpressionClauseSyntax { Parent: { } memberDecl } => GetDeclarationParameterList(memberDecl),
421(oldBody.Parent.IsKind(SyntaxKind.LocalFunctionStatement) && newBody.Parent.IsKind(SyntaxKind.LocalFunctionStatement)))
442var parent = body.Parent!;
445return parent.IsKind(SyntaxKind.ArrowExpressionClause) && parent.Parent.IsKind(SyntaxKind.LocalFunctionStatement) ? parent.Parent : parent;
643case SyntaxKind.ParameterList when node.Parent is TypeDeclarationSyntax typeDeclaration:
679var parent = statement.Parent;
771if (oldStatement.Parent is UsingStatementSyntax oldUsing)
773return newStatement.Parent is UsingStatementSyntax newUsing &&
914=> node is CompilationUnitSyntax ? null : node.Parent!.FirstAncestorOrSelf<BaseTypeDeclarationSyntax>();
925return declaration.Parent?.Parent is not FieldDeclarationSyntax fieldDeclaration ||
933=> declaration.Parent is TypeDeclarationSyntax { ParameterList: var parameterList } && parameterList == declaration;
1016Contract.ThrowIfNull(declaration.Parent);
1017var recordType = (INamedTypeSymbol?)model.GetDeclaredSymbol(declaration.Parent, cancellationToken);
1019return recordType.InstanceConstructors.Single(ctor => ctor.DeclaringSyntaxReferences is [var syntaxRef] && syntaxRef.GetSyntax(cancellationToken) == declaration.Parent);
1112if (oldNode is ParameterSyntax { Parent.Parent: RecordDeclarationSyntax } ||
1113newNode is ParameterSyntax { Parent.Parent: RecordDeclarationSyntax })
1308Debug.Assert(node.Parent.IsKind(SyntaxKind.AccessorList));
1310if (HasEdit(editMap, node.Parent, editKind) && !HasEdit(editMap, node.Parent.Parent, editKind))
1408Contract.ThrowIfNull(node.Parent);
1409node = node.Parent;
1435if (declaration is BaseParameterListSyntax and not { Parent: TypeDeclarationSyntax })
1437declaration = declaration.Parent;
1443=> node is TypeParameterSyntax ? node.Parent!.Parent! : node!.Parent!;
1668return TryGetDiagnosticSpanImpl(node.Parent!, editKind);
1731return TryGetDiagnosticSpanImpl(node.Parent!, editKind);
1750return TryGetDiagnosticSpanImpl(node.Parent!, editKind);
1874return TryGetDiagnosticSpanImpl(queryBody.Clauses.FirstOrDefault() ?? queryBody.Parent!, editKind);
2047return TryGetDisplayNameImpl(node.Parent!, editKind);
2078if (node.Parent!.Parent!.IsKind(SyntaxKind.PropertyDeclaration))
2084RoslynDebug.Assert(node.Parent.Parent.IsKind(SyntaxKind.IndexerDeclaration));
2090if (node.Parent!.Parent!.IsKind(SyntaxKind.PropertyDeclaration))
2096RoslynDebug.Assert(node.Parent.Parent.IsKind(SyntaxKind.IndexerDeclaration));
2105return node.Parent!.Kind() switch
2123return node.Parent is TypeDeclarationSyntax ? FeaturesResources.constructor : null;
2266RoslynDebug.Assert(((LocalDeclarationStatementSyntax)node.Parent!.Parent!).AwaitKeyword.IsKind(SyntaxKind.AwaitKeyword));
2410if (node.IsParentKind(SyntaxKind.CompilationUnit) || node.Parent.IsParentKind(SyntaxKind.CompilationUnit))
2436if (oldNode.IsParentKind(SyntaxKind.CompilationUnit) || oldNode.Parent.IsParentKind(SyntaxKind.CompilationUnit))
2459if (newNode.IsParentKind(SyntaxKind.CompilationUnit) || newNode.Parent.IsParentKind(SyntaxKind.CompilationUnit))
2594RoslynDebug.Assert(current.Parent is object);
2595RoslynDebug.Assert(current.Parent.Kind() == SyntaxKind.TryStatement);
2596current = current.Parent;
2614Debug.Assert(current.Parent != null);
2615current = current.Parent;
2699tryStatement = (TryStatementSyntax)node.Parent!;
2740RoslynDebug.Assert(node.Parent is object);
2741switch (node.Parent.Kind())
2760node = node.Parent;
2794return awaitExpression.Parent!.Parent!.Parent == containingStatementPart;
2799return awaitExpression.Parent!.Parent!.Parent!.Parent == containingStatementPart;
2867if (oldActiveStatement.Parent!.Parent!.Parent is not SwitchStatementSyntax oldSwitch)
2873var newSwitch = (SwitchStatementSyntax)newActiveStatement.Parent!.Parent!.Parent!;
2963node = node.Parent;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.DocumentationCommentExteriorCommentRewriter.cs (1)
85currentParent = currentParent.Parent;
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.RemoveSuppressionCodeAction_Attribute.cs (1)
56? attributeNode.Parent
CodeFixes\GenerateEndConstruct\GenerateEndConstructCodeFixProvider.vb (11)
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
EditAndContinue\DeclarationBody\VisualBasicLambdaBody.vb (18)
18Debug.Assert(TypeOf node.Parent Is LambdaExpressionSyntax OrElse TypeOf node Is ExpressionSyntax)
36Return If(TypeOf _node.Parent Is LambdaExpressionSyntax, _node.Parent, _node)
45Return model.AnalyzeDataFlow(If(TryCast(_node.Parent, LambdaExpressionSyntax), _node)).CapturedInside
67If TypeOf _node.Parent Is LambdaExpressionSyntax Then
69Dim comparer = New SyntaxComparer(_node.Parent, newLambdaBody._node.Parent, _node.Parent.ChildNodes(), newLambdaBody._node.Parent.ChildNodes(), matchingLambdas:=True, compareStatementSyntax:=True)
70Return comparer.ComputeMatch(_node.Parent, newLambdaBody._node.Parent, knownMatches)
73Dim comparer = New SyntaxComparer(_node.Parent, newLambdaBody._node.Parent, {_node}, {newLambdaBody._node}, matchingLambdas:=False, compareStatementSyntax:=True)
74Return comparer.ComputeMatch(_node.Parent, newLambdaBody._node.Parent, knownMatches)
81If TypeOf _node.Parent Is LambdaExpressionSyntax Then
82Dim oldSingleLineLambda = TryCast(_node.Parent, SingleLineLambdaExpressionSyntax)
83Dim newSingleLineLambda = TryCast(newLambdaBody._node.Parent, SingleLineLambdaExpressionSyntax)
EditAndContinue\VisualBasicEditAndContinueAnalyzer.vb (62)
49If Not current.Parent.IsKind(SyntaxKind.PropertyBlock) Then
55If current.Parent.IsKind(SyntaxKind.FieldDeclaration) Then
68If current.Parent.Parent.IsKind(SyntaxKind.FieldDeclaration) Then
74current = current.Parent
93If declaration.Kind = SyntaxKind.ModifiedIdentifier AndAlso declaration.Parent.Kind = SyntaxKind.VariableDeclarator Then
94Dim variableDeclarator = CType(declaration.Parent, VariableDeclaratorSyntax)
129While node.Span.Length < span.Length AndAlso node.Parent.SpanStart = position
130node = node.Parent
131partnerStatement = partnerStatement?.Parent
140node = node.Parent
142partnerStatement = partnerStatement.Parent
150node.Parent.IsKind(SyntaxKind.VariableDeclarator) AndAlso
151DirectCast(node.Parent, VariableDeclaratorSyntax).Names.Count = 1 Then
152node = node.Parent
173node = node.Parent
212Return (DirectCast(declaration.Parent, PropertyBlockSyntax).PropertyStatement.ParameterList,
344Dim parent = statement.Parent
411AreEquivalentIgnoringLambdaBodies(DirectCast(oldStatement.Parent, VariableDeclaratorSyntax).AsClause,
412DirectCast(newStatement.Parent, VariableDeclaratorSyntax).AsClause)
436Return modifiedIdentifier.Parent.IsKind(SyntaxKind.VariableDeclarator) AndAlso
437DirectCast(modifiedIdentifier.Parent, VariableDeclaratorSyntax).Names.Count > 1
454Return node.Parent.FirstAncestorOrSelf(Of TypeBlockSyntax)() ' TODO: EnbumBlock?
460Debug.Assert(declaration.Parent.IsKind(SyntaxKind.VariableDeclarator) OrElse
461declaration.Parent.IsKind(SyntaxKind.Parameter))
463If Not declaration.Parent.IsKind(SyntaxKind.VariableDeclarator) Then
468Dim declarator = DirectCast(declaration.Parent, VariableDeclaratorSyntax)
469If declarator.Parent.IsKind(SyntaxKind.FieldDeclaration) AndAlso
470DirectCast(declarator.Parent, FieldDeclarationSyntax).Modifiers.Any(SyntaxKind.ConstKeyword) Then
635Dim ctor = TryCast(symbol.DeclaringSyntaxReferences(0).GetSyntax(cancellationToken).Parent, ConstructorBlockSyntax)
938Return If(node.IsKind(SyntaxKind.ModifiedIdentifier), node.Parent.Parent.Parent, node.Parent.Parent)
1175Return TryGetDiagnosticSpanImpl(node.Parent, editKind)
1288Return TryGetDiagnosticSpanImpl(node.Parent, editKind)
1510Return TryGetDisplayNameImpl(node.Parent, editKind)
1667Return TryGetDisplayNameImpl(node.Parent, editKind)
1824If node.Parent.IsParentKind(SyntaxKind.AttributesStatement) Then
1860If oldNode.Parent.IsParentKind(SyntaxKind.AttributesStatement) Then
1882If newNode.Parent.IsParentKind(SyntaxKind.AttributesStatement) Then
1905edit.OldNode.Parent.IsKind(SyntaxKind.VariableDeclarator) Then
1907If HasEdit(editMap, edit.OldNode.Parent.Parent, EditKind.Delete) Then
1913edit.NewNode.Parent.IsKind(SyntaxKind.VariableDeclarator) Then
1915If HasEdit(editMap, edit.NewNode.Parent.Parent, EditKind.Insert) Then
2060Debug.Assert(node.Parent.Kind = SyntaxKind.TryBlock)
2061node = node.Parent
2074Debug.Assert(node.Parent IsNot Nothing)
2075node = node.Parent
2135Return DirectCast(node.Parent, TryBlockSyntax).Span
2181Select Case node.Parent.Kind()
2196node = node.Parent
2229Return awaitExpression.Parent.Parent Is containingStatementPart
2237Return awaitExpression.Parent.Parent Is containingStatementPart
2242Return awaitExpression.Parent.Parent.Parent Is containingStatementPart
GenerateType\VisualBasicGenerateTypeService.vb (54)
57expression.Parent.IsParentKind(SyntaxKind.TypeParameterMultipleConstraintClause) Then
59Dim typeConstraint = DirectCast(expression.Parent, TypeConstraintSyntax)
60Dim constraintClause = DirectCast(typeConstraint.Parent, TypeParameterMultipleConstraintClauseSyntax)
100nameOrMemberAccessExpression = DirectCast(simpleName.Parent, ExpressionSyntax)
110If TypeOf nameOrMemberAccessExpression.Parent Is BinaryExpressionSyntax Then
147simpleName.Parent Is token.Parent Then
155If nameOrMemberAccessExpression.Parent.IsKind(SyntaxKind.InvocationExpression) Then
163Dim parent = TryCast(simpleName.Parent, QualifiedNameSyntax)
195If simpleName.Parent IsNot Nothing AndAlso TypeOf simpleName.Parent IsNot QualifiedNameSyntax Then
205If nameOrMemberAccessExpression.Parent IsNot Nothing AndAlso TypeOf nameOrMemberAccessExpression.Parent Is QualifiedNameSyntax Then
229nameOrMemberAccessExpression.Parent.IsParentKind(SyntaxKind.Parameter) AndAlso
230nameOrMemberAccessExpression.Parent.Parent.IsParentKind(SyntaxKind.ParameterList) AndAlso
231(nameOrMemberAccessExpression.Parent.Parent.Parent.IsParentKind(SyntaxKind.AddHandlerAccessorStatement) OrElse
232nameOrMemberAccessExpression.Parent.Parent.Parent.IsParentKind(SyntaxKind.RemoveHandlerAccessorStatement)) Then
246If (nameOrMemberAccessExpression.IsKind(SyntaxKind.SimpleMemberAccessExpression) OrElse (nameOrMemberAccessExpression.Parent IsNot Nothing AndAlso nameOrMemberAccessExpression.IsParentKind(SyntaxKind.SimpleMemberAccessExpression))) _
253outerMostMemberAccessExpression = DirectCast(nameOrMemberAccessExpression.Parent, ExpressionSyntax)
265If TypeOf nameOrMemberAccessExpression.Parent Is ObjectCreationExpressionSyntax Then
266Dim objectCreationExpressionOpt = DirectCast(nameOrMemberAccessExpression.Parent, ObjectCreationExpressionSyntax)
314nameOrMemberAccessExpression.Parent.IsParentKind(SyntaxKind.VariableDeclarator) Then
315variableDeclarator = DirectCast(nameOrMemberAccessExpression.Parent.Parent, VariableDeclaratorSyntax)
337ElseIf TypeOf nameOrMemberAccessExpression.Parent Is CastExpressionSyntax Then
341Dim expressionToBeCasted = DirectCast(nameOrMemberAccessExpression.Parent, CastExpressionSyntax).Expression
433DirectCast(enclosingNamespace.Parent, NamespaceBlockSyntax).EndNamespaceStatement.GetLocation())
536If TypeOf expression.Parent Is InheritsStatementSyntax Then
537If expression.Parent.Parent IsNot Nothing AndAlso TypeOf expression.Parent.Parent Is InterfaceBlockSyntax Then
544ElseIf TypeOf expression.Parent Is ImplementsStatementSyntax Then
561node.Parent IsNot Nothing AndAlso
562TypeOf node.Parent Is TypeBlockSyntax Then
564Return IsAllContainingTypeBlocksPublic(node.Parent)
568node.Parent IsNot Nothing AndAlso TypeOf node.Parent Is TypeStatementSyntax AndAlso
569node.Parent.Parent IsNot Nothing AndAlso TypeOf node.Parent.Parent Is TypeBlockSyntax Then
570Return IsAllContainingTypeBlocksPublic(node.Parent.Parent)
574node.Parent IsNot Nothing AndAlso TypeOf node.Parent Is TypeBlockSyntax Then
579node.Parent IsNot Nothing AndAlso TypeOf node.Parent Is TypeBlockSyntax Then
583node = node.Parent
676Dim fieldInitializer = TryCast(propIdentifierName.Parent, NamedFieldInitializerSyntax)
ReplaceMethodWithProperty\VisualBasicReplaceMethodWithPropertyService.vb (7)
58Return DirectCast(declaration.Parent, DeclarationStatementSyntax)
150Dim parentExpression = If(nameNode.IsRightSideOfDot(), DirectCast(nameNode.Parent, ExpressionSyntax), nameNode)
151Dim root = If(parentExpression.IsParentKind(SyntaxKind.InvocationExpression), parentExpression.Parent, parentExpression)
179Dim parentExpression = If(nameNode.IsRightSideOfDot(), DirectCast(nameNode.Parent, ExpressionSyntax), nameNode)
181Not parentExpression.Parent.IsParentKind(SyntaxKind.ExpressionStatement) Then
190parentExpression.Parent.Parent,
src\Analyzers\VisualBasic\CodeFixes\GenerateConstructor\VisualBasicGenerateConstructorService.vb (12)
52TryCast(node.Parent, MemberAccessExpressionSyntax).IsConstructorInitializer() AndAlso
53node.Parent.Parent.Kind = SyntaxKind.InvocationExpression
64Dim memberAccess = DirectCast(simpleName.Parent, MemberAccessExpressionSyntax)
65Dim invocation = DirectCast(memberAccess.Parent, InvocationExpressionSyntax)
100Dim name = If(simpleName.IsRightSideOfQualifiedName(), DirectCast(simpleName.Parent, NameSyntax), simpleName)
102If TypeOf name.Parent Is ObjectCreationExpressionSyntax Then
103Dim objectCreationExpression = DirectCast(name.Parent, ObjectCreationExpressionSyntax)
135Dim name = If(simpleName.IsRightSideOfQualifiedName(), DirectCast(simpleName.Parent, NameSyntax), simpleName)
137If TypeOf name.Parent Is AttributeSyntax Then
138Dim attribute = DirectCast(name.Parent, AttributeSyntax)
174Dim constructorStatements = constructor.DeclaringSyntaxReferences(0).GetSyntax(cancellationToken).Parent.GetStatements()
CodeGeneration\VisualBasicSyntaxGenerator.vb (31)
1781If IsChildOf(declaration.Parent, SyntaxKind.FieldDeclaration) And GetDeclarationCount(declaration.Parent.Parent) > 1 Then
1783ElseIf IsChildOf(declaration.Parent, SyntaxKind.LocalDeclarationStatement) And GetDeclarationCount(declaration.Parent.Parent) > 1 Then
1788Dim list = TryCast(declaration.Parent, AttributeListSyntax)
1849Return GetFullDeclaration(declaration.Parent)
1853Return declaration.Parent
1856If declaration.Parent IsNot Nothing Then
1857Return declaration.Parent
1861If declaration.Parent IsNot Nothing Then
1862Return declaration.Parent
1877Dim list = TryCast(declaration.Parent, AttributeListSyntax)
1883Dim stmt = TryCast(declaration.Parent, ImportsStatementSyntax)
2062Dim vd = TryCast(declaration.Parent, VariableDeclaratorSyntax)
2145Dim vd = TryCast(declaration.Parent, VariableDeclaratorSyntax)
3366Return AreSimilarExceptForSubDeclarations(decl1.Parent, decl2.Parent)
3396Return SyntaxFactory.AreEquivalent(vd1.AsClause, vd2.AsClause) AndAlso SyntaxFactory.AreEquivalent(vd2.Initializer, vd1.Initializer) AndAlso AreSimilarExceptForSubDeclarations(decl1.Parent, decl2.Parent)
3559Dim vd = TryCast(node.Parent, VariableDeclaratorSyntax)
3565If IsChildOfVariableDeclaration(node) AndAlso GetDeclarationCount(node.Parent) = 1 Then
3567Return RemoveNodeInternal(root, node.Parent, options)
3571Dim attrStmt = TryCast(attrList.Parent, AttributesStatementSyntax)
3577Dim attrList = TryCast(node.Parent, AttributeListSyntax)
3583If IsChildOf(node, SyntaxKind.ArgumentList) AndAlso IsChildOf(node.Parent, SyntaxKind.Attribute) Then
3584Dim argList = DirectCast(node.Parent, ArgumentListSyntax)
3592Dim imps = DirectCast(node.Parent, ImportsStatementSyntax)
3595Return RemoveNodeInternal(root, node.Parent, options)
3598Dim parent = node.Parent
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\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)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxNodeExtensions.vb (24)
20node.Parent.IsKind(kind)
26IsKind(node.Parent, kind1, kind2)
32IsKind(node.Parent, kind1, kind2, kind3)
682singleLineIf = DirectCast(executableBlock.Parent, SingleLineIfStatementSyntax)
731current = singleLineIf.Parent
789DirectCast(node.Parent, AssignmentStatementSyntax).Left Is node
795node.Parent.IsAnyAssignmentStatement() AndAlso
796DirectCast(node.Parent, AssignmentStatementSyntax).Left Is node
808node.Parent.IsCompoundAssignmentStatement() AndAlso
809DirectCast(node.Parent, AssignmentStatementSyntax).Left Is node
987node = DirectCast(node.Parent, ExpressionSyntax)
996TypeOf node.Parent IsNot ConditionalAccessExpressionSyntax
998node = TryCast(node.Parent, ExpressionSyntax)
1028If TypeOf node?.Parent Is ConditionalAccessExpressionSyntax AndAlso
1029DirectCast(node.Parent, ConditionalAccessExpressionSyntax).Expression Is node Then
1031node = DirectCast(node.Parent, ExpressionSyntax)
1034If TypeOf node?.Parent Is ConditionalAccessExpressionSyntax AndAlso
1035DirectCast(node.Parent, ConditionalAccessExpressionSyntax).WhenNotNull Is node Then
1037node = DirectCast(node.Parent, ExpressionSyntax)
1054While TypeOf node?.Parent Is ConditionalAccessExpressionSyntax
1055Dim conditionalParent = DirectCast(node.Parent, ConditionalAccessExpressionSyntax)
1099current = current.Parent
1222Dim parent As SyntaxNode = node.Parent
1263Dim parent As SyntaxNode = node.Parent
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\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)