5 instantiations of BoundPropertyAccess
Microsoft.CodeAnalysis.CSharp (5)
Binder\Binder_Expressions.cs (1)
9029return new BoundPropertyAccess(node, receiver, initialBindingReceiverIsSubjectToCloning: ReceiverIsSubjectToCloning(receiver, propertySymbol), propertySymbol, autoPropertyAccessorKind: AccessorKind.Unknown, lookupResult, propertySymbol.Type, hasErrors: (hasErrors || hasError));
Binder\Binder_Patterns.cs (1)
367lengthAccess = new BoundPropertyAccess(node, receiverPlaceholder, initialBindingReceiverIsSubjectToCloning: ThreeState.False, lengthProperty, autoPropertyAccessorKind: AccessorKind.Unknown, LookupResultKind.Viable, lengthProperty.Type) { WasCompilerGenerated = true };
Generated\BoundNodes.xml.Generated.cs (1)
7365var result = new BoundPropertyAccess(this.Syntax, receiverOpt, initialBindingReceiverIsSubjectToCloning, propertySymbol, autoPropertyAccessorKind, resultKind, type, this.HasErrors);
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.cs (2)
59new BoundPropertyAccess(syntax, rewrittenReceiverOpt, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, propertySymbol, autoPropertyAccessorKind: AccessorKind.Unknown, resultKind, type); 87new BoundPropertyAccess(syntax, rewrittenReceiver, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, property, autoPropertyAccessorKind: AccessorKind.Unknown, LookupResultKind.Viable, property.Type);
92 references to BoundPropertyAccess
Microsoft.CodeAnalysis.CSharp (92)
Binder\Binder.ValueChecks.cs (11)
322public static MethodInvocationInfo FromProperty(BoundPropertyAccess propertyAccess) 764var propertyAccess = (BoundPropertyAccess)expr; 3862var propertyAccess = (BoundPropertyAccess)expr; 4176var propertyAccess = (BoundPropertyAccess)expr; 4478var propertyAccess = (BoundPropertyAccess)expr; 5183var propertyAccess = (BoundPropertyAccess)expr;
Binder\Binder_Attributes.cs (2)
820var pa = (BoundPropertyAccess)assignment.Left;
Binder\Binder_Await.cs (1)
625if (qualified is not BoundPropertyAccess { PropertySymbol: { } propertySymbol } || propertySymbol.GetIsNewExtensionMember())
Binder\Binder_Expressions.cs (3)
5951hasErrors |= isRhsNestedInitializer && !CheckNestedObjectInitializerPropertySymbol(((BoundPropertyAccess)boundMember).PropertySymbol, leftSyntax, diagnostics, hasErrors, ref resultKind); 6186BoundPropertyAccess propertyAccess => propertyAccess.PropertySymbol, 10265Debug.Assert(lengthOrCountAccess is BoundPropertyAccess);
Binder\Binder_Invocation.cs (2)
118symbol = ((BoundPropertyAccess)boundExpression).PropertySymbol; 2330else if (boundArgument is BoundPropertyAccess propertyAccess)
Binder\Binder_Statements.cs (4)
1610case BoundPropertyAccess { PropertySymbol.SetMethod: { } propSet, ReceiverOpt: var receiver } when propSet.GetIsNewExtensionMember(): 1674var propertyAccess = (BoundPropertyAccess)expr; 1792internal static bool AccessingAutoPropertyFromConstructor(BoundPropertyAccess propertyAccess, Symbol fromMember)
Binder\RefSafetyAnalysis.cs (1)
986public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
BoundTree\BoundExpressionExtensions.cs (1)
37return ((BoundPropertyAccess)node).PropertySymbol.RefKind;
BoundTree\BoundImplicitIndexerAccess.cs (1)
20Debug.Assert(LengthOrCountAccess is BoundPropertyAccess or BoundArrayLength or BoundLocal or BoundBadExpression);
BoundTree\BoundListPattern.cs (1)
14Debug.Assert(LengthAccess is null or BoundPropertyAccess or BoundBadExpression);
BoundTree\BoundTreeVisitors.cs (1)
124return VisitPropertyAccess(node as BoundPropertyAccess, arg);
Compiler\MethodCompiler.cs (3)
2374public static BoundPropertyAccess? FindUncheckedAccess(BoundNode node) 2381private BoundPropertyAccess? _found; 2398public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
FlowAnalysis\AbstractFlowPass.cs (14)
569var access = (BoundPropertyAccess)node; 2136return !Binder.AccessingAutoPropertyFromConstructor((BoundPropertyAccess)expr, _symbol); 2144var left = (BoundPropertyAccess)node.Left; 2199var left = (BoundPropertyAccess)node.Left; 2218var left = (BoundPropertyAccess)node.Left; 2268public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2835var left = (BoundPropertyAccess)node.Operand; 3744(BoundPropertyAccess)node.LeftOperand is var left && 3800BoundPropertyAccess propertyAccessOpt)
FlowAnalysis\DefiniteAssignment.cs (6)
1103var propAccess = (BoundPropertyAccess)expr; 1436var propertyAccess = (BoundPropertyAccess)node; 2726public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2787BoundPropertyAccess propertyAccessOpt)
FlowAnalysis\NullableWalker.cs (7)
2081var propAccess = (BoundPropertyAccess)expr; 7107or BoundPropertyAccess 10466if (left is BoundPropertyAccess { PropertySymbol: SourcePropertySymbolBase { SetMethod: null, UsesFieldKeyword: true } property }) 10544BoundPropertyAccess propAccess => propAccess.PropertySymbol, 10568BoundPropertyAccess property => property.PropertySymbol.GetFlowAnalysisAnnotations(), 11356public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
FlowAnalysis\ReadWriteWalker.cs (1)
309underlying = ((BoundPropertyAccess)underlying).ReceiverOpt;
Generated\BoundNodes.xml.Generated.cs (10)
7361public BoundPropertyAccess Update(BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol propertySymbol, AccessorKind autoPropertyAccessorKind, LookupResultKind resultKind, TypeSymbol type) 7365var result = new BoundPropertyAccess(this.Syntax, receiverOpt, initialBindingReceiverIsSubjectToCloning, propertySymbol, autoPropertyAccessorKind, resultKind, type, this.HasErrors); 9253return VisitPropertyAccess((BoundPropertyAccess)node, arg); 9532public virtual R VisitPropertyAccess(BoundPropertyAccess node, A arg) => this.DefaultVisit(node, arg); 9768public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node); 10639public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 12105public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 14622public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 14626BoundPropertyAccess updatedNode; 16900public override TreeDumperNode VisitPropertyAccess(BoundPropertyAccess node, object? arg) => new TreeDumperNode("propertyAccess", null, new TreeDumperNode[]
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
233return VisitPropertyAccess((BoundPropertyAccess)node); 1101private BoundExpression VisitPropertyAccess(BoundPropertyAccess node)
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
583public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
Lowering\LocalRewriter\LocalRewriter.cs (1)
1095return ((BoundPropertyAccess)expr).PropertySymbol.RefKind != RefKind.None;
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (1)
178public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (3)
30loweredLeft = VisitPropertyAccess((BoundPropertyAccess)left, isLeftOfAssignment: true); 192BoundPropertyAccess propertyAccess = (BoundPropertyAccess)rewrittenLeft;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (3)
247case BoundPropertyAccess { PropertySymbol: { } property }: 727var propertyAccess = (BoundPropertyAccess)originalLHS;
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.cs (5)
15public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 20private BoundExpression VisitPropertyAccess(BoundPropertyAccess node, bool isLeftOfAssignment) 33BoundPropertyAccess? oldNodeOpt = null) 68private BoundExpression MakePropertyGetAccess(SyntaxNode syntax, BoundExpression? rewrittenReceiver, PropertySymbol property, BoundPropertyAccess? oldNodeOpt) 80BoundPropertyAccess? oldNodeOpt = null)
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (3)
624Debug.Assert(transformedLHS is not BoundPropertyAccess); 1024var propertyAccess = (BoundPropertyAccess)transformedExpression;
Lowering\MethodToClassRewriter.cs (1)
89public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
Operations\CSharpOperationFactory.cs (3)
48return CreateBoundPropertyAccessOperation((BoundPropertyAccess)boundNode); 599case BoundPropertyAccess boundPropertyAccess: 612private IPropertyReferenceOperation CreateBoundPropertyAccessOperation(BoundPropertyAccess boundPropertyAccess)