1 implementation of ChildOperations
Microsoft.CodeAnalysis (1)
Operations\Operation.cs (1)
111
public IOperation.OperationList
ChildOperations
=> new IOperation.OperationList(this);
170 references to ChildOperations
Microsoft.CodeAnalysis (6)
Operations\ControlFlowGraphBuilder.cs (4)
1617
Debug.Assert(rewrittenThrow.
ChildOperations
.IsEmpty());
1635
Debug.Assert(rewrittenThrow.
ChildOperations
.IsEmpty());
2913
Debug.Assert(rewrittenThrow.
ChildOperations
.IsEmpty());
3055
Debug.Assert(rewrittenThrow.
ChildOperations
.IsEmpty());
Operations\IOperation.cs (2)
48
/// An array of child operations for this operation. Deprecated: please use <see cref="
ChildOperations
"/>.
50
[Obsolete($"This API has performance penalties, please use {nameof(
ChildOperations
)} instead.", error: false)]
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
257
foreach (var child in operation.
ChildOperations
)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (1)
ConvertToRecordHelpers.cs (1)
481
return operation.
ChildOperations
.All(IsSafeAssignment);
Microsoft.CodeAnalysis.CSharp.Features (1)
ConvertToRecordHelpers.cs (1)
481
return operation.
ChildOperations
.All(IsSafeAssignment);
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (14)
IOperation\IOperationTests_IVariableDeclaration.cs (14)
613
Assert.Equal(2, declarator.
ChildOperations
.Count());
614
Assert.Equal(OperationKind.Literal, declarator.
ChildOperations
.First().Kind);
615
Assert.Equal(OperationKind.VariableInitializer, declarator.
ChildOperations
.ElementAt(1).Kind);
635
Assert.Equal(1, declarator.
ChildOperations
.Count());
636
Assert.Equal(OperationKind.Literal, declarator.
ChildOperations
.First().Kind);
656
Assert.Equal(1, declarator.
ChildOperations
.Count());
657
Assert.Equal(OperationKind.VariableInitializer, declarator.
ChildOperations
.ElementAt(0).Kind);
676
Assert.Empty(operation.
ChildOperations
);
851
Assert.Equal(2, declaration.
ChildOperations
.Count());
852
Assert.Equal(OperationKind.Literal, declaration.
ChildOperations
.First().Kind);
853
Assert.Equal(OperationKind.VariableDeclarator, declaration.
ChildOperations
.ElementAt(1).Kind);
873
Assert.Equal(2, declaration.
ChildOperations
.Count());
874
Assert.Equal(OperationKind.Literal, declaration.
ChildOperations
.First().Kind);
875
Assert.Equal(OperationKind.VariableDeclarator, declaration.
ChildOperations
.ElementAt(1).Kind);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (1)
Semantics\OperatorTests.cs (1)
11434
foreach (var child in iop.
ChildOperations
)
Microsoft.CodeAnalysis.Features (3)
AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
257
foreach (var child in operation.
ChildOperations
)
ValueTracking\ValueTracker.OperationCollector.cs (2)
95
foreach (var child in operation.
ChildOperations
)
100
return operation.
ChildOperations
.Any();
Microsoft.CodeAnalysis.Test.Utilities (141)
CommonTestBase.cs (1)
584
foreach (var child in operation.
ChildOperations
)
Compilation\OperationTreeVerifier.cs (2)
397
Debug.Assert(operation.
ChildOperations
.All(o => o != null));
399
var children = operation.
ChildOperations
.ToImmutableArray();
Compilation\TestOperationVisitor.cs (138)
67
foreach (IOperation child in operation.
ChildOperations
)
77
Assert.Same(builder[0], operation.
ChildOperations
.First());
78
Assert.Same(builder[^1], operation.
ChildOperations
.Last());
80
var forwards = operation.
ChildOperations
.GetEnumerator();
87
var reversed = operation.
ChildOperations
.Reverse().GetEnumerator();
96
Assert.Throws<InvalidOperationException>(() => operation.
ChildOperations
.First());
97
Assert.Throws<InvalidOperationException>(() => operation.
ChildOperations
.Last());
100
foreach (IOperation child in operation.
ChildOperations
.Reverse())
122
AssertEx.Equal(operation.Operations, operation.
ChildOperations
);
128
AssertEx.Equal(operation.Declarations, operation.
ChildOperations
);
143
AssertEx.Equal(children, operation.
ChildOperations
);
157
AssertEx.Equal(children, operation.
ChildOperations
);
165
AssertEx.Equal(new[] { operation.Value }.Concat(operation.Cases), operation.
ChildOperations
);
172
AssertEx.Equal(operation.Clauses.Concat(operation.Body), operation.
ChildOperations
);
217
AssertEx.Equal(new[] { operation.Value }, operation.
ChildOperations
);
232
AssertEx.Equal(new[] { operation.Value }, operation.
ChildOperations
);
239
Assert.Empty(operation.
ChildOperations
);
285
AssertEx.Equal(children, operation.
ChildOperations
);
305
AssertEx.Equal(children, operation.
ChildOperations
);
326
AssertEx.Equal(children, operation.
ChildOperations
);
335
AssertEx.Equal(children, operation.
ChildOperations
);
372
Assert.Empty(operation.
ChildOperations
);
376
Assert.Same(operation.Operation, operation.
ChildOperations
.Single());
396
Assert.Empty(operation.
ChildOperations
);
402
Assert.Empty(operation.
ChildOperations
);
411
Assert.Empty(operation.
ChildOperations
);
415
Assert.Same(operation.ReturnedValue, operation.
ChildOperations
.Single());
422
AssertEx.Equal(new[] { operation.LockedValue, operation.Body }, operation.
ChildOperations
);
436
AssertEx.Equal(children, operation.
ChildOperations
);
457
AssertEx.Equal(children, operation.
ChildOperations
);
464
AssertEx.Equal(new[] { operation.Resources, operation.Body }, operation.
ChildOperations
);
484
AssertEx.Equal(new[] { operation.Variables, operation.Body }, operation.
ChildOperations
);
490
AssertEx.Equal(new[] { operation.Group, operation.Aggregation }, operation.
ChildOperations
);
496
Assert.Same(operation.Operation, operation.
ChildOperations
.Single());
502
AssertEx.Equal(new[] { operation.Value, operation.Body }, operation.
ChildOperations
);
508
Assert.Empty(operation.
ChildOperations
);
514
Assert.Empty(operation.
ChildOperations
);
539
AssertEx.Equal(children, operation.
ChildOperations
);
561
AssertEx.Equal(children, operation.
ChildOperations
);
570
Assert.Same(operation.Value, operation.
ChildOperations
.Single());
583
Assert.Empty(operation.
ChildOperations
);
589
AssertEx.Equal(new[] { operation.ArrayReference }.Concat(operation.Indices), operation.
ChildOperations
);
595
AssertEx.Equal(new[] { operation.Instance, operation.Argument }, operation.
ChildOperations
);
604
Assert.Same(operation.Pointer, operation.
ChildOperations
.Single());
612
Assert.Empty(operation.
ChildOperations
);
619
Assert.Empty(operation.
ChildOperations
);
625
Assert.Empty(operation.
ChildOperations
);
658
AssertEx.Equal(children, operation.
ChildOperations
);
705
AssertEx.Equal(new[] { operation.EventReference, operation.HandlerValue }, operation.
ChildOperations
);
712
AssertEx.Equal(new[] { operation.Operation, operation.WhenNotNull }, operation.
ChildOperations
);
718
Assert.Empty(operation.
ChildOperations
);
724
Assert.Empty(operation.
ChildOperations
);
737
Assert.Same(operation.Operand, operation.
ChildOperations
.Single());
772
AssertEx.Equal(new[] { operation.LeftOperand, operation.RightOperand }, operation.
ChildOperations
);
817
AssertEx.Equal(new[] { operation.LeftOperand, operation.RightOperand }, operation.
ChildOperations
);
845
Assert.Same(operation.Operand, operation.
ChildOperations
.Single());
875
AssertEx.Equal(new[] { operation.Condition, operation.WhenTrue, operation.WhenFalse }, operation.
ChildOperations
);
879
AssertEx.Equal(new[] { operation.Condition, operation.WhenTrue }, operation.
ChildOperations
);
886
AssertEx.Equal(new[] { operation.Value, operation.WhenNull }, operation.
ChildOperations
);
893
AssertEx.Equal(new[] { operation.Target, operation.Value }, operation.
ChildOperations
);
901
Assert.Same(operation.ValueOperand, operation.
ChildOperations
.Single());
908
Assert.Empty(operation.
ChildOperations
);
915
Assert.Empty(operation.
ChildOperations
);
922
Assert.Same(operation.Body, operation.
ChildOperations
.Single());
929
Assert.Empty(operation.
ChildOperations
);
939
var children = operation.
ChildOperations
.ToImmutableArray();
954
Assert.Empty(operation.
ChildOperations
);
961
Assert.Empty(operation.
ChildOperations
);
967
Assert.Empty(operation.
ChildOperations
);
974
Assert.Same(operation.Operation, operation.
ChildOperations
.Single());
980
Assert.Same(operation.Argument, operation.
ChildOperations
.Single());
988
Assert.Empty(operation.
ChildOperations
);
992
Assert.Same(operation.Exception, operation.
ChildOperations
.Single());
999
Assert.Same(operation.Reference, operation.
ChildOperations
.Single());
1024
AssertEx.Equal(children, operation.
ChildOperations
);
1030
AssertEx.Equal(operation.Initializers, operation.
ChildOperations
);
1051
AssertEx.Equal(children, operation.
ChildOperations
);
1057
AssertEx.Equal(new[] { operation.Operation }.Concat(operation.Arguments), operation.
ChildOperations
);
1063
AssertEx.Equal(new[] { operation.Operation }.Concat(operation.Arguments), operation.
ChildOperations
);
1069
AssertEx.Equal(operation.Initializers, operation.
ChildOperations
);
1075
AssertEx.Equal(new[] { operation.InitializedMember, operation.Initializer }, operation.
ChildOperations
);
1081
Assert.Same(operation.Value, operation.
ChildOperations
.Single());
1128
AssertEx.Equal(children, operation.
ChildOperations
);
1135
AssertEx.Equal(operation.ElementValues, operation.
ChildOperations
);
1140
AssertEx.Equal(new[] { operation.Target, operation.Value }, operation.
ChildOperations
);
1188
Assert.Same(operation.Target, operation.
ChildOperations
.Single());
1194
Assert.Same(operation.Operand, operation.
ChildOperations
.Single());
1211
Assert.Empty(operation.
ChildOperations
);
1215
Assert.Same(operation.Instance, operation.
ChildOperations
.Single());
1222
Assert.Empty(operation.
ChildOperations
);
1230
Assert.Empty(operation.
ChildOperations
);
1234
Assert.Same(operation.Initializer, operation.
ChildOperations
.Single());
1243
Assert.Empty(operation.
ChildOperations
);
1247
Assert.Same(operation.Initializer, operation.
ChildOperations
.Single());
1260
AssertEx.Equal(operation.Elements, operation.
ChildOperations
);
1266
AssertEx.Equal(operation.Parts, operation.
ChildOperations
);
1276
Assert.Same(operation.Text, operation.
ChildOperations
.Single());
1297
AssertEx.Equal(children, operation.
ChildOperations
);
1304
AssertEx.Equal(children, operation.
ChildOperations
);
1314
AssertEx.Equal(new[] { operation.Left, operation.Right }, operation.
ChildOperations
);
1351
Assert.Same(operation.Value, operation.
ChildOperations
.Single());
1364
Assert.Same(operation.Value, operation.
ChildOperations
.Single());
1372
var children = operation.
ChildOperations
.ToArray();
1382
Assert.Same(operation.Pattern, operation.
ChildOperations
.Single());
1390
Assert.Empty(operation.
ChildOperations
);
1423
Assert.Empty(operation.
ChildOperations
);
1433
Assert.Same(operation.Pattern, operation.
ChildOperations
.Single());
1437
Assert.Empty(operation.
ChildOperations
);
1456
AssertEx.Equal(children, operation.
ChildOperations
);
1500
AssertEx.Equal(children, operation.
ChildOperations
);
1507
AssertEx.Equal(children, operation.
ChildOperations
);
1536
AssertEx.Equal(children, operation.
ChildOperations
);
1550
AssertEx.Equal(children, operation.
ChildOperations
);
1556
AssertEx.Equal(new[] { operation.Value, operation.Pattern }, operation.
ChildOperations
);
1567
AssertEx.Equal(new[] { operation.Pattern, operation.Guard }, operation.
ChildOperations
);
1571
Assert.Same(operation.Pattern, operation.
ChildOperations
.Single());
1578
Assert.Same(operation.Operation, operation.
ChildOperations
.Single());
1584
Assert.Same(operation.Expression, operation.
ChildOperations
.Single());
1596
Assert.Same(operation.Target, operation.
ChildOperations
.Single());
1602
AssertEx.Equal(new IOperation[] { operation.EventReference }.Concat(operation.Arguments), operation.
ChildOperations
);
1609
AssertEx.Equal(new[] { operation.MinimumValue, operation.MaximumValue }, operation.
ChildOperations
);
1635
AssertEx.Equal(builder, operation.
ChildOperations
);
1648
AssertEx.Equal(new[] { operation.BlockBody, operation.ExpressionBody }, operation.
ChildOperations
);
1652
Assert.Same(operation.BlockBody, operation.
ChildOperations
.Single());
1657
Assert.Same(operation.ExpressionBody, operation.
ChildOperations
.Single());
1661
Assert.Empty(operation.
ChildOperations
);
1668
Assert.Empty(operation.
ChildOperations
);
1678
Assert.Empty(operation.
ChildOperations
);
1685
Assert.Same(operation.Value, operation.
ChildOperations
.Single());
1717
Assert.Empty(operation.
ChildOperations
);
1724
Assert.Same(operation.Operand, operation.
ChildOperations
.Single());
1731
Assert.Empty(operation.
ChildOperations
);
1738
Assert.Empty(operation.
ChildOperations
);
1747
IOperation[] children = operation.
ChildOperations
.ToArray();
1767
AssertEx.Equal(operation.Clauses, operation.
ChildOperations
);
1774
AssertEx.Equal(SpecializedCollections.SingletonEnumerable(operation.Operand).Concat(operation.DimensionSizes), operation.
ChildOperations
);
1780
AssertEx.Equal(SpecializedCollections.SingletonEnumerable(operation.DeclarationGroup), operation.
ChildOperations
);
1803
AssertEx.Equal(children, operation.
ChildOperations
);
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (1)
Semantics\BinaryOperators.vb (1)
1521
For Each child In iop.
ChildOperations
Roslyn.Compilers.VisualBasic.IOperation.UnitTests (1)
IOperation\IOperationTests_IConversionExpression.vb (1)
2601
Return DirectCast(initializerValue, IInvalidOperation).
ChildOperations
.Cast(Of IConversionOperation).Single()