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