1 write to Indexer
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
7448this.Indexer = indexer;
58 references to Indexer
Microsoft.CodeAnalysis.CSharp (58)
Binder\Binder.ValueChecks.cs (17)
85Create(expr.Indexer, expr.AccessorKind); 180Parameters = indexerAccess.Indexer.Parameters, 613if (indexerAccess.Indexer.RefKind != RefKind.None) 636var useSetAccessor = coreValueKind == BindValueKind.Assignable && indexerAccess.Indexer.RefKind != RefKind.Ref; 638? indexerAccess.Indexer.GetOwnOrInheritedSetMethod() 639: indexerAccess.Indexer.GetOwnOrInheritedGetMethod(); 666Debug.Assert(parameters.Length == indexerAccess.Indexer.Parameters.Length); 693Debug.Assert(!indexerAccess.Indexer.IsExtensionBlockMember()); 706indexerAccess.Indexer, 3798var indexerSymbol = indexerAccess.Indexer; 3813var indexerSymbol = indexerAccess.Indexer; 4073var indexerSymbol = indexerAccess.Indexer; 4097var indexerSymbol = indexerAccess.Indexer; 4436var indexerSymbol = indexerAccess.Indexer; 4451var indexerSymbol = indexerAccess.Indexer; 5116var indexerSymbol = indexerAccess.Indexer; 5135var indexerSymbol = indexerAccess.Indexer;
Binder\Binder_Expressions.cs (1)
6023hasErrors |= isRhsNestedInitializer && !CheckNestedObjectInitializerPropertySymbol(indexer.Indexer, leftSyntax, diagnostics, hasErrors, ref resultKind);
Binder\Binder_Statements.cs (5)
1619case BoundIndexerAccess { Indexer.SetMethod: { } indexerSet } indexer when indexerSet.IsExtensionBlockMember(): 1688propertySymbol = indexerAccess.Indexer; 1698propertySymbol = indexerAccess.Indexer; 1748BoundIndexerAccess indexerAccess => indexerAccess.Indexer, 1752BoundImplicitIndexerAccess { IndexerOrSliceAccess: BoundIndexerAccess indexerAccess } => indexerAccess.Indexer,
Binder\RefSafetyAnalysis.cs (2)
1044VisitArgumentsAndGetArgumentPlaceholders(methodInvocationInfo.Receiver, methodInvocationInfo.ArgsOpt, node.Indexer.IsExtensionBlockMember()); 1048var indexer = node.Indexer;
BoundTree\BoundExpression.cs (2)
342get { return this.Indexer; } 358Indexer,
BoundTree\BoundExpressionExtensions.cs (1)
40return ((BoundIndexerAccess)node).Indexer.RefKind;
Compilation\CSharpSemanticModel.cs (4)
3485Debug.Assert((object)indexerAccess.Indexer != null); 3490symbols = originalIndexersOpt.IsDefault ? OneOrMany.Create<Symbol>(indexerAccess.Indexer) : StaticCast<Symbol>.From(OneOrMany.Create(originalIndexersOpt)); 4423if (elementAccess != null && elementAccess.Expression == boundNode.Syntax && (object)indexer.Indexer != null) 4428symbols = OneOrMany.Create<Symbol>(indexer.Indexer);
FlowAnalysis\AbstractFlowPass.cs (1)
1482var method = GetReadMethod(node.Indexer);
FlowAnalysis\NullableWalker.cs (4)
10683BoundIndexerAccess indexerAccess => indexerAccess.Indexer, 10707BoundIndexerAccess indexer => indexer.Indexer.GetFlowAnalysisAnnotations(), 11536var indexer = node.Indexer; 11547SetUpdatedSymbol(node, node.Indexer, indexer);
FlowAnalysis\NullableWalker_Patterns.cs (1)
852BoundIndexerAccess indexerAccess => AsMemberOfType(inputType, indexerAccess.Indexer).GetTypeOrReturnType(),
Generated\BoundNodes.xml.Generated.cs (4)
7477if (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)) 12151PropertySymbol indexer = this.VisitPropertySymbol(node.Indexer); 14694PropertySymbol indexer = GetUpdatedSymbol(node, node.Indexer); 16951new TreeDumperNode("indexer", node.Indexer, null),
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
565var indexer = node.Indexer;
Lowering\LocalRewriter\LocalRewriter.cs (1)
1098return ((BoundIndexerAccess)expr).Indexer.RefKind != RefKind.None;
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (1)
316MethodMayMutateReceiver(node.ReceiverOpt, node.Indexer.GetMethod);
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (1)
215PropertySymbol indexer = indexerAccess.Indexer;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (3)
249case BoundIndexerAccess { Indexer: { } indexer }: 424indexerAccess.Indexer, 445PropertySymbol indexer = indexerAccess.Indexer;
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (6)
70Debug.Assert(node.Indexer.IsIndexer || node.Indexer.IsIndexedProperty); 71Debug.Assert((object?)node.Indexer.GetOwnOrInheritedGetMethod() != null); 78PropertySymbol indexer = node.Indexer; 620indexerAccess.Indexer, 629receiver, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, indexerAccess.Indexer, rewrittenArguments,
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (1)
1033return MakePropertyGetAccess(transformedExpression.Syntax, indexerAccess.ReceiverOpt, indexerAccess.Indexer, indexerAccess.Arguments, indexerAccess.ArgumentRefKindsOpt);
Operations\CSharpOperationFactory.cs (1)
626PropertySymbol property = boundIndexerAccess.Indexer;
Operations\CSharpOperationFactory_Methods.cs (1)
212return DeriveArguments(boundIndexer.Indexer,