4 instantiations of BoundDiscardExpression
Microsoft.CodeAnalysis.CSharp (4)
Binder\Binder_Deconstruct.cs (1)
856
return new
BoundDiscardExpression
(syntax, declTypeWithAnnotations.NullableAnnotation, isInferred: type is null, type);
Binder\Binder_Expressions.cs (2)
1575
expression = new
BoundDiscardExpression
(node, NullableAnnotation.Annotated, isInferred: true, type: null);
2916
return new
BoundDiscardExpression
(declarationExpression, declType.NullableAnnotation, isInferred: type is null, type);
Generated\BoundNodes.xml.Generated.cs (1)
8234
var result = new
BoundDiscardExpression
(this.Syntax, nullableAnnotation, isInferred, type, this.HasErrors);
42 references to BoundDiscardExpression
Microsoft.CodeAnalysis.CSharp (42)
Binder\Binder_Deconstruct.cs (6)
378
var
pending = (
BoundDiscardExpression
)expression;
411
var
pending = (
BoundDiscardExpression
)variable.Single;
645
var variable = new OutDeconstructVarPendingInference(receiverSyntax, variableSymbol: variableSymbol, isDiscardExpression: variableOpt is
BoundDiscardExpression
);
851
private
BoundDiscardExpression
BindDiscardExpression(
Binder\Binder_Expressions.cs (2)
3202
arguments[arg] = ((
BoundDiscardExpression
)argument).SetInferredTypeWithAnnotations(parameterTypeWithAnnotations);
8062
return ((
BoundDiscardExpression
)index).FailInference(this, diagnostics);
Binder\Binder_Invocation.cs (3)
434
BoundDiscardExpression
discard when !discard.HasExpressionType() => discard.FailInference(this, diagnostics),
1738
newArguments[i] = ((
BoundDiscardExpression
)argument).FailInference(this, null);
1742
newArguments[i] = ((
BoundDiscardExpression
)argument).SetInferredTypeWithAnnotations(TypeWithAnnotations.Create(candidateType));
Binder\Binder_Statements.cs (2)
1441
op1 = InferTypeForDiscardAssignment((
BoundDiscardExpression
)op1, op2, diagnostics);
1466
private BoundExpression InferTypeForDiscardAssignment(
BoundDiscardExpression
op1, BoundExpression op2, BindingDiagnosticBag diagnostics)
Binder\ForEachLoopBinder.cs (1)
380
iterationErrorExpression = ((
BoundDiscardExpression
)iterationErrorExpression).FailInference(this, diagnosticsOpt: null);
BoundTree\BoundDiscardExpression.cs (1)
19
public
BoundDiscardExpression
FailInference(Binder binder, BindingDiagnosticBag? diagnosticsOpt)
BoundTree\BoundExpressionExtensions.cs (1)
254
BoundDiscardExpression
=> true,
FlowAnalysis\AbstractFlowPass.cs (1)
3487
public override BoundNode VisitDiscardExpression(
BoundDiscardExpression
node)
FlowAnalysis\NullableWalker.cs (4)
6754
else if (argument is
BoundDiscardExpression
discard && discard.IsInferred)
9073
var discarded = left is
BoundDiscardExpression
;
9088
if (left is
BoundDiscardExpression
)
11033
public override BoundNode? VisitDiscardExpression(
BoundDiscardExpression
node)
Generated\BoundNodes.xml.Generated.cs (10)
8230
public
BoundDiscardExpression
Update(NullableAnnotation nullableAnnotation, bool isInferred, TypeSymbol? type)
8234
var
result = new BoundDiscardExpression(this.Syntax, nullableAnnotation, isInferred, type, this.HasErrors);
8945
return VisitDiscardExpression((
BoundDiscardExpression
)node, arg);
9185
public virtual R VisitDiscardExpression(
BoundDiscardExpression
node, A arg) => this.DefaultVisit(node, arg);
9413
public virtual BoundNode? VisitDiscardExpression(
BoundDiscardExpression
node) => this.DefaultVisit(node);
10375
public override BoundNode? VisitDiscardExpression(
BoundDiscardExpression
node) => null;
11725
public override BoundNode? VisitDiscardExpression(
BoundDiscardExpression
node)
14293
public override BoundNode? VisitDiscardExpression(
BoundDiscardExpression
node)
14300
BoundDiscardExpression
updatedNode = node.Update(node.NullableAnnotation, node.IsInferred, infoAndType.Type);
16424
public override TreeDumperNode VisitDiscardExpression(
BoundDiscardExpression
node, object? arg) => new TreeDumperNode("discardExpression", null, new TreeDumperNode[]
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
458
private void CheckDiscard(
BoundDiscardExpression
argument)
Lowering\DiagnosticsPass_Warnings.cs (1)
44
CheckDiscard((
BoundDiscardExpression
)argument);
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
500
if (argument is
BoundDiscardExpression
discard)
774
Debug.Assert(rewrittenArguments.All(arg => arg is not
BoundDiscardExpression
), "Discards should have been substituted by VisitArguments");
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (1)
175
case
BoundDiscardExpression
:
Lowering\SyntheticBoundNodeFactory.cs (3)
1586
internal BoundLocal MakeTempForDiscard(
BoundDiscardExpression
node, ArrayBuilder<LocalSymbol> temps)
1594
internal BoundLocal MakeTempForDiscard(
BoundDiscardExpression
node, out LocalSymbol temp)
1609
(arg, t) => arg.Kind == BoundKind.DiscardExpression ? t.factory.MakeTempForDiscard((
BoundDiscardExpression
)arg, t.builder) : arg,
Operations\CSharpOperationFactory.cs (3)
259
return CreateBoundDiscardExpressionOperation((
BoundDiscardExpression
)boundNode);
2424
variable = ((
BoundDiscardExpression
)boundDeclarationPattern.VariableAccess).ExpressionSymbol.GetPublicSymbol();
2657
private IOperation CreateBoundDiscardExpressionOperation(
BoundDiscardExpression
boundNode)