1 write to Expression
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
2090this.Expression = expression;
49 references to Expression
Microsoft.CodeAnalysis.CSharp (49)
BoundTree\BoundDagEvaluation.cs (2)
73return arrayAccess.Expression.Type; 77return arrayAccess.Expression.Type;
CodeGen\EmitAddress.cs (3)
435EmitExpression(arrayAccess.Expression, used: true); 443if (((ArrayTypeSymbol)arrayAccess.Expression.Type).IsSZArray) 451_builder.EmitArrayElementAddress(_module.Translate((ArrayTypeSymbol)arrayAccess.Expression.Type),
CodeGen\EmitExpression.cs (6)
1017EmitExpression(arrayAccess.Expression, used: true); 1020if (((ArrayTypeSymbol)arrayAccess.Expression.Type).IsSZArray) 1107_builder.EmitArrayElementLoad(_module.Translate((ArrayTypeSymbol)arrayAccess.Expression.Type), arrayAccess.Expression.Syntax); 2922EmitExpression(left.Expression, used: true); 3164var array = ((BoundArrayAccess)expression).Expression;
FlowAnalysis\AbstractFlowPass.cs (1)
2364VisitRvalue(node.Expression);
FlowAnalysis\NullableWalker.cs (3)
5367Visit(node.Expression); 5370Debug.Assert(!node.Expression.Type!.IsValueType); 5373_ = CheckPossibleNullReceiver(node.Expression);
Generated\BoundNodes.xml.Generated.cs (5)
2103if (expression != this.Expression || indices != this.Indices || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 10241this.Visit(node.Expression); 11435BoundExpression expression = (BoundExpression)this.Visit(node.Expression); 13389BoundExpression expression = (BoundExpression)this.Visit(node.Expression); 15940new TreeDumperNode("expression", null, new TreeDumperNode[] { Visit(node.Expression, null) }),
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
300var array = Visit(node.Expression);
Lowering\LocalRewriter\LocalRewriter_Call.cs (6)
704(rewrittenReceiver is not BoundArrayAccess { Expression.Type: var arrayType } || IsInvariantArray(arrayType)))); 721rewrittenReceiver is BoundArrayAccess { Expression.Type: var arrayType } && 762!IsInvariantArray(arrayAccess.Expression.Type)) 767capturedReceiver = SpillArrayElementAccess(arrayAccess.Expression, arrayAccess.Indices, storesOpt, tempsOpt); 1004(rewrittenReceiver is not BoundArrayAccess { Expression.Type: var arrayType } || IsInvariantArray(arrayType)))); 1072Debug.Assert(receiver is not BoundArrayAccess { Expression: var array, Indices: var indices } ||
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (8)
303(rewrittenReceiver is not BoundArrayAccess { Expression.Type: var arrayType } || IsInvariantArray(arrayType)))); 318rewrittenReceiver is BoundArrayAccess { Expression.Type: var arrayType } && 343!IsInvariantArray(arrayAccess.Expression.Type)) 348capturedReceiver = SpillArrayElementAccess(arrayAccess.Expression, arrayAccess.Indices, stores, temps); 613if (isDynamicAssignment || !IsInvariantArray(arrayAccess.Expression.Type)) 616return SpillArrayElementAccess(arrayAccess.Expression, arrayAccess.Indices, stores, temps); 824if (isDynamicAssignment || !IsInvariantArray(arrayAccess.Expression.Type)) 841var loweredArray = VisitExpression(arrayAccess.Expression);
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (4)
573!IsInvariantArray(arrayAccess.Expression.Type)) 578capturedReceiver = SpillArrayElementAccess(arrayAccess.Expression, arrayAccess.Indices, sideeffects, locals); 916!IsInvariantArray(arrayAccess.Expression.Type)) 921capturedReceiver = SpillArrayElementAccess(arrayAccess.Expression, arrayAccess.Indices, sideEffectsBuilder, localsBuilder);
Lowering\LocalRewriter\LocalRewriter.cs (3)
850Debug.Assert(node.Expression.Type is { TypeKind: TypeKind.Array }); 851var elementType = ((ArrayTypeSymbol)node.Expression.Type).ElementTypeWithAnnotations; 858VisitExpression(node.Expression),
Lowering\SpillSequenceSpiller.cs (5)
589if (originalReceiverArrayAccess.Expression is not BoundLocal originalReceiverArrayAccessExpressionLocal 590|| valueTypeReceiverArrayAccess.Expression is not BoundLocal valueTypeReceiverArrayAccessExpressionLocal 845var expression = VisitExpression(ref builder, node.Expression); 1031var expression = VisitExpression(ref builder, arrayAccess.Expression); 1108!LocalRewriter.IsInvariantArray(arrayAccess.Expression.Type))
Lowering\StateMachineRewriter\RefInitializationHoister.cs (1)
153array.Expression,
Operations\CSharpOperationFactory.cs (1)
1711IOperation arrayReference = Create(boundArrayAccess.Expression);