2 instantiations of BoundTupleLiteral
Microsoft.CodeAnalysis.CSharp (2)
Binder\Binder_Deconstruct.cs (1)
591return (BoundTupleExpression)BindToNaturalType(new BoundTupleLiteral(syntax, arguments, tupleNames, inferredPositions, type), diagnostics);
Generated\BoundNodes.xml.Generated.cs (1)
6582var result = new BoundTupleLiteral(this.Syntax, arguments, argumentNamesOpt, inferredNamesOpt, type, this.HasErrors);
50 references to BoundTupleLiteral
Microsoft.CodeAnalysis.CSharp (50)
Binder\Binder_Conversions.cs (2)
112if (source is BoundTupleLiteral sourceTuple) 156return CreateTupleLiteralConversion(syntax, (BoundTupleLiteral)source, conversion, isCast: isCast, conversionGroupOpt, destination, diagnostics);
Binder\Binder_Deconstruct.cs (3)
220TypeSymbol? mergedTupleType = MakeMergedTupleType(checkedVariables, (BoundTupleLiteral)boundRHS, syntax, hadErrors ? null : diagnostics); 471private TypeSymbol? MakeMergedTupleType(ArrayBuilder<DeconstructionVariable> lhsVariables, BoundTupleLiteral rhsLiteral, CSharpSyntaxNode syntax, BindingDiagnosticBag? diagnostics) 491mergedType = MakeMergedTupleType(variable.NestedVariables, (BoundTupleLiteral)element, syntax, diagnostics);
Binder\Binder_Expressions.cs (4)
330case BoundTupleLiteral sourceTuple: 2788var tuple = (BoundTupleLiteral)operand; 3545if (argument is BoundTupleLiteral)
Binder\Binder_Invocation.cs (1)
1154case BoundTupleLiteral _:
Binder\Binder_Statements.cs (2)
2333var tuple = (BoundTupleLiteral)operand;
Binder\Binder_TupleOperators.cs (1)
45if (@operator.InfoKind == TupleBinaryOperatorInfoKind.Multiple && expr is BoundTupleLiteral tuple)
Binder\Semantics\Conversions\ConversionsBase.cs (8)
1083var tupleConversion = ClassifyImplicitTupleLiteralConversion((BoundTupleLiteral)sourceExpression, destination, ref useSiteInfo); 1293private Conversion ClassifyImplicitTupleLiteralConversion(BoundTupleLiteral source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1319private Conversion ClassifyExplicitTupleLiteralConversion(BoundTupleLiteral source, TypeSymbol destination, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, bool forCast) 1412Conversion tupleConversion = ClassifyExplicitTupleLiteralConversion((BoundTupleLiteral)sourceExpression, destination, isChecked: isChecked, ref useSiteInfo, forCast); 1957(BoundTupleLiteral)sourceExpressionOpt, 2284private Conversion GetImplicitTupleLiteralConversion(BoundTupleLiteral source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2302private Conversion GetExplicitTupleLiteralConversion(BoundTupleLiteral source, TypeSymbol destination, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, bool forCast) 2321BoundTupleLiteral source,
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (4)
619!MakeExplicitParameterTypeInferences(binder, (BoundTupleLiteral)argument, target, kind, ref useSiteInfo)) 693private bool MakeExplicitParameterTypeInferences(Binder binder, BoundTupleLiteral argument, TypeWithAnnotations target, ExactOrBoundsKind kind, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 853MakeOutputTypeInferences(binder, (BoundTupleLiteral)argument, formalType, ref useSiteInfo); 893private void MakeOutputTypeInferences(Binder binder, BoundTupleLiteral argument, TypeWithAnnotations formalType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (2)
3243return ExpressionMatchExactly((BoundTupleLiteral)node, t, ref useSiteInfo); 3342private bool ExpressionMatchExactly(BoundTupleLiteral tupleSource, TypeSymbol targetType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Compilation\CSharpSemanticModel.cs (1)
2072case BoundConvertedTupleLiteral { SourceTuple: BoundTupleLiteral original }:
FlowAnalysis\AbstractFlowPass.cs (1)
1120public override BoundNode VisitTupleLiteral(BoundTupleLiteral node)
FlowAnalysis\NullableWalker.cs (1)
8397public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
Generated\BoundNodes.xml.Generated.cs (16)
6578public BoundTupleLiteral Update(ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type) 6582var result = new BoundTupleLiteral(this.Syntax, arguments, argumentNamesOpt, inferredNamesOpt, type, this.HasErrors); 6592public BoundConvertedTupleLiteral(SyntaxNode syntax, BoundTupleLiteral? sourceTuple, bool wasTargetTyped, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false) 6602public BoundTupleLiteral? SourceTuple { get; } 6608public BoundConvertedTupleLiteral Update(BoundTupleLiteral? sourceTuple, bool wasTargetTyped, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type) 9176return VisitTupleLiteral((BoundTupleLiteral)node, arg); 9476public virtual R VisitTupleLiteral(BoundTupleLiteral node, A arg) => this.DefaultVisit(node, arg); 9712public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node); 10504public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 11804public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 11812BoundTupleLiteral? sourceTuple = node.SourceTuple; 14076public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 14079BoundTupleLiteral updatedNode; 14095BoundTupleLiteral? sourceTuple = (BoundTupleLiteral?)this.Visit(node.SourceTuple); 16504public override TreeDumperNode VisitTupleLiteral(BoundTupleLiteral node, object? arg) => new TreeDumperNode("tupleLiteral", null, new TreeDumperNode[]
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
1007public override BoundNode VisitTupleLiteral(BoundTupleLiteral node)
Lowering\LocalRewriter\LocalRewriter_TupleCreationExpression.cs (1)
15public override BoundNode VisitTupleLiteral(BoundTupleLiteral node)
Operations\CSharpOperationFactory.cs (1)
2244BoundTupleLiteral { Type: var t } => t,
Symbols\Tuples\TupleTypeSymbol.cs (1)
278internal static void ReportTupleNamesMismatchesIfAny(TypeSymbol destination, BoundTupleLiteral literal, BindingDiagnosticBag diagnostics)