801 references to Parent
Microsoft.CodeAnalysis.CSharp (70)
Binder\Binder_QueryErrors.cs (2)
136
for (CSharpSyntaxNode parent = node.Parent; parent != null; parent = parent.
Parent
)
152
for (CSharpSyntaxNode parent = node.Parent; parent != null; parent = parent.
Parent
)
Binder\Binder_Statements.cs (2)
830
if (declarationNode.
Parent
.Kind() == SyntaxKind.LocalDeclarationStatement &&
1915
hasUnsafeModifier: node.
Parent
?.Kind() == SyntaxKind.UnsafeStatement,
Binder\BinderFactory.BinderFactoryVisitor.cs (7)
267
return VisitCore(parent.
Parent
);
277
resultBinder = VisitCore(parent.
Parent
);
281
var propertyOrEventDecl = parent.
Parent
.
Parent
;
441
if (node.
Parent
.Kind() == SyntaxKind.CompilationUnit && syntaxTree.Options.Kind != SourceCodeKind.Regular)
1454
curr = curr.
Parent
;
1466
for (; !SyntaxFacts.IsDocumentationCommentTrivia(curr.Kind()); curr = curr.
Parent
)
Binder\ExpressionVariableFinder.cs (2)
55
Debug.Assert(node.
Parent
is ConstructorInitializerSyntax || node.
Parent
is PrimaryConstructorBaseTypeSyntax);
Compilation\AttributeSemanticModel.cs (2)
70
var parent = node.
Parent
;
73
parent = parent.
Parent
;
Compilation\CSharpSemanticModel.cs (4)
94
if (!isSpeculative && node.
Parent
!= null && node.
Parent
.Kind() == SyntaxKind.NameEquals && node.
Parent
.
Parent
.Kind() == SyntaxKind.UsingDirective)
Compilation\InitializerSemanticModel.cs (1)
196
this.Root == node.
Parent
/*field initializer*/;
Compilation\MemberSemanticModel.cs (9)
1555
if (current.
Parent
== null || current.
Parent
.Kind() != SyntaxKind.LocalFunctionStatement)
2181
return node.
Parent
;
2213
var parent = node.
Parent
;
2238
var grandparent = parent.
Parent
;
2283
CSharpSyntaxNode? parent = node.
Parent
;
2304
var pp = parent.
Parent
;
2323
case { RawKind: (int)SyntaxKind.SimpleMemberAccessExpression,
Parent
.RawKind: (int)SyntaxKind.InvocationExpression }:
2324
bindableParent = bindableParent.
Parent
;
Compilation\SyntaxTreeSemanticModel.cs (18)
247
else if (node.
Parent
.Kind() == SyntaxKind.XmlNameAttribute && (attrSyntax = (XmlNameAttributeSyntax)node.
Parent
).Identifier == node)
942
return GetOrAddModel((CompilationUnitSyntax)memberDecl.
Parent
);
964
return GetMemberModel(memberDecl.
Parent
);
1119
ExceptionUtilities.UnexpectedValue(node.
Parent
);
1123
switch (node.
Parent
.Kind())
1127
var variableDecl = (VariableDeclaratorSyntax)node.
Parent
;
1140
var propertyDecl = (PropertyDeclarationSyntax)node.
Parent
;
1153
ParameterSyntax parameterDecl = (ParameterSyntax)node.
Parent
;
1168
var enumDecl = (EnumMemberDeclarationSyntax)node.
Parent
;
1180
throw ExceptionUtilities.UnexpectedValue(node.
Parent
.Kind());
1189
if (node.
Parent
is BasePropertyDeclarationSyntax)
1196
ExceptionUtilities.UnexpectedValue(node.
Parent
);
1211
var parent = node.
Parent
;
1607
var propertyOrEventDecl = declarationSyntax.
Parent
.
Parent
;
2357
if (memberDeclaration.
Parent
.Kind() == SyntaxKind.CompilationUnit)
2381
var container = GetDeclaredNamespaceOrType(memberDeclaration.
Parent
);
Compiler\MethodCompiler.cs (2)
2244
var parent = child.
Parent
;
2249
parent = child.
Parent
;
DocumentationComments\SourceDocumentationCommentUtils.cs (1)
53
curr = curr.
Parent
;
Parser\LanguageParser.cs (3)
141
return node != null ? node.
Parent
: null;
2470
return (this.CurrentNode.
Parent
is Syntax.CompilationUnitSyntax);
4752
CSharp.CSharpSyntaxNode grandparent = parent.
Parent
;
Symbols\Source\SourceEventSymbol.cs (4)
165
Debug.Assert(syntax.
Parent
?.
Parent
is not null);
166
return (EventFieldDeclarationSyntax)syntax.
Parent
.
Parent
;
Symbols\Source\SourceMemberFieldSymbol.cs (2)
419
return (BaseFieldDeclarationSyntax)declarator.
Parent
.
Parent
;
Syntax\CSharpSyntaxNode.cs (3)
70
var parent = node.
Parent
;
405
curr = curr.
Parent
;
522
var parent = this.
Parent
;
Syntax\NamespaceDeclarationSyntaxReference.cs (1)
37
node = node.
Parent
;
Syntax\SyntaxExtensions.cs (2)
262
return node.
Parent
!= null && IsInContextWhichNeedsDynamicAttribute(node.
Parent
);
Syntax\SyntaxFactory.cs (5)
2152
CSharpSyntaxNode? parent = node.
Parent
;
2199
CSharpSyntaxNode? grandparent = parent.
Parent
;
2240
if (parent.
Parent
.IsKind(SyntaxKind.Subpattern))
2242
return parent.
Parent
;
2265
currentNode = currentNode.
Parent
;
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)
1511
Assert.Equal("(x, y) = new C(1)", tuple1.
Parent
.ToString());
1516
Assert.Equal("(x, y) = new C(2)", tuple2.
Parent
.ToString());
1564
Assert.Equal("(x, y) = new C()", tuple.
Parent
.ToString());
3630
return (decl.
Parent
as DeclarationExpressionSyntax)?.Type;
3757
var x34Var = (DeclarationExpressionSyntax)x3.
Parent
.
Parent
;
3851
var x12Var = (DeclarationExpressionSyntax)x1.
Parent
.
Parent
;
4036
var x12Var = (DeclarationExpressionSyntax)x1.
Parent
.
Parent
;
4144
var x12Var = (DeclarationExpressionSyntax)x1.
Parent
.
Parent
;
4227
var x12Var = (DeclarationExpressionSyntax)x1.
Parent
.
Parent
;
4338
var x12Var = (DeclarationExpressionSyntax)x1.
Parent
.
Parent
;
4459
var x23Var = (DeclarationExpressionSyntax)x2.
Parent
.
Parent
;
4605
var x23Var = (DeclarationExpressionSyntax)x2.
Parent
.
Parent
;
5192
var x23Var = (DeclarationExpressionSyntax)x2.
Parent
.
Parent
;
5739
var x123Var = (DeclarationExpressionSyntax)x1.
Parent
.
Parent
;
5781
var x123Var = (DeclarationExpressionSyntax)x1.
Parent
.
Parent
;
5911
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
;
5919
var declaration2 = (DeclarationExpressionSyntax)discard2.
Parent
;
5925
var declaration3 = (DeclarationExpressionSyntax)discard3.
Parent
.
Parent
;
6255
Assert.Equal("(_, var x)", discard.
Parent
.
Parent
.ToString());
6309
var tuple1 = (TupleExpressionSyntax)discard1.
Parent
.
Parent
;
6339
var tuple1 = (DeclarationExpressionSyntax)discard1.
Parent
.
Parent
;
6368
Assert.Equal("(_, x)", discard.
Parent
.
Parent
.ToString());
6398
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
.
Parent
;
6404
Assert.Equal("(_, (var y, int z))", discard2.
Parent
.
Parent
.ToString());
6444
var tuple = (TupleExpressionSyntax)refs.ElementAt(0).
Parent
.
Parent
;
6861
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
;
6867
var declaration2 = (DeclarationExpressionSyntax)discard2.
Parent
;
6872
var tuple = (TupleExpressionSyntax)declaration1.
Parent
.
Parent
;
6933
var nestedDeclaration = (DeclarationExpressionSyntax)discard2.
Parent
.
Parent
;
6940
var tuple = (TupleExpressionSyntax)discard2.
Parent
.
Parent
.
Parent
.
Parent
;
6979
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
;
6988
var declaration2 = (DeclarationExpressionSyntax)discard2.
Parent
;
6994
Assert.Equal("_", discard3.
Parent
.ToString());
7007
var nestedDeclaration = (DeclarationExpressionSyntax)discard4.
Parent
.
Parent
;
8651
Assert.Equal("((short, short))((int, int))(1L, 2L)", node.
Parent
.ToString());
8653
compilation.VerifyOperationTree(node.
Parent
, expectedOperationTree:
CodeGen\CodeGenTupleTest.cs (32)
8352
Assert.Equal("(System.Int16 c, System.String d)?", model.GetTypeInfo(node.
Parent
).Type.ToTestDisplayString());
8353
Assert.Equal("(System.Int16 a, System.String b)?", model.GetTypeInfo(node.
Parent
).ConvertedType.ToTestDisplayString());
8354
Assert.Equal(Conversion.Identity, model.GetConversion(node.
Parent
));
8457
Assert.Equal("(System.Int16 c, System.String d)", model.GetTypeInfo(node.
Parent
).Type.ToTestDisplayString());
8458
Assert.Equal("(System.Int16 a, System.String b)?", model.GetTypeInfo(node.
Parent
).ConvertedType.ToTestDisplayString());
8459
Assert.Equal(ConversionKind.ImplicitNullable, model.GetConversion(node.
Parent
).Kind);
8484
var node = nodes.OfType<ParenthesizedExpressionSyntax>().Single().
Parent
;
8518
var node = nodes.OfType<ParenthesizedExpressionSyntax>().Single().
Parent
;
8601
Assert.Equal("(System.Int32 c, System.String d)?", model.GetTypeInfo(node.
Parent
).Type.ToTestDisplayString());
8602
Assert.Equal("(System.Int32 a, System.String b)?", model.GetTypeInfo(node.
Parent
).ConvertedType.ToTestDisplayString());
8603
Assert.Equal(Conversion.Identity, model.GetConversion(node.
Parent
));
8636
Assert.Equal("(System.Int32 c, System.String d)", model.GetTypeInfo(node.
Parent
).Type.ToTestDisplayString());
8637
Assert.Equal("(System.Int32 a, System.String b)?", model.GetTypeInfo(node.
Parent
).ConvertedType.ToTestDisplayString());
8638
Assert.Equal(ConversionKind.ImplicitNullable, model.GetConversion(node.
Parent
).Kind);
8779
Assert.Equal("(System.Int16 c, System.String d)", model.GetTypeInfo(node.
Parent
).Type.ToTestDisplayString());
8780
Assert.Equal("(System.Int16 a, System.String b)", model.GetTypeInfo(node.
Parent
).ConvertedType.ToTestDisplayString());
8781
Assert.Equal(Conversion.Identity, model.GetConversion(node.
Parent
));
8852
Assert.Equal("(System.Int16 c, System.String d)", model.GetTypeInfo(node.
Parent
).Type.ToTestDisplayString());
8853
Assert.Equal("(System.Int16 a, System.String b)", model.GetTypeInfo(node.
Parent
).ConvertedType.ToTestDisplayString());
8854
Assert.Equal(Conversion.Identity, model.GetConversion(node.
Parent
));
8962
Assert.Equal("(System.Int16 c, System.String d)", model.GetTypeInfo(node.
Parent
).Type.ToTestDisplayString());
8963
Assert.Equal("(System.Int16 a, System.String b)", model.GetTypeInfo(node.
Parent
).ConvertedType.ToTestDisplayString());
8964
Assert.Equal(Conversion.Identity, model.GetConversion(node.
Parent
));
13975
var nameofArg = ((InvocationExpressionSyntax)nameofNode.
Parent
).ArgumentList.Arguments.Single().Expression;
24184
Assert.Equal("tuple.elem2 = 23", nodes[0].
Parent
.
Parent
.ToString());
24187
Assert.Equal("elem2 = 10", nodes[1].
Parent
.ToString());
24190
Assert.Equal("(tuple.elem2)", nodes[2].
Parent
.
Parent
.
Parent
.ToString());
24193
Assert.Equal("(elem2)", nodes[3].
Parent
.
Parent
.ToString());
CodeGen\ObjectAndCollectionInitializerTests.cs (4)
1110
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
3592
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (34)
CodeGen\IndexAndRangeTests.cs (34)
129
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
335
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
422
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
509
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
693
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
1618
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
1811
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
2347
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
2681
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
2844
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
3022
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
3136
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
3357
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
3644
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
3734
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
3820
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
3893
var (graph, symbol) = ControlFlowGraphVerifier.GetControlFlowGraph(node.
Parent
.
Parent
, model);
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (256)
FieldKeywordTests.cs (2)
10482
Assert.Equal("return field;", expr.
Parent
.ToString());
10516
Assert.Equal("return field;", expr.
Parent
.ToString());
FlowAnalysis\FlowTestBase.cs (2)
226
if (firstStatement != null && stmt.Span.End <= end && stmt.
Parent
== firstStatement.
Parent
)
Semantics\InlineArrayTests.cs (42)
2360
Assert.Equal("b[c]", c.
Parent
.
Parent
.
Parent
.ToString());
2395
Assert.Equal("b[c]", c.
Parent
.
Parent
.
Parent
.ToString());
2429
Assert.Equal("b[c]", c.
Parent
.
Parent
.
Parent
.ToString());
2509
Assert.Equal("x.F[0]", f.
Parent
.
Parent
.ToString());
2520
var access = f.
Parent
.
Parent
;
6034
Assert.Equal("x.F[^10]", f.
Parent
.
Parent
.ToString());
6200
Assert.Equal("x.F[..5]", f.
Parent
.
Parent
.ToString());
6211
var access = f.
Parent
.
Parent
;
8841
var m3 = tree.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(m => m.Identifier.ValueText == "M3").Single().
Parent
;
8842
Assert.Equal("M3()[0]", m3.
Parent
.ToString());
8853
var access = m3.
Parent
;
9210
Assert.Equal("M3()[..]", m3.
Parent
.
Parent
.ToString());
9212
var typeInfo = model.GetTypeInfo(m3.
Parent
);
9217
var symbolInfo = model.GetSymbolInfo(m3.
Parent
);
10554
Assert.Equal("c.F[0]", f.
Parent
.
Parent
.ToString());
10565
var access = f.
Parent
.
Parent
;
11298
Assert.Equal("c.F[..5]", f.
Parent
.
Parent
.ToString());
11309
var access = f.
Parent
.
Parent
;
15216
Assert.Equal("=> x.F", f[^2].
Parent
.
Parent
.ToString());
15223
Assert.Equal("=> x.F", f[^1].
Parent
.
Parent
.ToString());
16501
var m3 = tree.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(m => m.Identifier.ValueText == "M3").First().
Parent
;
18599
var forEachInfo = model.GetForEachStatementInfo((ForEachStatementSyntax)f.
Parent
);
18925
var forEachInfo = model.GetForEachStatementInfo((ForEachStatementSyntax)f.
Parent
);
19262
var forEachInfo = model.GetForEachStatementInfo((ForEachStatementSyntax)collection.
Parent
);
Semantics\OutVarTests.cs (39)
916
Assert.Null(model.GetDeclaredSymbol((ArgumentSyntax)x2Ref.
Parent
));
1090
var dataFlowParent = decl.
Parent
.
Parent
.
Parent
as ExpressionSyntax;
1094
if (isExecutableCode || !(decl.
Parent
.
Parent
.
Parent
is VariableDeclaratorSyntax))
1096
Assert.IsAssignableFrom<ConstructorInitializerSyntax>(decl.
Parent
.
Parent
.
Parent
);
1183
var parent1 = ((VariableDeclarationSyntax)((VariableDeclaratorSyntax)parent).
Parent
).
Parent
;
1224
switch (reference.
Parent
.Kind())
1227
if (((ArgumentSyntax)reference.
Parent
).RefOrOutKeyword.Kind() != SyntaxKind.OutKeyword)
1244
if (((AssignmentExpressionSyntax)reference.
Parent
).Left != reference)
1290
((methodDeclParent = containingReturnOrThrow.
Parent
.
Parent
as MethodDeclarationSyntax) == null ||
1333
switch (reference.
Parent
.Kind())
1336
if (((ArgumentSyntax)reference.
Parent
).RefOrOutKeyword.Kind() != SyntaxKind.None)
1353
if (((AssignmentExpressionSyntax)reference.
Parent
).Left == reference)
1413
Assert.Null(model.GetDeclaredSymbol((ArgumentSyntax)x2Ref.
Parent
));
1648
Assert.Null(model.GetDeclaredSymbol((ArgumentSyntax)x2Ref.
Parent
));
20052
Assert.Equal("System.Console.WriteLine(y)", yRef[2].
Parent
.
Parent
.
Parent
.ToString());
32756
var inFieldDeclaratorArgumentlist = declarator != null && declarator.
Parent
.
Parent
.Kind() != SyntaxKind.LocalDeclarationStatement &&
32787
var dataFlowParent = (ExpressionSyntax)decl.
Parent
.
Parent
.
Parent
;
32982
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
;
32991
var declaration2 = (DeclarationExpressionSyntax)discard2.
Parent
;
33066
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
;
33082
var declaration2 = (DeclarationExpressionSyntax)discard2.
Parent
;
33138
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
;
33180
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
;
33196
var declaration2 = (DeclarationExpressionSyntax)discard2.
Parent
;
33244
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
;
33260
var declaration2 = (DeclarationExpressionSyntax)discard2.
Parent
;
Semantics\ParamsCollectionTests.cs (2)
12555
VerifyFlowGraph(comp, node.
Parent
.
Parent
, """
Semantics\PatternMatchingTestBase.cs (9)
36
return tree.GetRoot().DescendantNodes().OfType<SingleVariableDesignationSyntax>().Where(p => p.
Parent
.Kind() == SyntaxKind.DeclarationPattern || p.
Parent
.Kind() == SyntaxKind.VarPattern);
98
switch (designation.
Parent
)
150
switch (designation.
Parent
)
265
switch (designation.
Parent
)
291
var inFieldDeclaratorArgumentlist = declarator != null && declarator.
Parent
.
Parent
.Kind() != SyntaxKind.LocalDeclarationStatement &&
385
if (designation.
Parent
is DeclarationPatternSyntax decl)
406
else if (designation.
Parent
is VarPatternSyntax varp)
Semantics\PatternMatchingTests.cs (4)
4293
var declaration1 = (DeclarationPatternSyntax)discard1.
Parent
;
4301
var declaration2 = (VarPatternSyntax)discard2.
Parent
;
4307
var declaration3 = (DeclarationPatternSyntax)discard3.
Parent
;
4314
var declaration4 = (VarPatternSyntax)discard4.
Parent
;
Semantics\PatternMatchingTests_Global.cs (4)
6323
Assert.True(x1Decl.
Parent
is VarPatternSyntax);
6352
Assert.True(x1Decl.
Parent
is VarPatternSyntax);
6376
var x1 = (DeclarationPatternSyntax)x1Decl.
Parent
;
6399
var x1 = (DeclarationPatternSyntax)x1Decl.
Parent
;
Semantics\PatternMatchingTests_ListPatterns.cs (5)
3688
Assert.Equal(syntax, clause.
Parent
.
Parent
.ToString());
3690
var typeInfo = model.GetTypeInfo(clause.
Parent
); // inner {} pattern
3733
typeInfo = model.GetTypeInfo(itemDesignation.
Parent
);
3748
typeInfo = model.GetTypeInfo(sliceDesignation.
Parent
);
Semantics\PatternMatchingTests2.cs (8)
2944
checkType((CastExpressionSyntax)expr.
Parent
.
Parent
, "C", "C", ConversionKind.Identity);
2951
checkType((CastExpressionSyntax)expr.
Parent
.
Parent
, "D", "D", ConversionKind.Identity);
2958
checkType((CastExpressionSyntax)expr.
Parent
.
Parent
, "D", "D", ConversionKind.Identity);
2965
checkType((CastExpressionSyntax)expr.
Parent
.
Parent
, "D", "D", ConversionKind.Identity);
Semantics\PrimaryConstructorTests.cs (70)
1009
Assert.Equal("= X", x.
Parent
.ToString());
1074
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1129
Assert.Null(model.GetOperation(baseWithargs.
Parent
));
1130
Assert.Same(operation.Parent.Parent, model.GetOperation(baseWithargs.
Parent
.
Parent
));
1131
Assert.Equal(SyntaxKind.ClassDeclaration, baseWithargs.
Parent
.
Parent
.Kind());
1230
model.VerifyOperationTree(baseWithargs.
Parent
,
1302
Assert.Equal("Test(X, out var y)", x.
Parent
.
Parent
.
Parent
.ToString());
1313
Assert.Equal("y", y.
Parent
.ToString());
1314
Assert.Equal("(Test(X, out var y), y)", y.
Parent
.
Parent
.ToString());
1315
Assert.Equal("Base(Test(X, out var y), y)", y.
Parent
.
Parent
.
Parent
.ToString());
1326
Assert.Equal("(Test(X, out var y), y)", test.
Parent
.
Parent
.
Parent
.ToString());
1367
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1413
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1473
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1531
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1542
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1620
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1631
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1816
Assert.Equal("Base(X)", x.
Parent
.
Parent
.
Parent
.ToString());
1856
Assert.Equal("Base(X)", x.
Parent
.
Parent
.
Parent
.ToString());
1899
Assert.Equal("Base(X)", x.
Parent
.
Parent
.
Parent
.ToString());
1969
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
2177
var otherBasePosition = ((BaseListSyntax)baseWithargs.
Parent
).Types[1].SpanStart;
2329
var otherBasePosition = ((BaseListSyntax)baseWithargs.
Parent
).Types[1].SpanStart;
2427
Assert.Equal("Base(X)", x.
Parent
.
Parent
.
Parent
.ToString());
2643
Assert.Equal("= X + 1", x.
Parent
.
Parent
.ToString());
2681
Assert.Equal("= X + 1", x.
Parent
.
Parent
.ToString());
2718
Assert.Equal("= X + 1", x.
Parent
.
Parent
.ToString());
2754
Assert.Equal("() => X + 1", x.
Parent
.
Parent
.ToString());
3915
switch (identifier.
Parent
.ToString())
3923
Assert.Equal(SyntaxKind.SimpleBaseType, identifier.
Parent
.Kind());
Semantics\RecordTests.cs (69)
21250
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21306
Assert.Null(model.GetOperation(baseWithargs.
Parent
));
21307
Assert.Same(operation.Parent.Parent, model.GetOperation(baseWithargs.
Parent
.
Parent
));
21308
Assert.Equal(SyntaxKind.RecordDeclaration, baseWithargs.
Parent
.
Parent
.Kind());
21408
model.VerifyOperationTree(baseWithargs.
Parent
,
21480
Assert.Equal("Test(X, out var y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21491
Assert.Equal("y", y.
Parent
!.ToString());
21492
Assert.Equal("(Test(X, out var y), y)", y.
Parent
!.
Parent
!.ToString());
21493
Assert.Equal("Base(Test(X, out var y), y)", y.
Parent
!.
Parent
!.
Parent
!.ToString());
21504
Assert.Equal("(Test(X, out var y), y)", test.
Parent
!.
Parent
!.
Parent
!.ToString());
21545
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21591
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21651
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21709
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21720
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21798
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21809
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21994
Assert.Equal("Base(X)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
22031
Assert.Equal("Base(X)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
22071
Assert.Equal("Base(X)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
22106
Assert.Equal("Base(X)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
22185
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
22393
var otherBasePosition = ((BaseListSyntax)baseWithargs.
Parent
!).Types[1].SpanStart;
22545
var otherBasePosition = ((BaseListSyntax)baseWithargs.
Parent
!).Types[1].SpanStart;
24749
Assert.Equal("= X + 1", x.
Parent
!.
Parent
!.ToString());
24784
Assert.Equal("= X + 1", x.
Parent
!.
Parent
!.ToString());
24818
Assert.Equal("= X + 1", x.
Parent
!.
Parent
!.ToString());
24853
Assert.Equal("() => X + 1", x.
Parent
!.
Parent
!.ToString());
26455
switch (identifier.
Parent
!.ToString())
26463
Assert.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"));
2728
Assert.Equal("A.B<string>.M0", identifierNameM0.
Parent
.ToString());
2738
.First(x => x.
Parent
.IsKind(SyntaxKind.SimpleMemberAccessExpression) && x.Identifier.ValueText.Equals("M1"));
2740
Assert.Equal("A.B<string>.M1", identifierNameM1.
Parent
.ToString());
2786
Assert.Equal("(MyDelegate<int>)MyMethod", identifiers[0].
Parent
.ToString());
2789
Assert.Equal("(MyDelegate<long>)MyMethod", identifiers[1].
Parent
.ToString());
2792
Assert.Equal("(MyDelegate<float>)MyMethod", identifiers[2].
Parent
.ToString());
2795
Assert.Equal("(MyDelegate<double>)MyMethod", identifiers[3].
Parent
.ToString());
2837
.First(x => x.
Parent
.IsKind(SyntaxKind.SimpleMemberAccessExpression) && x.Identifier.ValueText.Equals("M0"));
2839
Assert.Equal("b.M0", identifierNameM0.
Parent
.ToString());
2849
.First(x => x.
Parent
.IsKind(SyntaxKind.SimpleMemberAccessExpression) && x.Identifier.ValueText.Equals("M1"));
2851
Assert.Equal("b.M1", identifierNameM1.
Parent
.ToString());
Semantics\ColorColorTests.cs (17)
597
var parentExpr = (ExpressionSyntax)expr.
Parent
;
644
var parentExpr = (ExpressionSyntax)expr.
Parent
;
1073
var parentExpr = (ExpressionSyntax)expr.
Parent
;
1119
var parentExpr = (ExpressionSyntax)expr.
Parent
;
1165
var parentExpr = (ExpressionSyntax)expr.
Parent
;
1210
var parentExpr = (ExpressionSyntax)expr.
Parent
;
1254
var parentExpr = (ExpressionSyntax)expr.
Parent
;
1288
var parentExpr = (ExpressionSyntax)expr.
Parent
;
1851
var parentExpr = (ExpressionSyntax)expr.
Parent
;
1892
var node2 = tree.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(n => n.Identifier.Text == "E" && (n.
Parent
is EqualsValueClauseSyntax)).Single();
1894
Assert.Equal("= E", node2.
Parent
.ToString());
1949
var node2 = tree.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(n => n.Identifier.Text == "E" && (n.
Parent
is EqualsValueClauseSyntax)).Single();
1951
Assert.Equal("= E", node2.
Parent
.ToString());
2006
var node2 = tree.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(n => n.Identifier.Text == "E" && (n.
Parent
is EqualsValueClauseSyntax)).Single();
2008
Assert.Equal("= E", node2.
Parent
.ToString());
2055
var node2 = tree.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(n => n.Identifier.Text == "E" && (n.
Parent
is EqualsValueClauseSyntax)).Single();
2057
Assert.Equal("= E", node2.
Parent
.ToString());
Semantics\ConditionalOperatorTests.cs (5)
1347
var access = (ConditionalAccessExpressionSyntax)memberBinding.
Parent
!;
1401
var invocation = (InvocationExpressionSyntax)memberBinding.
Parent
!;
1402
var access = (ConditionalAccessExpressionSyntax)invocation.
Parent
!;
1448
var assignment = (AssignmentExpressionSyntax)memberBinding.
Parent
!;
1449
var access = (ConditionalAccessExpressionSyntax)assignment.
Parent
!;
Semantics\DeconstructionTests.cs (5)
5997
var argument = (ArgumentSyntax)mainCall.
Parent
;
6040
var argument = (ArgumentSyntax)mainCall.
Parent
;
6080
var argument = (ArgumentSyntax)mainCall.
Parent
;
6122
var argument = (ArgumentSyntax)two.
Parent
;
6162
var argument = (ArgumentSyntax)mainCall.
Parent
;
Semantics\DynamicTests.cs (68)
6690
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
6799
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
6909
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7006
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7078
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7181
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7294
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7410
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7523
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7600
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7705
var assignment = (PostfixUnaryExpressionSyntax)elementAccess.
Parent
;
7811
var assignment = (PostfixUnaryExpressionSyntax)elementAccess.
Parent
;
7915
var assignment = (PostfixUnaryExpressionSyntax)elementAccess.
Parent
;
7986
var assignment = (PrefixUnaryExpressionSyntax)elementAccess.
Parent
;
8092
var assignment = (PrefixUnaryExpressionSyntax)elementAccess.
Parent
;
8197
var assignment = (PrefixUnaryExpressionSyntax)elementAccess.
Parent
;
8302
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
8411
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
8520
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
8630
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
8739
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
8808
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
8880
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
8936
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9026
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9117
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9207
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9263
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9324
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9445
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9565
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9679
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9790
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9901
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
10032
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
10037
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
10160
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
10165
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
10288
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
10293
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
10442
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
10447
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
10576
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
10581
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
10724
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
10729
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
10994
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
10999
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
11112
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
11117
left = (TupleExpressionSyntax)left.
Parent
.
Parent
;
11122
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
11196
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
11201
left = (TupleExpressionSyntax)left.
Parent
.
Parent
;
11206
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
11274
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
11279
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
Semantics\FunctionPointerTests.cs (4)
3221
FunctionPointerUtilities.VerifyFunctionPointerSemanticInfo(model, invocations[2].
Parent
!.
Parent
!,
3227
VerifyOperationTreeForNode(comp, model, invocations[2].
Parent
!.
Parent
!, expectedOperationTree: @"
Semantics\ImplicitObjectCreationTests.cs (8)
3218
Assert.Equal("(o, new())", first.
Parent
.
Parent
.ToString());
3222
Assert.Equal("(new(), o)", second.
Parent
.
Parent
.ToString());
3226
Assert.Equal("(c, new())", third.
Parent
.
Parent
.ToString());
3230
Assert.Equal("(new(), c)", fourth.
Parent
.
Parent
.ToString());
Semantics\LambdaTests.cs (4)
1514
Assert.Equal("a.", node.
Parent
.ToString().Trim());
1549
Assert.Equal("a.", node.
Parent
.ToString().Trim());
1583
Assert.Equal("a.", node.
Parent
.ToString().Trim());
1615
Assert.Equal("a.", node.
Parent
.ToString().Trim());
Semantics\MethodTypeInferenceTests.cs (1)
844
var declaration = (DeclarationExpressionSyntax)discard.
Parent
;
Semantics\NonTrailingNamedArgumentsTests.cs (2)
52
Assert.Equal("a: 1", firstNamedArgA.
Parent
.ToString());
64
Assert.Equal("a: 4", secondNamedArgA.
Parent
.ToString());
Semantics\NullableReferenceTypesTests.cs (1)
65943
Assert.Equal("object?", object2.
Parent
.ToString());
Semantics\ObjectAndCollectionInitializerTests.cs (2)
4238
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
4292
var assignment = (AssignmentExpressionSyntax)propertyAccess.
Parent
;
Semantics\QueryTests.cs (1)
2246
var e2 = e.
Parent
as ExpressionSyntax; // w+1
Semantics\RecordStructTests.cs (8)
2667
Assert.Equal("= X + 1", x.
Parent
!.
Parent
!.ToString());
2702
Assert.Equal("= X + 1", x.
Parent
!.
Parent
!.ToString());
2736
Assert.Equal("= X + 1", x.
Parent
!.
Parent
!.ToString());
2771
Assert.Equal("() => X + 1", x.
Parent
!.
Parent
!.ToString());
Semantics\RefEscapingTests.cs (8)
5786
Assert.Equal(@"(global, s) = (local, """")", tuple2.
Parent
.ToString());
5792
Assert.Equal(@"(global, s) = (local, null)", tuple3.
Parent
.ToString());
5798
Assert.Equal(@"(c, s) = (local, """")", tuple6.
Parent
.ToString());
5804
Assert.Equal("(c, s) = (local, null)", tuple7.
Parent
.ToString());
5886
Assert.Equal(@"(global, s) = (local, """")", tuple2.
Parent
.ToString());
5892
Assert.Equal(@"(global, s) = (local, null)", tuple3.
Parent
.ToString());
5898
Assert.Equal(@"(c, s) = (local, """")", tuple6.
Parent
.ToString());
5904
Assert.Equal("(c, s) = (local, null)", tuple7.
Parent
.ToString());
Semantics\RefFieldTests.cs (26)
12140
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
12208
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
12274
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
12463
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
12495
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
12647
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
12675
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
12874
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
12908
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
13054
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
13082
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
13520
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
13584
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
13661
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
13731
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
14428
var type = ((VariableDeclarationSyntax)decls[0].
Parent
).Type;
14470
var type = ((VariableDeclarationSyntax)decls[0].
Parent
).Type;
14922
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
14950
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
27673
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
27763
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
28034
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
28094
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
28316
var type = ((VariableDeclarationSyntax)decls[0].
Parent
).Type;
28364
var type = ((VariableDeclarationSyntax)decls[0].
Parent
).Type;
29449
var symbol = model.GetDeclaredSymbol(fieldInitializerSyntax.
Parent
);
Semantics\TargetTypedDefaultTests.cs (9)
1632
Assert.Equal("s += default", defaultLiteral.
Parent
.ToString());
2415
Assert.Equal("(o, default)", first.
Parent
.
Parent
.ToString());
2420
Assert.Equal("(default, o)", second.
Parent
.
Parent
.ToString());
2425
Assert.Equal("(s, default)", third.
Parent
.
Parent
.ToString());
2430
Assert.Equal("(default, s)", fourth.
Parent
.
Parent
.ToString());
Semantics\TopLevelStatementsTests.cs (99)
201
var operation1 = model1.GetOperation(localRef.
Parent
);
329
var operation1 = model1.GetOperation(localRef.
Parent
);
1710
Assert.Equal("System.Console.WriteLine(Test)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
1718
Assert.Equal("using alias1 = Test;", nameRef.
Parent
.ToString());
1734
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
1740
Assert.Equal("System.Console.WriteLine(Test)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
1745
Assert.Equal("using alias2 = Test;", nameRef.
Parent
.ToString());
1750
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
1756
Assert.Equal("System.Console.WriteLine(Test)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
1886
Assert.Equal("using alias1 = Test;", nameRef.
Parent
.ToString());
1902
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
1908
Assert.Equal("System.Console.WriteLine(Test)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
1913
Assert.Equal("using alias2 = Test;", nameRef.
Parent
.ToString());
1918
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
1924
Assert.Equal("System.Console.WriteLine(Test)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
2104
Assert.Equal("using alias1 = Test;", nameRef.
Parent
.ToString());
2117
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
2122
Assert.Equal("System.Console.WriteLine(Test())", nameRef.
Parent
.
Parent
.
Parent
.
Parent
.ToString());
2127
Assert.Equal("using alias2 = Test;", nameRef.
Parent
.ToString());
2132
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
2137
Assert.Equal("System.Console.WriteLine(Test())", nameRef.
Parent
.
Parent
.
Parent
.
Parent
.ToString());
2270
Assert.Equal("using alias1 = Test;", nameRef.
Parent
.ToString());
2283
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
2288
Assert.Equal("System.Console.WriteLine(Test())", nameRef.
Parent
.
Parent
.
Parent
.
Parent
.ToString());
2293
Assert.Equal("using alias2 = Test;", nameRef.
Parent
.ToString());
2298
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
2303
Assert.Equal("System.Console.WriteLine(Test())", nameRef.
Parent
.
Parent
.
Parent
.
Parent
.ToString());
2450
Assert.Equal("using alias1 = Test;", nameRef.
Parent
.ToString());
2465
Assert.Equal("goto Test;", nameRef.
Parent
.ToString());
2480
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
2485
Assert.Equal("goto Test;", nameRef.
Parent
.ToString());
2490
Assert.Equal("using alias2 = Test;", nameRef.
Parent
.ToString());
2495
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
2501
Assert.Equal("goto Test;", nameRef.
Parent
.ToString());
2920
var nameRef = tree1.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(id => id.Identifier.ValueText == "alias1" && !id.
Parent
.IsKind(SyntaxKind.NameEquals)).Single();
2942
nameRef = tree2.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(id => id.Identifier.ValueText == "alias2" && !id.
Parent
.IsKind(SyntaxKind.NameEquals)).Single();
3945
Assert.Equal("using alias1 = args;", nameRef.
Parent
.ToString());
3957
Assert.Equal("System.Console.WriteLine(args)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
3976
Assert.Equal(": args", nameRef.
Parent
.
Parent
.ToString());
3981
Assert.Equal("System.Console.WriteLine(args)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
3986
Assert.Equal("using alias2 = args;", nameRef.
Parent
.ToString());
3991
Assert.Equal(": args", nameRef.
Parent
.
Parent
.ToString());
3996
Assert.Equal("System.Console.WriteLine(args)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
4094
Assert.Equal("using alias1 = args;", nameRef.
Parent
.ToString());
4106
Assert.Equal(": args", nameRef.
Parent
.
Parent
.ToString());
4111
Assert.Equal("System.Console.WriteLine(args)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
4116
Assert.Equal("using alias2 = args;", nameRef.
Parent
.ToString());
4121
Assert.Equal(": args", nameRef.
Parent
.
Parent
.ToString());
4126
Assert.Equal("System.Console.WriteLine(args)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
6457
Assert.True(syntaxTreeModel.TestOnlyMemberModels.ContainsKey(globalStatement.
Parent
));
6459
MemberSemanticModel mm = syntaxTreeModel.TestOnlyMemberModels[globalStatement.
Parent
];
9708
model.TryGetSpeculativeSemanticModel(root.DescendantNodes().Single(n => n is ExpressionStatementSyntax {
Parent
: GlobalStatementSyntax }).Span.End, nodeToSpeculate, out var speculativeModelInTopLevel);
9713
model.TryGetSpeculativeSemanticModel(root.DescendantNodes().Single(n => n is ExpressionStatementSyntax {
Parent
: BlockSyntax }).Span.End, nodeToSpeculate, out var speculativeModelOutsideTopLevel);
Semantics\UnsafeTests.cs (2)
7850
var callSyntax = syntax.
Parent
;
7917
var callSyntax = syntax.
Parent
;
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (35)
Compilation\GetSemanticInfoTests.cs (4)
3640
var cast = (CastExpressionSyntax)literal.
Parent
;
3673
var cast = (CastExpressionSyntax)literal.
Parent
;
3709
var cast1 = (CastExpressionSyntax)literal.
Parent
;
3721
var cast2 = (CastExpressionSyntax)cast1.
Parent
;
Compilation\SemanticModelAPITests.cs (2)
3782
var expr = identifier.FirstAncestorOrSelf<ArgumentSyntax>().
Parent
.
Parent
;
DocumentationComments\CrefTests.cs (1)
5799
if (typeSyntax.
Parent
.Kind() == SyntaxKind.NameMemberCref)
Symbols\CheckedUserDefinedOperatorsTests.cs (13)
7238
Assert.Equal("System.Int64 C0.op_CheckedExplicit(C0 x)", model.GetSymbolInfo(xNode.
Parent
).Symbol.ToTestDisplayString());
7239
Assert.Equal("System.Int64 C0.op_CheckedExplicit(C0 x)", model.GetSymbolInfo(yNode.
Parent
).Symbol.ToTestDisplayString());
7241
var int64 = ((IMethodSymbol)model.GetSymbolInfo(xNode.
Parent
).Symbol).ReturnType;
7310
Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.GetSymbolInfo(xNode.
Parent
).Symbol.ToTestDisplayString());
7311
Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.GetSymbolInfo(yNode.
Parent
).Symbol.ToTestDisplayString());
7313
var int64 = ((IMethodSymbol)model.GetSymbolInfo(xNode.
Parent
).Symbol).ReturnType;
7381
Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.GetSymbolInfo(xNode.
Parent
).Symbol.ToTestDisplayString());
7382
Assert.Equal("System.Int64 C0.op_Explicit(C0 x)", model.GetSymbolInfo(yNode.
Parent
).Symbol.ToTestDisplayString());
7384
var int64 = ((IMethodSymbol)model.GetSymbolInfo(xNode.
Parent
).Symbol).ReturnType;
7454
Assert.Equal("C0 C0.op_CheckedUnaryNegation(C0 a)", model.GetSymbolInfo(xNode.
Parent
).Symbol.ToTestDisplayString());
7455
Assert.Equal("C0 C0.op_CheckedUnaryNegation(C0 a)", model.GetSymbolInfo(yNode.
Parent
).Symbol.ToTestDisplayString());
7518
Assert.Equal("C0 C0.op_UnaryNegation(C0 a)", model.GetSymbolInfo(xNode.
Parent
).Symbol.ToTestDisplayString());
7519
Assert.Equal("C0 C0.op_UnaryNegation(C0 a)", model.GetSymbolInfo(yNode.
Parent
).Symbol.ToTestDisplayString());
Symbols\ExtensionMethodTests.cs (5)
3012
var call = (ExpressionSyntax)memberAccess.
Parent
;
3867
Assert.Equal("Instance.SetMember", instance.
Parent
.ToString());
3914
Assert.Equal("Instance.SetMember", instance.
Parent
.ToString());
3959
Assert.Equal("Instance.SetMember", instance.
Parent
.ToString());
4009
Assert.Equal("Instance.SetMember", instance.
Parent
.ToString());
Symbols\FunctionPointerTypeSymbolTests.cs (4)
1168
Assert.NotNull(functionPointerTypeSyntax.
Parent
);
1169
VerifyOperationTreeForNode(comp, model, functionPointerTypeSyntax.
Parent
, expectedOperationTree: @"
1275
Assert.NotNull(functionPointerTypeSyntax.
Parent
);
1276
VerifyOperationTreeForNode(comp, model, functionPointerTypeSyntax.
Parent
, expectedOperationTree: @"
Symbols\PartialPropertiesTests.cs (1)
5173
Assert.Equal(SyntaxKind.TupleElement, node.
Parent
!.Kind());
Symbols\Source\NullablePublicAPITests.cs (3)
1952
var typeInfo = model.GetTypeInfoAndVerifyIOperation(((VariableDeclarationSyntax)variable.
Parent
).Type);
2293
var typeInfo = model.GetTypeInfoAndVerifyIOperation(((DeclarationExpressionSyntax)variable.
Parent
).Type);
2563
var type = ((DeclarationExpressionSyntax)variable.
Parent
).Type;
Symbols\Source\UsingAliasTests.cs (2)
699
Assert.Equal("Short.MyClass", node.
Parent
.ToString());
742
Assert.Equal("Short.MyClass", node.
Parent
.ToString());
Microsoft.CodeAnalysis.CSharp.Test.Utilities (2)
CompilationTestUtils.cs (2)
543
case IdentifierNameSyntax id when id.
Parent
is MemberAccessExpressionSyntax memberAccess && memberAccess.Name == node:
546
case ExpressionSyntax expr when expr.
Parent
is ConditionalAccessExpressionSyntax cond && cond.WhenNotNull == node:
Microsoft.CodeAnalysis.Test.Utilities (20)
Compilation\ControlFlowGraphVerifier.cs (20)
611
if (syntax.
Parent
is CSharp.Syntax.SwitchStatementSyntax switchStmt && switchStmt.Expression == syntax)
616
if (syntax.
Parent
is CSharp.Syntax.SwitchExpressionSyntax switchExpr && switchExpr.GoverningExpression == syntax)
654
if (syntax.
Parent
is CSharp.Syntax.CommonForEachStatementSyntax forEach && forEach.Expression == syntax)
836
if (syntax.
Parent
is CSharp.Syntax.ConditionalAccessExpressionSyntax access &&
868
return referenceSyntax.
Parent
is AssignmentExpressionSyntax conditionalAccess &&
881
return referenceSyntax.
Parent
is CSharp.Syntax.AssignmentExpressionSyntax
884
Parent
: InitializerExpressionSyntax {
Parent
: CSharp.Syntax.ObjectCreationExpressionSyntax },
1049
if (syntax.
Parent
is CSharp.Syntax.ConditionalAccessExpressionSyntax access &&
1116
if (syntax.
Parent
is CSharp.Syntax.WithExpressionSyntax withExpr
1125
if (syntax.
Parent
?.
Parent
is CSharp.Syntax.UsingStatementSyntax usingStmt &&
1126
usingStmt.Declaration == syntax.
Parent
)
1131
CSharpSyntaxNode parent = syntax.
Parent
;
1144
if ((parent = parent.
Parent
)?.Kind() == CSharp.SyntaxKind.BracketedArgumentList &&
1145
(parent = parent.
Parent
)?.Kind() == CSharp.SyntaxKind.ImplicitElementAccess &&
1146
parent.
Parent
is AssignmentExpressionSyntax assignment && assignment.Kind() == CSharp.SyntaxKind.SimpleAssignmentExpression &&
1148
assignment.
Parent
?.Kind() == CSharp.SyntaxKind.ObjectInitializerExpression &&
1284
while (syntax.
Parent
is CSharp.Syntax.ParenthesizedExpressionSyntax or
1287
syntax = syntax.
Parent
;
Microsoft.CodeAnalysis.UnitTests (2)
CommonSyntaxTests.cs (2)
223
Assert.Equal(CSharp.SyntaxKind.ParenthesizedExpression, CSharp.CSharpExtensions.Kind(trackedB.
Parent
));
246
Assert.Equal(CSharp.SyntaxKind.ParenthesizedExpression, CSharp.CSharpExtensions.Kind(trackedB.
Parent
));