1090 references to Parent
Microsoft.CodeAnalysis.CSharp (359)
Binder\Binder.IdentifierUsedAsValueFinder.cs (6)
51switch (id.Parent) 69assignment.Parent?.Kind() is SyntaxKind.ObjectInitializerExpression or SyntaxKind.WithInitializerExpression) 77!(id.Parent is BinaryExpressionSyntax { RawKind: (int)SyntaxKind.IsExpression } isExpression && 157!(expression.Parent is BinaryExpressionSyntax { RawKind: (int)SyntaxKind.IsExpression } isExpression && 221switch (id.Parent) 237case FromClauseSyntax { Parent: QueryExpressionSyntax query } fromClause when query.FromClause == fromClause && fromClause.Expression == id:
Binder\Binder_Crefs.cs (5)
1140Debug.Assert(parameterListSyntax.Parent is object); 1141TypeSymbol type = BindCrefParameterOrReturnType(parameter.Type, (MemberCrefSyntax)parameterListSyntax.Parent, diagnostics); 1178Debug.Assert(typeSyntax.Parent is object); 1180if (typeSyntax.Parent.Kind() == SyntaxKind.ConversionOperatorMemberCref) 1225SyntaxNode? parentSyntax = syntax.Parent; // Could be null when speculating.
Binder\Binder_Deconstruct.cs (8)
39switch (node.Parent?.Kind()) 50if (((ForStatementSyntax)node.Parent).Initializers.Contains(node)) 178var parent = left.Parent; 186var grandParent = parent.Parent; 761else if (node.Parent is not ArgumentSyntax) 819if (discarded.Parent is DeclarationExpressionSyntax declExpr && declExpr.Designation == discarded) 878if (designation.Parent is DeclarationExpressionSyntax declExpr && declExpr.Designation == designation) 929if (designation.Parent is DeclarationExpressionSyntax declExpr && declExpr.Designation == designation)
Binder\Binder_Expressions.cs (22)
896var parent = node.Parent; 1874CSharpSyntaxNode parent = node.Parent; 2570else if (this.ContainingType is null || node.Parent is null || (node.Parent.Kind() != SyntaxKind.SimpleMemberAccessExpression && node.Parent.Kind() != SyntaxKind.ElementAccessExpression)) 4498(initSyntax.Parent == null || 4499initSyntax.Parent.Kind() != SyntaxKind.EqualsValueClause || 4500((EqualsValueClauseSyntax)initSyntax.Parent).Value != initSyntax) 4862initializerArgumentListOpt.Parent.Kind() != SyntaxKind.ThisConstructorInitializer; 4885syntax: initializerArgumentListOpt.Parent, 4896syntax: initializerArgumentListOpt.Parent, 4905Debug.Assert(initializerArgumentListOpt.Parent.Kind() == SyntaxKind.ThisConstructorInitializer); 4912switch (initializerArgumentListOpt?.Parent) 4939syntax: initializerArgumentListOpt.Parent, 5012(initializerArgumentListOpt != null && initializerArgumentListOpt.Parent.Kind() == SyntaxKind.ThisConstructorInitializer)); 5662Debug.Assert(syntax.Parent.Parent.Kind() != SyntaxKind.WithInitializerExpression); 7493Debug.Assert((left.Parent is MemberAccessExpressionSyntax { RawKind: (int)SyntaxKind.SimpleMemberAccessExpression } memberAccess && memberAccess.Expression == left) || 7494(left.Parent is QualifiedNameSyntax qualifiedName && qualifiedName.Left == left) || 7495(left.Parent is FromClauseSyntax { Parent: QueryExpressionSyntax query } fromClause && query.FromClause == fromClause && fromClause.Expression == left)); 11390CSharpSyntaxNode parent = node.Parent;
Binder\Binder_Operators.cs (1)
1369binary = (BinaryExpressionSyntax)child.Parent;
Binder\Binder_Patterns.cs (4)
1365Debug.Assert(node.Parent is { }); 1367node.Parent.Kind() == SyntaxKind.VarPattern ? node.Parent : node, // for `var x` use whole pattern, otherwise use designation for the syntax 1602if (!hasErrors && !CheckValueKind(node: memberName.Parent, expr: boundMember, valueKind: BindValueKind.RValue,
Binder\Binder_QueryErrors.cs (4)
136for (CSharpSyntaxNode parent = node.Parent; parent != null; parent = parent.Parent) 152for (CSharpSyntaxNode parent = node.Parent; parent != null; parent = parent.Parent)
Binder\Binder_Statements.cs (7)
361switch (node.Parent.Kind()) 830if (declarationNode.Parent.Kind() == SyntaxKind.LocalDeclarationStatement && 1938hasUnsafeModifier: node.Parent?.Kind() == SyntaxKind.UnsafeStatement, 3399: (filter.Parent.Parent is TryStatementSyntax s && s.Catches.Count == 1 && s.Finally == null) 3586var messageId = expressionBody.Parent switch 3599_ => throw ExceptionUtilities.UnexpectedValue(expressionBody.Parent.Kind()),
Binder\Binder_Symbols.cs (9)
495if (refTypeSyntax.Parent is UsingDirectiveSyntax) 873var errorResult = CreateErrorIfLookupOnTypeParameter(node.Parent, qualifierOpt, identifierValueText, 0, diagnostics); 942if (node.Parent == null) 946if (node.Parent.Kind() == SyntaxKind.Attribute) 953if (node.Parent is UsingDirectiveSyntax { Alias: not null }) 1008switch (node.Parent) 1024parent.Parent?.Parent is InvocationExpressionSyntax invocation && 1276var errorResult = CreateErrorIfLookupOnTypeParameter(node.Parent, qualifierOpt, plainName, arity, diagnostics);
Binder\BinderFactory.BinderFactoryVisitor.cs (44)
107var compilationUnit = (CompilationUnitSyntax)node.Parent; 119SynthesizedSimpleProgramEntryPointSymbol simpleProgram = SynthesizedSimpleProgramEntryPointSymbol.GetSimpleProgramEntryPoint(compilation, (CompilationUnitSyntax)node.Parent, fallbackToMainEntryPoint: false); 139return VisitCore(methodDecl.Parent); 163var parentType = methodDecl.Parent as TypeDeclarationSyntax; 170resultBinder = VisitCore(methodDecl.Parent); 201return VisitCore(parent.Parent); 211resultBinder = VisitCore(parent.Parent); 240return VisitCore(parent.Parent); 249resultBinder = VisitCore(parent.Parent); 267return VisitCore(parent.Parent); 277resultBinder = VisitCore(parent.Parent); 281var propertyOrEventDecl = parent.Parent.Parent; 335return VisitCore(parent.Parent); 345resultBinder = VisitCore(parent.Parent); 375return VisitCore(parent.Parent).SetOrClearUnsafeRegionIfNecessary(parent.Modifiers); 380return VisitCore(parent.Parent).SetOrClearUnsafeRegionIfNecessary(parent.Modifiers); 385return VisitCore(parent.Parent).SetOrClearUnsafeRegionIfNecessary(parent.Modifiers); 392return VisitCore(parent.Parent).SetOrClearUnsafeRegionIfNecessary(parent.Modifiers); 402return VisitCore(parent.Parent).SetOrClearUnsafeRegionIfNecessary(parent.Modifiers); 415resultBinder = VisitCore(parent.Parent).SetOrClearUnsafeRegionIfNecessary(parent.Modifiers); 441if (node.Parent.Kind() == SyntaxKind.CompilationUnit && syntaxTree.Options.Kind != SourceCodeKind.Regular) 657return VisitCore(parent.Parent); 665Binder outer = VisitCore(parent.Parent); // a binder for the body of the enclosing type or namespace 692return VisitCore(parent.Parent); 700Binder outer = VisitCore(parent.Parent); // a binder for the body of the type enclosing this type 720return VisitCore(parent.Parent); 762resultBinder = VisitCore(parent.Parent); 825return VisitCore(parent.Parent); 841return VisitCore(parent.Parent); 863var container = parent.Parent; 874outer = _factory.GetBinder(parent.Parent, position); 1133return VisitCore(parent.Parent); 1156? MakeCrefBinderInternal(crefSyntax, VisitCore(parent.Parent), inParameterOrReturnType) 1169return VisitCore(parent.Parent); 1241Binder outerBinder = VisitCore(memberSyntax.Parent); 1276Binder outerBinder = VisitCore(memberSyntax.Parent); 1305Binder outerBinder = VisitCore(memberSyntax.Parent); 1328Binder outerBinder = VisitCore(memberSyntax.Parent); 1342Binder outerBinder = VisitCore(memberSyntax.Parent); 1354Binder outerBinder = VisitCore(memberSyntax.Parent); 1361Binder outerBinder = VisitCore(memberSyntax.Parent); 1454curr = curr.Parent; 1466for (; !SyntaxFacts.IsDocumentationCommentTrivia(curr.Kind()); curr = curr.Parent)
Binder\ExpressionVariableFinder.cs (4)
55Debug.Assert(node.Parent is ConstructorInitializerSyntax || node.Parent is PrimaryConstructorBaseTypeSyntax); 410var argumentSyntax = node.Parent as ArgumentSyntax; 411var argumentListSyntaxOpt = argumentSyntax?.Parent as BaseArgumentListSyntax;
Binder\LocalBinderFactory.cs (2)
952if (node.Parent is VariableDeclarationSyntax { Parent: LocalDeclarationStatementSyntax { IsConst: true } })
Binder\LockOrUsingBinder.cs (3)
44Debug.Assert(targetExpressionSyntax.Parent.Kind() == SyntaxKind.LockStatement || 45targetExpressionSyntax.Parent.Kind() == SyntaxKind.UsingStatement); 57originalBinder: GetBinder(targetExpressionSyntax.Parent));
Binder\SwitchBinder_Patterns.cs (3)
143Debug.Assert(this.SwitchSyntax == node.Parent.Parent); 150sectionBinder: GetBinder(node.Parent),
Compilation\AttributeSemanticModel.cs (2)
70var parent = node.Parent; 73parent = parent.Parent;
Compilation\CSharpSemanticModel.cs (28)
94if (!isSpeculative && node.Parent != null && node.Parent.Kind() == SyntaxKind.NameEquals && node.Parent.Parent.Kind() == SyntaxKind.UsingDirective) 615if (expression.Parent != null && expression.Parent.Kind() == SyntaxKind.CollectionInitializerExpression) 619InitializerExpressionSyntax initializer = (InitializerExpressionSyntax)expression.Parent; 622while (initializer.Parent != null && 623initializer.Parent.Kind() == SyntaxKind.SimpleAssignmentExpression && 624((AssignmentExpressionSyntax)initializer.Parent).Right == initializer && 625initializer.Parent.Parent != null && 626initializer.Parent.Parent.Kind() == SyntaxKind.ObjectInitializerExpression) 628initializer = (InitializerExpressionSyntax)initializer.Parent.Parent; 631if (initializer.Parent is BaseObjectCreationExpressionSyntax objectCreation && 635return GetCollectionInitializerSymbolInfoWorker((InitializerExpressionSyntax)expression.Parent, expression, cancellationToken); 1621if (parentExpr != null && !(parentExpr.Parent is XmlNameAttributeSyntax) && !SyntaxFacts.IsInTypeOnlyContext(parentExpr) && !binder.IsInsideNameof) 2409var parent = expression.Parent; 3313CSharpSyntaxNode catchClause = catchDeclaration.Parent; //Syntax->Binder map is keyed on clause, not decl 4505var parent3 = identifierNameSyntax.Parent.Parent.Parent; 4508var tupleArgument = (ArgumentSyntax)identifierNameSyntax.Parent.Parent; 4518CSharpSyntaxNode containingInvocation = parent3.Parent; 5160if (declarationSyntax.Parent is TupleTypeSyntax tupleTypeSyntax)
Compilation\InitializerSemanticModel.cs (1)
196this.Root == node.Parent /*field initializer*/;
Compilation\MemberSemanticModel.cs (18)
835var simpleLambda = parameter.Parent as SimpleLambdaExpressionSyntax; 841var paramList = parameter.Parent as ParameterListSyntax; 842if (paramList == null || paramList.Parent == null) 847if (paramList.Parent.IsAnonymousFunction()) 849return GetLambdaParameterSymbol(parameter, (ExpressionSyntax)paramList.Parent, cancellationToken); 851else if (paramList.Parent.Kind() == SyntaxKind.LocalFunctionStatement) 853var localFunction = GetDeclaredSymbol((LocalFunctionStatementSyntax)paramList.Parent, cancellationToken).GetSymbol<MethodSymbol>(); 1077var anonymousObjectCreation = (AnonymousObjectCreationExpressionSyntax)declaratorSyntax.Parent; 1118var tupleLiteral = declaratorSyntax?.Parent as TupleExpressionSyntax; 1556if (current.Parent == null || current.Parent.Kind() != SyntaxKind.LocalFunctionStatement) 2182return node.Parent; 2214var parent = node.Parent; 2239var grandparent = parent.Parent; 2284CSharpSyntaxNode? parent = node.Parent; 2305var pp = parent.Parent; 2324case { RawKind: (int)SyntaxKind.SimpleMemberAccessExpression, Parent.RawKind: (int)SyntaxKind.InvocationExpression }: 2325bindableParent = bindableParent.Parent;
Compilation\MethodBodySemanticModel.cs (1)
241Root.FindToken(position).Parent?.AncestorsAndSelf().OfType<ConstructorInitializerSyntax>().FirstOrDefault()?.Parent == Root)
Compilation\PublicSemanticModel.cs (2)
23Symbol? attributeTarget = getAttributeTarget(attribute.Parent?.Parent);
Compilation\SpeculativeSemanticModelWithMemberModel.cs (1)
60attributedNode = attributedNode?.FirstAncestorOrSelf<AttributeListSyntax>()?.Parent;
Compilation\SyntaxTreeSemanticModel.cs (64)
247else if (node.Parent.Kind() == SyntaxKind.XmlNameAttribute && (attrSyntax = (XmlNameAttributeSyntax)node.Parent).Identifier == node) 505for (; expression != null && expression.Parent != null; expression = expression.Parent as TypeSyntax) 507var parent = expression.Parent; 508if (parent is BaseTypeSyntax baseType && parent.Parent != null && parent.Parent.Kind() == SyntaxKind.BaseList && baseType.Type == expression) 511var decl = (BaseTypeDeclarationSyntax)parent.Parent.Parent; 940return GetOrAddModel((CompilationUnitSyntax)memberDecl.Parent); 962return GetMemberModel(memberDecl.Parent); 977MemberSemanticModel containing = attribute.Parent != null ? GetMemberModel(attribute.Parent) : null; 1007MemberSemanticModel containing = paramDecl.Parent != null ? GetMemberModel(paramDecl.Parent) : null; 1116ExceptionUtilities.UnexpectedValue(node.Parent); 1120switch (node.Parent.Kind()) 1124var variableDecl = (VariableDeclaratorSyntax)node.Parent; 1137var propertyDecl = (PropertyDeclarationSyntax)node.Parent; 1150ParameterSyntax parameterDecl = (ParameterSyntax)node.Parent; 1165var enumDecl = (EnumMemberDeclarationSyntax)node.Parent; 1177throw ExceptionUtilities.UnexpectedValue(node.Parent.Kind()); 1186if (node.Parent is BasePropertyDeclarationSyntax) 1193ExceptionUtilities.UnexpectedValue(node.Parent); 1208var parent = node.Parent; 1263switch (variableDecl.Parent.Parent.Kind()) 1326if (declarationSyntax.Parent.Kind() == SyntaxKind.CompilationUnit) 1332container = GetDeclaredNamespaceOrType(declarationSyntax.Parent); 1604var propertyOrEventDecl = declarationSyntax.Parent.Parent; 1628var containingMemberSyntax = declarationSyntax.Parent; 1858var field = declarationSyntax.Parent == null ? null : declarationSyntax.Parent.Parent as BaseFieldDeclarationSyntax; 1947Binder binder = _binderFactory.GetInNamespaceBinder(declarationSyntax.Parent); 1980var binder = _binderFactory.GetInNamespaceBinder(declarationSyntax.Parent); 2033if (parameter.Parent is not ParameterListSyntax { Parent: ExtensionBlockDeclarationSyntax extensionDecl }) 2064var paramList = parameter.Parent as ParameterListSyntax; 2070var memberDecl = paramList.Parent as MemberDeclarationSyntax; 2101var paramList = parameter.Parent as BracketedParameterListSyntax; 2107var memberDecl = paramList.Parent as MemberDeclarationSyntax; 2128var paramList = parameter.Parent as ParameterListSyntax; 2134var memberDecl = paramList.Parent as DelegateDeclarationSyntax; 2199if (typeParameter.Parent is TypeParameterListSyntax typeParamList) 2202switch (typeParamList.Parent) 2211throw ExceptionUtilities.UnexpectedValue(typeParameter.Parent.Kind()); 2269bool isGlobalStatement = firstStatement.Parent is GlobalStatementSyntax; 2270if (isGlobalStatement && (lastStatement.Parent is not GlobalStatementSyntax || firstStatement.Parent.Parent != lastStatement.Parent.Parent)) 2276if (!isGlobalStatement && (firstStatement.Parent == null || firstStatement.Parent != lastStatement.Parent)) 2354if (memberDeclaration.Parent.Kind() == SyntaxKind.CompilationUnit) 2378var container = GetDeclaredNamespaceOrType(memberDeclaration.Parent); 2551case PrimaryConstructorBaseTypeSyntax { Parent: BaseListSyntax { Parent: TypeDeclarationSyntax typeDeclaration } } baseType 2560case ParameterSyntax param when declaredSymbol.Kind == SymbolKind.Property && param.Parent?.Parent is RecordDeclarationSyntax recordDeclaration && recordDeclaration.ParameterList == param.Parent:
Compiler\MethodCompiler.cs (7)
2189!(expression.Parent is BinaryExpressionSyntax { RawKind: (int)SyntaxKind.IsExpression } isExpression && 2203switch (id.Parent) 2221assignment.Parent?.Kind() is SyntaxKind.ObjectInitializerExpression or SyntaxKind.WithInitializerExpression) 2229!(id.Parent is BinaryExpressionSyntax { RawKind: (int)SyntaxKind.IsExpression } isExpression && 2268var parent = child.Parent; 2273parent = child.Parent; 2281if (id.Parent is InvocationExpressionSyntax invocation && invocation.Expression == id && invocation.MayBeNameofOperator())
Declarations\DeclarationTreeBuilder.cs (6)
253syntaxReference: firstGlobalStatement.SyntaxTree.GetReference(firstGlobalStatement.Parent), 531if (node.Parent is FileScopedNamespaceDeclarationSyntax) 538else if (node.Parent is NamespaceDeclarationSyntax) 559Debug.Assert(node.Parent is CompilationUnitSyntax); 560var compilationUnit = (CompilationUnitSyntax)node.Parent; 573if (node.Parent is FileScopedNamespaceDeclarationSyntax)
DocumentationComments\SourceDocumentationCommentUtils.cs (1)
53curr = curr.Parent;
Lowering\Instrumentation\DebugInfoInjector.cs (2)
414Debug.Assert(parameterSyntax is { Parent.Parent: RecordDeclarationSyntax });
Lowering\Instrumentation\DebugInfoInjector_SequencePoints.cs (12)
89Debug.Assert(declaratorSyntax.Parent != null); 90var declarationSyntax = (VariableDeclarationSyntax)declaratorSyntax.Parent; 91Debug.Assert(declarationSyntax.Parent != null); 95switch (declarationSyntax.Parent.Kind()) 100var modifiers = ((BaseFieldDeclarationSyntax)declarationSyntax.Parent).Modifiers; 107var parent = (LocalDeclarationStatementSyntax)declarationSyntax.Parent; 129throw ExceptionUtilities.UnexpectedValue(declarationSyntax.Parent.Kind()); 144Debug.Assert(declaratorSyntax.Parent != null); 146var declarationSyntax = (VariableDeclarationSyntax)declaratorSyntax.Parent; 148Debug.Assert(declarationSyntax.Parent != null); 158end = declarationSyntax.Parent.Span.End; 168node = declarationSyntax.Parent;
Lowering\LocalRewriter\LocalRewriter.cs (3)
871if (syntax is ExpressionSyntax { Parent: { } parent } && parent.Kind() == SyntaxKind.EqualsValueClause) // Should be the initial value. 873Debug.Assert(parent.Parent is { }); 874switch (parent.Parent.Kind())
Lowering\LocalRewriter\LocalRewriter_BasePatternSwitchLocalRewriter.cs (1)
30SyntaxNode? sectionSyntax = whenClauseSyntax is SwitchLabelSyntax l ? l.Parent : whenClauseSyntax;
Parser\LanguageParser.cs (4)
141return node != null ? node.Parent : null; 2470return (this.CurrentNode.Parent is Syntax.CompilationUnitSyntax); 4746CSharp.CSharpSyntaxNode parent = parameter.Parent; 4754CSharp.CSharpSyntaxNode grandparent = parent.Parent;
SourceGeneration\CSharpSyntaxHelper.cs (3)
37return target is VariableDeclaratorSyntax { Parent: VariableDeclarationSyntax { Parent: BaseFieldDeclarationSyntax baseField } } 56var container = attributeList.Parent;
SymbolDisplay\SymbolDisplayVisitor_Minimal.cs (4)
275fromClause.Parent as QueryBodySyntax ?? ((QueryExpressionSyntax)fromClause.Parent!).Body, 277letClause.Parent as QueryBodySyntax, 279joinClause.Parent as QueryBodySyntax,
Symbols\Source\SourceEventSymbol.cs (4)
165Debug.Assert(syntax.Parent?.Parent is not null); 166return (EventFieldDeclarationSyntax)syntax.Parent.Parent;
Symbols\Source\SourceFieldLikeEventSymbol.cs (2)
35Debug.Assert(declaratorSyntax.Parent is object); 40var declarationSyntax = (VariableDeclarationSyntax)declaratorSyntax.Parent;
Symbols\Source\SourceMemberFieldSymbol.cs (2)
419return (BaseFieldDeclarationSyntax)declarator.Parent.Parent;
Symbols\Source\SourceMemberMethodSymbol.cs (2)
750Debug.Assert(arrowExpression.Parent.Kind() == SyntaxKind.PropertyDeclaration || 751arrowExpression.Parent.Kind() == SyntaxKind.IndexerDeclaration ||
Symbols\Source\SourceMethodSymbolWithAttributes.cs (15)
53Debug.Assert(arrowExpression.Parent!.Kind() == SyntaxKind.PropertyDeclaration || 54arrowExpression.Parent.Kind() == SyntaxKind.IndexerDeclaration); 1084case { Parent: SimpleNameSyntax { Parent: MemberAccessExpressionSyntax { Parent: InvocationExpressionSyntax } memberAccess } rhs } when memberAccess.Name == rhs: 1085case { Parent: SimpleNameSyntax { Parent: MemberBindingExpressionSyntax { Parent: InvocationExpressionSyntax } memberBinding } rhs1 } when memberBinding.Name == rhs1: 1086case { Parent: SimpleNameSyntax { Parent: InvocationExpressionSyntax invocation } simpleName } when invocation.Expression == simpleName: 1089case { Parent: SimpleNameSyntax { Parent: not (MemberAccessExpressionSyntax or MemberBindingExpressionSyntax) } }: 1090case { Parent: SimpleNameSyntax { Parent: MemberAccessExpressionSyntax memberAccess } rhs } when memberAccess.Name == rhs: 1091case { Parent: SimpleNameSyntax { Parent: MemberBindingExpressionSyntax memberBinding } rhs1 } when memberBinding.Name == rhs1: 1284case { Parent: SimpleNameSyntax { Parent: MemberAccessExpressionSyntax { Parent: InvocationExpressionSyntax } memberAccess } rhs } when memberAccess.Name == rhs: 1285case { Parent: SimpleNameSyntax { Parent: InvocationExpressionSyntax invocation } simpleName } when invocation.Expression == simpleName: 1288case { Parent: SimpleNameSyntax { Parent: not MemberAccessExpressionSyntax } }: 1289case { Parent: SimpleNameSyntax { Parent: MemberAccessExpressionSyntax memberAccess } rhs } when memberAccess.Name == rhs:
Symbols\Source\SourceNamedTypeSymbol_Bases.cs (1)
624var name = GetName(bases.Parent);
Symbols\Source\SourceOrdinaryMethodSymbol.cs (1)
236var typeDecl = syntax.Parent as TypeDeclarationSyntax;
Syntax\CSharpSyntaxNode.cs (3)
70var parent = node.Parent; 405curr = curr.Parent; 522var parent = this.Parent;
Syntax\LambdaUtilities.cs (6)
163return arrowExpressionClause.Expression == node && arrowExpressionClause.Parent is LocalFunctionStatementSyntax; 167return fromClause.Expression == node && fromClause.Parent is QueryBodySyntax; 230Debug.Assert(selectOrGroupClause.Parent!.Parent is object); 231var containingQueryOrContinuation = selectOrGroupClause.Parent.Parent;
Syntax\NamespaceDeclarationSyntaxReference.cs (1)
37node = node.Parent;
Syntax\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 } }
Syntax\SyntaxExtensions.cs (9)
133Debug.Assert(attributeSyntax.Parent is object); 134CSharpSyntaxNode parentSyntax = attributeSyntax.Parent; 262return node.Parent != null && IsInContextWhichNeedsDynamicAttribute(node.Parent); 354var parent = expr.Parent; 360if (parent.Parent?.Kind() == SyntaxKind.TupleExpression) 362expr = (TupleExpressionSyntax)parent.Parent; 386return p.Parent?.Kind() == SyntaxKind.Argument 387&& ((ArgumentSyntax)p.Parent).RefOrOutKeyword.Kind() == SyntaxKind.OutKeyword;
Syntax\SyntaxFactory.cs (6)
2077var parent = node.Parent as ExpressionSyntax; 2150CSharpSyntaxNode? parent = node.Parent; 2197CSharpSyntaxNode? grandparent = parent.Parent; 2238if (parent.Parent.IsKind(SyntaxKind.Subpattern)) 2240return parent.Parent; 2263currentNode = currentNode.Parent;
Syntax\SyntaxFacts.cs (6)
57var inv = node.Parent as InvocationExpressionSyntax; 67var indexer = node.Parent as ElementAccessExpressionSyntax; 73var parent = node.Parent as AliasQualifiedNameSyntax; 85var parent = node.Parent; 245var parent = node.Parent; 535return syntax?.Parent?.IsKind(SyntaxKind.CompilationUnit) == true;
Syntax\SyntaxNodeExtensions.cs (9)
116CSharpSyntaxNode? parent = expression?.Parent; 261if (current.Parent is ScopedTypeSyntax scopedType) 266(current.Parent is ParenthesizedLambdaExpressionSyntax lambda && lambda.ReturnType == current) || 267(current.Parent is LocalFunctionStatementSyntax localFunction && localFunction.ReturnType == current) || 268(current.Parent is MethodDeclarationSyntax method && method.ReturnType == current) || 269(current.Parent is BasePropertyDeclarationSyntax property && property.Type == current) || 270(current.Parent is DelegateDeclarationSyntax delegateDeclaration && delegateDeclaration.ReturnType == current) || 271(current.Parent is VariableDeclarationSyntax { Parent: LocalDeclarationStatementSyntax } variableDeclaration && variableDeclaration.Type == current));
Syntax\SyntaxNormalizer.cs (6)
330=> node is AccessorListSyntax { Parent: PropertyDeclarationSyntax { Initializer: not null } }; 514if (propPattern.Parent is RecursivePatternSyntax rps) 574if (posPattern.Parent is RecursivePatternSyntax rps) 1361node is AssignmentExpressionSyntax { Parent: InitializerExpressionSyntax }) 1379if (node is UsingStatementSyntax { Parent: UsingStatementSyntax }) 1382if (node is FixedStatementSyntax { Parent: FixedStatementSyntax })
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (3)
RefactoringHelpers\RefactoringHelpersTests.cs (3)
1102""", n => n.Parent is TupleExpressionSyntax); 1130""", n => n.Parent is TupleExpressionSyntax); 1534""", predicate: n => n.Parent is TupleExpressionSyntax);
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (97)
CodeGen\CodeGenDeconstructTests.cs (61)
1511Assert.Equal("(x, y) = new C(1)", tuple1.Parent.ToString()); 1516Assert.Equal("(x, y) = new C(2)", tuple2.Parent.ToString()); 1564Assert.Equal("(x, y) = new C()", tuple.Parent.ToString()); 3630return (decl.Parent as DeclarationExpressionSyntax)?.Type; 3757var x34Var = (DeclarationExpressionSyntax)x3.Parent.Parent; 3851var x12Var = (DeclarationExpressionSyntax)x1.Parent.Parent; 4036var x12Var = (DeclarationExpressionSyntax)x1.Parent.Parent; 4144var x12Var = (DeclarationExpressionSyntax)x1.Parent.Parent; 4227var x12Var = (DeclarationExpressionSyntax)x1.Parent.Parent; 4338var x12Var = (DeclarationExpressionSyntax)x1.Parent.Parent; 4459var x23Var = (DeclarationExpressionSyntax)x2.Parent.Parent; 4605var x23Var = (DeclarationExpressionSyntax)x2.Parent.Parent; 5192var x23Var = (DeclarationExpressionSyntax)x2.Parent.Parent; 5739var x123Var = (DeclarationExpressionSyntax)x1.Parent.Parent; 5781var x123Var = (DeclarationExpressionSyntax)x1.Parent.Parent; 5911var declaration1 = (DeclarationExpressionSyntax)discard1.Parent; 5919var declaration2 = (DeclarationExpressionSyntax)discard2.Parent; 5925var declaration3 = (DeclarationExpressionSyntax)discard3.Parent.Parent; 6255Assert.Equal("(_, var x)", discard.Parent.Parent.ToString()); 6309var tuple1 = (TupleExpressionSyntax)discard1.Parent.Parent; 6339var tuple1 = (DeclarationExpressionSyntax)discard1.Parent.Parent; 6368Assert.Equal("(_, x)", discard.Parent.Parent.ToString()); 6398var declaration1 = (DeclarationExpressionSyntax)discard1.Parent.Parent; 6404Assert.Equal("(_, (var y, int z))", discard2.Parent.Parent.ToString()); 6444var tuple = (TupleExpressionSyntax)refs.ElementAt(0).Parent.Parent; 6861var declaration1 = (DeclarationExpressionSyntax)discard1.Parent; 6867var declaration2 = (DeclarationExpressionSyntax)discard2.Parent; 6872var tuple = (TupleExpressionSyntax)declaration1.Parent.Parent; 6933var nestedDeclaration = (DeclarationExpressionSyntax)discard2.Parent.Parent; 6940var tuple = (TupleExpressionSyntax)discard2.Parent.Parent.Parent.Parent; 6979var declaration1 = (DeclarationExpressionSyntax)discard1.Parent; 6988var declaration2 = (DeclarationExpressionSyntax)discard2.Parent; 6994Assert.Equal("_", discard3.Parent.ToString()); 7007var nestedDeclaration = (DeclarationExpressionSyntax)discard4.Parent.Parent; 8651Assert.Equal("((short, short))((int, int))(1L, 2L)", node.Parent.ToString()); 8653compilation.VerifyOperationTree(node.Parent, expectedOperationTree:
CodeGen\CodeGenTupleTest.cs (32)
8352Assert.Equal("(System.Int16 c, System.String d)?", model.GetTypeInfo(node.Parent).Type.ToTestDisplayString()); 8353Assert.Equal("(System.Int16 a, System.String b)?", model.GetTypeInfo(node.Parent).ConvertedType.ToTestDisplayString()); 8354Assert.Equal(Conversion.Identity, model.GetConversion(node.Parent)); 8457Assert.Equal("(System.Int16 c, System.String d)", model.GetTypeInfo(node.Parent).Type.ToTestDisplayString()); 8458Assert.Equal("(System.Int16 a, System.String b)?", model.GetTypeInfo(node.Parent).ConvertedType.ToTestDisplayString()); 8459Assert.Equal(ConversionKind.ImplicitNullable, model.GetConversion(node.Parent).Kind); 8484var node = nodes.OfType<ParenthesizedExpressionSyntax>().Single().Parent; 8518var node = nodes.OfType<ParenthesizedExpressionSyntax>().Single().Parent; 8601Assert.Equal("(System.Int32 c, System.String d)?", model.GetTypeInfo(node.Parent).Type.ToTestDisplayString()); 8602Assert.Equal("(System.Int32 a, System.String b)?", model.GetTypeInfo(node.Parent).ConvertedType.ToTestDisplayString()); 8603Assert.Equal(Conversion.Identity, model.GetConversion(node.Parent)); 8636Assert.Equal("(System.Int32 c, System.String d)", model.GetTypeInfo(node.Parent).Type.ToTestDisplayString()); 8637Assert.Equal("(System.Int32 a, System.String b)?", model.GetTypeInfo(node.Parent).ConvertedType.ToTestDisplayString()); 8638Assert.Equal(ConversionKind.ImplicitNullable, model.GetConversion(node.Parent).Kind); 8779Assert.Equal("(System.Int16 c, System.String d)", model.GetTypeInfo(node.Parent).Type.ToTestDisplayString()); 8780Assert.Equal("(System.Int16 a, System.String b)", model.GetTypeInfo(node.Parent).ConvertedType.ToTestDisplayString()); 8781Assert.Equal(Conversion.Identity, model.GetConversion(node.Parent)); 8852Assert.Equal("(System.Int16 c, System.String d)", model.GetTypeInfo(node.Parent).Type.ToTestDisplayString()); 8853Assert.Equal("(System.Int16 a, System.String b)", model.GetTypeInfo(node.Parent).ConvertedType.ToTestDisplayString()); 8854Assert.Equal(Conversion.Identity, model.GetConversion(node.Parent)); 8962Assert.Equal("(System.Int16 c, System.String d)", model.GetTypeInfo(node.Parent).Type.ToTestDisplayString()); 8963Assert.Equal("(System.Int16 a, System.String b)", model.GetTypeInfo(node.Parent).ConvertedType.ToTestDisplayString()); 8964Assert.Equal(Conversion.Identity, model.GetConversion(node.Parent)); 13975var nameofArg = ((InvocationExpressionSyntax)nameofNode.Parent).ArgumentList.Arguments.Single().Expression; 24184Assert.Equal("tuple.elem2 = 23", nodes[0].Parent.Parent.ToString()); 24187Assert.Equal("elem2 = 10", nodes[1].Parent.ToString()); 24190Assert.Equal("(tuple.elem2)", nodes[2].Parent.Parent.Parent.ToString()); 24193Assert.Equal("(elem2)", nodes[3].Parent.Parent.ToString());
CodeGen\ObjectAndCollectionInitializerTests.cs (4)
1110var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 3592var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model);
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (34)
CodeGen\IndexAndRangeTests.cs (34)
129var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 335var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 422var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 509var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 693var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 1618var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 1811var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 2347var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 2681var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 2844var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 3022var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 3136var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 3357var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 3644var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 3734var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 3820var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model); 3893var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.Parent.Parent, model);
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (256)
FieldKeywordTests.cs (2)
10607Assert.Equal("return field;", expr.Parent.ToString()); 10641Assert.Equal("return field;", expr.Parent.ToString());
FlowAnalysis\FlowTestBase.cs (2)
226if (firstStatement != null && stmt.Span.End <= end && stmt.Parent == firstStatement.Parent)
Semantics\InlineArrayTests.cs (42)
2360Assert.Equal("b[c]", c.Parent.Parent.Parent.ToString()); 2395Assert.Equal("b[c]", c.Parent.Parent.Parent.ToString()); 2429Assert.Equal("b[c]", c.Parent.Parent.Parent.ToString()); 2509Assert.Equal("x.F[0]", f.Parent.Parent.ToString()); 2520var access = f.Parent.Parent; 6034Assert.Equal("x.F[^10]", f.Parent.Parent.ToString()); 6200Assert.Equal("x.F[..5]", f.Parent.Parent.ToString()); 6211var access = f.Parent.Parent; 8841var m3 = tree.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(m => m.Identifier.ValueText == "M3").Single().Parent; 8842Assert.Equal("M3()[0]", m3.Parent.ToString()); 8853var access = m3.Parent; 9210Assert.Equal("M3()[..]", m3.Parent.Parent.ToString()); 9212var typeInfo = model.GetTypeInfo(m3.Parent); 9217var symbolInfo = model.GetSymbolInfo(m3.Parent); 10554Assert.Equal("c.F[0]", f.Parent.Parent.ToString()); 10565var access = f.Parent.Parent; 11298Assert.Equal("c.F[..5]", f.Parent.Parent.ToString()); 11309var access = f.Parent.Parent; 15216Assert.Equal("=> x.F", f[^2].Parent.Parent.ToString()); 15223Assert.Equal("=> x.F", f[^1].Parent.Parent.ToString()); 16501var m3 = tree.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(m => m.Identifier.ValueText == "M3").First().Parent; 18599var forEachInfo = model.GetForEachStatementInfo((ForEachStatementSyntax)f.Parent); 18925var forEachInfo = model.GetForEachStatementInfo((ForEachStatementSyntax)f.Parent); 19262var forEachInfo = model.GetForEachStatementInfo((ForEachStatementSyntax)collection.Parent);
Semantics\OutVarTests.cs (39)
916Assert.Null(model.GetDeclaredSymbol((ArgumentSyntax)x2Ref.Parent)); 1090var dataFlowParent = decl.Parent.Parent.Parent as ExpressionSyntax; 1094if (isExecutableCode || !(decl.Parent.Parent.Parent is VariableDeclaratorSyntax)) 1096Assert.IsAssignableFrom<ConstructorInitializerSyntax>(decl.Parent.Parent.Parent); 1183var parent1 = ((VariableDeclarationSyntax)((VariableDeclaratorSyntax)parent).Parent).Parent; 1224switch (reference.Parent.Kind()) 1227if (((ArgumentSyntax)reference.Parent).RefOrOutKeyword.Kind() != SyntaxKind.OutKeyword) 1244if (((AssignmentExpressionSyntax)reference.Parent).Left != reference) 1290((methodDeclParent = containingReturnOrThrow.Parent.Parent as MethodDeclarationSyntax) == null || 1333switch (reference.Parent.Kind()) 1336if (((ArgumentSyntax)reference.Parent).RefOrOutKeyword.Kind() != SyntaxKind.None) 1353if (((AssignmentExpressionSyntax)reference.Parent).Left == reference) 1413Assert.Null(model.GetDeclaredSymbol((ArgumentSyntax)x2Ref.Parent)); 1648Assert.Null(model.GetDeclaredSymbol((ArgumentSyntax)x2Ref.Parent)); 20052Assert.Equal("System.Console.WriteLine(y)", yRef[2].Parent.Parent.Parent.ToString()); 32756var inFieldDeclaratorArgumentlist = declarator != null && declarator.Parent.Parent.Kind() != SyntaxKind.LocalDeclarationStatement && 32787var dataFlowParent = (ExpressionSyntax)decl.Parent.Parent.Parent; 32982var declaration1 = (DeclarationExpressionSyntax)discard1.Parent; 32991var declaration2 = (DeclarationExpressionSyntax)discard2.Parent; 33066var declaration1 = (DeclarationExpressionSyntax)discard1.Parent; 33082var declaration2 = (DeclarationExpressionSyntax)discard2.Parent; 33138var declaration1 = (DeclarationExpressionSyntax)discard1.Parent; 33180var declaration1 = (DeclarationExpressionSyntax)discard1.Parent; 33196var declaration2 = (DeclarationExpressionSyntax)discard2.Parent; 33244var declaration1 = (DeclarationExpressionSyntax)discard1.Parent; 33260var declaration2 = (DeclarationExpressionSyntax)discard2.Parent;
Semantics\ParamsCollectionTests.cs (2)
12555VerifyFlowGraph(comp, node.Parent.Parent, """
Semantics\PatternMatchingTestBase.cs (9)
36return tree.GetRoot().DescendantNodes().OfType<SingleVariableDesignationSyntax>().Where(p => p.Parent.Kind() == SyntaxKind.DeclarationPattern || p.Parent.Kind() == SyntaxKind.VarPattern); 98switch (designation.Parent) 150switch (designation.Parent) 265switch (designation.Parent) 291var inFieldDeclaratorArgumentlist = declarator != null && declarator.Parent.Parent.Kind() != SyntaxKind.LocalDeclarationStatement && 385if (designation.Parent is DeclarationPatternSyntax decl) 406else if (designation.Parent is VarPatternSyntax varp)
Semantics\PatternMatchingTests.cs (4)
4293var declaration1 = (DeclarationPatternSyntax)discard1.Parent; 4301var declaration2 = (VarPatternSyntax)discard2.Parent; 4307var declaration3 = (DeclarationPatternSyntax)discard3.Parent; 4314var declaration4 = (VarPatternSyntax)discard4.Parent;
Semantics\PatternMatchingTests_Global.cs (4)
6323Assert.True(x1Decl.Parent is VarPatternSyntax); 6352Assert.True(x1Decl.Parent is VarPatternSyntax); 6376var x1 = (DeclarationPatternSyntax)x1Decl.Parent; 6399var x1 = (DeclarationPatternSyntax)x1Decl.Parent;
Semantics\PatternMatchingTests_ListPatterns.cs (5)
3688Assert.Equal(syntax, clause.Parent.Parent.ToString()); 3690var typeInfo = model.GetTypeInfo(clause.Parent); // inner {} pattern 3733typeInfo = model.GetTypeInfo(itemDesignation.Parent); 3748typeInfo = model.GetTypeInfo(sliceDesignation.Parent);
Semantics\PatternMatchingTests2.cs (8)
2944checkType((CastExpressionSyntax)expr.Parent.Parent, "C", "C", ConversionKind.Identity); 2951checkType((CastExpressionSyntax)expr.Parent.Parent, "D", "D", ConversionKind.Identity); 2958checkType((CastExpressionSyntax)expr.Parent.Parent, "D", "D", ConversionKind.Identity); 2965checkType((CastExpressionSyntax)expr.Parent.Parent, "D", "D", ConversionKind.Identity);
Semantics\PrimaryConstructorTests.cs (70)
1009Assert.Equal("= X", x.Parent.ToString()); 1074Assert.Equal("Base(X, Y)", x.Parent.Parent.Parent.ToString()); 1129Assert.Null(model.GetOperation(baseWithargs.Parent)); 1130Assert.Same(operation.Parent.Parent, model.GetOperation(baseWithargs.Parent.Parent)); 1131Assert.Equal(SyntaxKind.ClassDeclaration, baseWithargs.Parent.Parent.Kind()); 1230model.VerifyOperationTree(baseWithargs.Parent, 1302Assert.Equal("Test(X, out var y)", x.Parent.Parent.Parent.ToString()); 1313Assert.Equal("y", y.Parent.ToString()); 1314Assert.Equal("(Test(X, out var y), y)", y.Parent.Parent.ToString()); 1315Assert.Equal("Base(Test(X, out var y), y)", y.Parent.Parent.Parent.ToString()); 1326Assert.Equal("(Test(X, out var y), y)", test.Parent.Parent.Parent.ToString()); 1367Assert.Equal("Base(X, Y)", x.Parent.Parent.Parent.ToString()); 1413Assert.Equal("Base(X, Y)", x.Parent.Parent.Parent.ToString()); 1473Assert.Equal("Base(X, Y)", x.Parent.Parent.Parent.ToString()); 1531Assert.Equal("Base(X, Y)", x.Parent.Parent.Parent.ToString()); 1542Assert.Equal("Base(X, Y)", x.Parent.Parent.Parent.ToString()); 1620Assert.Equal("Base(X, Y)", x.Parent.Parent.Parent.ToString()); 1631Assert.Equal("Base(X, Y)", x.Parent.Parent.Parent.ToString()); 1816Assert.Equal("Base(X)", x.Parent.Parent.Parent.ToString()); 1856Assert.Equal("Base(X)", x.Parent.Parent.Parent.ToString()); 1899Assert.Equal("Base(X)", x.Parent.Parent.Parent.ToString()); 1969Assert.Equal("Base(X, Y)", x.Parent.Parent.Parent.ToString()); 2177var otherBasePosition = ((BaseListSyntax)baseWithargs.Parent).Types[1].SpanStart; 2329var otherBasePosition = ((BaseListSyntax)baseWithargs.Parent).Types[1].SpanStart; 2427Assert.Equal("Base(X)", x.Parent.Parent.Parent.ToString()); 2643Assert.Equal("= X + 1", x.Parent.Parent.ToString()); 2681Assert.Equal("= X + 1", x.Parent.Parent.ToString()); 2718Assert.Equal("= X + 1", x.Parent.Parent.ToString()); 2754Assert.Equal("() => X + 1", x.Parent.Parent.ToString()); 3915switch (identifier.Parent.ToString()) 3923Assert.Equal(SyntaxKind.SimpleBaseType, identifier.Parent.Kind());
Semantics\RecordTests.cs (69)
21250Assert.Equal("Base(X, Y)", x.Parent!.Parent!.Parent!.ToString()); 21306Assert.Null(model.GetOperation(baseWithargs.Parent)); 21307Assert.Same(operation.Parent.Parent, model.GetOperation(baseWithargs.Parent.Parent)); 21308Assert.Equal(SyntaxKind.RecordDeclaration, baseWithargs.Parent.Parent.Kind()); 21408model.VerifyOperationTree(baseWithargs.Parent, 21480Assert.Equal("Test(X, out var y)", x.Parent!.Parent!.Parent!.ToString()); 21491Assert.Equal("y", y.Parent!.ToString()); 21492Assert.Equal("(Test(X, out var y), y)", y.Parent!.Parent!.ToString()); 21493Assert.Equal("Base(Test(X, out var y), y)", y.Parent!.Parent!.Parent!.ToString()); 21504Assert.Equal("(Test(X, out var y), y)", test.Parent!.Parent!.Parent!.ToString()); 21545Assert.Equal("Base(X, Y)", x.Parent!.Parent!.Parent!.ToString()); 21591Assert.Equal("Base(X, Y)", x.Parent!.Parent!.Parent!.ToString()); 21651Assert.Equal("Base(X, Y)", x.Parent!.Parent!.Parent!.ToString()); 21709Assert.Equal("Base(X, Y)", x.Parent!.Parent!.Parent!.ToString()); 21720Assert.Equal("Base(X, Y)", x.Parent!.Parent!.Parent!.ToString()); 21798Assert.Equal("Base(X, Y)", x.Parent!.Parent!.Parent!.ToString()); 21809Assert.Equal("Base(X, Y)", x.Parent!.Parent!.Parent!.ToString()); 21994Assert.Equal("Base(X)", x.Parent!.Parent!.Parent!.ToString()); 22031Assert.Equal("Base(X)", x.Parent!.Parent!.Parent!.ToString()); 22071Assert.Equal("Base(X)", x.Parent!.Parent!.Parent!.ToString()); 22106Assert.Equal("Base(X)", x.Parent!.Parent!.Parent!.ToString()); 22185Assert.Equal("Base(X, Y)", x.Parent!.Parent!.Parent!.ToString()); 22393var otherBasePosition = ((BaseListSyntax)baseWithargs.Parent!).Types[1].SpanStart; 22545var otherBasePosition = ((BaseListSyntax)baseWithargs.Parent!).Types[1].SpanStart; 24749Assert.Equal("= X + 1", x.Parent!.Parent!.ToString()); 24784Assert.Equal("= X + 1", x.Parent!.Parent!.ToString()); 24818Assert.Equal("= X + 1", x.Parent!.Parent!.ToString()); 24853Assert.Equal("() => X + 1", x.Parent!.Parent!.ToString()); 26455switch (identifier.Parent!.ToString()) 26463Assert.Equal(SyntaxKind.SimpleBaseType, identifier.Parent.Kind());
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (282)
Semantics\BindingTests.cs (12)
2726.First(x => x.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression) && x.Identifier.ValueText.Equals("M0")); 2728Assert.Equal("A.B<string>.M0", identifierNameM0.Parent.ToString()); 2738.First(x => x.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression) && x.Identifier.ValueText.Equals("M1")); 2740Assert.Equal("A.B<string>.M1", identifierNameM1.Parent.ToString()); 2786Assert.Equal("(MyDelegate<int>)MyMethod", identifiers[0].Parent.ToString()); 2789Assert.Equal("(MyDelegate<long>)MyMethod", identifiers[1].Parent.ToString()); 2792Assert.Equal("(MyDelegate<float>)MyMethod", identifiers[2].Parent.ToString()); 2795Assert.Equal("(MyDelegate<double>)MyMethod", identifiers[3].Parent.ToString()); 2837.First(x => x.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression) && x.Identifier.ValueText.Equals("M0")); 2839Assert.Equal("b.M0", identifierNameM0.Parent.ToString()); 2849.First(x => x.Parent.IsKind(SyntaxKind.SimpleMemberAccessExpression) && x.Identifier.ValueText.Equals("M1")); 2851Assert.Equal("b.M1", identifierNameM1.Parent.ToString());
Semantics\ColorColorTests.cs (17)
597var parentExpr = (ExpressionSyntax)expr.Parent; 644var parentExpr = (ExpressionSyntax)expr.Parent; 1073var parentExpr = (ExpressionSyntax)expr.Parent; 1119var parentExpr = (ExpressionSyntax)expr.Parent; 1165var parentExpr = (ExpressionSyntax)expr.Parent; 1210var parentExpr = (ExpressionSyntax)expr.Parent; 1254var parentExpr = (ExpressionSyntax)expr.Parent; 1288var parentExpr = (ExpressionSyntax)expr.Parent; 1851var parentExpr = (ExpressionSyntax)expr.Parent; 1892var node2 = tree.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(n => n.Identifier.Text == "E" && (n.Parent is EqualsValueClauseSyntax)).Single(); 1894Assert.Equal("= E", node2.Parent.ToString()); 1949var node2 = tree.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(n => n.Identifier.Text == "E" && (n.Parent is EqualsValueClauseSyntax)).Single(); 1951Assert.Equal("= E", node2.Parent.ToString()); 2006var node2 = tree.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(n => n.Identifier.Text == "E" && (n.Parent is EqualsValueClauseSyntax)).Single(); 2008Assert.Equal("= E", node2.Parent.ToString()); 2055var node2 = tree.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(n => n.Identifier.Text == "E" && (n.Parent is EqualsValueClauseSyntax)).Single(); 2057Assert.Equal("= E", node2.Parent.ToString());
Semantics\ConditionalOperatorTests.cs (5)
1347var access = (ConditionalAccessExpressionSyntax)memberBinding.Parent!; 1401var invocation = (InvocationExpressionSyntax)memberBinding.Parent!; 1402var access = (ConditionalAccessExpressionSyntax)invocation.Parent!; 1448var assignment = (AssignmentExpressionSyntax)memberBinding.Parent!; 1449var access = (ConditionalAccessExpressionSyntax)assignment.Parent!;
Semantics\DeconstructionTests.cs (5)
5997var argument = (ArgumentSyntax)mainCall.Parent; 6040var argument = (ArgumentSyntax)mainCall.Parent; 6080var argument = (ArgumentSyntax)mainCall.Parent; 6122var argument = (ArgumentSyntax)two.Parent; 6162var argument = (ArgumentSyntax)mainCall.Parent;
Semantics\DynamicTests.cs (68)
6690var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 6799var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 6909var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 7006var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 7078var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 7181var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 7294var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 7410var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 7523var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 7600var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 7705var assignment = (PostfixUnaryExpressionSyntax)elementAccess.Parent; 7811var assignment = (PostfixUnaryExpressionSyntax)elementAccess.Parent; 7915var assignment = (PostfixUnaryExpressionSyntax)elementAccess.Parent; 7986var assignment = (PrefixUnaryExpressionSyntax)elementAccess.Parent; 8092var assignment = (PrefixUnaryExpressionSyntax)elementAccess.Parent; 8197var assignment = (PrefixUnaryExpressionSyntax)elementAccess.Parent; 8302var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 8411var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 8520var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 8630var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 8739var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 8808var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 8880var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 8936var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 9026var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 9117var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 9207var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 9263var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 9324var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 9445var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 9565var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 9679var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 9790var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 9901var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 10032var left = (TupleExpressionSyntax)elementAccess.Parent.Parent; 10037var assignment = (AssignmentExpressionSyntax)left.Parent; 10160var left = (TupleExpressionSyntax)elementAccess.Parent.Parent; 10165var assignment = (AssignmentExpressionSyntax)left.Parent; 10288var left = (TupleExpressionSyntax)elementAccess.Parent.Parent; 10293var assignment = (AssignmentExpressionSyntax)left.Parent; 10442var left = (TupleExpressionSyntax)elementAccess.Parent.Parent; 10447var assignment = (AssignmentExpressionSyntax)left.Parent; 10576var left = (TupleExpressionSyntax)elementAccess.Parent.Parent; 10581var assignment = (AssignmentExpressionSyntax)left.Parent; 10724var left = (TupleExpressionSyntax)elementAccess.Parent.Parent; 10729var assignment = (AssignmentExpressionSyntax)left.Parent; 10994var left = (TupleExpressionSyntax)elementAccess.Parent.Parent; 10999var assignment = (AssignmentExpressionSyntax)left.Parent; 11112var left = (TupleExpressionSyntax)elementAccess.Parent.Parent; 11117left = (TupleExpressionSyntax)left.Parent.Parent; 11122var assignment = (AssignmentExpressionSyntax)left.Parent; 11196var left = (TupleExpressionSyntax)elementAccess.Parent.Parent; 11201left = (TupleExpressionSyntax)left.Parent.Parent; 11206var assignment = (AssignmentExpressionSyntax)left.Parent; 11274var left = (TupleExpressionSyntax)elementAccess.Parent.Parent; 11279var assignment = (AssignmentExpressionSyntax)left.Parent;
Semantics\FunctionPointerTests.cs (4)
3221FunctionPointerUtilities.VerifyFunctionPointerSemanticInfo(model, invocations[2].Parent!.Parent!, 3227VerifyOperationTreeForNode(comp, model, invocations[2].Parent!.Parent!, expectedOperationTree: @"
Semantics\ImplicitObjectCreationTests.cs (8)
3218Assert.Equal("(o, new())", first.Parent.Parent.ToString()); 3222Assert.Equal("(new(), o)", second.Parent.Parent.ToString()); 3226Assert.Equal("(c, new())", third.Parent.Parent.ToString()); 3230Assert.Equal("(new(), c)", fourth.Parent.Parent.ToString());
Semantics\LambdaTests.cs (4)
1514Assert.Equal("a.", node.Parent.ToString().Trim()); 1549Assert.Equal("a.", node.Parent.ToString().Trim()); 1583Assert.Equal("a.", node.Parent.ToString().Trim()); 1615Assert.Equal("a.", node.Parent.ToString().Trim());
Semantics\MethodTypeInferenceTests.cs (1)
844var declaration = (DeclarationExpressionSyntax)discard.Parent;
Semantics\NonTrailingNamedArgumentsTests.cs (2)
52Assert.Equal("a: 1", firstNamedArgA.Parent.ToString()); 64Assert.Equal("a: 4", secondNamedArgA.Parent.ToString());
Semantics\NullableReferenceTypesTests.cs (1)
65943Assert.Equal("object?", object2.Parent.ToString());
Semantics\ObjectAndCollectionInitializerTests.cs (2)
4238var assignment = (AssignmentExpressionSyntax)elementAccess.Parent; 4292var assignment = (AssignmentExpressionSyntax)propertyAccess.Parent;
Semantics\QueryTests.cs (1)
2246var e2 = e.Parent as ExpressionSyntax; // w+1
Semantics\RecordStructTests.cs (8)
2667Assert.Equal("= X + 1", x.Parent!.Parent!.ToString()); 2702Assert.Equal("= X + 1", x.Parent!.Parent!.ToString()); 2736Assert.Equal("= X + 1", x.Parent!.Parent!.ToString()); 2771Assert.Equal("() => X + 1", x.Parent!.Parent!.ToString());
Semantics\RefEscapingTests.cs (8)
6367Assert.Equal(@"(global, s) = (local, """")", tuple2.Parent.ToString()); 6373Assert.Equal(@"(global, s) = (local, null)", tuple3.Parent.ToString()); 6379Assert.Equal(@"(c, s) = (local, """")", tuple6.Parent.ToString()); 6385Assert.Equal("(c, s) = (local, null)", tuple7.Parent.ToString()); 6467Assert.Equal(@"(global, s) = (local, """")", tuple2.Parent.ToString()); 6473Assert.Equal(@"(global, s) = (local, null)", tuple3.Parent.ToString()); 6479Assert.Equal(@"(c, s) = (local, """")", tuple6.Parent.ToString()); 6485Assert.Equal("(c, s) = (local, null)", tuple7.Parent.ToString());
Semantics\RefFieldTests.cs (26)
12140var type = ((VariableDeclarationSyntax)decl.Parent).Type; 12208var type = ((VariableDeclarationSyntax)decl.Parent).Type; 12274var type = ((VariableDeclarationSyntax)decl.Parent).Type; 12463var type = ((DeclarationExpressionSyntax)decl.Parent).Type; 12495var type = ((DeclarationExpressionSyntax)decl.Parent).Type; 12647var type = ((DeclarationExpressionSyntax)decl.Parent).Type; 12675var type = ((DeclarationExpressionSyntax)decl.Parent).Type; 12874var type = ((DeclarationExpressionSyntax)decl.Parent).Type; 12908var type = ((DeclarationExpressionSyntax)decl.Parent).Type; 13054var type = ((DeclarationExpressionSyntax)decl.Parent).Type; 13082var type = ((DeclarationExpressionSyntax)decl.Parent).Type; 13520var type = ((VariableDeclarationSyntax)decl.Parent).Type; 13584var type = ((VariableDeclarationSyntax)decl.Parent).Type; 13661var type = ((DeclarationExpressionSyntax)decl.Parent).Type; 13731var type = ((DeclarationExpressionSyntax)decl.Parent).Type; 14428var type = ((VariableDeclarationSyntax)decls[0].Parent).Type; 14470var type = ((VariableDeclarationSyntax)decls[0].Parent).Type; 14922var type = ((DeclarationExpressionSyntax)decl.Parent).Type; 14950var type = ((DeclarationExpressionSyntax)decl.Parent).Type; 27673var type = ((VariableDeclarationSyntax)decl.Parent).Type; 27763var type = ((VariableDeclarationSyntax)decl.Parent).Type; 28034var type = ((VariableDeclarationSyntax)decl.Parent).Type; 28094var type = ((VariableDeclarationSyntax)decl.Parent).Type; 28316var type = ((VariableDeclarationSyntax)decls[0].Parent).Type; 28364var type = ((VariableDeclarationSyntax)decls[0].Parent).Type; 29449var symbol = model.GetDeclaredSymbol(fieldInitializerSyntax.Parent);
Semantics\TargetTypedDefaultTests.cs (9)
1632Assert.Equal("s += default", defaultLiteral.Parent.ToString()); 2415Assert.Equal("(o, default)", first.Parent.Parent.ToString()); 2420Assert.Equal("(default, o)", second.Parent.Parent.ToString()); 2425Assert.Equal("(s, default)", third.Parent.Parent.ToString()); 2430Assert.Equal("(default, s)", fourth.Parent.Parent.ToString());
Semantics\TopLevelStatementsTests.cs (99)
201var operation1 = model1.GetOperation(localRef.Parent); 329var operation1 = model1.GetOperation(localRef.Parent); 1710Assert.Equal("System.Console.WriteLine(Test)", nameRef.Parent.Parent.Parent.ToString()); 1718Assert.Equal("using alias1 = Test;", nameRef.Parent.ToString()); 1734Assert.Equal(": Test", nameRef.Parent.Parent.ToString()); 1740Assert.Equal("System.Console.WriteLine(Test)", nameRef.Parent.Parent.Parent.ToString()); 1745Assert.Equal("using alias2 = Test;", nameRef.Parent.ToString()); 1750Assert.Equal(": Test", nameRef.Parent.Parent.ToString()); 1756Assert.Equal("System.Console.WriteLine(Test)", nameRef.Parent.Parent.Parent.ToString()); 1886Assert.Equal("using alias1 = Test;", nameRef.Parent.ToString()); 1902Assert.Equal(": Test", nameRef.Parent.Parent.ToString()); 1908Assert.Equal("System.Console.WriteLine(Test)", nameRef.Parent.Parent.Parent.ToString()); 1913Assert.Equal("using alias2 = Test;", nameRef.Parent.ToString()); 1918Assert.Equal(": Test", nameRef.Parent.Parent.ToString()); 1924Assert.Equal("System.Console.WriteLine(Test)", nameRef.Parent.Parent.Parent.ToString()); 2104Assert.Equal("using alias1 = Test;", nameRef.Parent.ToString()); 2117Assert.Equal(": Test", nameRef.Parent.Parent.ToString()); 2122Assert.Equal("System.Console.WriteLine(Test())", nameRef.Parent.Parent.Parent.Parent.ToString()); 2127Assert.Equal("using alias2 = Test;", nameRef.Parent.ToString()); 2132Assert.Equal(": Test", nameRef.Parent.Parent.ToString()); 2137Assert.Equal("System.Console.WriteLine(Test())", nameRef.Parent.Parent.Parent.Parent.ToString()); 2270Assert.Equal("using alias1 = Test;", nameRef.Parent.ToString()); 2283Assert.Equal(": Test", nameRef.Parent.Parent.ToString()); 2288Assert.Equal("System.Console.WriteLine(Test())", nameRef.Parent.Parent.Parent.Parent.ToString()); 2293Assert.Equal("using alias2 = Test;", nameRef.Parent.ToString()); 2298Assert.Equal(": Test", nameRef.Parent.Parent.ToString()); 2303Assert.Equal("System.Console.WriteLine(Test())", nameRef.Parent.Parent.Parent.Parent.ToString()); 2450Assert.Equal("using alias1 = Test;", nameRef.Parent.ToString()); 2465Assert.Equal("goto Test;", nameRef.Parent.ToString()); 2480Assert.Equal(": Test", nameRef.Parent.Parent.ToString()); 2485Assert.Equal("goto Test;", nameRef.Parent.ToString()); 2490Assert.Equal("using alias2 = Test;", nameRef.Parent.ToString()); 2495Assert.Equal(": Test", nameRef.Parent.Parent.ToString()); 2501Assert.Equal("goto Test;", nameRef.Parent.ToString()); 2920var nameRef = tree1.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(id => id.Identifier.ValueText == "alias1" && !id.Parent.IsKind(SyntaxKind.NameEquals)).Single(); 2942nameRef = tree2.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(id => id.Identifier.ValueText == "alias2" && !id.Parent.IsKind(SyntaxKind.NameEquals)).Single(); 3945Assert.Equal("using alias1 = args;", nameRef.Parent.ToString()); 3957Assert.Equal("System.Console.WriteLine(args)", nameRef.Parent.Parent.Parent.ToString()); 3976Assert.Equal(": args", nameRef.Parent.Parent.ToString()); 3981Assert.Equal("System.Console.WriteLine(args)", nameRef.Parent.Parent.Parent.ToString()); 3986Assert.Equal("using alias2 = args;", nameRef.Parent.ToString()); 3991Assert.Equal(": args", nameRef.Parent.Parent.ToString()); 3996Assert.Equal("System.Console.WriteLine(args)", nameRef.Parent.Parent.Parent.ToString()); 4094Assert.Equal("using alias1 = args;", nameRef.Parent.ToString()); 4106Assert.Equal(": args", nameRef.Parent.Parent.ToString()); 4111Assert.Equal("System.Console.WriteLine(args)", nameRef.Parent.Parent.Parent.ToString()); 4116Assert.Equal("using alias2 = args;", nameRef.Parent.ToString()); 4121Assert.Equal(": args", nameRef.Parent.Parent.ToString()); 4126Assert.Equal("System.Console.WriteLine(args)", nameRef.Parent.Parent.Parent.ToString()); 6511Assert.True(syntaxTreeModel.TestOnlyMemberModels.ContainsKey(globalStatement.Parent)); 6513MemberSemanticModel mm = syntaxTreeModel.TestOnlyMemberModels[globalStatement.Parent]; 9762model.TryGetSpeculativeSemanticModel(root.DescendantNodes().Single(n => n is ExpressionStatementSyntax { Parent: GlobalStatementSyntax }).Span.End, nodeToSpeculate, out var speculativeModelInTopLevel); 9767model.TryGetSpeculativeSemanticModel(root.DescendantNodes().Single(n => n is ExpressionStatementSyntax { Parent: BlockSyntax }).Span.End, nodeToSpeculate, out var speculativeModelOutsideTopLevel);
Semantics\UnsafeTests.cs (2)
7850var callSyntax = syntax.Parent; 7917var callSyntax = syntax.Parent;
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (35)
Compilation\GetSemanticInfoTests.cs (4)
3640var cast = (CastExpressionSyntax)literal.Parent; 3673var cast = (CastExpressionSyntax)literal.Parent; 3709var cast1 = (CastExpressionSyntax)literal.Parent; 3721var cast2 = (CastExpressionSyntax)cast1.Parent;
Compilation\SemanticModelAPITests.cs (2)
3782var expr = identifier.FirstAncestorOrSelf<ArgumentSyntax>().Parent.Parent;
DocumentationComments\CrefTests.cs (1)
5799if (typeSyntax.Parent.Kind() == SyntaxKind.NameMemberCref)
Symbols\CheckedUserDefinedOperatorsTests.cs (13)
7238Assert.Equal("System.Int64 C0.op_CheckedExplicit(C0 x)", model.GetSymbolInfo(xNode.Parent).Symbol.ToTestDisplayString()); 7239Assert.Equal("System.Int64 C0.op_CheckedExplicit(C0 x)", model.GetSymbolInfo(yNode.Parent).Symbol.ToTestDisplayString()); 7241var int64 = ((IMethodSymbol)model.GetSymbolInfo(xNode.Parent).Symbol).ReturnType; 7310Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.GetSymbolInfo(xNode.Parent).Symbol.ToTestDisplayString()); 7311Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.GetSymbolInfo(yNode.Parent).Symbol.ToTestDisplayString()); 7313var int64 = ((IMethodSymbol)model.GetSymbolInfo(xNode.Parent).Symbol).ReturnType; 7381Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.GetSymbolInfo(xNode.Parent).Symbol.ToTestDisplayString()); 7382Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.GetSymbolInfo(yNode.Parent).Symbol.ToTestDisplayString()); 7384var int64 = ((IMethodSymbol)model.GetSymbolInfo(xNode.Parent).Symbol).ReturnType; 7454Assert.Equal("C0 C0.op_CheckedUnaryNegation(C0 a)", model.GetSymbolInfo(xNode.Parent).Symbol.ToTestDisplayString()); 7455Assert.Equal("C0 C0.op_CheckedUnaryNegation(C0 a)", model.GetSymbolInfo(yNode.Parent).Symbol.ToTestDisplayString()); 7518Assert.Equal("C0 C0.op_UnaryNegation(C0 a)", model.GetSymbolInfo(xNode.Parent).Symbol.ToTestDisplayString()); 7519Assert.Equal("C0 C0.op_UnaryNegation(C0 a)", model.GetSymbolInfo(yNode.Parent).Symbol.ToTestDisplayString());
Symbols\ExtensionMethodTests.cs (5)
3012var call = (ExpressionSyntax)memberAccess.Parent; 3867Assert.Equal("Instance.SetMember", instance.Parent.ToString()); 3914Assert.Equal("Instance.SetMember", instance.Parent.ToString()); 3959Assert.Equal("Instance.SetMember", instance.Parent.ToString()); 4009Assert.Equal("Instance.SetMember", instance.Parent.ToString());
Symbols\FunctionPointerTypeSymbolTests.cs (4)
1168Assert.NotNull(functionPointerTypeSyntax.Parent); 1169VerifyOperationTreeForNode(comp, model, functionPointerTypeSyntax.Parent, expectedOperationTree: @" 1275Assert.NotNull(functionPointerTypeSyntax.Parent); 1276VerifyOperationTreeForNode(comp, model, functionPointerTypeSyntax.Parent, expectedOperationTree: @"
Symbols\PartialPropertiesTests.cs (1)
5173Assert.Equal(SyntaxKind.TupleElement, node.Parent!.Kind());
Symbols\Source\NullablePublicAPITests.cs (3)
1952var typeInfo = model.GetTypeInfoAndVerifyIOperation(((VariableDeclarationSyntax)variable.Parent).Type); 2293var typeInfo = model.GetTypeInfoAndVerifyIOperation(((DeclarationExpressionSyntax)variable.Parent).Type); 2563var type = ((DeclarationExpressionSyntax)variable.Parent).Type;
Symbols\Source\UsingAliasTests.cs (2)
699Assert.Equal("Short.MyClass", node.Parent.ToString()); 742Assert.Equal("Short.MyClass", node.Parent.ToString());
Microsoft.CodeAnalysis.CSharp.Test.Utilities (2)
CompilationTestUtils.cs (2)
550case IdentifierNameSyntax id when id.Parent is MemberAccessExpressionSyntax memberAccess && memberAccess.Name == node: 553case ExpressionSyntax expr when expr.Parent is ConditionalAccessExpressionSyntax cond && cond.WhenNotNull == node:
Microsoft.CodeAnalysis.Test.Utilities (20)
Compilation\ControlFlowGraphVerifier.cs (20)
611if (syntax.Parent is CSharp.Syntax.SwitchStatementSyntax switchStmt && switchStmt.Expression == syntax) 616if (syntax.Parent is CSharp.Syntax.SwitchExpressionSyntax switchExpr && switchExpr.GoverningExpression == syntax) 654if (syntax.Parent is CSharp.Syntax.CommonForEachStatementSyntax forEach && forEach.Expression == syntax) 836if (syntax.Parent is CSharp.Syntax.ConditionalAccessExpressionSyntax access && 868return referenceSyntax.Parent is AssignmentExpressionSyntax conditionalAccess && 881return referenceSyntax.Parent is CSharp.Syntax.AssignmentExpressionSyntax 884Parent: InitializerExpressionSyntax { Parent: CSharp.Syntax.ObjectCreationExpressionSyntax }, 1049if (syntax.Parent is CSharp.Syntax.ConditionalAccessExpressionSyntax access && 1116if (syntax.Parent is CSharp.Syntax.WithExpressionSyntax withExpr 1125if (syntax.Parent?.Parent is CSharp.Syntax.UsingStatementSyntax usingStmt && 1126usingStmt.Declaration == syntax.Parent) 1131CSharpSyntaxNode parent = syntax.Parent; 1144if ((parent = parent.Parent)?.Kind() == CSharp.SyntaxKind.BracketedArgumentList && 1145(parent = parent.Parent)?.Kind() == CSharp.SyntaxKind.ImplicitElementAccess && 1146parent.Parent is AssignmentExpressionSyntax assignment && assignment.Kind() == CSharp.SyntaxKind.SimpleAssignmentExpression && 1148assignment.Parent?.Kind() == CSharp.SyntaxKind.ObjectInitializerExpression && 1284while (syntax.Parent is CSharp.Syntax.ParenthesizedExpressionSyntax or 1287syntax = syntax.Parent;
Microsoft.CodeAnalysis.UnitTests (2)
CommonSyntaxTests.cs (2)
223Assert.Equal(CSharp.SyntaxKind.ParenthesizedExpression, CSharp.CSharpExtensions.Kind(trackedB.Parent)); 246Assert.Equal(CSharp.SyntaxKind.ParenthesizedExpression, CSharp.CSharpExtensions.Kind(trackedB.Parent));