10 instantiations of BoundArrayAccess
Microsoft.CodeAnalysis.CSharp (10)
Binder\Binder_Expressions.cs (3)
7998return new BoundArrayAccess(node, expr, BuildArgumentsForErrorRecovery(arguments), arrayType.ElementType, hasErrors: true); 8042indexerOrSliceAccess: new BoundArrayAccess(node, receiverPlaceholder, ImmutableArray<BoundExpression>.CastUp(argumentPlaceholders), resultType) { WasCompilerGenerated = true }, 8047return new BoundArrayAccess(node, expr, convertedArguments.AsImmutableOrNull(), resultType);
Compiler\MethodBodySynthesizer.cs (3)
103new BoundArrayAccess(syntax, 123new BoundArrayAccess(syntax, 151new BoundArrayAccess(syntax,
Generated\BoundNodes.xml.Generated.cs (1)
2059var result = new BoundArrayAccess(this.Syntax, expression, indices, type, this.HasErrors);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (2)
740new BoundArrayAccess( 895new BoundArrayAccess(forEachSyntax,
Lowering\SyntheticBoundNodeFactory.cs (1)
1117return new BoundArrayAccess(Syntax, array, indices, ((ArrayTypeSymbol)array.Type).ElementType);
66 references to BoundArrayAccess
Microsoft.CodeAnalysis.CSharp (66)
Binder\Binder.ValueChecks.cs (6)
624return checkArrayAccessValueKind(node, valueKind, ((BoundArrayAccess)expr).Indices, diagnostics); 719case BoundArrayAccess arrayAccess: 3087case BoundArrayAccess: 3333case BoundArrayAccess: 3644case BoundArrayAccess: 4086case 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)
1614if (expr is BoundArrayAccess) 1668case BoundCall or BoundArrayAccess: 1720BoundImplicitIndexerAccess { IndexerOrSliceAccess: BoundArrayAccess } => null, 1722BoundArrayAccess => 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); 390private void EmitArrayElementAddress(BoundArrayAccess arrayAccess, AddressKind addressKind) 413private bool ShouldEmitReadOnlyPrefix(BoundArrayAccess arrayAccess, AddressKind addressKind)
CodeGen\EmitExpression.cs (5)
153EmitArrayElementLoad((BoundArrayAccess)expression, used); 980private void EmitArrayElementLoad(BoundArrayAccess arrayAccess, bool used) 2645var left = (BoundArrayAccess)assignmentTarget; 2878var array = ((BoundArrayAccess)expression).Expression;
CodeGen\Optimizer.cs (1)
1259public override BoundNode VisitArrayAccess(BoundArrayAccess node)
FlowAnalysis\AbstractFlowPass.cs (1)
2181public override BoundNode VisitArrayAccess(BoundArrayAccess node)
FlowAnalysis\NullableWalker.cs (1)
4374public override BoundNode? VisitArrayAccess(BoundArrayAccess node)
FlowAnalysis\NullableWalker_Patterns.cs (1)
813BoundArrayAccess arrayAccess => isSlice
Generated\BoundNodes.xml.Generated.cs (10)
2055public BoundArrayAccess Update(BoundExpression expression, ImmutableArray<BoundExpression> indices, TypeSymbol type) 2059var result = new BoundArrayAccess(this.Syntax, expression, indices, type, this.HasErrors); 8611return VisitArrayAccess((BoundArrayAccess)node, arg); 9018public virtual R VisitArrayAccess(BoundArrayAccess node, A arg) => this.DefaultVisit(node, arg); 9246public virtual BoundNode? VisitArrayAccess(BoundArrayAccess node) => this.DefaultVisit(node); 9618public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 10717public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 12465public override BoundNode? VisitArrayAccess(BoundArrayAccess node) 12469BoundArrayAccess updatedNode; 14876public override TreeDumperNode VisitArrayAccess(BoundArrayAccess node, object? arg) => new TreeDumperNode("arrayAccess", null, new TreeDumperNode[]
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
186return VisitArrayAccess((BoundArrayAccess)node); 293private BoundExpression VisitArrayAccess(BoundArrayAccess node)
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
88public override BoundNode VisitArrayAccess(BoundArrayAccess node)
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
515BoundArrayAccess payloadCell =
Lowering\LocalRewriter\LocalRewriter.cs (1)
694public override BoundNode VisitArrayAccess(BoundArrayAccess node)
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (4)
431var arrayAccess = (BoundArrayAccess)access; 643var arrayAccess = (BoundArrayAccess)originalLHS;
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (2)
250Debug.Assert(node.IndexerOrSliceAccess is BoundIndexerAccess or BoundArrayAccess); 365rewrittenIndexerAccess = (BoundExpression)VisitArrayAccess(((BoundArrayAccess)node.IndexerOrSliceAccess));
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (2)
394var arrayAccess = (BoundArrayAccess)rewrittenLeft;
Lowering\SpillSequenceSpiller.cs (4)
705public override BoundNode VisitArrayAccess(BoundArrayAccess node) 818var arrayAccess = (BoundArrayAccess)left; 864else if (field.ReceiverOpt is BoundArrayAccess arrayAccess)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (2)
554var array = (BoundArrayAccess)expr;
Lowering\SyntheticBoundNodeFactory.cs (3)
1101public BoundArrayAccess ArrayAccessFirstElement(BoundExpression array) 1109public BoundArrayAccess ArrayAccess(BoundExpression array, params BoundExpression[] indices) 1114public BoundArrayAccess ArrayAccess(BoundExpression array, ImmutableArray<BoundExpression> indices)
Operations\CSharpOperationFactory.cs (2)
137return CreateBoundArrayAccessOperation((BoundArrayAccess)boundNode); 1557private IArrayElementReferenceOperation CreateBoundArrayAccessOperation(BoundArrayAccess boundArrayAccess)