1 instantiation of BoundCollectionExpression
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
6467
var result = new
BoundCollectionExpression
(this.Syntax, collectionTypeKind, placeholder, collectionCreation, collectionBuilderMethod, collectionBuilderInvocationPlaceholder, collectionBuilderInvocationConversion, wasTargetTyped, unconvertedCollectionExpression, elements, type, this.HasErrors);
53 references to BoundCollectionExpression
Microsoft.CodeAnalysis.CSharp (53)
Binder\Binder.ValueChecks.cs (3)
4434
return HasLocalScope((
BoundCollectionExpression
)conversion.Operand) ?
4617
private bool HasLocalScope(
BoundCollectionExpression
expr)
5211
if (HasLocalScope((
BoundCollectionExpression
)conversion.Operand) && !SafeContext.CurrentMethod.IsConvertibleTo(escapeTo))
Binder\Binder_Attributes.cs (2)
875
private TypedConstant VisitArrayCollectionExpression(TypeSymbol type,
BoundCollectionExpression
collection, BindingDiagnosticBag diagnostics, ref bool attrHasErrors, bool curArgumentHasErrors)
918
return VisitArrayCollectionExpression(type, (
BoundCollectionExpression
)operand, diagnostics, ref attrHasErrors, curArgumentHasErrors);
Binder\Binder_Invocation.cs (1)
1801
BoundCollectionExpression
converted;
BoundTree\BoundNode.cs (2)
364
BoundCollectionExpression
{ WasCompilerGenerated: true, UnconvertedCollectionExpression.IsParamsArrayOrCollection: true } or
365
BoundConversion { Operand:
BoundCollectionExpression
{ IsParamsArrayOrCollection: true } });
Compilation\CSharpSemanticModel.cs (1)
2173
else if (boundExpr is
BoundCollectionExpression
convertedCollection)
FlowAnalysis\AbstractFlowPass.cs (1)
2075
public override BoundNode VisitCollectionExpression(
BoundCollectionExpression
node)
FlowAnalysis\NullableWalker.cs (8)
3828
public override BoundNode? VisitCollectionExpression(
BoundCollectionExpression
node)
3908
TypeWithState convertCollection(
BoundCollectionExpression
node, TypeWithAnnotations targetCollectionType, ArrayBuilder<Func<TypeWithAnnotations, TypeWithState>> completions)
3935
static NullableFlowState getResultState(
BoundCollectionExpression
node, CollectionExpressionTypeKind collectionKind)
3950
(CollectionExpressionTypeKind, TypeWithAnnotations) getCollectionDetails(
BoundCollectionExpression
node, TypeSymbol collectionType)
4836
BoundCollectionExpression
{ WasTargetTyped: true };
7172
elements = ((
BoundCollectionExpression
)((BoundConversion)argument).Operand).UnconvertedCollectionExpression.Elements.CastArray<BoundExpression>();
8119
var
collection = (
BoundCollectionExpression
)argument;
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
117
public override BoundNode? VisitCollectionExpression(
BoundCollectionExpression
node)
Generated\BoundNodes.xml.Generated.cs (10)
6463
public
BoundCollectionExpression
Update(CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundValuePlaceholder? collectionBuilderInvocationPlaceholder, BoundExpression? collectionBuilderInvocationConversion, bool wasTargetTyped, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type)
6467
var
result = new BoundCollectionExpression(this.Syntax, collectionTypeKind, placeholder, collectionCreation, collectionBuilderMethod, collectionBuilderInvocationPlaceholder, collectionBuilderInvocationConversion, wasTargetTyped, unconvertedCollectionExpression, elements, type, this.HasErrors);
9204
return VisitCollectionExpression((
BoundCollectionExpression
)node, arg);
9507
public virtual R VisitCollectionExpression(
BoundCollectionExpression
node, A arg) => this.DefaultVisit(node, arg);
9743
public virtual BoundNode? VisitCollectionExpression(
BoundCollectionExpression
node) => this.DefaultVisit(node);
10527
public override BoundNode? VisitCollectionExpression(
BoundCollectionExpression
node)
11925
public override BoundNode? VisitCollectionExpression(
BoundCollectionExpression
node)
14220
public override BoundNode? VisitCollectionExpression(
BoundCollectionExpression
node)
14229
BoundCollectionExpression
updatedNode;
16647
public override TreeDumperNode VisitCollectionExpression(
BoundCollectionExpression
node, object? arg) => new TreeDumperNode("collectionExpression", null, new TreeDumperNode[]
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
1101
public override BoundNode VisitCollectionExpression(
BoundCollectionExpression
node)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (16)
20
public override BoundNode? VisitCollectionExpression(
BoundCollectionExpression
node)
31
private BoundExpression RewriteCollectionExpressionConversion(Conversion conversion,
BoundCollectionExpression
node)
99
static bool useListOptimization(CSharpCompilation compilation,
BoundCollectionExpression
node)
133
static BoundNode unwrapListElement(
BoundCollectionExpression
node, BoundNode element)
160
private bool TryRewriteSingleElementSpreadToList(
BoundCollectionExpression
node, TypeWithAnnotations listElementType, [NotNullWhen(true)] out BoundExpression? result)
217
private static bool CanOptimizeSingleSpreadAsCollectionBuilderArgument(
BoundCollectionExpression
node, [NotNullWhen(true)] out BoundExpression? spreadExpression)
235
private BoundExpression VisitImmutableArrayCollectionExpression(
BoundCollectionExpression
node, TypeWithAnnotations elementType, MethodSymbol asImmutableArray)
246
private BoundExpression VisitArrayOrSpanCollectionExpression(
BoundCollectionExpression
node, CollectionExpressionTypeKind collectionTypeKind, TypeSymbol collectionType, TypeWithAnnotations elementType)
332
private BoundExpression VisitCollectionInitializerCollectionExpression(
BoundCollectionExpression
node, TypeSymbol collectionType)
394
private BoundExpression VisitListInterfaceCollectionExpression(
BoundCollectionExpression
node)
459
BoundExpression createArray(
BoundCollectionExpression
node, ArrayTypeSymbol arrayType)
468
private BoundExpression VisitCollectionBuilderCollectionExpression(
BoundCollectionExpression
node)
630
private static bool ShouldUseKnownLength(
BoundCollectionExpression
node, out int numberIncludingLastSpread)
657
private BoundExpression? TryOptimizeSingleSpreadToArray(
BoundCollectionExpression
node, ArrayTypeSymbol arrayType)
719
private BoundExpression CreateAndPopulateArray(
BoundCollectionExpression
node, ArrayTypeSymbol arrayType)
1021
private BoundExpression CreateAndPopulateList(
BoundCollectionExpression
node, TypeWithAnnotations elementType, ImmutableArray<BoundNode> elements)
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (2)
62
var rewrittenCollection = RewriteCollectionExpressionConversion(node.Conversion.UnderlyingConversions[0], (
BoundCollectionExpression
)node.Operand);
66
return RewriteCollectionExpressionConversion(node.Conversion, (
BoundCollectionExpression
)node.Operand);
Operations\CSharpOperationFactory.cs (5)
104
return CreateBoundCollectionExpression((
BoundCollectionExpression
)boundNode);
1223
private ICollectionExpressionOperation CreateBoundCollectionExpression(
BoundCollectionExpression
expr)
1238
static MethodSymbol? getConstructMethod(CSharpCompilation compilation,
BoundCollectionExpression
expr)
1258
private IOperation CreateBoundCollectionExpressionElement(
BoundCollectionExpression
expr, BoundNode element)
1265
private ISpreadOperation CreateBoundCollectionExpressionSpreadElement(
BoundCollectionExpression
expr, BoundCollectionExpressionSpreadElement element)