11 instantiations of DeconstructionVariable
Microsoft.CodeAnalysis.CSharp (11)
Binder\Binder_Deconstruct.cs (8)
364
variables[i] = new
DeconstructionVariable
(SetInferredType(pending, foundTypes[i], diagnostics), variable.Syntax);
410
variables[i] = new
DeconstructionVariable
(errorLocal, errorLocal.Syntax);
417
variables[i] = new
DeconstructionVariable
(pending.FailInference(this, diagnostics), pending.Syntax);
790
return new
DeconstructionVariable
(builder, node);
800
return new
DeconstructionVariable
(checkedVariable, node);
815
return new
DeconstructionVariable
(BindDeconstructionVariable(declTypeWithAnnotations, single, syntax, diagnostics), syntax);
837
return new
DeconstructionVariable
(BindDiscardExpression(syntax, declTypeWithAnnotations), syntax);
847
return new
DeconstructionVariable
(builder, syntax);
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (3)
452
assignmentTargets.Add(new Binder.
DeconstructionVariable
(variable, variable.Syntax));
458
assignmentTargets.Add(new Binder.
DeconstructionVariable
(GetAssignmentTargetsAndSideEffects(tuple, temps, effects), tuple.Syntax));
465
assignmentTargets.Add(new Binder.
DeconstructionVariable
(temp, variable.Syntax));
30 references to DeconstructionVariable
Microsoft.CodeAnalysis.CSharp (30)
Binder\Binder_Deconstruct.cs (22)
95
DeconstructionVariable
locals = BindDeconstructionVariables(left, diagnostics, ref declaration, ref expression);
106
DeconstructionVariable
.FreeDeconstructionVariables(locals.NestedVariables);
116
ArrayBuilder<
DeconstructionVariable
> checkedVariables,
209
private BoundExpression FixTupleLiteral(ArrayBuilder<
DeconstructionVariable
> checkedVariables, BoundExpression boundRHS, CSharpSyntaxNode syntax, BindingDiagnosticBag diagnostics)
248
ArrayBuilder<
DeconstructionVariable
> variables,
299
var
variable = variables[i];
351
private void SetInferredTypes(ArrayBuilder<
DeconstructionVariable
> variables, ImmutableArray<TypeSymbol> foundTypes, BindingDiagnosticBag diagnostics)
356
var
variable = variables[i];
393
private void FailRemainingInferences(ArrayBuilder<
DeconstructionVariable
> variables, BindingDiagnosticBag diagnostics)
398
var
variable = variables[i];
435
internal readonly ArrayBuilder<
DeconstructionVariable
>? NestedVariables;
445
internal DeconstructionVariable(ArrayBuilder<
DeconstructionVariable
> variables, SyntaxNode syntax)
452
internal static void FreeDeconstructionVariables(ArrayBuilder<
DeconstructionVariable
> variables)
473
private TypeSymbol? MakeMergedTupleType(ArrayBuilder<
DeconstructionVariable
> lhsVariables, BoundTupleLiteral rhsLiteral, CSharpSyntaxNode syntax, BindingDiagnosticBag? diagnostics)
487
var
variable = lhsVariables[i];
547
private BoundTupleExpression DeconstructionVariablesAsTuple(CSharpSyntaxNode syntax, ArrayBuilder<
DeconstructionVariable
> variables,
556
foreach (
var
variable in variables)
620
ArrayBuilder<
DeconstructionVariable
>? variablesOpt = null)
735
private
DeconstructionVariable
BindDeconstructionVariables(
779
var builder = ArrayBuilder<
DeconstructionVariable
>.GetInstance(component.Arguments.Count);
804
private
DeconstructionVariable
BindDeconstructionVariables(
842
var builder = ArrayBuilder<
DeconstructionVariable
>.GetInstance();
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (8)
41
ArrayBuilder<Binder.
DeconstructionVariable
> lhsTargets = GetAssignmentTargetsAndSideEffects(left, lhsTemps, lhsEffects);
44
Binder.
DeconstructionVariable
.FreeDeconstructionVariables(lhsTargets);
56
ArrayBuilder<Binder.
DeconstructionVariable
> lhsTargets,
152
static bool canReorderTargetAssignments(ArrayBuilder<Binder.
DeconstructionVariable
> targets, ref PooledHashSet<Symbol>? visitedSymbols)
160
foreach (
var
target in targets)
211
ArrayBuilder<Binder.
DeconstructionVariable
> leftTargets,
443
private ArrayBuilder<Binder.
DeconstructionVariable
> GetAssignmentTargetsAndSideEffects(BoundTupleExpression variables, ArrayBuilder<LocalSymbol> temps, ArrayBuilder<BoundExpression> effects)
445
var assignmentTargets = ArrayBuilder<Binder.
DeconstructionVariable
>.GetInstance(variables.Arguments.Length);