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