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)
6581var result = new BoundTupleLiteral(this.Syntax, arguments, argumentNamesOpt, inferredNamesOpt, type, this.HasErrors);
50 references to BoundTupleLiteral
Microsoft.CodeAnalysis.CSharp (50)
Binder\Binder_Conversions.cs (2)
111if (source is BoundTupleLiteral sourceTuple) 155return 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: 2747var tuple = (BoundTupleLiteral)operand; 3504if (argument is BoundTupleLiteral)
Binder\Binder_Invocation.cs (1)
1154case BoundTupleLiteral _:
Binder\Binder_Statements.cs (2)
2298var tuple = (BoundTupleLiteral)operand;
Binder\Binder_TupleOperators.cs (1)
45if (@operator.InfoKind == TupleBinaryOperatorInfoKind.Multiple && expr is BoundTupleLiteral tuple)
Binder\Semantics\Conversions\ConversionsBase.cs (8)
1067var tupleConversion = ClassifyImplicitTupleLiteralConversion((BoundTupleLiteral)sourceExpression, destination, ref useSiteInfo); 1277private Conversion ClassifyImplicitTupleLiteralConversion(BoundTupleLiteral source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1303private Conversion ClassifyExplicitTupleLiteralConversion(BoundTupleLiteral source, TypeSymbol destination, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, bool forCast) 1396Conversion tupleConversion = ClassifyExplicitTupleLiteralConversion((BoundTupleLiteral)sourceExpression, destination, isChecked: isChecked, ref useSiteInfo, forCast); 1935(BoundTupleLiteral)sourceExpressionOpt, 2261private Conversion GetImplicitTupleLiteralConversion(BoundTupleLiteral source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2279private Conversion GetExplicitTupleLiteralConversion(BoundTupleLiteral source, TypeSymbol destination, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, bool forCast) 2298BoundTupleLiteral 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)
2960return ExpressionMatchExactly((BoundTupleLiteral)node, t, ref useSiteInfo); 3059private bool ExpressionMatchExactly(BoundTupleLiteral tupleSource, TypeSymbol targetType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Compilation\CSharpSemanticModel.cs (1)
2072case BoundConvertedTupleLiteral { SourceTuple: BoundTupleLiteral original }:
FlowAnalysis\AbstractFlowPass.cs (1)
1072public override BoundNode VisitTupleLiteral(BoundTupleLiteral node)
FlowAnalysis\NullableWalker.cs (1)
8242public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
Generated\BoundNodes.xml.Generated.cs (16)
6577public BoundTupleLiteral Update(ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type) 6581var result = new BoundTupleLiteral(this.Syntax, arguments, argumentNamesOpt, inferredNamesOpt, type, this.HasErrors); 6591public BoundConvertedTupleLiteral(SyntaxNode syntax, BoundTupleLiteral? sourceTuple, bool wasTargetTyped, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false) 6601public BoundTupleLiteral? SourceTuple { get; } 6607public BoundConvertedTupleLiteral Update(BoundTupleLiteral? sourceTuple, bool wasTargetTyped, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type) 9173return VisitTupleLiteral((BoundTupleLiteral)node, arg); 9473public virtual R VisitTupleLiteral(BoundTupleLiteral node, A arg) => this.DefaultVisit(node, arg); 9709public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node); 10501public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 11801public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 11809BoundTupleLiteral? sourceTuple = node.SourceTuple; 14073public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 14076BoundTupleLiteral updatedNode; 14092BoundTupleLiteral? sourceTuple = (BoundTupleLiteral?)this.Visit(node.SourceTuple); 16501public override TreeDumperNode VisitTupleLiteral(BoundTupleLiteral node, object? arg) => new TreeDumperNode("tupleLiteral", null, new TreeDumperNode[]
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
985public override BoundNode VisitTupleLiteral(BoundTupleLiteral node)
Lowering\LocalRewriter\LocalRewriter_TupleCreationExpression.cs (1)
15public override BoundNode VisitTupleLiteral(BoundTupleLiteral node)
Operations\CSharpOperationFactory.cs (1)
2215BoundTupleLiteral { Type: var t } => t,
Symbols\Tuples\TupleTypeSymbol.cs (1)
278internal static void ReportTupleNamesMismatchesIfAny(TypeSymbol destination, BoundTupleLiteral literal, BindingDiagnosticBag diagnostics)