1 write to Expression
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
7639this.Expression = expression;
37 references to Expression
Microsoft.CodeAnalysis.CSharp (37)
Binder\Binder_Operators.cs (1)
4250expr = elementAccess.Expression;
Binder\Binder.ValueChecks.cs (3)
1140getItemOrSliceHelper = getItemOrSliceHelper.AsMember(getItemOrSliceHelper.ContainingType.Construct(ImmutableArray.Create(elementAccess.Expression.Type.TryGetInlineArrayElementField().TypeWithAnnotations))); 5729TypeWithAnnotations.Create(elementAccess.Expression.Type), 5742arguments = ImmutableArray.Create(elementAccess.Expression);
FlowAnalysis\AbstractFlowPass.cs (2)
2385VisitRvalue(node.Expression); 2398VisitLvalue(access.Expression);
FlowAnalysis\DefiniteAssignment.cs (11)
800n = elementAccess.Expression; 992n = elementAccess.Expression; 1392return IsAssigned(elementAccess.Expression, out unassignedSlot); 1553NoteWrite(elementAccess.Expression, value: null, read: read, isRef: isRef); 1556if (elementAccess.Expression.Type.HasInlineArrayAttribute(out int length) && 1560int slot = MakeMemberSlot(elementAccess.Expression, elementAccess.Expression.Type.TryGetInlineArrayElementField()); 1570AssignImpl(elementAccess.Expression, value: null, isRef, written, read); 1571int slot = MakeSlot(elementAccess.Expression); 2652CheckAssigned(((BoundInlineArrayAccess)expr).Expression, node); 2833NoteWrite(node.Expression, value: null, read: false, isRef: false);
FlowAnalysis\NullableWalker.cs (1)
5411var expressionType = VisitRvalueWithState(node.Expression).Type;
FlowAnalysis\ReadWriteWalker.cs (2)
160NoteExpressionReadOrWritten(expr.Expression, _writtenInside); 230NoteExpressionReadOrWritten(elementAccess.Expression, readOrWritten);
Generated\BoundNodes.xml.Generated.cs (5)
7660if (expression != this.Expression || argument != this.Argument || isValue != this.IsValue || getItemOrSliceHelper != this.GetItemOrSliceHelper || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 10918this.Visit(node.Expression); 12426BoundExpression expression = (BoundExpression)this.Visit(node.Expression); 15002BoundExpression expression = (BoundExpression)this.Visit(node.Expression); 17326new TreeDumperNode("expression", null, new TreeDumperNode[] { Visit(node.Expression, null) }),
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (11)
244Debug.Assert(node.Expression.Type is object); 247var rewrittenReceiver = VisitExpression(node.Expression); 260_ = node.Expression.Type.HasInlineArrayAttribute(out int length); 388Debug.Assert(node.Expression.Type is object); 400return createSpan.Construct(node.Expression.Type, node.Expression.Type.TryGetInlineArrayElementField()!.Type); 405Debug.Assert(node.Expression.Type is object); 427elementRef = elementRef.Construct(node.Expression.Type, node.Expression.Type.TryGetInlineArrayElementField()!.Type); 446elementRef = elementRef.Construct(node.Expression.Type, node.Expression.Type.TryGetInlineArrayElementField()!.Type);
Operations\CSharpOperationFactory.cs (1)
1744IOperation arrayReference = Create(boundInlineArrayAccess.Expression);