1 write to Expression
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
7655this.Expression = expression;
39 references to Expression
Microsoft.CodeAnalysis.CSharp (39)
Binder\Binder.ValueChecks.cs (3)
1161getItemOrSliceHelper = getItemOrSliceHelper.AsMember(getItemOrSliceHelper.ContainingType.Construct(ImmutableArray.Create(elementAccess.Expression.Type.TryGetInlineArrayElementField().TypeWithAnnotations))); 5709TypeWithAnnotations.Create(elementAccess.Expression.Type), 5722arguments = ImmutableArray.Create(elementAccess.Expression);
Binder\Binder_Operators.cs (1)
4222expr = elementAccess.Expression;
BoundTree\BoundInlineArrayAccess.cs (2)
62Debug.Assert(((NamedTypeSymbol)Type).TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[0].Equals(Expression.Type?.TryGetInlineArrayElementField()?.TypeWithAnnotations ?? default, TypeCompareKind.ConsiderEverything)); 70Debug.Assert(Type.Equals(Expression.Type?.TryGetInlineArrayElementField()?.Type, TypeCompareKind.ConsiderEverything));
FlowAnalysis\AbstractFlowPass.cs (2)
2423VisitRvalue(node.Expression); 2436VisitLvalue(access.Expression);
FlowAnalysis\DefiniteAssignment.cs (11)
791n = elementAccess.Expression; 983n = elementAccess.Expression; 1383return IsAssigned(elementAccess.Expression, out unassignedSlot); 1544NoteWrite(elementAccess.Expression, value: null, read: read, isRef: isRef); 1547if (elementAccess.Expression.Type.HasInlineArrayAttribute(out int length) && 1551int slot = MakeMemberSlot(elementAccess.Expression, elementAccess.Expression.Type.TryGetInlineArrayElementField()); 1561AssignImpl(elementAccess.Expression, value: null, isRef, written, read); 1562int slot = MakeSlot(elementAccess.Expression); 2581CheckAssigned(((BoundInlineArrayAccess)expr).Expression, node); 2762NoteWrite(node.Expression, value: null, read: false, isRef: false);
FlowAnalysis\NullableWalker.cs (1)
5321var expressionType = VisitRvalueWithState(node.Expression).Type;
FlowAnalysis\ReadWriteWalker.cs (2)
160NoteExpressionReadOrWritten(expr.Expression, _writtenInside); 230NoteExpressionReadOrWritten(elementAccess.Expression, readOrWritten);
Generated\BoundNodes.xml.Generated.cs (5)
7676if (expression != this.Expression || argument != this.Argument || isValue != this.IsValue || getItemOrSliceHelper != this.GetItemOrSliceHelper || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 10924this.Visit(node.Expression); 12429BoundExpression expression = (BoundExpression)this.Visit(node.Expression); 15000BoundExpression expression = (BoundExpression)this.Visit(node.Expression); 17320new TreeDumperNode("expression", null, new TreeDumperNode[] { Visit(node.Expression, null) }),
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (11)
242Debug.Assert(node.Expression.Type is object); 245var rewrittenReceiver = VisitExpression(node.Expression); 258_ = node.Expression.Type.HasInlineArrayAttribute(out int length); 362Debug.Assert(node.Expression.Type is object); 374return createSpan.Construct(node.Expression.Type, node.Expression.Type.TryGetInlineArrayElementField()!.Type); 379Debug.Assert(node.Expression.Type is object); 401elementRef = elementRef.Construct(node.Expression.Type, node.Expression.Type.TryGetInlineArrayElementField()!.Type); 420elementRef = elementRef.Construct(node.Expression.Type, node.Expression.Type.TryGetInlineArrayElementField()!.Type);
Operations\CSharpOperationFactory.cs (1)
1725IOperation arrayReference = Create(boundInlineArrayAccess.Expression);