4 instantiations of BoundConditionalAccess
Microsoft.CodeAnalysis.CSharp (4)
Binder\Binder_Expressions.cs (3)
11621
return new
BoundConditionalAccess
(node, receiver, access, CreateErrorType(), hasErrors: true);
11671
return new
BoundConditionalAccess
(node, receiver, access, accessType);
11723
return new
BoundConditionalAccess
(node, receiver, access, CreateErrorType(), hasErrors: true);
Generated\BoundNodes.xml.Generated.cs (1)
6007
var result = new
BoundConditionalAccess
(this.Syntax, receiver, accessExpression, type, this.HasErrors);
33 references to BoundConditionalAccess
Microsoft.CodeAnalysis.CSharp (33)
Binder\Binder_Expressions.cs (2)
11606
private
BoundConditionalAccess
BindConditionalAccessExpression(ConditionalAccessExpressionSyntax node, BindingDiagnosticBag diagnostics)
11717
private
BoundConditionalAccess
GenerateBadConditionalAccessNodeError(ConditionalAccessExpressionSyntax node, BoundExpression receiver, BoundExpression access, BindingDiagnosticBag diagnostics)
FlowAnalysis\AbstractFlowPass.cs (7)
3006
var
access = node switch
3008
BoundConditionalAccess
ca => ca,
3009
BoundConversion { Conversion: Conversion conversion, Operand:
BoundConditionalAccess
ca } when CanPropagateStateWhenNotNull(conversion) => ca,
3068
private void VisitConditionalAccess(
BoundConditionalAccess
node, out TLocalState stateWhenNotNull)
3115
while (expr is
BoundConditionalAccess
innerCondAccess)
3117
Debug.Assert(innerCondAccess.Receiver is not (
BoundConditionalAccess
or BoundConversion));
3137
public override BoundNode? VisitConditionalAccess(
BoundConditionalAccess
node)
FlowAnalysis\NullableWalker.cs (8)
5831
var
conditional = (
BoundConditionalAccess
)operand;
6174
if (operand is not
BoundConditionalAccess
access || !CanPropagateStateWhenNotNull(conversion))
6236
private void VisitConditionalAccess(
BoundConditionalAccess
node, out PossiblyConditionalState stateWhenNotNull)
6280
while (expr is
BoundConditionalAccess
innerCondAccess)
6284
Debug.Assert(innerCondAccess.Receiver is not (
BoundConditionalAccess
or BoundConversion));
6300
while (expr is
BoundConditionalAccess
innerCondAccess)
6355
public override BoundNode? VisitConditionalAccess(
BoundConditionalAccess
node)
Generated\BoundNodes.xml.Generated.cs (10)
6003
public
BoundConditionalAccess
Update(BoundExpression receiver, BoundExpression accessExpression, TypeSymbol type)
6007
var
result = new BoundConditionalAccess(this.Syntax, receiver, accessExpression, type, this.HasErrors);
9288
return VisitConditionalAccess((
BoundConditionalAccess
)node, arg);
9606
public virtual R VisitConditionalAccess(
BoundConditionalAccess
node, A arg) => this.DefaultVisit(node, arg);
9844
public virtual BoundNode? VisitConditionalAccess(
BoundConditionalAccess
node) => this.DefaultVisit(node);
10579
public override BoundNode? VisitConditionalAccess(
BoundConditionalAccess
node)
11968
public override BoundNode? VisitConditionalAccess(
BoundConditionalAccess
node)
14143
public override BoundNode? VisitConditionalAccess(
BoundConditionalAccess
node)
14147
BoundConditionalAccess
updatedNode;
16640
public override TreeDumperNode VisitConditionalAccess(
BoundConditionalAccess
node, object? arg) => new TreeDumperNode("conditionalAccess", null, new TreeDumperNode[]
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
450
public override BoundNode VisitConditionalAccess(
BoundConditionalAccess
node)
Lowering\LocalRewriter\LocalRewriter_ConditionalAccess.cs (2)
13
public override BoundNode VisitConditionalAccess(
BoundConditionalAccess
node)
38
internal BoundExpression? RewriteConditionalAccess(
BoundConditionalAccess
node, bool used)
Lowering\LocalRewriter\LocalRewriter_ExpressionStatement.cs (1)
76
return RewriteConditionalAccess((
BoundConditionalAccess
)expression, used: false);
Operations\CSharpOperationFactory.cs (2)
152
return CreateBoundConditionalAccessOperation((
BoundConditionalAccess
)boundNode);
1746
private IConditionalAccessOperation CreateBoundConditionalAccessOperation(
BoundConditionalAccess
boundConditionalAccess)