5 instantiations of BoundIndexerAccess
Microsoft.CodeAnalysis.CSharp (5)
Binder\Binder_Expressions.cs (1)
11235return new BoundIndexerAccess(
BoundTree\Constructors.cs (1)
281return new BoundIndexerAccess(
Generated\BoundNodes.xml.Generated.cs (1)
7568var result = new BoundIndexerAccess(this.Syntax, receiverOpt, initialBindingReceiverIsSubjectToCloning, indexer, arguments, argumentNamesOpt, argumentRefKindsOpt, expanded, accessorKind, argsToParamsOpt, defaultArguments, originalIndexersOpt, type, this.HasErrors);
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
450return new BoundIndexerAccess(
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (1)
143BoundObjectInitializerMember member => new BoundIndexerAccess(
97 references to BoundIndexerAccess
Microsoft.CodeAnalysis.CSharp (97)
Binder\Binder.ValueChecks.cs (19)
154public static MethodInvocationInfo FromIndexerGetter(BoundIndexerAccess indexerAccess, BoundExpression? substitutedReceiver = null) 606private static AccessorKind GetIndexerAccessorKind(BoundIndexerAccess indexerAccess, BindValueKind valueKind) 627private BoundIndexerAccess BindIndexerDefaultArgumentsAndParamsCollection(BoundIndexerAccess indexerAccess, BindValueKind valueKind, BindingDiagnosticBag diagnostics) 735if (expr is BoundIndexerAccess indexerAccess) 794expr = BindIndexerDefaultArgumentsAndParamsCollection((BoundIndexerAccess)expr, valueKind, diagnostics); 800if (implicitIndexer.IndexerOrSliceAccess is BoundIndexerAccess indexerAccess) 3832var indexerAccess = (BoundIndexerAccess)expr; 3847case BoundIndexerAccess indexerAccess: 4111var indexerAccess = (BoundIndexerAccess)expr; 4135case BoundIndexerAccess indexerAccess: 4481var indexerAccess = (BoundIndexerAccess)expr; 4496case BoundIndexerAccess indexerAccess: 5210var indexerAccess = (BoundIndexerAccess)expr; 5229case BoundIndexerAccess indexerAccess:
Binder\Binder_Expressions.cs (6)
6113var indexer = BindIndexerDefaultArgumentsAndParamsCollection((BoundIndexerAccess)boundMember, valueKind, diagnostics); 11032return BoundIndexerAccess.ErrorAccess( 11185propertyAccess = BoundIndexerAccess.ErrorAccess( 11205private BoundIndexerAccess BindResolvedIndexerOrIndexedPropertyAccess(SyntaxNode syntax, BoundExpression receiver, AnalyzedArguments analyzedArguments, BindingDiagnosticBag diagnostics, ImmutableArray<string> argumentNames, ImmutableArray<RefKind> argumentRefKinds, MemberResolutionResult<PropertySymbol> resolutionResult) 11301Debug.Assert(indexerOrSliceAccess is BoundIndexerAccess or BoundCall);
Binder\Binder_Invocation.cs (1)
2445else if (boundArgument is BoundIndexerAccess indexerAccess)
Binder\Binder_Patterns.cs (2)
776Debug.Assert(indexerAccess is BoundIndexerAccess or BoundImplicitIndexerAccess or BoundArrayAccess or BoundBadExpression or BoundDynamicIndexerAccess); 939Debug.Assert(indexerAccess is BoundIndexerAccess or BoundImplicitIndexerAccess or BoundArrayAccess or BoundBadExpression or BoundDynamicIndexerAccess or BoundPointerElementAccess);
Binder\Binder_Statements.cs (6)
1620case BoundIndexerAccess { Indexer.SetMethod: { } indexerSet } indexer: 1688var indexerAccess = (BoundIndexerAccess)expr; 1699case BoundIndexerAccess indexerAccess: 1750BoundIndexerAccess indexerAccess => indexerAccess.Indexer, 1754BoundImplicitIndexerAccess { IndexerOrSliceAccess: BoundIndexerAccess indexerAccess } => indexerAccess.Indexer,
Binder\RefSafetyAnalysis.cs (3)
605var syntaxForReporting = node.Left is BoundPropertyAccess or BoundIndexerAccess 641var syntaxForReporting = node.Operand is BoundPropertyAccess or BoundIndexerAccess 1066public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
BoundTree\BoundDagEvaluation.cs (2)
225Debug.Assert(IndexerAccess is BoundIndexerAccess or BoundImplicitIndexerAccess or BoundArrayAccess); 262Debug.Assert(IndexerAccess is BoundIndexerAccess or BoundImplicitIndexerAccess or BoundArrayAccess);
BoundTree\BoundExpression.cs (1)
363public BoundIndexerAccess Update(AccessorKind accessorKind)
BoundTree\BoundExpressionExtensions.cs (2)
40return ((BoundIndexerAccess)node).Indexer.RefKind; 231var originalIndexers = ((BoundIndexerAccess)node).OriginalIndexersOpt;
BoundTree\BoundImplicitIndexerAccess.cs (1)
21Debug.Assert(IndexerOrSliceAccess is BoundIndexerAccess or BoundCall or BoundArrayAccess);
BoundTree\BoundListPattern.cs (1)
23Debug.Assert(IndexerAccess is null or BoundIndexerAccess or BoundImplicitIndexerAccess or BoundArrayAccess or BoundBadExpression or BoundDynamicIndexerAccess or BoundPointerElementAccess);
BoundTree\BoundSlicePattern.cs (1)
19Debug.Assert(IndexerAccess is null or BoundIndexerAccess or BoundImplicitIndexerAccess or BoundArrayAccess or BoundBadExpression or BoundDynamicIndexerAccess);
BoundTree\Constructors.cs (2)
272public static BoundIndexerAccess ErrorAccess( 314public BoundIndexerAccess Update(BoundExpression? receiverOpt,
Compilation\CSharpSemanticModel.cs (4)
3494BoundIndexerAccess indexerAccess = (BoundIndexerAccess)boundNode; 4438var indexer = (BoundIndexerAccess)boundNodeForSyntacticParent;
FlowAnalysis\AbstractFlowPass.cs (1)
1481public override BoundNode VisitIndexerAccess(BoundIndexerAccess node)
FlowAnalysis\NullableWalker.cs (4)
7497or BoundIndexerAccess 11328BoundIndexerAccess indexerAccess => indexerAccess.Indexer, 11350BoundIndexerAccess indexer => indexer.Indexer.GetFlowAnalysisAnnotations(), 12224public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
408case BoundIndexerAccess { Indexer: { } indexer } ia when indexer.IsExtensionBlockMember():
FlowAnalysis\NullableWalker_Patterns.cs (1)
964case BoundIndexerAccess indexerAccess:
Generated\BoundNodes.xml.Generated.cs (10)
7564public BoundIndexerAccess Update(BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol indexer, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, AccessorKind accessorKind, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, ImmutableArray<PropertySymbol> originalIndexersOpt, TypeSymbol type) 7568var result = new BoundIndexerAccess(this.Syntax, receiverOpt, initialBindingReceiverIsSubjectToCloning, indexer, arguments, argumentNamesOpt, argumentRefKindsOpt, expanded, accessorKind, argsToParamsOpt, defaultArguments, originalIndexersOpt, type, this.HasErrors); 9470return VisitIndexerAccess((BoundIndexerAccess)node, arg); 9754public virtual R VisitIndexerAccess(BoundIndexerAccess node, A arg) => this.DefaultVisit(node, arg); 9995public virtual BoundNode? VisitIndexerAccess(BoundIndexerAccess node) => this.DefaultVisit(node); 10900public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 12400public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 14976public override BoundNode? VisitIndexerAccess(BoundIndexerAccess node) 14982BoundIndexerAccess updatedNode; 17288public override TreeDumperNode VisitIndexerAccess(BoundIndexerAccess node, object? arg) => new TreeDumperNode("indexerAccess", null, new TreeDumperNode[]
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
565public override BoundNode VisitIndexerAccess(BoundIndexerAccess node)
Lowering\LocalRewriter\LocalRewriter.cs (1)
1105return ((BoundIndexerAccess)expr).Indexer.RefKind != RefKind.None;
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (1)
311public override BoundNode VisitIndexerAccess(BoundIndexerAccess node)
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (3)
35loweredLeft = VisitIndexerAccess((BoundIndexerAccess)left, isLeftOfAssignment: true, receiverIsKnownToBeCaptured: false); 216BoundIndexerAccess indexerAccess = (BoundIndexerAccess)rewrittenLeft;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (9)
250case BoundIndexerAccess { Indexer: { } indexer }: 367private BoundIndexerAccess TransformIndexerAccess(BoundIndexerAccess indexerAccess, ArrayBuilder<BoundExpression> stores, ArrayBuilder<LocalSymbol> temps) 434private BoundIndexerAccess TransformIndexerAccessContinued( 435BoundIndexerAccess indexerAccess, 566if (access is BoundIndexerAccess indexerAccess) 744var indexerAccess = (BoundIndexerAccess)originalLHS; 747return TransformIndexerAccess((BoundIndexerAccess)originalLHS, stores, temps);
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (6)
68public override BoundNode VisitIndexerAccess(BoundIndexerAccess node) 77private BoundExpression VisitIndexerAccess(BoundIndexerAccess node, bool isLeftOfAssignment, bool receiverIsKnownToBeCaptured) 117Debug.Assert(oldNode is BoundIndexerAccess or BoundObjectInitializerMember); 131BoundIndexerAccess indexerExpr => indexerExpr.Update( 543Debug.Assert(node.IndexerOrSliceAccess is BoundIndexerAccess or BoundArrayAccess); 646if (node.IndexerOrSliceAccess is BoundIndexerAccess indexerAccess)
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (1)
527if (rewrittenAccess is BoundIndexerAccess indexerAccess)
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (2)
1034var indexerAccess = (BoundIndexerAccess)transformedExpression;
Operations\CSharpOperationFactory.cs (3)
49return CreateBoundIndexerAccessOperation((BoundIndexerAccess)boundNode); 612case BoundIndexerAccess boundIndexerAccess: 631private IOperation CreateBoundIndexerAccessOperation(BoundIndexerAccess boundIndexerAccess)
Operations\CSharpOperationFactory_Methods.cs (2)
211var boundIndexer = (BoundIndexerAccess)containingExpression;