6 instantiations of BoundArrayAccess
Microsoft.CodeAnalysis.CSharp (6)
Binder\Binder_Expressions.cs (2)
9336return new BoundArrayAccess(node, expr, BuildArgumentsForErrorRecovery(arguments), arrayType.ElementType, hasErrors: true); 9380indexerOrSliceAccess: new BoundArrayAccess(node, receiverPlaceholder, ImmutableArray<BoundExpression>.CastUp(argumentPlaceholders), resultType) { WasCompilerGenerated = true },
Generated\BoundNodes.xml.Generated.cs (1)
2071var result = new BoundArrayAccess(this.Syntax, expression, indices, type, this.HasErrors);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (2)
941new BoundArrayAccess( 1121new BoundArrayAccess(forEachSyntax,
Lowering\SyntheticBoundNodeFactory.cs (1)
1180return new BoundArrayAccess(Syntax, array, indices, ((ArrayTypeSymbol)array.Type).ElementType);
76 references to BoundArrayAccess
Microsoft.CodeAnalysis.CSharp (76)
Binder\Binder.ValueChecks.cs (6)
794return checkArrayAccessValueKind(node, valueKind, ((BoundArrayAccess)expr).Indices, diagnostics); 889case BoundArrayAccess arrayAccess: 3523case BoundArrayAccess: 3840case BoundArrayAccess: 4225case BoundArrayAccess: 4952case BoundArrayAccess:
Binder\Binder_Patterns.cs (2)
240Debug.Assert(indexerAccess is BoundIndexerAccess or BoundImplicitIndexerAccess or BoundArrayAccess or BoundBadExpression or BoundDynamicIndexerAccess); 389Debug.Assert(indexerAccess is BoundIndexerAccess or BoundImplicitIndexerAccess or BoundArrayAccess or BoundBadExpression or BoundDynamicIndexerAccess);
Binder\Binder_Statements.cs (4)
1605if (expr is BoundArrayAccess) 1659case BoundCall or BoundArrayAccess: 1711BoundImplicitIndexerAccess { IndexerOrSliceAccess: BoundArrayAccess } => null, 1713BoundArrayAccess => null,
BoundTree\BoundDagEvaluation.cs (4)
56case BoundArrayAccess arrayAccess: 60case BoundImplicitIndexerAccess { IndexerOrSliceAccess: BoundArrayAccess arrayAccess }: 131Debug.Assert(IndexerAccess is BoundIndexerAccess or BoundImplicitIndexerAccess or BoundArrayAccess); 147Debug.Assert(IndexerAccess is BoundIndexerAccess or BoundImplicitIndexerAccess or BoundArrayAccess);
BoundTree\BoundImplicitIndexerAccess.cs (1)
21Debug.Assert(IndexerOrSliceAccess is BoundIndexerAccess or BoundCall or BoundArrayAccess);
BoundTree\BoundListPattern.cs (1)
14Debug.Assert(IndexerAccess is null or BoundIndexerAccess or BoundImplicitIndexerAccess or BoundArrayAccess or BoundBadExpression or BoundDynamicIndexerAccess);
BoundTree\BoundSlicePattern.cs (1)
13Debug.Assert(IndexerAccess is null or BoundIndexerAccess or BoundImplicitIndexerAccess or BoundArrayAccess or BoundBadExpression or BoundDynamicIndexerAccess);
BoundTree\BoundTreeVisitors.cs (1)
52return VisitArrayAccess(node as BoundArrayAccess, arg);
CodeGen\EmitAddress.cs (3)
63EmitArrayElementAddress((BoundArrayAccess)expression, addressKind); 395private void EmitArrayElementAddress(BoundArrayAccess arrayAccess, AddressKind addressKind) 418private bool ShouldEmitReadOnlyPrefix(BoundArrayAccess arrayAccess, AddressKind addressKind)
CodeGen\EmitExpression.cs (5)
154EmitArrayElementLoad((BoundArrayAccess)expression, used); 1009private void EmitArrayElementLoad(BoundArrayAccess arrayAccess, bool used) 2863var left = (BoundArrayAccess)assignmentTarget; 3096var array = ((BoundArrayAccess)expression).Expression;
CodeGen\Optimizer.cs (2)
1326public override BoundNode VisitArrayAccess(BoundArrayAccess node) 2192right is BoundArrayAccess arrayAccess &&
FlowAnalysis\AbstractFlowPass.cs (1)
2354public override BoundNode VisitArrayAccess(BoundArrayAccess node)
FlowAnalysis\NullableWalker.cs (1)
4778public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
FlowAnalysis\NullableWalker_Patterns.cs (1)
853BoundArrayAccess arrayAccess => isSlice
Generated\BoundNodes.xml.Generated.cs (17)
2067public BoundArrayAccess Update(BoundExpression expression, ImmutableArray<BoundExpression> indices, TypeSymbol type) 2071var result = new BoundArrayAccess(this.Syntax, expression, indices, type, this.HasErrors); 2081public BoundRefArrayAccess(SyntaxNode syntax, BoundArrayAccess arrayAccess, bool hasErrors = false) 2091public BoundArrayAccess ArrayAccess { get; } 2096public BoundRefArrayAccess Update(BoundArrayAccess arrayAccess) 8929return VisitArrayAccess((BoundArrayAccess)node, arg); 9352public virtual R VisitArrayAccess(BoundArrayAccess node, A arg) => this.DefaultVisit(node, arg); 9588public virtual BoundNode? VisitArrayAccess(BoundArrayAccess node) => this.DefaultVisit(node); 9968public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 11096public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 11105BoundArrayAccess arrayAccess = (BoundArrayAccess)this.Visit(node.ArrayAccess); 12899public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 12903BoundArrayAccess updatedNode; 12919BoundArrayAccess arrayAccess = (BoundArrayAccess)this.Visit(node.ArrayAccess); 15413public override TreeDumperNode VisitArrayAccess(BoundArrayAccess node, object? arg) => new TreeDumperNode("arrayAccess", null, new TreeDumperNode[]
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
184return VisitArrayAccess((BoundArrayAccess)node); 291private BoundExpression VisitArrayAccess(BoundArrayAccess node)
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
89public override BoundNode VisitArrayAccess(BoundArrayAccess node)
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
515BoundArrayAccess payloadCell =
Lowering\LocalRewriter\LocalRewriter.cs (1)
817public override BoundNode VisitArrayAccess(BoundArrayAccess node)
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (4)
439var arrayAccess = (BoundArrayAccess)access; 651var arrayAccess = (BoundArrayAccess)originalLHS;
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (2)
480Debug.Assert(node.IndexerOrSliceAccess is BoundIndexerAccess or BoundArrayAccess); 622rewrittenIndexerAccess = (BoundExpression)VisitArrayAccess((BoundArrayAccess)node.IndexerOrSliceAccess);
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (4)
403var rewrittenArrayAccess = VisitArrayAccess((BoundArrayAccess)left); 406if (rewrittenArrayAccess is BoundArrayAccess arrayAccess) 525or BoundArrayAccess 561else if (lhs is BoundArrayAccess arrayAccess)
Lowering\SpillSequenceSpiller.cs (4)
776public override BoundNode VisitArrayAccess(BoundArrayAccess node) 889var arrayAccess = (BoundArrayAccess)left; 935else if (field.ReceiverOpt is BoundArrayAccess arrayAccess)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (2)
570var array = (BoundArrayAccess)expr;
Lowering\SyntheticBoundNodeFactory.cs (3)
1164public BoundArrayAccess ArrayAccessFirstElement(BoundExpression array) 1172public BoundArrayAccess ArrayAccess(BoundExpression array, params BoundExpression[] indices) 1177public BoundArrayAccess ArrayAccess(BoundExpression array, ImmutableArray<BoundExpression> indices)
Operations\CSharpOperationFactory.cs (2)
139return CreateBoundArrayAccessOperation((BoundArrayAccess)boundNode); 1624private IArrayElementReferenceOperation CreateBoundArrayAccessOperation(BoundArrayAccess boundArrayAccess)