1 instantiation of BoundCollectionExpression
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
6456var result = new BoundCollectionExpression(this.Syntax, collectionTypeKind, placeholder, collectionCreation, collectionBuilderMethod, collectionBuilderInvocationPlaceholder, collectionBuilderInvocationConversion, wasTargetTyped, unconvertedCollectionExpression, elements, type, this.HasErrors);
59 references to BoundCollectionExpression
Microsoft.CodeAnalysis.CSharp (59)
Binder\Binder.ValueChecks.cs (3)
4438return HasLocalScope((BoundCollectionExpression)conversion.Operand) ? 4630private bool HasLocalScope(BoundCollectionExpression expr) 5224if (HasLocalScope((BoundCollectionExpression)conversion.Operand) && !SafeContext.CurrentMethod.IsConvertibleTo(escapeTo))
Binder\Binder_Attributes.cs (2)
875private TypedConstant VisitArrayCollectionExpression(TypeSymbol type, BoundCollectionExpression collection, BindingDiagnosticBag diagnostics, ref bool attrHasErrors, bool curArgumentHasErrors) 918return VisitArrayCollectionExpression(type, (BoundCollectionExpression)operand, diagnostics, ref attrHasErrors, curArgumentHasErrors);
Binder\Binder_Conversions.cs (5)
237var collectionExpression = ConvertCollectionExpression( 807private BoundCollectionExpression ConvertCollectionExpression( 1646internal static BoundExpression GetUnderlyingCollectionExpressionElement(BoundCollectionExpression expr, BoundExpression element, bool throwOnErrors) 1695else if (arg is BoundConversion { Operand: BoundCollectionExpression { Elements: [BoundExpression collectionElement] } }) 1728private BoundCollectionExpression BindCollectionExpressionForErrorRecovery(
Binder\Binder_Invocation.cs (1)
1803BoundCollectionExpression converted;
BoundTree\BoundNode.cs (2)
364BoundCollectionExpression { WasCompilerGenerated: true, UnconvertedCollectionExpression.IsParamsArrayOrCollection: true } or 365BoundConversion { Operand: BoundCollectionExpression { IsParamsArrayOrCollection: true } });
Compilation\CSharpSemanticModel.cs (1)
2176else if (boundExpr is BoundCollectionExpression convertedCollection)
FlowAnalysis\AbstractFlowPass.cs (1)
2074public override BoundNode VisitCollectionExpression(BoundCollectionExpression node)
FlowAnalysis\NullableWalker.cs (9)
3844public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 3881void visitElement(BoundNode element, BoundCollectionExpression node, TypeWithAnnotations targetElementType, ArrayBuilder<Func<TypeWithAnnotations, TypeSymbol, TypeWithState>> elementConversionCompletions) 3973TypeWithState convertCollection(BoundCollectionExpression node, TypeWithAnnotations targetCollectionType, ArrayBuilder<Func<TypeWithAnnotations, TypeSymbol, TypeWithState>> completions) 4000static NullableFlowState getResultState(BoundCollectionExpression node, CollectionExpressionTypeKind collectionKind) 4015(CollectionExpressionTypeKind, TypeWithAnnotations) getCollectionDetails(BoundCollectionExpression node, TypeSymbol collectionType) 4906BoundCollectionExpression { WasTargetTyped: true }; 7461elements = ((BoundCollectionExpression)((BoundConversion)argument).Operand).UnconvertedCollectionExpression.Elements.CastArray<BoundExpression>(); 8419var collection = (BoundCollectionExpression)argument;
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
117public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node)
Generated\BoundNodes.xml.Generated.cs (10)
6452public BoundCollectionExpression Update(CollectionExpressionTypeKind collectionTypeKind, BoundObjectOrCollectionValuePlaceholder? placeholder, BoundExpression? collectionCreation, MethodSymbol? collectionBuilderMethod, BoundValuePlaceholder? collectionBuilderInvocationPlaceholder, BoundExpression? collectionBuilderInvocationConversion, bool wasTargetTyped, BoundUnconvertedCollectionExpression unconvertedCollectionExpression, ImmutableArray<BoundNode> elements, TypeSymbol type) 6456var result = new BoundCollectionExpression(this.Syntax, collectionTypeKind, placeholder, collectionCreation, collectionBuilderMethod, collectionBuilderInvocationPlaceholder, collectionBuilderInvocationConversion, wasTargetTyped, unconvertedCollectionExpression, elements, type, this.HasErrors); 9193return VisitCollectionExpression((BoundCollectionExpression)node, arg); 9496public virtual R VisitCollectionExpression(BoundCollectionExpression node, A arg) => this.DefaultVisit(node, arg); 9732public virtual BoundNode? VisitCollectionExpression(BoundCollectionExpression node) => this.DefaultVisit(node); 10516public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 11916public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 14188public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 14197BoundCollectionExpression updatedNode; 16617public override TreeDumperNode VisitCollectionExpression(BoundCollectionExpression node, object? arg) => new TreeDumperNode("collectionExpression", null, new TreeDumperNode[]
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
1117public override BoundNode VisitCollectionExpression(BoundCollectionExpression node)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (16)
19public override BoundNode? VisitCollectionExpression(BoundCollectionExpression node) 30private BoundExpression RewriteCollectionExpressionConversion(Conversion conversion, BoundCollectionExpression node) 98static bool useListOptimization(CSharpCompilation compilation, BoundCollectionExpression node) 132static BoundNode unwrapListElement(BoundCollectionExpression node, BoundNode element) 159private bool TryRewriteSingleElementSpreadToList(BoundCollectionExpression node, TypeWithAnnotations listElementType, [NotNullWhen(true)] out BoundExpression? result) 216private static bool CanOptimizeSingleSpreadAsCollectionBuilderArgument(BoundCollectionExpression node, [NotNullWhen(true)] out BoundExpression? spreadExpression) 234private BoundExpression VisitImmutableArrayCollectionExpression(BoundCollectionExpression node, TypeWithAnnotations elementType, MethodSymbol asImmutableArray) 245private BoundExpression VisitArrayOrSpanCollectionExpression(BoundCollectionExpression node, CollectionExpressionTypeKind collectionTypeKind, TypeSymbol collectionType, TypeWithAnnotations elementType) 331private BoundExpression VisitCollectionInitializerCollectionExpression(BoundCollectionExpression node, TypeSymbol collectionType) 393private BoundExpression VisitListInterfaceCollectionExpression(BoundCollectionExpression node) 458BoundExpression createArray(BoundCollectionExpression node, ArrayTypeSymbol arrayType) 467private BoundExpression VisitCollectionBuilderCollectionExpression(BoundCollectionExpression node) 629private static bool ShouldUseKnownLength(BoundCollectionExpression node, out int numberIncludingLastSpread) 656private BoundExpression? TryOptimizeSingleSpreadToArray(BoundCollectionExpression node, ArrayTypeSymbol arrayType) 718private BoundExpression CreateAndPopulateArray(BoundCollectionExpression node, ArrayTypeSymbol arrayType) 1020private BoundExpression CreateAndPopulateList(BoundCollectionExpression node, TypeWithAnnotations elementType, ImmutableArray<BoundNode> elements)
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (2)
62var rewrittenCollection = RewriteCollectionExpressionConversion(node.Conversion.UnderlyingConversions[0], (BoundCollectionExpression)node.Operand); 66return RewriteCollectionExpressionConversion(node.Conversion, (BoundCollectionExpression)node.Operand);
Operations\CSharpOperationFactory.cs (5)
104return CreateBoundCollectionExpression((BoundCollectionExpression)boundNode); 1223private ICollectionExpressionOperation CreateBoundCollectionExpression(BoundCollectionExpression expr) 1238static MethodSymbol? getConstructMethod(CSharpCompilation compilation, BoundCollectionExpression expr) 1258private IOperation CreateBoundCollectionExpressionElement(BoundCollectionExpression expr, BoundNode element) 1265private ISpreadOperation CreateBoundCollectionExpressionSpreadElement(BoundCollectionExpression expr, BoundCollectionExpressionSpreadElement element)