6 instantiations of BoundPropertyAccess
Microsoft.CodeAnalysis.CSharp (6)
Binder\Binder_Attributes.cs (1)
583lvalue = new BoundPropertyAccess(nameSyntax, receiverOpt: null, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, propertySymbol, autoPropertyAccessorKind: AccessorKind.Unknown, resultKind, namedArgumentType);
Binder\Binder_Expressions.cs (1)
9085return new BoundPropertyAccess(node, receiver, initialBindingReceiverIsSubjectToCloning: ReceiverIsSubjectToCloning(receiver, propertySymbol), propertySymbol, autoPropertyAccessorKind: AccessorKind.Unknown, lookupResult, propertySymbol.Type, hasErrors: (hasErrors || hasError));
Binder\Binder_Patterns.cs (1)
378lengthAccess = new BoundPropertyAccess(node, receiverPlaceholder, initialBindingReceiverIsSubjectToCloning: ThreeState.False, lengthProperty, autoPropertyAccessorKind: AccessorKind.Unknown, LookupResultKind.Viable, lengthProperty.Type) { WasCompilerGenerated = true };
Generated\BoundNodes.xml.Generated.cs (1)
7375var 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)
323public static MethodInvocationInfo FromProperty(BoundPropertyAccess propertyAccess) 767var propertyAccess = (BoundPropertyAccess)expr; 3881var propertyAccess = (BoundPropertyAccess)expr; 4205var propertyAccess = (BoundPropertyAccess)expr; 4517var propertyAccess = (BoundPropertyAccess)expr; 5232var propertyAccess = (BoundPropertyAccess)expr;
Binder\Binder_Attributes.cs (2)
822var pa = (BoundPropertyAccess)assignment.Left;
Binder\Binder_Await.cs (1)
628if (qualified is not BoundPropertyAccess { PropertySymbol: { } propertySymbol } || propertySymbol.IsExtensionBlockMember())
Binder\Binder_Expressions.cs (3)
5971hasErrors |= isRhsNestedInitializer && !CheckNestedObjectInitializerPropertySymbol(((BoundPropertyAccess)boundMember).PropertySymbol, leftSyntax, diagnostics, hasErrors, ref resultKind); 6206BoundPropertyAccess propertyAccess => propertyAccess.PropertySymbol, 10321Debug.Assert(lengthOrCountAccess is BoundPropertyAccess);
Binder\Binder_Invocation.cs (2)
119symbol = ((BoundPropertyAccess)boundExpression).PropertySymbol; 2389else if (boundArgument is BoundPropertyAccess propertyAccess)
Binder\Binder_Statements.cs (4)
1610case BoundPropertyAccess { PropertySymbol.SetMethod: { } propSet, ReceiverOpt: var receiver } when propSet.IsExtensionBlockMember(): 1674var propertyAccess = (BoundPropertyAccess)expr; 1792internal static bool AccessingAutoPropertyFromConstructor(BoundPropertyAccess propertyAccess, Symbol fromMember)
Binder\RefSafetyAnalysis.cs (1)
1035public 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)
20Debug.Assert(LengthAccess is null or BoundPropertyAccess or BoundBadExpression);
BoundTree\BoundTreeVisitors.cs (1)
124return VisitPropertyAccess(node as BoundPropertyAccess, arg);
Compiler\MethodCompiler.cs (3)
2383public static BoundPropertyAccess? FindUncheckedAccess(BoundNode node) 2390private BoundPropertyAccess? _found; 2407public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
FlowAnalysis\AbstractFlowPass.cs (14)
569var access = (BoundPropertyAccess)node; 2137return !Binder.AccessingAutoPropertyFromConstructor((BoundPropertyAccess)expr, _symbol); 2145var left = (BoundPropertyAccess)node.Left; 2200var left = (BoundPropertyAccess)node.Left; 2219var left = (BoundPropertyAccess)node.Left; 2269public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2836var left = (BoundPropertyAccess)node.Operand; 3745(BoundPropertyAccess)node.LeftOperand is var left && 3801BoundPropertyAccess propertyAccessOpt)
FlowAnalysis\DefiniteAssignment.cs (6)
1054var propAccess = (BoundPropertyAccess)expr; 1387var propertyAccess = (BoundPropertyAccess)node; 2681public override BoundNode VisitPropertyAccess(BoundPropertyAccess node) 2742BoundPropertyAccess propertyAccessOpt)
FlowAnalysis\NullableWalker.cs (7)
2099var propAccess = (BoundPropertyAccess)expr; 7199or BoundPropertyAccess 10604if (left is BoundPropertyAccess { PropertySymbol: SourcePropertySymbolBase { SetMethod: null, UsesFieldKeyword: true } property }) 10682BoundPropertyAccess propAccess => propAccess.PropertySymbol, 10706BoundPropertyAccess property => property.PropertySymbol.GetFlowAnalysisAnnotations(), 11490public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
FlowAnalysis\ReadWriteWalker.cs (1)
309underlying = ((BoundPropertyAccess)underlying).ReceiverOpt;
Generated\BoundNodes.xml.Generated.cs (10)
7371public BoundPropertyAccess Update(BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol propertySymbol, AccessorKind autoPropertyAccessorKind, LookupResultKind resultKind, TypeSymbol type) 7375var result = new BoundPropertyAccess(this.Syntax, receiverOpt, initialBindingReceiverIsSubjectToCloning, propertySymbol, autoPropertyAccessorKind, resultKind, type, this.HasErrors); 9263return VisitPropertyAccess((BoundPropertyAccess)node, arg); 9542public virtual R VisitPropertyAccess(BoundPropertyAccess node, A arg) => this.DefaultVisit(node, arg); 9778public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node); 10648public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 12113public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 14629public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 14633BoundPropertyAccess updatedNode; 16897public override TreeDumperNode VisitPropertyAccess(BoundPropertyAccess node, object? arg) => new TreeDumperNode("propertyAccess", null, new TreeDumperNode[]
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
234return VisitPropertyAccess((BoundPropertyAccess)node); 1102private 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)