2 implementations of ChildOperations
Microsoft.CodeAnalysis (1)
Operations\Operation.cs (1)
110public IOperation.OperationList ChildOperations => new IOperation.OperationList(this);
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (1)
Semantics\CollectionExpressionTests.cs (1)
27104IOperation.OperationList IOperation.ChildOperations => throw null;
191 references to ChildOperations
ConfigurationSchemaGenerator (2)
RuntimeSource\Configuration.Binder\Parser\ConfigurationBinder.cs (2)
172ITypeOfOperation? typeOfOperation = GetArgumentForParameterAtIndex(operation.Arguments, 1).ChildOperations.FirstOrDefault() as ITypeOfOperation; 227ITypeOfOperation? typeOfOperation = GetArgumentForParameterAtIndex(operation.Arguments, 1).ChildOperations.FirstOrDefault() as ITypeOfOperation;
ILLink.RoslynAnalyzer (1)
DataFlow\OperationWalker.cs (1)
16 foreach (var child in operation.ChildOperations)
Microsoft.Analyzers.Extra (6)
AsyncCallInsideUsingBlockAnalyzer.cs (1)
213.ChildOperations
CallAnalysis\Fixers\LegacyLoggingFixer.FixDetails.cs (5)
45var children = op.ChildOperations.ToArray(); 61foreach (var o in children[0].ChildOperations) 66_ = sb.Append(stringOp.ChildOperations.First().ConstantValue.Value as string); 70var operation = intOp.ChildOperations.First(); 92interpolationArgs.Add(intOp.ChildOperations.First());
Microsoft.AspNetCore.App.Analyzers (7)
Authorization\AddAuthorizationBuilderAnalyzer.cs (4)
76var allOperationsInvolveAuthorizationOptions = configureBlockOperation.ChildOperations 105if (configureArgumentOperation is { ChildOperations: { Count: 1 } argumentChildOperations } 119if (configureDelegateCreationOperation is { ChildOperations: { Count: 1 } delegateCreationChildOperations } 133if (configureAnonymousFunctionOperation is { ChildOperations: { Count: 1 } anonymousFunctionChildOperations }
RouteHandlers\DetectMisplacedLambdaAttribute.cs (3)
28if (lambda.ChildOperations.Count != 1 || lambda.ChildOperations.FirstOrDefault() is not IBlockOperation blockOperation) 73foreach (var op in Enumerable.Reverse(blockOperation.ChildOperations))
Microsoft.CodeAnalysis (8)
Operations\ControlFlowGraphBuilder.cs (4)
1623Debug.Assert(rewrittenThrow.ChildOperations.IsEmpty()); 1641Debug.Assert(rewrittenThrow.ChildOperations.IsEmpty()); 2930Debug.Assert(rewrittenThrow.ChildOperations.IsEmpty()); 3072Debug.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)]
Operations\OperationExtensions.cs (2)
97stack.Push(operation.ChildOperations.GetEnumerator()); 117stack.Push(current.ChildOperations.GetEnumerator());
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
src\Analyzers\Core\CodeFixes\UseConditionalExpression\ForAssignment\AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
264foreach (var child in operation.ChildOperations)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (1)
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (1)
483return operation.ChildOperations.All(IsSafeAssignment);
Microsoft.CodeAnalysis.CSharp.Features (1)
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (1)
483return 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)
12075foreach (var child in iop.ChildOperations)
Microsoft.CodeAnalysis.Features (3)
src\Analyzers\Core\CodeFixes\UseConditionalExpression\ForAssignment\AbstractUseConditionalExpressionForAssignmentCodeFixProvider.cs (1)
264foreach (var child in operation.ChildOperations)
ValueTracking\ValueTracker.OperationCollector.cs (2)
90foreach (var child in operation.ChildOperations) 95return operation.ChildOperations.Any();
Microsoft.CodeAnalysis.Test.Utilities (144)
CommonTestBase.cs (1)
618foreach (var child in operation.ChildOperations)
Compilation\OperationTreeVerifier.cs (2)
384Debug.Assert(operation.ChildOperations.All(o => o != null)); 386var children = operation.ChildOperations.ToImmutableArray();
Compilation\TestOperationVisitor.cs (141)
68foreach (IOperation child in operation.ChildOperations) 78Assert.Same(builder[0], operation.ChildOperations.First()); 79Assert.Same(builder[^1], operation.ChildOperations.Last()); 81var forwards = operation.ChildOperations.GetEnumerator(); 88var reversed = operation.ChildOperations.Reverse().GetEnumerator(); 97Assert.Throws<InvalidOperationException>(() => operation.ChildOperations.First()); 98Assert.Throws<InvalidOperationException>(() => operation.ChildOperations.Last()); 101foreach (IOperation child in operation.ChildOperations.Reverse()) 123AssertEx.Equal(operation.Operations, operation.ChildOperations); 129AssertEx.Equal(operation.Declarations, operation.ChildOperations); 144AssertEx.Equal(children, operation.ChildOperations); 158AssertEx.Equal(children, operation.ChildOperations); 166AssertEx.Equal(new[] { operation.Value }.Concat(operation.Cases), operation.ChildOperations); 173AssertEx.Equal(operation.Clauses.Concat(operation.Body), operation.ChildOperations); 218AssertEx.Equal(new[] { operation.Value }, operation.ChildOperations); 233AssertEx.Equal(new[] { operation.Value }, operation.ChildOperations); 240Assert.Empty(operation.ChildOperations); 286AssertEx.Equal(children, operation.ChildOperations); 306AssertEx.Equal(children, operation.ChildOperations); 327AssertEx.Equal(children, operation.ChildOperations); 336AssertEx.Equal(children, operation.ChildOperations); 373Assert.Empty(operation.ChildOperations); 377Assert.Same(operation.Operation, operation.ChildOperations.Single()); 397Assert.Empty(operation.ChildOperations); 403Assert.Empty(operation.ChildOperations); 412Assert.Empty(operation.ChildOperations); 416Assert.Same(operation.ReturnedValue, operation.ChildOperations.Single()); 423AssertEx.Equal(new[] { operation.LockedValue, operation.Body }, operation.ChildOperations); 437AssertEx.Equal(children, operation.ChildOperations); 458AssertEx.Equal(children, operation.ChildOperations); 465AssertEx.Equal(new[] { operation.Resources, operation.Body }, operation.ChildOperations); 485AssertEx.Equal(new[] { operation.Variables, operation.Body }, operation.ChildOperations); 491AssertEx.Equal(operation.Elements, operation.ChildOperations); 497Assert.Same(operation.Operand, operation.ChildOperations.Single()); 503AssertEx.Equal(new[] { operation.Group, operation.Aggregation }, operation.ChildOperations); 509Assert.Same(operation.Operation, operation.ChildOperations.Single()); 515AssertEx.Equal(new[] { operation.Value, operation.Body }, operation.ChildOperations); 521Assert.Empty(operation.ChildOperations); 527Assert.Empty(operation.ChildOperations); 552AssertEx.Equal(children, operation.ChildOperations); 574AssertEx.Equal(children, operation.ChildOperations); 583Assert.Same(operation.Value, operation.ChildOperations.Single()); 596Assert.Empty(operation.ChildOperations); 602AssertEx.Equal(new[] { operation.ArrayReference }.Concat(operation.Indices), operation.ChildOperations); 608AssertEx.Equal(new[] { operation.Instance, operation.Argument }, operation.ChildOperations); 617AssertEx.Equal(new[] { operation.Instance, operation.Argument }, operation.ChildOperations); 623Assert.Same(operation.Pointer, operation.ChildOperations.Single()); 631Assert.Empty(operation.ChildOperations); 638Assert.Empty(operation.ChildOperations); 644Assert.Empty(operation.ChildOperations); 677AssertEx.Equal(children, operation.ChildOperations); 724AssertEx.Equal(new[] { operation.EventReference, operation.HandlerValue }, operation.ChildOperations); 731AssertEx.Equal(new[] { operation.Operation, operation.WhenNotNull }, operation.ChildOperations); 737Assert.Empty(operation.ChildOperations); 743Assert.Empty(operation.ChildOperations); 756Assert.Same(operation.Operand, operation.ChildOperations.Single()); 791AssertEx.Equal(new[] { operation.LeftOperand, operation.RightOperand }, operation.ChildOperations); 836AssertEx.Equal(new[] { operation.LeftOperand, operation.RightOperand }, operation.ChildOperations); 864Assert.Same(operation.Operand, operation.ChildOperations.Single()); 894AssertEx.Equal(new[] { operation.Condition, operation.WhenTrue, operation.WhenFalse }, operation.ChildOperations); 898AssertEx.Equal(new[] { operation.Condition, operation.WhenTrue }, operation.ChildOperations); 905AssertEx.Equal(new[] { operation.Value, operation.WhenNull }, operation.ChildOperations); 912AssertEx.Equal(new[] { operation.Target, operation.Value }, operation.ChildOperations); 920Assert.Same(operation.ValueOperand, operation.ChildOperations.Single()); 927Assert.Empty(operation.ChildOperations); 934Assert.Empty(operation.ChildOperations); 941Assert.Same(operation.Body, operation.ChildOperations.Single()); 948Assert.Empty(operation.ChildOperations); 958var children = operation.ChildOperations.ToImmutableArray(); 973Assert.Empty(operation.ChildOperations); 980Assert.Empty(operation.ChildOperations); 986Assert.Empty(operation.ChildOperations); 993Assert.Same(operation.Operation, operation.ChildOperations.Single()); 999Assert.Same(operation.Argument, operation.ChildOperations.Single()); 1007Assert.Empty(operation.ChildOperations); 1011Assert.Same(operation.Exception, operation.ChildOperations.Single()); 1018Assert.Same(operation.Reference, operation.ChildOperations.Single()); 1043AssertEx.Equal(children, operation.ChildOperations); 1049AssertEx.Equal(operation.Initializers, operation.ChildOperations); 1070AssertEx.Equal(children, operation.ChildOperations); 1076AssertEx.Equal(new[] { operation.Operation }.Concat(operation.Arguments), operation.ChildOperations); 1082AssertEx.Equal(new[] { operation.Operation }.Concat(operation.Arguments), operation.ChildOperations); 1088AssertEx.Equal(operation.Initializers, operation.ChildOperations); 1094AssertEx.Equal(new[] { operation.InitializedMember, operation.Initializer }, operation.ChildOperations); 1100Assert.Same(operation.Value, operation.ChildOperations.Single()); 1147AssertEx.Equal(children, operation.ChildOperations); 1154AssertEx.Equal(operation.ElementValues, operation.ChildOperations); 1159AssertEx.Equal(new[] { operation.Target, operation.Value }, operation.ChildOperations); 1207Assert.Same(operation.Target, operation.ChildOperations.Single()); 1213Assert.Same(operation.Operand, operation.ChildOperations.Single()); 1230Assert.Empty(operation.ChildOperations); 1234Assert.Same(operation.Instance, operation.ChildOperations.Single()); 1241Assert.Empty(operation.ChildOperations); 1249Assert.Empty(operation.ChildOperations); 1253Assert.Same(operation.Initializer, operation.ChildOperations.Single()); 1262Assert.Empty(operation.ChildOperations); 1266Assert.Same(operation.Initializer, operation.ChildOperations.Single()); 1279AssertEx.Equal(operation.Elements, operation.ChildOperations); 1285AssertEx.Equal(operation.Parts, operation.ChildOperations); 1295Assert.Same(operation.Text, operation.ChildOperations.Single()); 1316AssertEx.Equal(children, operation.ChildOperations); 1323AssertEx.Equal(children, operation.ChildOperations); 1333AssertEx.Equal(new[] { operation.Left, operation.Right }, operation.ChildOperations); 1370Assert.Same(operation.Value, operation.ChildOperations.Single()); 1383Assert.Same(operation.Value, operation.ChildOperations.Single()); 1391var children = operation.ChildOperations.ToArray(); 1401Assert.Same(operation.Pattern, operation.ChildOperations.Single()); 1409Assert.Empty(operation.ChildOperations); 1442Assert.Empty(operation.ChildOperations); 1452Assert.Same(operation.Pattern, operation.ChildOperations.Single()); 1456Assert.Empty(operation.ChildOperations); 1475AssertEx.Equal(children, operation.ChildOperations); 1519AssertEx.Equal(children, operation.ChildOperations); 1526AssertEx.Equal(children, operation.ChildOperations); 1555AssertEx.Equal(children, operation.ChildOperations); 1569AssertEx.Equal(children, operation.ChildOperations); 1575AssertEx.Equal(new[] { operation.Value, operation.Pattern }, operation.ChildOperations); 1586AssertEx.Equal(new[] { operation.Pattern, operation.Guard }, operation.ChildOperations); 1590Assert.Same(operation.Pattern, operation.ChildOperations.Single()); 1597Assert.Same(operation.Operation, operation.ChildOperations.Single()); 1603Assert.Same(operation.Expression, operation.ChildOperations.Single()); 1615Assert.Same(operation.Target, operation.ChildOperations.Single()); 1621AssertEx.Equal(new IOperation[] { operation.EventReference }.Concat(operation.Arguments), operation.ChildOperations); 1628AssertEx.Equal(new[] { operation.MinimumValue, operation.MaximumValue }, operation.ChildOperations); 1654AssertEx.Equal(builder, operation.ChildOperations); 1667AssertEx.Equal(new[] { operation.BlockBody, operation.ExpressionBody }, operation.ChildOperations); 1671Assert.Same(operation.BlockBody, operation.ChildOperations.Single()); 1676Assert.Same(operation.ExpressionBody, operation.ChildOperations.Single()); 1680Assert.Empty(operation.ChildOperations); 1687Assert.Empty(operation.ChildOperations); 1697Assert.Empty(operation.ChildOperations); 1704Assert.Same(operation.Value, operation.ChildOperations.Single()); 1736Assert.Empty(operation.ChildOperations); 1743Assert.Same(operation.Operand, operation.ChildOperations.Single()); 1750Assert.Empty(operation.ChildOperations); 1757Assert.Empty(operation.ChildOperations); 1766IOperation[] children = operation.ChildOperations.ToArray(); 1786AssertEx.Equal(operation.Clauses, operation.ChildOperations); 1793AssertEx.Equal(SpecializedCollections.SingletonEnumerable(operation.Operand).Concat(operation.DimensionSizes), operation.ChildOperations); 1799AssertEx.Equal(SpecializedCollections.SingletonEnumerable(operation.DeclarationGroup), operation.ChildOperations); 1822AssertEx.Equal(children, operation.ChildOperations);
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (1)
Semantics\BinaryOperators.vb (1)
1521For Each child In iop.ChildOperations
Microsoft.CodeAnalysis.Workspaces (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Utilities\NullableHelpers.cs (1)
128foreach (var childOperation in operation.ChildOperations.Reverse())