1 write to Indexer
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
7537this.Indexer = indexer;
55 references to Indexer
Microsoft.CodeAnalysis.CSharp (55)
Binder\Binder.ValueChecks.cs (12)
159MethodInfo = MethodInfo.CreateFromPropertyGetter(indexerAccess.Indexer), 162Parameters = indexerAccess.Indexer.Parameters, 608if (indexerAccess.Indexer.RefKind != RefKind.None) 631PropertySymbol indexer = indexerAccess.Indexer; 3833var indexerSymbol = indexerAccess.Indexer; 3848var indexerSymbol = indexerAccess.Indexer; 4112var indexerSymbol = indexerAccess.Indexer; 4136var indexerSymbol = indexerAccess.Indexer; 4482var indexerSymbol = indexerAccess.Indexer; 4497var indexerSymbol = indexerAccess.Indexer; 5211var indexerSymbol = indexerAccess.Indexer; 5230var indexerSymbol = indexerAccess.Indexer;
Binder\Binder_Expressions.cs (1)
6115hasErrors |= isRhsNestedInitializer && !CheckNestedObjectInitializerPropertySymbol(indexer.Indexer, leftSyntax, diagnostics, hasErrors, ref resultKind);
Binder\Binder_Statements.cs (5)
1620case BoundIndexerAccess { Indexer.SetMethod: { } indexerSet } indexer: 1690propertySymbol = indexerAccess.Indexer; 1700propertySymbol = indexerAccess.Indexer; 1750BoundIndexerAccess indexerAccess => indexerAccess.Indexer, 1754BoundImplicitIndexerAccess { IndexerOrSliceAccess: BoundIndexerAccess indexerAccess } => indexerAccess.Indexer,
Binder\RefSafetyAnalysis.cs (3)
1072VisitArgumentsAndGetArgumentPlaceholders(node.ReceiverOpt, node.Arguments, isExtensionBlockMember: node.Indexer.IsExtensionBlockMember()); 1081VisitArgumentsAndGetArgumentPlaceholders(methodInvocationInfo.Receiver, methodInvocationInfo.ArgsOpt, node.Indexer.IsExtensionBlockMember()); 1085var indexer = node.Indexer;
BoundTree\BoundExpression.cs (2)
352get { return this.Indexer; } 368Indexer,
BoundTree\BoundExpressionExtensions.cs (1)
40return ((BoundIndexerAccess)node).Indexer.RefKind;
Compilation\CSharpSemanticModel.cs (4)
3495Debug.Assert((object)indexerAccess.Indexer != null); 3500symbols = originalIndexersOpt.IsDefault ? OneOrMany.Create<Symbol>(indexerAccess.Indexer) : StaticCast<Symbol>.From(OneOrMany.Create(originalIndexersOpt)); 4440if (elementAccess != null && elementAccess.Expression == boundNode.Syntax && (object)indexer.Indexer != null) 4445symbols = OneOrMany.Create<Symbol>(indexer.Indexer);
FlowAnalysis\AbstractFlowPass.cs (1)
1483var method = GetReadMethod(node.Indexer);
FlowAnalysis\NullableWalker.cs (4)
11328BoundIndexerAccess indexerAccess => indexerAccess.Indexer, 11350BoundIndexerAccess indexer => indexer.Indexer.GetFlowAnalysisAnnotations(), 12230PropertySymbol indexer = node.Indexer; 12254SetUpdatedSymbol(node, node.Indexer, indexer);
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
408case BoundIndexerAccess { Indexer: { } indexer } ia when indexer.IsExtensionBlockMember():
FlowAnalysis\NullableWalker_Patterns.cs (1)
965var indexer = indexerAccess.Indexer;
Generated\BoundNodes.xml.Generated.cs (4)
7566if (receiverOpt != this.ReceiverOpt || initialBindingReceiverIsSubjectToCloning != this.InitialBindingReceiverIsSubjectToCloning || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(indexer, this.Indexer) || arguments != this.Arguments || argumentNamesOpt != this.ArgumentNamesOpt || argumentRefKindsOpt != this.ArgumentRefKindsOpt || expanded != this.Expanded || accessorKind != this.AccessorKind || argsToParamsOpt != this.ArgsToParamsOpt || defaultArguments != this.DefaultArguments || originalIndexersOpt != this.OriginalIndexersOpt || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 12402PropertySymbol indexer = this.VisitPropertySymbol(node.Indexer); 14978PropertySymbol indexer = GetUpdatedSymbol(node, node.Indexer); 17292new TreeDumperNode("indexer", node.Indexer, null),
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
567var indexer = node.Indexer;
Lowering\LocalRewriter\LocalRewriter.cs (1)
1105return ((BoundIndexerAccess)expr).Indexer.RefKind != RefKind.None;
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (1)
316MethodMayMutateReceiver(node.ReceiverOpt, node.Indexer.GetMethod);
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (1)
219PropertySymbol indexer = indexerAccess.Indexer;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (3)
250case BoundIndexerAccess { Indexer: { } indexer }: 423indexerAccess.Indexer, 444PropertySymbol indexer = indexerAccess.Indexer;
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (6)
71Debug.Assert(node.Indexer.IsIndexer || node.Indexer.IsIndexedProperty); 72Debug.Assert((object?)node.Indexer.GetOwnOrInheritedGetMethod() != null); 79PropertySymbol indexer = node.Indexer; 659indexerAccess.Indexer, 668receiver, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, indexerAccess.Indexer, rewrittenArguments,
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (1)
1035return MakePropertyGetAccess(transformedExpression.Syntax, indexerAccess.ReceiverOpt, indexerAccess.Indexer, indexerAccess.Arguments, indexerAccess.ArgumentRefKindsOpt);
Operations\CSharpOperationFactory.cs (1)
633PropertySymbol property = boundIndexerAccess.Indexer;
Operations\CSharpOperationFactory_Methods.cs (1)
212return DeriveArguments(boundIndexer.Indexer,