27 instantiations of BoundFieldAccess
Microsoft.CodeAnalysis.CSharp (26)
Binder\Binder_Attributes.cs (1)
556lvalue = new BoundFieldAccess(nameSyntax, null, fieldSymbol, ConstantValue.NotAvailable, resultKind, fieldSymbol.Type);
Binder\Binder_Deconstruct.cs (1)
949return new BoundFieldAccess(syntax,
Binder\Binder_Expressions.cs (2)
3013return new BoundFieldAccess(declarationExpression, 7533BoundExpression expr = new BoundFieldAccess(node, receiver, fieldSymbol, constantValueOpt, resultKind, fieldType, hasErrors: (hasErrors || hasError));
Binder\Binder_Invocation.cs (1)
1215defaultValue = new BoundFieldAccess(syntax, null, fieldSymbol, ConstantValue.NotAvailable) { WasCompilerGenerated = true };
Binder\Binder_Patterns.cs (1)
903variableAccess = new BoundFieldAccess(
BoundTree\VariablePendingInference.cs (1)
98return new BoundFieldAccess(this.Syntax,
Compiler\MethodBodySynthesizer.cs (5)
121new BoundFieldAccess(syntax, thisReference, hostObjectField, ConstantValue.NotAvailable) { WasCompilerGenerated = true }, 149new BoundFieldAccess(syntax, thisReference, field, ConstantValue.NotAvailable) { WasCompilerGenerated = true }, 187var fieldAccess = new BoundFieldAccess(syntax, thisReference, field, ConstantValue.NotAvailable) { WasCompilerGenerated = true }; 277BoundFieldAccess fieldAccess = new BoundFieldAccess( 377BoundFieldAccess boundBackingField = new BoundFieldAccess(syntax,
FlowAnalysis\NullableWalker.cs (1)
9522return fields.SelectAsArray((f, e) => (BoundExpression)new BoundFieldAccess(e.Syntax, e, f, constantValueOpt: null), expr);
Generated\BoundNodes.xml.Generated.cs (1)
7018var result = new BoundFieldAccess(this.Syntax, receiverOpt, fieldSymbol, constantValueOpt, resultKind, isByValue, isDeclaration, type, this.HasErrors);
Lowering\ClosureConversion\ClosureConversion.cs (2)
682BoundExpression left = new BoundFieldAccess(syntax, new BoundLocal(syntax, framePointer, null, frameType), frameParent, null); 1042receiver = new BoundFieldAccess(syntax, null, field, constantValueOpt: null);
Lowering\InitializerRewriter.cs (1)
100new BoundFieldAccess(syntax,
Lowering\LocalRewriter\LocalRewriter.cs (1)
280var result = new BoundFieldAccess(node.Syntax, new BoundThisReference(node.Syntax, primaryCtor.ContainingType), field, ConstantValue.NotAvailable, LookupResultKind.Viable, node.Type);
Lowering\LocalRewriter\LocalRewriter_Event.cs (1)
232BoundFieldAccess fieldAccess = new BoundFieldAccess(
Lowering\LocalRewriter\LocalRewriter_Field.cs (1)
33new BoundFieldAccess(syntax, rewrittenReceiver, fieldSymbol, constantValueOpt, resultKind, type);
Lowering\LocalRewriter\LocalRewriter_HostObjectMemberReference.cs (1)
20return new BoundFieldAccess(syntax, thisReference, hostObjectReference, constantValueOpt: null);
Lowering\LocalRewriter\LocalRewriter_Literal.cs (1)
94return new BoundFieldAccess(syntax, null, fieldSymbol, constantValue);
Lowering\LocalRewriter\LocalRewriter_PreviousSubmissionReference.cs (1)
24return new BoundFieldAccess(syntax, thisReference, targetScriptReference, ConstantValue.NotAvailable);
Lowering\StateMachineRewriter\CapturedSymbol.cs (2)
43return new BoundFieldAccess(node, frame, field, constantValueOpt: null); 61return new BoundFieldAccess(node, frame, field, constantValueOpt: null);
Lowering\SyntheticBoundNodeFactory.cs (1)
290return new BoundFieldAccess(Syntax, receiver, f, ConstantValue.NotAvailable, LookupResultKind.Viable, f.Type) { WasCompilerGenerated = true };
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (1)
Symbols\DisplayClassVariable.cs (1)
71expr = new BoundFieldAccess(syntax, expr, field, constantValueOpt: null) { WasCompilerGenerated = true };
150 references to BoundFieldAccess
Microsoft.CodeAnalysis.CSharp (150)
Binder\Binder.ValueChecks.cs (15)
654if (receiver is BoundFieldAccess fieldAccess && fieldAccess.FieldSymbol.IsFixedSizeBuffer) 751var fieldAccess = (BoundFieldAccess)expr; 1122private bool CheckFieldValueKind(SyntaxNode node, BoundFieldAccess fieldAccess, BindValueKind valueKind, bool checkingReceiver, BindingDiagnosticBag diagnostics) 1262private uint GetFieldRefEscape(BoundFieldAccess fieldAccess, uint scopeOfTheContainingExpression) 1285private bool CheckFieldRefEscape(SyntaxNode node, BoundFieldAccess fieldAccess, uint escapeFrom, uint escapeTo, BindingDiagnosticBag diagnostics) 2988return GetFieldRefEscape((BoundFieldAccess)expr, scopeOfTheContainingExpression); 3241var fieldAccess = (BoundFieldAccess)expr; 3567var fieldAccess = (BoundFieldAccess)expr; 3992var fieldAccess = (BoundFieldAccess)expr; 4651return FieldAccessHasHome((BoundFieldAccess)expression, addressKind, containingSymbol, peVerifyCompatEnabled, stackLocalsOpt); 4714BoundFieldAccess fieldAccess,
Binder\Binder_Attributes.cs (2)
910var fa = (BoundFieldAccess)assignment.Left;
Binder\Binder_Expressions.cs (2)
5014var fieldSymbol = ((BoundFieldAccess)boundMember).FieldSymbol; 5255BoundFieldAccess fieldAccess => fieldAccess.FieldSymbol,
Binder\Binder_Invocation.cs (1)
105symbol = ((BoundFieldAccess)boundExpression).FieldSymbol;
Binder\Binder_Operators.cs (3)
2547BoundFieldAccess fieldAccess = (BoundFieldAccess)expr; 2646if (underlyingExpr is BoundFieldAccess fieldAccess && fieldAccess.FieldSymbol.IsFixedSizeBuffer)
Binder\Binder_Statements.cs (2)
1261var fa = (BoundFieldAccess)initializerOpt;
BoundTree\BoundExpressionExtensions.cs (1)
31return ((BoundFieldAccess)node).FieldSymbol.RefKind;
BoundTree\BoundNode_Source.cs (1)
252case BoundFieldAccess fieldAccess:
BoundTree\BoundTreeVisitors.cs (1)
122return VisitFieldAccess(node as BoundFieldAccess, arg);
BoundTree\Constructors.cs (2)
48public BoundFieldAccess Update( 70return ((BoundFieldAccess)receiver).IsByValue;
CodeGen\EmitAddress.cs (5)
55return EmitFieldAddress((BoundFieldAccess)expression, addressKind); 365var fieldAccess = (BoundFieldAccess)value; 433private LocalDefinition EmitFieldAddress(BoundFieldAccess fieldAccess, AddressKind addressKind) 540private LocalDefinition EmitInstanceFieldAddress(BoundFieldAccess fieldAccess, AddressKind addressKind)
CodeGen\EmitExpression.cs (16)
149EmitFieldLoad((BoundFieldAccess)expression, used); 1078private void EmitFieldLoad(BoundFieldAccess fieldAccess, bool used) 1112private void EmitFieldLoadNoIndirection(BoundFieldAccess fieldAccess, bool used) 1204var fieldAccess = (BoundFieldAccess)receiver; 1258var fieldAccess = (BoundFieldAccess)receiver; 1524return ((BoundFieldAccess)receiver).FieldSymbol.IsCapturedFrame; 1919var field = (BoundFieldAccess)current; 2444var fieldAccess = (BoundFieldAccess)left; 2564var left = (BoundFieldAccess)assignmentTarget; 2847EmitFieldStore((BoundFieldAccess)expression, assignment.IsRef); 3055private void EmitFieldStore(BoundFieldAccess fieldAccess, bool refAssign)
CodeGen\EmitStatement.cs (2)
1131var left = (BoundFieldAccess)exceptionSource;
CodeGen\Optimizer.cs (3)
1017right is BoundFieldAccess fieldAccess && 1101return !((BoundFieldAccess)lhs).FieldSymbol.IsStatic; 1272public override BoundNode VisitFieldAccess(BoundFieldAccess node)
Compiler\MethodBodySynthesizer.cs (3)
187var fieldAccess = new BoundFieldAccess(syntax, thisReference, field, ConstantValue.NotAvailable) { WasCompilerGenerated = true }; 277BoundFieldAccess fieldAccess = new BoundFieldAccess( 377BoundFieldAccess boundBackingField = new BoundFieldAccess(syntax,
FlowAnalysis\AbstractFlowPass.cs (3)
586BoundFieldAccess node1 = (BoundFieldAccess)node; 2051public override BoundNode VisitFieldAccess(BoundFieldAccess node)
FlowAnalysis\DataFlowsOutWalker.cs (2)
129var fieldAccess = (BoundFieldAccess)node;
FlowAnalysis\DefiniteAssignment.cs (13)
772var fieldAccess = (BoundFieldAccess)n; 932var fieldAccess = (BoundFieldAccess)n; 1030var fieldAccess = (BoundFieldAccess)expr; 1344var fieldAccess = (BoundFieldAccess)node; 1422var fieldAccess = (BoundFieldAccess)expression; 2439var field = (BoundFieldAccess)expr; 2527public override BoundNode VisitFieldAccess(BoundFieldAccess node)
FlowAnalysis\NullableWalker.cs (6)
1900var fieldAccess = (BoundFieldAccess)expr; 9043case BoundFieldAccess { ExpressionSymbol: FieldSymbol { AssociatedSymbol: PropertySymbol autoProperty } } fieldAccess: 9046case BoundFieldAccess { ExpressionSymbol: FieldSymbol { AssociatedSymbol: EventSymbol @event } } fieldAccess: 9152BoundFieldAccess field => GetFieldAnnotations(field.FieldSymbol), 9786public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
FlowAnalysis\ReadWriteWalker.cs (7)
144NoteReceiverRead((BoundFieldAccess)expr); 148private void NoteReceiverWritten(BoundFieldAccess expr) 153private void NoteReceiverRead(BoundFieldAccess expr) 165private void NoteReceiverReadOrWritten(BoundFieldAccess expr, HashSet<Symbol> readOrWritten) 208NoteReceiverReadOrWritten(receiver as BoundFieldAccess, readOrWritten); 236var fieldAccess = node as BoundFieldAccess;
Generated\BoundNodes.xml.Generated.cs (10)
7014public BoundFieldAccess Update(BoundExpression? receiverOpt, FieldSymbol fieldSymbol, ConstantValue? constantValueOpt, LookupResultKind resultKind, bool isByValue, bool isDeclaration, TypeSymbol type) 7018var result = new BoundFieldAccess(this.Syntax, receiverOpt, fieldSymbol, constantValueOpt, resultKind, isByValue, isDeclaration, type, this.HasErrors); 8881return VisitFieldAccess((BoundFieldAccess)node, arg); 9153public virtual R VisitFieldAccess(BoundFieldAccess node, A arg) => this.DefaultVisit(node, arg); 9381public virtual BoundNode? VisitFieldAccess(BoundFieldAccess node) => this.DefaultVisit(node); 10222public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 11501public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 13893public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 13897BoundFieldAccess updatedNode; 16096public override TreeDumperNode VisitFieldAccess(BoundFieldAccess node, object? arg) => new TreeDumperNode("fieldAccess", null, new TreeDumperNode[]
Lowering\AsyncRewriter\AsyncIteratorMethodToStateMachineRewriter.cs (2)
129BoundFieldAccess promiseField = F.InstanceField(_asyncIteratorInfo.PromiseOfValueOrEndField); 157var combinedTokens = F.Field(F.This(), _asyncIteratorInfo.CombinedTokensField);
Lowering\AsyncRewriter\AsyncRewriter.AsyncIteratorRewriter.cs (2)
233BoundFieldAccess combinedTokens = F.Field(F.This(), _combinedTokensField); 377BoundFieldAccess promiseField = F.InstanceField(_promiseOfValueOrEndField);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (3)
212var fieldAccess = (BoundFieldAccess)node; 729private BoundExpression VisitFieldAccess(BoundFieldAccess node)
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
690CheckFieldAddress((BoundFieldAccess)operand, consumerOpt: null);
Lowering\DiagnosticsPass_Warnings.cs (11)
34CheckFieldAddress((BoundFieldAccess)argument, method); 56private void CheckFieldAddress(BoundFieldAccess fieldAccess, Symbol consumerOpt) 80private void CheckFieldAsReceiver(BoundFieldAccess fieldAccess) 99CheckFieldAsReceiver((BoundFieldAccess)receiverOpt); 106internal static bool IsNonAgileFieldAccess(BoundFieldAccess fieldAccess, CSharpCompilation compilation) 133private static bool IsInstanceFieldAccessWithNonThisReceiver(BoundFieldAccess fieldAccess) 208var field1 = (BoundFieldAccess)expr1; 209var field2 = (BoundFieldAccess)expr2; 930public override BoundNode VisitFieldAccess(BoundFieldAccess node)
Lowering\LocalRewriter\DelegateCacheRewriter.cs (1)
54var boundCacheField = _factory.Field(receiver: null, cacheField);
Lowering\LocalRewriter\LocalRewriter.cs (4)
280var result = new BoundFieldAccess(node.Syntax, new BoundThisReference(node.Syntax, primaryCtor.ContainingType), field, ConstantValue.NotAvailable, LookupResultKind.Viable, node.Type); 801var lhsField = ((BoundFieldAccess)assignment.Left).FieldSymbol; 940var fieldAccess = (BoundFieldAccess)expr;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (2)
631var fieldAccess = (BoundFieldAccess)originalLHS;
Lowering\LocalRewriter\LocalRewriter_Event.cs (1)
232BoundFieldAccess fieldAccess = new BoundFieldAccess(
Lowering\LocalRewriter\LocalRewriter_Field.cs (2)
11public override BoundNode VisitFieldAccess(BoundFieldAccess node) 24BoundFieldAccess? oldNodeOpt = null)
Lowering\LocalRewriter\LocalRewriter_PointerElementAccess.cs (1)
22if (receiver is BoundFieldAccess fieldAccess && fieldAccess.FieldSymbol.IsFixedSizeBuffer)
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (1)
501if (expr is BoundFieldAccess fieldAccess)
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (1)
492return !((BoundFieldAccess)expression).FieldSymbol.IsStatic;
Lowering\LocalRewriter\LoweredDynamicOperationFactory.cs (1)
661var callSiteFieldAccess = _factory.Field(null, callSiteField);
Lowering\MethodToClassRewriter.cs (1)
543public override BoundNode VisitFieldAccess(BoundFieldAccess node)
Lowering\SpillSequenceSpiller.cs (7)
406var field = (BoundFieldAccess)expression; 809var field = (BoundFieldAccess)left; 846BoundExpression fieldWithSpilledReceiver(BoundFieldAccess field, ref BoundSpillSequenceBuilder leftBuilder, bool isAssignmentTarget) 877else if (field.ReceiverOpt is BoundFieldAccess receiverField) 1114public override BoundNode VisitFieldAccess(BoundFieldAccess node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (2)
216case BoundFieldAccess { FieldSymbol: { IsStatic: false, ContainingType: { IsValueType: true } }, ReceiverOpt: BoundExpression receiver }: 267public override BoundNode VisitFieldAccess(BoundFieldAccess node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (3)
568var field = (BoundFieldAccess)expr; 679var replacement = F.Field(F.This(), hoistedField);
Lowering\SyntheticBoundNodeFactory.cs (2)
288public BoundFieldAccess Field(BoundExpression? receiver, FieldSymbol f) 293public BoundFieldAccess InstanceField(FieldSymbol f)
Operations\CSharpOperationFactory.cs (2)
46return CreateBoundFieldAccessOperation((BoundFieldAccess)boundNode); 569internal IOperation CreateBoundFieldAccessOperation(BoundFieldAccess boundFieldAccess, bool createDeclaration = true)