1 write to Expression
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
7520this.Expression = expression;
39 references to Expression
Microsoft.CodeAnalysis.CSharp (39)
Binder\Binder.ValueChecks.cs (3)
893getItemOrSliceHelper = getItemOrSliceHelper.AsMember(getItemOrSliceHelper.ContainingType.Construct(ImmutableArray.Create(elementAccess.Expression.Type.TryGetInlineArrayElementField().TypeWithAnnotations))); 5476TypeWithAnnotations.Create(elementAccess.Expression.Type), 5489arguments = ImmutableArray.Create(elementAccess.Expression);
Binder\Binder_Operators.cs (1)
2624expr = 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)
2367VisitRvalue(node.Expression); 2380VisitLvalue(access.Expression);
FlowAnalysis\DefiniteAssignment.cs (11)
839n = elementAccess.Expression; 1030n = elementAccess.Expression; 1430return IsAssigned(elementAccess.Expression, out unassignedSlot); 1591NoteWrite(elementAccess.Expression, value: null, read: read, isRef: isRef); 1594if (elementAccess.Expression.Type.HasInlineArrayAttribute(out int length) && 1598int slot = MakeMemberSlot(elementAccess.Expression, elementAccess.Expression.Type.TryGetInlineArrayElementField()); 1608AssignImpl(elementAccess.Expression, value: null, isRef, written, read); 1609int slot = MakeSlot(elementAccess.Expression); 2624CheckAssigned(((BoundInlineArrayAccess)expr).Expression, node); 2801NoteWrite(node.Expression, value: null, read: false, isRef: false);
FlowAnalysis\NullableWalker.cs (1)
4816var expressionType = VisitRvalueWithState(node.Expression).Type;
FlowAnalysis\ReadWriteWalker.cs (2)
155NoteExpressionReadOrWritten(expr.Expression, _writtenInside); 225NoteExpressionReadOrWritten(elementAccess.Expression, readOrWritten);
Generated\BoundNodes.xml.Generated.cs (5)
7541if (expression != this.Expression || argument != this.Argument || isValue != this.IsValue || getItemOrSliceHelper != this.GetItemOrSliceHelper || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 10626this.Visit(node.Expression); 11972BoundExpression expression = (BoundExpression)this.Visit(node.Expression); 14506BoundExpression expression = (BoundExpression)this.Visit(node.Expression); 16779new TreeDumperNode("expression", null, new TreeDumperNode[] { Visit(node.Expression, null) }),
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (11)
203Debug.Assert(node.Expression.Type is object); 206var rewrittenReceiver = VisitExpression(node.Expression); 219_ = node.Expression.Type.HasInlineArrayAttribute(out int length); 323Debug.Assert(node.Expression.Type is object); 335return createSpan.Construct(node.Expression.Type, node.Expression.Type.TryGetInlineArrayElementField()!.Type); 340Debug.Assert(node.Expression.Type is object); 362elementRef = elementRef.Construct(node.Expression.Type, node.Expression.Type.TryGetInlineArrayElementField()!.Type); 381elementRef = elementRef.Construct(node.Expression.Type, node.Expression.Type.TryGetInlineArrayElementField()!.Type);
Operations\CSharpOperationFactory.cs (1)
1659IOperation arrayReference = Create(boundInlineArrayAccess.Expression);