1 write to Expression
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
7519
this.
Expression
= expression;
39 references to Expression
Microsoft.CodeAnalysis.CSharp (39)
Binder\Binder.ValueChecks.cs (3)
1140
getItemOrSliceHelper = getItemOrSliceHelper.AsMember(getItemOrSliceHelper.ContainingType.Construct(ImmutableArray.Create(elementAccess.
Expression
.Type.TryGetInlineArrayElementField().TypeWithAnnotations)));
5653
TypeWithAnnotations.Create(elementAccess.
Expression
.Type),
5666
arguments = ImmutableArray.Create(elementAccess.
Expression
);
Binder\Binder_Operators.cs (1)
4051
expr = elementAccess.
Expression
;
BoundTree\BoundInlineArrayAccess.cs (2)
62
Debug.Assert(((NamedTypeSymbol)Type).TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[0].Equals(
Expression
.Type?.TryGetInlineArrayElementField()?.TypeWithAnnotations ?? default, TypeCompareKind.ConsiderEverything));
70
Debug.Assert(Type.Equals(
Expression
.Type?.TryGetInlineArrayElementField()?.Type, TypeCompareKind.ConsiderEverything));
FlowAnalysis\AbstractFlowPass.cs (2)
2374
VisitRvalue(node.
Expression
);
2387
VisitLvalue(access.
Expression
);
FlowAnalysis\DefiniteAssignment.cs (11)
840
n = elementAccess.
Expression
;
1031
n = elementAccess.
Expression
;
1431
return IsAssigned(elementAccess.
Expression
, out unassignedSlot);
1592
NoteWrite(elementAccess.
Expression
, value: null, read: read, isRef: isRef);
1595
if (elementAccess.
Expression
.Type.HasInlineArrayAttribute(out int length) &&
1599
int slot = MakeMemberSlot(elementAccess.
Expression
, elementAccess.
Expression
.Type.TryGetInlineArrayElementField());
1609
AssignImpl(elementAccess.
Expression
, value: null, isRef, written, read);
1610
int slot = MakeSlot(elementAccess.
Expression
);
2629
CheckAssigned(((BoundInlineArrayAccess)expr).
Expression
, node);
2806
NoteWrite(node.
Expression
, value: null, read: false, isRef: false);
FlowAnalysis\NullableWalker.cs (1)
5040
var expressionType = VisitRvalueWithState(node.
Expression
).Type;
FlowAnalysis\ReadWriteWalker.cs (2)
160
NoteExpressionReadOrWritten(expr.
Expression
, _writtenInside);
230
NoteExpressionReadOrWritten(elementAccess.
Expression
, readOrWritten);
Generated\BoundNodes.xml.Generated.cs (5)
7540
if (expression != this.
Expression
|| argument != this.Argument || isValue != this.IsValue || getItemOrSliceHelper != this.GetItemOrSliceHelper || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything))
10663
this.Visit(node.
Expression
);
12141
BoundExpression expression = (BoundExpression)this.Visit(node.
Expression
);
14680
BoundExpression expression = (BoundExpression)this.Visit(node.
Expression
);
16956
new TreeDumperNode("expression", null, new TreeDumperNode[] { Visit(node.
Expression
, null) }),
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (11)
242
Debug.Assert(node.
Expression
.Type is object);
245
var rewrittenReceiver = VisitExpression(node.
Expression
);
258
_ = node.
Expression
.Type.HasInlineArrayAttribute(out int length);
362
Debug.Assert(node.
Expression
.Type is object);
374
return createSpan.Construct(node.
Expression
.Type, node.
Expression
.Type.TryGetInlineArrayElementField()!.Type);
379
Debug.Assert(node.
Expression
.Type is object);
401
elementRef = elementRef.Construct(node.
Expression
.Type, node.
Expression
.Type.TryGetInlineArrayElementField()!.Type);
420
elementRef = elementRef.Construct(node.
Expression
.Type, node.
Expression
.Type.TryGetInlineArrayElementField()!.Type);
Operations\CSharpOperationFactory.cs (1)
1659
IOperation arrayReference = Create(boundInlineArrayAccess.
Expression
);