27 instantiations of BoundFieldAccess
Microsoft.CodeAnalysis.CSharp (27)
Binder\Binder_Attributes.cs (1)
576lvalue = new BoundFieldAccess(nameSyntax, null, fieldSymbol, ConstantValue.NotAvailable, resultKind, fieldSymbol.Type);
Binder\Binder_Deconstruct.cs (1)
952return new BoundFieldAccess(syntax,
Binder\Binder_Expressions.cs (3)
1522return new BoundFieldAccess(node, implicitReceiver, field, constantValueOpt: null); 3354return new BoundFieldAccess(declarationExpression, 9104BoundExpression expr = new BoundFieldAccess(node, receiver, fieldSymbol, constantValueOpt, resultKind, fieldType, hasErrors: (hasErrors || hasError));
Binder\Binder_Invocation.cs (1)
1478defaultValue = new BoundFieldAccess(syntax, null, fieldSymbol, ConstantValue.NotAvailable) { WasCompilerGenerated = true };
Binder\Binder_Patterns.cs (1)
924variableAccess = new BoundFieldAccess(
BoundTree\VariablePendingInference.cs (1)
100return new BoundFieldAccess(this.Syntax,
Compiler\MethodBodySynthesizer.cs (5)
122new BoundFieldAccess(syntax, thisReference, hostObjectField, ConstantValue.NotAvailable) { WasCompilerGenerated = true }, 150new BoundFieldAccess(syntax, thisReference, field, ConstantValue.NotAvailable) { WasCompilerGenerated = true }, 188var fieldAccess = new BoundFieldAccess(syntax, thisReference, field, ConstantValue.NotAvailable) { WasCompilerGenerated = true }; 278BoundFieldAccess fieldAccess = new BoundFieldAccess( 380BoundFieldAccess boundBackingField = new BoundFieldAccess(syntax,
FlowAnalysis\NullableWalker.cs (1)
11077return fields.SelectAsArray((f, e) => (BoundExpression)new BoundFieldAccess(e.Syntax, e, f, constantValueOpt: null), expr);
Generated\BoundNodes.xml.Generated.cs (1)
7314var result = new BoundFieldAccess(this.Syntax, receiverOpt, fieldSymbol, constantValueOpt, resultKind, isByValue, isDeclaration, type, this.HasErrors);
Lowering\ClosureConversion\ClosureConversion.cs (2)
698BoundExpression left = new BoundFieldAccess(syntax, new BoundLocal(syntax, framePointer, null, frameType), frameParent, null); 1062receiver = new BoundFieldAccess(syntax, null, field, constantValueOpt: null);
Lowering\InitializerRewriter.cs (1)
100new BoundFieldAccess(syntax,
Lowering\LocalRewriter\LocalRewriter.cs (1)
322var result = new BoundFieldAccess(node.Syntax, new BoundThisReference(node.Syntax, primaryCtor.ContainingType), field, ConstantValue.NotAvailable, LookupResultKind.Viable, node.Type);
Lowering\LocalRewriter\LocalRewriter_Event.cs (1)
241BoundFieldAccess 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)
251return new BoundFieldAccess(Syntax, receiver, f, ConstantValue.NotAvailable, LookupResultKind.Viable, f.Type) { WasCompilerGenerated = true };
163 references to BoundFieldAccess
Microsoft.CodeAnalysis.CSharp (163)
Binder\Binder.ValueChecks.cs (13)
1053if (receiver is BoundFieldAccess fieldAccess && fieldAccess.FieldSymbol.IsFixedSizeBuffer) 1178var fieldAccess = (BoundFieldAccess)expr; 1596private bool CheckFieldValueKind(SyntaxNode node, BoundFieldAccess fieldAccess, BindValueKind valueKind, bool checkingReceiver, BindingDiagnosticBag diagnostics) 1759private SafeContext GetFieldRefEscape(BoundFieldAccess fieldAccess) 1782private bool CheckFieldRefEscape(SyntaxNode node, BoundFieldAccess fieldAccess, SafeContext escapeTo, BindingDiagnosticBag diagnostics) 3767return GetFieldRefEscape((BoundFieldAccess)expr); 4061var fieldAccess = (BoundFieldAccess)expr; 4427var fieldAccess = (BoundFieldAccess)expr; 5098var fieldAccess = (BoundFieldAccess)expr;
Binder\Binder_Attributes.cs (2)
817var fa = (BoundFieldAccess)assignment.Left;
Binder\Binder_Expressions.cs (2)
6013var fieldSymbol = ((BoundFieldAccess)boundMember).FieldSymbol; 6268BoundFieldAccess fieldAccess => fieldAccess.FieldSymbol,
Binder\Binder_Invocation.cs (1)
115symbol = ((BoundFieldAccess)boundExpression).FieldSymbol;
Binder\Binder_Operators.cs (3)
4176BoundFieldAccess fieldAccess = (BoundFieldAccess)expr; 4287if (underlyingExpr is BoundFieldAccess fieldAccess && fieldAccess.FieldSymbol.IsFixedSizeBuffer)
Binder\Binder_Statements.cs (2)
1257var fa = (BoundFieldAccess)initializerOpt;
BoundTree\BoundExpressionExtensions.cs (1)
31return ((BoundFieldAccess)node).FieldSymbol.RefKind;
BoundTree\BoundNode_Source.cs (1)
255case BoundFieldAccess fieldAccess:
BoundTree\BoundTreeVisitors.cs (1)
122return VisitFieldAccess(node as BoundFieldAccess, arg);
BoundTree\Constructors.cs (2)
49public BoundFieldAccess Update( 72return ((BoundFieldAccess)receiver).IsByValue;
CodeGen\CodeGenerator_HasHome.cs (2)
109return FieldAccessHasHome((BoundFieldAccess)expression, addressKind, containingSymbol, peVerifyCompatEnabled, stackLocalsOpt); 172BoundFieldAccess fieldAccess,
CodeGen\EmitAddress.cs (5)
53return EmitFieldAddress((BoundFieldAccess)expression, addressKind); 368var fieldAccess = (BoundFieldAccess)value; 436private LocalDefinition EmitFieldAddress(BoundFieldAccess fieldAccess, AddressKind addressKind) 543private LocalDefinition EmitInstanceFieldAddress(BoundFieldAccess fieldAccess, AddressKind addressKind)
CodeGen\EmitExpression.cs (17)
150EmitFieldLoad((BoundFieldAccess)expression, used); 730Debug.Assert(refKind is RefKind.In || argument.Type.IsDynamic() || argument is BoundFieldAccess { FieldSymbol.RefKind: not RefKind.None }, "passing args byref should not clone them into temps"); 1129private void EmitFieldLoad(BoundFieldAccess fieldAccess, bool used) 1163private void EmitFieldLoadNoIndirection(BoundFieldAccess fieldAccess, bool used) 1255var fieldAccess = (BoundFieldAccess)receiver; 1309var fieldAccess = (BoundFieldAccess)receiver; 1575return ((BoundFieldAccess)receiver).FieldSymbol.IsCapturedFrame; 2166var field = (BoundFieldAccess)current; 2693var fieldAccess = (BoundFieldAccess)left; 2820var left = (BoundFieldAccess)assignmentTarget; 3104EmitFieldStore((BoundFieldAccess)expression, assignment.IsRef); 3312private void EmitFieldStore(BoundFieldAccess fieldAccess, bool refAssign)
CodeGen\EmitStatement.cs (2)
1179var left = (BoundFieldAccess)exceptionSource;
CodeGen\Optimizer.cs (3)
1027right is BoundFieldAccess fieldAccess && 1111return !((BoundFieldAccess)lhs).FieldSymbol.IsStatic; 1348public override BoundNode VisitFieldAccess(BoundFieldAccess node)
Compiler\MethodBodySynthesizer.cs (3)
188var fieldAccess = new BoundFieldAccess(syntax, thisReference, field, ConstantValue.NotAvailable) { WasCompilerGenerated = true }; 278BoundFieldAccess fieldAccess = new BoundFieldAccess( 380BoundFieldAccess boundBackingField = new BoundFieldAccess(syntax,
FlowAnalysis\AbstractFlowPass.cs (3)
586BoundFieldAccess node1 = (BoundFieldAccess)node; 2230public override BoundNode VisitFieldAccess(BoundFieldAccess node)
FlowAnalysis\DataFlowsOutWalker.cs (2)
129var fieldAccess = (BoundFieldAccess)node;
FlowAnalysis\DefiniteAssignment.cs (14)
745var fieldAccess = (BoundFieldAccess)n; 917var fieldAccess = (BoundFieldAccess)n; 1026var fieldAccess = (BoundFieldAccess)expr; 1357var fieldAccess = (BoundFieldAccess)node; 1441var fieldAccess = (BoundFieldAccess)expression; 1470if (!isRef && node is BoundFieldAccess { FieldSymbol.RefKind: not RefKind.None } fieldAccess) 2559var field = (BoundFieldAccess)expr; 2655public override BoundNode VisitFieldAccess(BoundFieldAccess node)
FlowAnalysis\NullableWalker.cs (4)
2070var fieldAccess = (BoundFieldAccess)expr; 10707BoundFieldAccess field => GetFieldAnnotations(field.FieldSymbol), 11461public override BoundNode? VisitFieldAccess(BoundFieldAccess node)
FlowAnalysis\ReadWriteWalker.cs (7)
149NoteReceiverRead((BoundFieldAccess)expr); 153private void NoteReceiverWritten(BoundFieldAccess expr) 163private void NoteReceiverRead(BoundFieldAccess expr) 175private void NoteReceiverReadOrWritten(BoundFieldAccess expr, HashSet<Symbol> readOrWritten) 223NoteReceiverReadOrWritten((BoundFieldAccess)receiver, readOrWritten); 258var fieldAccess = node as BoundFieldAccess;
Generated\BoundNodes.xml.Generated.cs (10)
7310public BoundFieldAccess Update(BoundExpression? receiverOpt, FieldSymbol fieldSymbol, ConstantValue? constantValueOpt, LookupResultKind resultKind, bool isByValue, bool isDeclaration, TypeSymbol type) 7314var result = new BoundFieldAccess(this.Syntax, receiverOpt, fieldSymbol, constantValueOpt, resultKind, isByValue, isDeclaration, type, this.HasErrors); 9280return VisitFieldAccess((BoundFieldAccess)node, arg); 9561public virtual R VisitFieldAccess(BoundFieldAccess node, A arg) => this.DefaultVisit(node, arg); 9797public virtual BoundNode? VisitFieldAccess(BoundFieldAccess node) => this.DefaultVisit(node); 10663public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 12122public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 14621public override BoundNode? VisitFieldAccess(BoundFieldAccess node) 14625BoundFieldAccess updatedNode; 16903public override TreeDumperNode VisitFieldAccess(BoundFieldAccess node, object? arg) => new TreeDumperNode("fieldAccess", null, new TreeDumperNode[]
Lowering\AsyncRewriter\AsyncIteratorMethodToStateMachineRewriter.cs (2)
141BoundFieldAccess promiseField = F.InstanceField(_asyncIteratorInfo.PromiseOfValueOrEndField); 169var combinedTokens = F.Field(F.This(), _asyncIteratorInfo.CombinedTokensField);
Lowering\AsyncRewriter\AsyncRewriter.AsyncIteratorRewriter.cs (2)
234BoundFieldAccess combinedTokens = F.Field(F.This(), _combinedTokensField); 378BoundFieldAccess promiseField = F.InstanceField(_promiseOfValueOrEndField);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (3)
215var fieldAccess = (BoundFieldAccess)node; 825private BoundExpression VisitFieldAccess(BoundFieldAccess node)
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
815CheckFieldAddress((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)
53var boundCacheField = _factory.Field(receiver: null, cacheField);
Lowering\LocalRewriter\LocalRewriter.cs (4)
322var result = new BoundFieldAccess(node.Syntax, new BoundThisReference(node.Syntax, primaryCtor.ContainingType), field, ConstantValue.NotAvailable, LookupResultKind.Viable, node.Type); 928var lhsField = ((BoundFieldAccess)assignment.Left).FieldSymbol; 1076var fieldAccess = (BoundFieldAccess)expr;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (2)
770var fieldAccess = (BoundFieldAccess)originalLHS;
Lowering\LocalRewriter\LocalRewriter_Event.cs (1)
241BoundFieldAccess 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)
761if (expr is BoundFieldAccess fieldAccess)
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (1)
644return !((BoundFieldAccess)expression).FieldSymbol.IsStatic;
Lowering\LocalRewriter\LoweredDynamicOperationFactory.cs (1)
647var callSiteFieldAccess = _factory.Field(null, callSiteField);
Lowering\MethodToClassRewriter.cs (1)
327public override BoundNode VisitFieldAccess(BoundFieldAccess node)
Lowering\SpillSequenceSpiller.cs (7)
405var field = (BoundFieldAccess)expression; 891var field = (BoundFieldAccess)left; 928BoundExpression fieldWithSpilledReceiver(BoundFieldAccess field, ref BoundSpillSequenceBuilder leftBuilder, bool isAssignmentTarget) 959else if (field.ReceiverOpt is BoundFieldAccess receiverField) 1225public override BoundNode VisitFieldAccess(BoundFieldAccess node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (2)
261case BoundFieldAccess { FieldSymbol: { IsStatic: false, ContainingType: { IsValueType: true } }, ReceiverOpt: BoundExpression receiver }: 314public override BoundNode VisitFieldAccess(BoundFieldAccess node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (3)
99private readonly RefInitializationHoister<StateMachineFieldSymbol, BoundFieldAccess> _refInitializationHoister; 167_refInitializationHoister = new RefInitializationHoister<StateMachineFieldSymbol, BoundFieldAccess>(F, OriginalMethod, TypeMap); 711static BoundFieldAccess createHoistedAccess(StateMachineFieldSymbol fieldSymbol, MethodToStateMachineRewriter @this)
Lowering\StateMachineRewriter\RefInitializationHoister.cs (2)
188var field = (BoundFieldAccess)expr;
Lowering\SyntheticBoundNodeFactory.cs (2)
249public BoundFieldAccess Field(BoundExpression? receiver, FieldSymbol f) 254public BoundFieldAccess InstanceField(FieldSymbol f)
Operations\CSharpOperationFactory.cs (2)
46return CreateBoundFieldAccessOperation((BoundFieldAccess)boundNode); 572internal IOperation CreateBoundFieldAccessOperation(BoundFieldAccess boundFieldAccess, bool createDeclaration = true)
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListEnumeratorTypeSymbol.cs (4)
57var itemFieldReference = f.Field(f.This(), itemField); 77var itemFieldReference = f.Field(f.This(), itemField); 89var moveNextCalledFieldReference = f.Field(f.This(), moveNextCalledField); 108var moveNextCalledFieldReference = f.Field(f.This(), moveNextCalledField);
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeSymbol.cs (7)
476var fieldReference = f.Field(f.This(), field); 515var fieldReference = f.Field(f.This(), field); 575var fieldReference = f.Field(f.This(), field); 618var fieldReference = f.Field(f.This(), field); 687var fieldReference = f.Field(f.This(), field); 721var fieldReference = f.Field(f.This(), field); 778SyntheticBoundNodeFactory f, BoundFieldAccess fieldReference, BoundParameter parameterReference)