4 instantiations of BoundConditionalAccess
Microsoft.CodeAnalysis.CSharp (4)
Binder\Binder_Expressions.cs (3)
12352return new BoundConditionalAccess(node, receiver, access, CreateErrorType(), hasErrors: true); 12402return new BoundConditionalAccess(node, receiver, access, accessType); 12454return new BoundConditionalAccess(node, receiver, access, CreateErrorType(), hasErrors: true);
Generated\BoundNodes.xml.Generated.cs (1)
6022var result = new BoundConditionalAccess(this.Syntax, receiver, accessExpression, type, this.HasErrors);
33 references to BoundConditionalAccess
Microsoft.CodeAnalysis.CSharp (33)
Binder\Binder_Expressions.cs (2)
12337private BoundConditionalAccess BindConditionalAccessExpression(ConditionalAccessExpressionSyntax node, BindingDiagnosticBag diagnostics) 12448private BoundConditionalAccess GenerateBadConditionalAccessNodeError(ConditionalAccessExpressionSyntax node, BoundExpression receiver, BoundExpression access, BindingDiagnosticBag diagnostics)
FlowAnalysis\AbstractFlowPass.cs (7)
3007var access = node switch 3009BoundConditionalAccess ca => ca, 3010BoundConversion { Conversion: Conversion conversion, Operand: BoundConditionalAccess ca } when CanPropagateStateWhenNotNull(conversion) => ca, 3069private void VisitConditionalAccess(BoundConditionalAccess node, out TLocalState stateWhenNotNull) 3116while (expr is BoundConditionalAccess innerCondAccess) 3118Debug.Assert(innerCondAccess.Receiver is not (BoundConditionalAccess or BoundConversion)); 3138public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
FlowAnalysis\NullableWalker.cs (8)
5941var conditional = (BoundConditionalAccess)operand; 6286if (operand is not BoundConditionalAccess access || !CanPropagateStateWhenNotNull(conversion)) 6348private void VisitConditionalAccess(BoundConditionalAccess node, out PossiblyConditionalState stateWhenNotNull) 6392while (expr is BoundConditionalAccess innerCondAccess) 6396Debug.Assert(innerCondAccess.Receiver is not (BoundConditionalAccess or BoundConversion)); 6412while (expr is BoundConditionalAccess innerCondAccess) 6467public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node)
Generated\BoundNodes.xml.Generated.cs (10)
6018public BoundConditionalAccess Update(BoundExpression receiver, BoundExpression accessExpression, TypeSymbol type) 6022var result = new BoundConditionalAccess(this.Syntax, receiver, accessExpression, type, this.HasErrors); 9392return VisitConditionalAccess((BoundConditionalAccess)node, arg); 9715public virtual R VisitConditionalAccess(BoundConditionalAccess node, A arg) => this.DefaultVisit(node, arg); 9956public virtual BoundNode? VisitConditionalAccess(BoundConditionalAccess node) => this.DefaultVisit(node); 10710public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 12119public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 14315public override BoundNode? VisitConditionalAccess(BoundConditionalAccess node) 14319BoundConditionalAccess updatedNode; 16852public override TreeDumperNode VisitConditionalAccess(BoundConditionalAccess node, object? arg) => new TreeDumperNode("conditionalAccess", null, new TreeDumperNode[]
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
452public override BoundNode VisitConditionalAccess(BoundConditionalAccess node)
Lowering\LocalRewriter\LocalRewriter_ConditionalAccess.cs (2)
13public override BoundNode VisitConditionalAccess(BoundConditionalAccess node) 38internal BoundExpression? RewriteConditionalAccess(BoundConditionalAccess node, bool used)
Lowering\LocalRewriter\LocalRewriter_ExpressionStatement.cs (1)
76return RewriteConditionalAccess((BoundConditionalAccess)expression, used: false);
Operations\CSharpOperationFactory.cs (2)
152return CreateBoundConditionalAccessOperation((BoundConditionalAccess)boundNode); 1771private IConditionalAccessOperation CreateBoundConditionalAccessOperation(BoundConditionalAccess boundConditionalAccess)