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)
9311return 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)
7466var 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);
94 references to BoundPropertyAccess
Microsoft.CodeAnalysis.CSharp (94)
Binder\Binder.ValueChecks.cs (11)
322public static MethodInvocationInfo FromProperty(BoundPropertyAccess propertyAccess) 762var propertyAccess = (BoundPropertyAccess)expr; 3911var propertyAccess = (BoundPropertyAccess)expr; 4229var propertyAccess = (BoundPropertyAccess)expr; 4536var propertyAccess = (BoundPropertyAccess)expr; 5242var propertyAccess = (BoundPropertyAccess)expr;
Binder\Binder_Attributes.cs (2)
822var pa = (BoundPropertyAccess)assignment.Left;
Binder\Binder_Await.cs (1)
640if (qualified is not BoundPropertyAccess { PropertySymbol: { } propertySymbol } || propertySymbol.IsExtensionBlockMember())
Binder\Binder_Expressions.cs (3)
6110hasErrors |= isRhsNestedInitializer && !CheckNestedObjectInitializerPropertySymbol(((BoundPropertyAccess)boundMember).PropertySymbol, leftSyntax, diagnostics, hasErrors, ref resultKind); 6345BoundPropertyAccess propertyAccess => propertyAccess.PropertySymbol, 10547Debug.Assert(lengthOrCountAccess is BoundPropertyAccess);
Binder\Binder_Invocation.cs (2)
119symbol = ((BoundPropertyAccess)boundExpression).PropertySymbol; 2408else if (boundArgument is BoundPropertyAccess propertyAccess)
Binder\Binder_Statements.cs (4)
1616case BoundPropertyAccess { PropertySymbol.SetMethod: { } propSet, ReceiverOpt: var receiver } when propSet.IsExtensionBlockMember(): 1680var propertyAccess = (BoundPropertyAccess)expr; 1799internal static bool AccessingAutoPropertyFromConstructor(BoundPropertyAccess propertyAccess, Symbol fromMember)
Binder\RefSafetyAnalysis.cs (1)
1032public 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\BoundPropertyAccess.cs (2)
9public BoundPropertyAccess Clone() 10=> (BoundPropertyAccess)this.MemberwiseClone();
BoundTree\BoundTreeVisitors.cs (1)
124return VisitPropertyAccess(node as BoundPropertyAccess, arg);
Compiler\MethodCompiler.cs (3)
2390public static BoundPropertyAccess? FindUncheckedAccess(BoundNode node) 2397private BoundPropertyAccess? _found; 2414public 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; 3754(BoundPropertyAccess)node.LeftOperand is var left && 3810BoundPropertyAccess 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)
2100var propAccess = (BoundPropertyAccess)expr; 7363or BoundPropertyAccess 10771if (left is BoundPropertyAccess { PropertySymbol: SourcePropertySymbolBase { SetMethod: null, UsesFieldKeyword: true } property }) 10849BoundPropertyAccess propAccess => propAccess.PropertySymbol, 10873BoundPropertyAccess property => property.PropertySymbol.GetFlowAnalysisAnnotations(), 11665public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node)
FlowAnalysis\ReadWriteWalker.cs (1)
309underlying = ((BoundPropertyAccess)underlying).ReceiverOpt;
Generated\BoundNodes.xml.Generated.cs (10)
7462public BoundPropertyAccess Update(BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol propertySymbol, AccessorKind autoPropertyAccessorKind, LookupResultKind resultKind, TypeSymbol type) 7466var result = new BoundPropertyAccess(this.Syntax, receiverOpt, initialBindingReceiverIsSubjectToCloning, propertySymbol, autoPropertyAccessorKind, resultKind, type, this.HasErrors); 9362return VisitPropertyAccess((BoundPropertyAccess)node, arg); 9643public virtual R VisitPropertyAccess(BoundPropertyAccess node, A arg) => this.DefaultVisit(node, arg); 9881public virtual BoundNode? VisitPropertyAccess(BoundPropertyAccess node) => this.DefaultVisit(node); 10759public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 12235public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 14768public override BoundNode? VisitPropertyAccess(BoundPropertyAccess node) 14772BoundPropertyAccess updatedNode; 17053public override TreeDumperNode VisitPropertyAccess(BoundPropertyAccess node, object? arg) => new TreeDumperNode("propertyAccess", null, new TreeDumperNode[]
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
238return VisitPropertyAccess((BoundPropertyAccess)node); 1151private BoundExpression VisitPropertyAccess(BoundPropertyAccess node)
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
583public override BoundNode VisitPropertyAccess(BoundPropertyAccess node)
Lowering\LocalRewriter\LocalRewriter.cs (1)
1104return ((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)
47return CreateBoundPropertyAccessOperation((BoundPropertyAccess)boundNode); 606case BoundPropertyAccess boundPropertyAccess: 619private IPropertyReferenceOperation CreateBoundPropertyAccessOperation(BoundPropertyAccess boundPropertyAccess)