1 write to Indexer
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
7431this.Indexer = indexer;
58 references to Indexer
Microsoft.CodeAnalysis.CSharp (58)
Binder\Binder.ValueChecks.cs (17)
87Create(expr.Indexer, expr.AccessorKind); 182Parameters = indexerAccess.Indexer.Parameters, 615if (indexerAccess.Indexer.RefKind != RefKind.None) 638var useSetAccessor = coreValueKind == BindValueKind.Assignable && indexerAccess.Indexer.RefKind != RefKind.Ref; 640? indexerAccess.Indexer.GetOwnOrInheritedSetMethod() 641: indexerAccess.Indexer.GetOwnOrInheritedGetMethod(); 668Debug.Assert(parameters.Length == indexerAccess.Indexer.Parameters.Length); 695Debug.Assert(!indexerAccess.Indexer.IsExtensionBlockMember()); 708indexerAccess.Indexer, 3809var indexerSymbol = indexerAccess.Indexer; 3825var indexerSymbol = indexerAccess.Indexer; 4090var indexerSymbol = indexerAccess.Indexer; 4115var indexerSymbol = indexerAccess.Indexer; 4462var indexerSymbol = indexerAccess.Indexer; 4478var indexerSymbol = indexerAccess.Indexer; 5158var indexerSymbol = indexerAccess.Indexer; 5178var indexerSymbol = indexerAccess.Indexer;
Binder\Binder_Expressions.cs (1)
5978hasErrors |= 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)
1047VisitArgumentsAndGetArgumentPlaceholders(methodInvocationInfo.Receiver, methodInvocationInfo.ArgsOpt, node.Indexer.IsExtensionBlockMember()); 1051var 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)
3484Debug.Assert((object)indexerAccess.Indexer != null); 3489symbols = originalIndexersOpt.IsDefault ? OneOrMany.Create<Symbol>(indexerAccess.Indexer) : StaticCast<Symbol>.From(OneOrMany.Create(originalIndexersOpt)); 4422if (elementAccess != null && elementAccess.Expression == boundNode.Syntax && (object)indexer.Indexer != null) 4427symbols = 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)
7460if (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)) 12129PropertySymbol indexer = this.VisitPropertySymbol(node.Indexer); 14667PropertySymbol indexer = GetUpdatedSymbol(node, node.Indexer); 16924new 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,