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)
835
if (declarationNode.
Parent
.Kind() == SyntaxKind.LocalDeclarationStatement &&
1945
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)
1463
curr = curr.
Parent
;
1475
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)
1593
if (current.
Parent
== null || current.
Parent
.Kind() != SyntaxKind.LocalFunctionStatement)
2219
return node.
Parent
;
2251
var parent = node.
Parent
;
2276
var grandparent = parent.
Parent
;
2322
CSharpSyntaxNode? parent = node.
Parent
;
2343
var pp = parent.
Parent
;
2362
case { RawKind: (int)SyntaxKind.SimpleMemberAccessExpression,
Parent
.RawKind: (int)SyntaxKind.InvocationExpression }:
2363
bindableParent = bindableParent.
Parent
;
Compilation\SyntaxTreeSemanticModel.cs (18)
247
else if (node.
Parent
.Kind() == SyntaxKind.XmlNameAttribute && (attrSyntax = (XmlNameAttributeSyntax)node.
Parent
).Identifier == node)
940
return GetOrAddModel((CompilationUnitSyntax)memberDecl.
Parent
);
962
return GetMemberModel(memberDecl.
Parent
);
1116
ExceptionUtilities.UnexpectedValue(node.
Parent
);
1120
switch (node.
Parent
.Kind())
1124
var variableDecl = (VariableDeclaratorSyntax)node.
Parent
;
1137
var propertyDecl = (PropertyDeclarationSyntax)node.
Parent
;
1150
ParameterSyntax parameterDecl = (ParameterSyntax)node.
Parent
;
1165
var enumDecl = (EnumMemberDeclarationSyntax)node.
Parent
;
1177
throw ExceptionUtilities.UnexpectedValue(node.
Parent
.Kind());
1186
if (node.
Parent
is BasePropertyDeclarationSyntax)
1193
ExceptionUtilities.UnexpectedValue(node.
Parent
);
1208
var parent = node.
Parent
;
1604
var propertyOrEventDecl = declarationSyntax.
Parent
.
Parent
;
2355
if (memberDeclaration.
Parent
.Kind() == SyntaxKind.CompilationUnit)
2379
var container = GetDeclaredNamespaceOrType(memberDeclaration.
Parent
);
Compiler\MethodCompiler.cs (2)
2284
var parent = child.
Parent
;
2289
parent = child.
Parent
;
DocumentationComments\SourceDocumentationCommentUtils.cs (1)
53
curr = curr.
Parent
;
Parser\LanguageParser.cs (3)
141
return node != null ? node.
Parent
: null;
2514
return (this.CurrentNode.
Parent
is Syntax.CompilationUnitSyntax);
4908
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)
2181
CSharpSyntaxNode? parent = node.
Parent
;
2228
CSharpSyntaxNode? grandparent = parent.
Parent
;
2277
if (parent.
Parent
.IsKind(SyntaxKind.Subpattern))
2279
return parent.
Parent
;
2302
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)
10607
Assert.Equal("return field;", expr.
Parent
.ToString());
10641
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)
914
Assert.Null(model.GetDeclaredSymbol((ArgumentSyntax)x2Ref.
Parent
));
1088
var dataFlowParent = decl.
Parent
.
Parent
.
Parent
as ExpressionSyntax;
1092
if (isExecutableCode || !(decl.
Parent
.
Parent
.
Parent
is VariableDeclaratorSyntax))
1094
Assert.IsAssignableFrom<ConstructorInitializerSyntax>(decl.
Parent
.
Parent
.
Parent
);
1181
var parent1 = ((VariableDeclarationSyntax)((VariableDeclaratorSyntax)parent).
Parent
).
Parent
;
1222
switch (reference.
Parent
.Kind())
1225
if (((ArgumentSyntax)reference.
Parent
).RefOrOutKeyword.Kind() != SyntaxKind.OutKeyword)
1242
if (((AssignmentExpressionSyntax)reference.
Parent
).Left != reference)
1288
((methodDeclParent = containingReturnOrThrow.
Parent
.
Parent
as MethodDeclarationSyntax) == null ||
1331
switch (reference.
Parent
.Kind())
1334
if (((ArgumentSyntax)reference.
Parent
).RefOrOutKeyword.Kind() != SyntaxKind.None)
1351
if (((AssignmentExpressionSyntax)reference.
Parent
).Left == reference)
1411
Assert.Null(model.GetDeclaredSymbol((ArgumentSyntax)x2Ref.
Parent
));
1646
Assert.Null(model.GetDeclaredSymbol((ArgumentSyntax)x2Ref.
Parent
));
20041
Assert.Equal("System.Console.WriteLine(y)", yRef[2].
Parent
.
Parent
.
Parent
.ToString());
32745
var inFieldDeclaratorArgumentlist = declarator != null && declarator.
Parent
.
Parent
.Kind() != SyntaxKind.LocalDeclarationStatement &&
32776
var dataFlowParent = (ExpressionSyntax)decl.
Parent
.
Parent
.
Parent
;
32971
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
;
32980
var declaration2 = (DeclarationExpressionSyntax)discard2.
Parent
;
33055
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
;
33071
var declaration2 = (DeclarationExpressionSyntax)discard2.
Parent
;
33127
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
;
33169
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
;
33185
var declaration2 = (DeclarationExpressionSyntax)discard2.
Parent
;
33233
var declaration1 = (DeclarationExpressionSyntax)discard1.
Parent
;
33249
var declaration2 = (DeclarationExpressionSyntax)discard2.
Parent
;
Semantics\ParamsCollectionTests.cs (2)
12539
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)
6324
Assert.True(x1Decl.
Parent
is VarPatternSyntax);
6353
Assert.True(x1Decl.
Parent
is VarPatternSyntax);
6377
var x1 = (DeclarationPatternSyntax)x1Decl.
Parent
;
6400
var x1 = (DeclarationPatternSyntax)x1Decl.
Parent
;
Semantics\PatternMatchingTests_ListPatterns.cs (5)
3748
Assert.Equal(syntax, clause.
Parent
.
Parent
.ToString());
3750
var typeInfo = model.GetTypeInfo(clause.
Parent
); // inner {} pattern
3793
typeInfo = model.GetTypeInfo(itemDesignation.
Parent
);
3808
typeInfo = model.GetTypeInfo(sliceDesignation.
Parent
);
Semantics\PatternMatchingTests2.cs (8)
2961
checkType((CastExpressionSyntax)expr.
Parent
.
Parent
, "C", "C", ConversionKind.Identity);
2968
checkType((CastExpressionSyntax)expr.
Parent
.
Parent
, "D", "D", ConversionKind.Identity);
2975
checkType((CastExpressionSyntax)expr.
Parent
.
Parent
, "D", "D", ConversionKind.Identity);
2982
checkType((CastExpressionSyntax)expr.
Parent
.
Parent
, "D", "D", ConversionKind.Identity);
Semantics\PrimaryConstructorTests.cs (70)
1139
Assert.Equal("= X", x.
Parent
.ToString());
1204
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1259
Assert.Null(model.GetOperation(baseWithargs.
Parent
));
1260
Assert.Same(operation.Parent.Parent, model.GetOperation(baseWithargs.
Parent
.
Parent
));
1261
Assert.Equal(SyntaxKind.ClassDeclaration, baseWithargs.
Parent
.
Parent
.Kind());
1360
model.VerifyOperationTree(baseWithargs.
Parent
,
1432
Assert.Equal("Test(X, out var y)", x.
Parent
.
Parent
.
Parent
.ToString());
1443
Assert.Equal("y", y.
Parent
.ToString());
1444
Assert.Equal("(Test(X, out var y), y)", y.
Parent
.
Parent
.ToString());
1445
Assert.Equal("Base(Test(X, out var y), y)", y.
Parent
.
Parent
.
Parent
.ToString());
1456
Assert.Equal("(Test(X, out var y), y)", test.
Parent
.
Parent
.
Parent
.ToString());
1497
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1543
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1603
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1661
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1672
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1750
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1761
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
1946
Assert.Equal("Base(X)", x.
Parent
.
Parent
.
Parent
.ToString());
1986
Assert.Equal("Base(X)", x.
Parent
.
Parent
.
Parent
.ToString());
2029
Assert.Equal("Base(X)", x.
Parent
.
Parent
.
Parent
.ToString());
2099
Assert.Equal("Base(X, Y)", x.
Parent
.
Parent
.
Parent
.ToString());
2307
var otherBasePosition = ((BaseListSyntax)baseWithargs.
Parent
).Types[1].SpanStart;
2459
var otherBasePosition = ((BaseListSyntax)baseWithargs.
Parent
).Types[1].SpanStart;
2557
Assert.Equal("Base(X)", x.
Parent
.
Parent
.
Parent
.ToString());
2773
Assert.Equal("= X + 1", x.
Parent
.
Parent
.ToString());
2811
Assert.Equal("= X + 1", x.
Parent
.
Parent
.ToString());
2848
Assert.Equal("= X + 1", x.
Parent
.
Parent
.ToString());
2884
Assert.Equal("() => X + 1", x.
Parent
.
Parent
.ToString());
4055
switch (identifier.
Parent
.ToString())
4063
Assert.Equal(SyntaxKind.SimpleBaseType, identifier.
Parent
.Kind());
Semantics\RecordTests.cs (69)
21232
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21288
Assert.Null(model.GetOperation(baseWithargs.
Parent
));
21289
Assert.Same(operation.Parent.Parent, model.GetOperation(baseWithargs.
Parent
.
Parent
));
21290
Assert.Equal(SyntaxKind.RecordDeclaration, baseWithargs.
Parent
.
Parent
.Kind());
21390
model.VerifyOperationTree(baseWithargs.
Parent
,
21462
Assert.Equal("Test(X, out var y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21473
Assert.Equal("y", y.
Parent
!.ToString());
21474
Assert.Equal("(Test(X, out var y), y)", y.
Parent
!.
Parent
!.ToString());
21475
Assert.Equal("Base(Test(X, out var y), y)", y.
Parent
!.
Parent
!.
Parent
!.ToString());
21486
Assert.Equal("(Test(X, out var y), y)", test.
Parent
!.
Parent
!.
Parent
!.ToString());
21527
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21573
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21633
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21691
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21702
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21780
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21791
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
21976
Assert.Equal("Base(X)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
22013
Assert.Equal("Base(X)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
22053
Assert.Equal("Base(X)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
22088
Assert.Equal("Base(X)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
22167
Assert.Equal("Base(X, Y)", x.
Parent
!.
Parent
!.
Parent
!.ToString());
22375
var otherBasePosition = ((BaseListSyntax)baseWithargs.
Parent
!).Types[1].SpanStart;
22527
var otherBasePosition = ((BaseListSyntax)baseWithargs.
Parent
!).Types[1].SpanStart;
24713
Assert.Equal("= X + 1", x.
Parent
!.
Parent
!.ToString());
24748
Assert.Equal("= X + 1", x.
Parent
!.
Parent
!.ToString());
24782
Assert.Equal("= X + 1", x.
Parent
!.
Parent
!.ToString());
24817
Assert.Equal("() => X + 1", x.
Parent
!.
Parent
!.ToString());
26419
switch (identifier.
Parent
!.ToString())
26427
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)
5994
var argument = (ArgumentSyntax)mainCall.
Parent
;
6037
var argument = (ArgumentSyntax)mainCall.
Parent
;
6077
var argument = (ArgumentSyntax)mainCall.
Parent
;
6119
var argument = (ArgumentSyntax)two.
Parent
;
6159
var argument = (ArgumentSyntax)mainCall.
Parent
;
Semantics\DynamicTests.cs (68)
6788
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
6897
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7007
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7104
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7176
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7279
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7392
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7508
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7621
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7698
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
7803
var assignment = (PostfixUnaryExpressionSyntax)elementAccess.
Parent
;
7909
var assignment = (PostfixUnaryExpressionSyntax)elementAccess.
Parent
;
8013
var assignment = (PostfixUnaryExpressionSyntax)elementAccess.
Parent
;
8084
var assignment = (PrefixUnaryExpressionSyntax)elementAccess.
Parent
;
8190
var assignment = (PrefixUnaryExpressionSyntax)elementAccess.
Parent
;
8295
var assignment = (PrefixUnaryExpressionSyntax)elementAccess.
Parent
;
8400
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
8509
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
8618
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
8728
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
8837
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
8906
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
8978
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9034
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9124
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9215
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9305
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9361
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9422
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9543
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9663
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9777
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9888
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
9999
var assignment = (AssignmentExpressionSyntax)elementAccess.
Parent
;
10130
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
10135
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
10258
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
10263
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
10386
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
10391
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
10540
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
10545
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
10674
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
10679
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
10822
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
10827
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
11092
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
11097
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
11210
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
11215
left = (TupleExpressionSyntax)left.
Parent
.
Parent
;
11220
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
11294
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
11299
left = (TupleExpressionSyntax)left.
Parent
.
Parent
;
11304
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
11372
var left = (TupleExpressionSyntax)elementAccess.
Parent
.
Parent
;
11377
var assignment = (AssignmentExpressionSyntax)left.
Parent
;
Semantics\FunctionPointerTests.cs (4)
3213
FunctionPointerUtilities.VerifyFunctionPointerSemanticInfo(model, invocations[2].
Parent
!.
Parent
!,
3219
VerifyOperationTreeForNode(comp, model, invocations[2].
Parent
!.
Parent
!, expectedOperationTree: @"
Semantics\ImplicitObjectCreationTests.cs (8)
3209
Assert.Equal("(o, new())", first.
Parent
.
Parent
.ToString());
3213
Assert.Equal("(new(), o)", second.
Parent
.
Parent
.ToString());
3217
Assert.Equal("(c, new())", third.
Parent
.
Parent
.ToString());
3221
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)
65984
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)
8467
Assert.Equal(@"(global, s) = (local, """")", tuple2.
Parent
.ToString());
8473
Assert.Equal(@"(global, s) = (local, null)", tuple3.
Parent
.ToString());
8479
Assert.Equal(@"(c, s) = (local, """")", tuple6.
Parent
.ToString());
8485
Assert.Equal("(c, s) = (local, null)", tuple7.
Parent
.ToString());
8567
Assert.Equal(@"(global, s) = (local, """")", tuple2.
Parent
.ToString());
8573
Assert.Equal(@"(global, s) = (local, null)", tuple3.
Parent
.ToString());
8579
Assert.Equal(@"(c, s) = (local, """")", tuple6.
Parent
.ToString());
8585
Assert.Equal("(c, s) = (local, null)", tuple7.
Parent
.ToString());
Semantics\RefFieldTests.cs (26)
12103
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
12171
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
12237
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
12426
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
12458
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
12610
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
12638
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
12837
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
12871
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
13017
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
13045
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
13483
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
13547
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
13624
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
13694
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
14391
var type = ((VariableDeclarationSyntax)decls[0].
Parent
).Type;
14433
var type = ((VariableDeclarationSyntax)decls[0].
Parent
).Type;
14885
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
14913
var type = ((DeclarationExpressionSyntax)decl.
Parent
).Type;
27588
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
27678
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
27949
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
28009
var type = ((VariableDeclarationSyntax)decl.
Parent
).Type;
28231
var type = ((VariableDeclarationSyntax)decls[0].
Parent
).Type;
28279
var type = ((VariableDeclarationSyntax)decls[0].
Parent
).Type;
29364
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
);
1745
Assert.Equal("System.Console.WriteLine(Test)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
1753
Assert.Equal("using alias1 = Test;", nameRef.
Parent
.ToString());
1769
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
1775
Assert.Equal("System.Console.WriteLine(Test)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
1780
Assert.Equal("using alias2 = Test;", nameRef.
Parent
.ToString());
1785
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
1791
Assert.Equal("System.Console.WriteLine(Test)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
1921
Assert.Equal("using alias1 = Test;", nameRef.
Parent
.ToString());
1937
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
1943
Assert.Equal("System.Console.WriteLine(Test)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
1948
Assert.Equal("using alias2 = Test;", nameRef.
Parent
.ToString());
1953
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
1959
Assert.Equal("System.Console.WriteLine(Test)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
2139
Assert.Equal("using alias1 = Test;", nameRef.
Parent
.ToString());
2152
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
2157
Assert.Equal("System.Console.WriteLine(Test())", nameRef.
Parent
.
Parent
.
Parent
.
Parent
.ToString());
2162
Assert.Equal("using alias2 = Test;", nameRef.
Parent
.ToString());
2167
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
2172
Assert.Equal("System.Console.WriteLine(Test())", nameRef.
Parent
.
Parent
.
Parent
.
Parent
.ToString());
2305
Assert.Equal("using alias1 = Test;", nameRef.
Parent
.ToString());
2318
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
2323
Assert.Equal("System.Console.WriteLine(Test())", nameRef.
Parent
.
Parent
.
Parent
.
Parent
.ToString());
2328
Assert.Equal("using alias2 = Test;", nameRef.
Parent
.ToString());
2333
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
2338
Assert.Equal("System.Console.WriteLine(Test())", nameRef.
Parent
.
Parent
.
Parent
.
Parent
.ToString());
2485
Assert.Equal("using alias1 = Test;", nameRef.
Parent
.ToString());
2500
Assert.Equal("goto Test;", nameRef.
Parent
.ToString());
2515
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
2520
Assert.Equal("goto Test;", nameRef.
Parent
.ToString());
2525
Assert.Equal("using alias2 = Test;", nameRef.
Parent
.ToString());
2530
Assert.Equal(": Test", nameRef.
Parent
.
Parent
.ToString());
2536
Assert.Equal("goto Test;", nameRef.
Parent
.ToString());
2955
var nameRef = tree1.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(id => id.Identifier.ValueText == "alias1" && !id.
Parent
.IsKind(SyntaxKind.NameEquals)).Single();
2977
nameRef = tree2.GetRoot().DescendantNodes().OfType<IdentifierNameSyntax>().Where(id => id.Identifier.ValueText == "alias2" && !id.
Parent
.IsKind(SyntaxKind.NameEquals)).Single();
3980
Assert.Equal("using alias1 = args;", nameRef.
Parent
.ToString());
3992
Assert.Equal("System.Console.WriteLine(args)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
4011
Assert.Equal(": args", nameRef.
Parent
.
Parent
.ToString());
4016
Assert.Equal("System.Console.WriteLine(args)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
4021
Assert.Equal("using alias2 = args;", nameRef.
Parent
.ToString());
4026
Assert.Equal(": args", nameRef.
Parent
.
Parent
.ToString());
4031
Assert.Equal("System.Console.WriteLine(args)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
4129
Assert.Equal("using alias1 = args;", nameRef.
Parent
.ToString());
4141
Assert.Equal(": args", nameRef.
Parent
.
Parent
.ToString());
4146
Assert.Equal("System.Console.WriteLine(args)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
4151
Assert.Equal("using alias2 = args;", nameRef.
Parent
.ToString());
4156
Assert.Equal(": args", nameRef.
Parent
.
Parent
.ToString());
4161
Assert.Equal("System.Console.WriteLine(args)", nameRef.
Parent
.
Parent
.
Parent
.ToString());
6546
Assert.True(syntaxTreeModel.TestOnlyMemberModels.ContainsKey(globalStatement.
Parent
));
6548
MemberSemanticModel mm = syntaxTreeModel.TestOnlyMemberModels[globalStatement.
Parent
];
9846
model.TryGetSpeculativeSemanticModel(root.DescendantNodes().Single(n => n is ExpressionStatementSyntax {
Parent
: GlobalStatementSyntax }).Span.End, nodeToSpeculate, out var speculativeModelInTopLevel);
9851
model.TryGetSpeculativeSemanticModel(root.DescendantNodes().Single(n => n is ExpressionStatementSyntax {
Parent
: BlockSyntax }).Span.End, nodeToSpeculate, out var speculativeModelOutsideTopLevel);
Semantics\UnsafeTests.cs (2)
7851
var callSyntax = syntax.
Parent
;
7918
var callSyntax = syntax.
Parent
;
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (35)
Compilation\GetSemanticInfoTests.cs (4)
3641
var cast = (CastExpressionSyntax)literal.
Parent
;
3674
var cast = (CastExpressionSyntax)literal.
Parent
;
3710
var cast1 = (CastExpressionSyntax)literal.
Parent
;
3722
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)
5200
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)
550
case IdentifierNameSyntax id when id.
Parent
is MemberAccessExpressionSyntax memberAccess && memberAccess.Name == node:
553
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
));