3 instantiations of BoundTupleLiteral
Microsoft.CodeAnalysis.CSharp (3)
Binder\Binder_Deconstruct.cs (1)
591return (BoundTupleExpression)BindToNaturalType(new BoundTupleLiteral(syntax, arguments, tupleNames, inferredPositions, type), diagnostics);
Binder\Binder_Expressions.cs (1)
1039return new BoundTupleLiteral(node, boundArguments.ToImmutableAndFree(), elementNames, inferredPositions, tupleTypeOpt, hasErrors);
Generated\BoundNodes.xml.Generated.cs (1)
6314var result = new BoundTupleLiteral(this.Syntax, arguments, argumentNamesOpt, inferredNamesOpt, type, this.HasErrors);
51 references to BoundTupleLiteral
Microsoft.CodeAnalysis.CSharp (51)
Binder\Binder_Conversions.cs (3)
109if (source is BoundTupleLiteral sourceTuple) 153return CreateTupleLiteralConversion(syntax, (BoundTupleLiteral)source, conversion, isCast: isCast, conversionGroupOpt, destination, diagnostics); 893private BoundExpression CreateTupleLiteralConversion(SyntaxNode syntax, BoundTupleLiteral sourceTuple, Conversion conversion, bool isCast, ConversionGroup? conversionGroup, TypeSymbol destination, BindingDiagnosticBag 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)
327case BoundTupleLiteral sourceTuple: 2575var tuple = (BoundTupleLiteral)operand; 3207if (argument is BoundTupleLiteral)
Binder\Binder_Invocation.cs (1)
982case BoundTupleLiteral _:
Binder\Binder_Statements.cs (2)
2297var tuple = (BoundTupleLiteral)operand;
Binder\Binder_TupleOperators.cs (1)
45if (@operator.InfoKind == TupleBinaryOperatorInfoKind.Multiple && expr is BoundTupleLiteral tuple)
Binder\Semantics\Conversions\ConversionsBase.cs (8)
1046var tupleConversion = ClassifyImplicitTupleLiteralConversion((BoundTupleLiteral)sourceExpression, destination, ref useSiteInfo); 1212private Conversion ClassifyImplicitTupleLiteralConversion(BoundTupleLiteral source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1243private Conversion ClassifyExplicitTupleLiteralConversion(BoundTupleLiteral source, TypeSymbol destination, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, bool forCast) 1337Conversion tupleConversion = ClassifyExplicitTupleLiteralConversion((BoundTupleLiteral)sourceExpression, destination, isChecked: isChecked, ref useSiteInfo, forCast); 1809(BoundTupleLiteral)sourceExpressionOpt, 2135private Conversion GetImplicitTupleLiteralConversion(BoundTupleLiteral source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2153private Conversion GetExplicitTupleLiteralConversion(BoundTupleLiteral source, TypeSymbol destination, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, bool forCast) 2172BoundTupleLiteral source,
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (4)
613!MakeExplicitParameterTypeInferences((BoundTupleLiteral)argument, target, kind, ref useSiteInfo)) 629private bool MakeExplicitParameterTypeInferences(BoundTupleLiteral argument, TypeWithAnnotations target, ExactOrBoundsKind kind, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 789MakeOutputTypeInferences(binder, (BoundTupleLiteral)argument, formalType, ref useSiteInfo); 804private void MakeOutputTypeInferences(Binder binder, BoundTupleLiteral argument, TypeWithAnnotations formalType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (2)
2531return ExpressionMatchExactly((BoundTupleLiteral)node, t, ref useSiteInfo); 2630private bool ExpressionMatchExactly(BoundTupleLiteral tupleSource, TypeSymbol targetType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Compilation\CSharpSemanticModel.cs (1)
2093case BoundConvertedTupleLiteral { SourceTuple: BoundTupleLiteral original }:
FlowAnalysis\AbstractFlowPass.cs (1)
1064public override BoundNode VisitTupleLiteral(BoundTupleLiteral node)
FlowAnalysis\NullableWalker.cs (1)
7549public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node)
Generated\BoundNodes.xml.Generated.cs (16)
6310public BoundTupleLiteral Update(ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type) 6314var result = new BoundTupleLiteral(this.Syntax, arguments, argumentNamesOpt, inferredNamesOpt, type, this.HasErrors); 6324public BoundConvertedTupleLiteral(SyntaxNode syntax, BoundTupleLiteral? sourceTuple, bool wasTargetTyped, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false) 6334public BoundTupleLiteral? SourceTuple { get; } 6340public BoundConvertedTupleLiteral Update(BoundTupleLiteral? sourceTuple, bool wasTargetTyped, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type) 8843return VisitTupleLiteral((BoundTupleLiteral)node, arg); 9134public virtual R VisitTupleLiteral(BoundTupleLiteral node, A arg) => this.DefaultVisit(node, arg); 9362public virtual BoundNode? VisitTupleLiteral(BoundTupleLiteral node) => this.DefaultVisit(node); 10130public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 11376public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 11384BoundTupleLiteral? sourceTuple = node.SourceTuple; 13556public override BoundNode? VisitTupleLiteral(BoundTupleLiteral node) 13559BoundTupleLiteral updatedNode; 13575BoundTupleLiteral? sourceTuple = (BoundTupleLiteral?)this.Visit(node.SourceTuple); 15899public override TreeDumperNode VisitTupleLiteral(BoundTupleLiteral node, object? arg) => new TreeDumperNode("tupleLiteral", null, new TreeDumperNode[]
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
935public override BoundNode VisitTupleLiteral(BoundTupleLiteral node)
Lowering\LocalRewriter\LocalRewriter_TupleCreationExpression.cs (1)
15public override BoundNode VisitTupleLiteral(BoundTupleLiteral node)
Operations\CSharpOperationFactory.cs (1)
2133BoundTupleLiteral { Type: var t } => t,
Symbols\Tuples\TupleTypeSymbol.cs (1)
284internal static void ReportTupleNamesMismatchesIfAny(TypeSymbol destination, BoundTupleLiteral literal, BindingDiagnosticBag diagnostics)