43 references to ValueTupleRestPosition
Microsoft.CodeAnalysis.CSharp (43)
FlowAnalysis\NullableWalker.cs (4)
8765Debug.Assert(values.Length == (useRestField ? Math.Min(tupleType.TupleElements.Length, NamedTypeSymbol.ValueTupleRestPosition) : tupleType.TupleElements.Length)); 8773n = Math.Min(n, NamedTypeSymbol.ValueTupleRestPosition - 1); 8781values.Length == NamedTypeSymbol.ValueTupleRestPosition && 8784var argOrdinal = getArgumentOrdinalFromParameterOrdinal(NamedTypeSymbol.ValueTupleRestPosition - 1);
Lowering\LocalRewriter\LocalRewriter_Field.cs (3)
74WellKnownMember wellKnownTupleRest = NamedTypeSymbol.GetTupleTypeMember(NamedTypeSymbol.ValueTupleRestPosition, NamedTypeSymbol.ValueTupleRestPosition); 89currentLinkType = (NamedTypeSymbol)currentLinkType.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[NamedTypeSymbol.ValueTupleRestPosition - 1].Type;
Lowering\LocalRewriter\LocalRewriter_TupleCreationExpression.cs (4)
55underlyingTupleTypeChain.Count * (NamedTypeSymbol.ValueTupleRestPosition - 1), 75NamedTypeSymbol.GetTupleCtor(NamedTypeSymbol.ValueTupleRestPosition), 89(underlyingTupleTypeChain.Count - 1) * (NamedTypeSymbol.ValueTupleRestPosition - 1), 90NamedTypeSymbol.ValueTupleRestPosition - 1)
SymbolDisplay\SymbolDisplayVisitor.Types.cs (2)
542while (currentUnderlying.Arity == NamedTypeSymbol.ValueTupleRestPosition) 544tupleSymbol = (INamedTypeSymbol)currentUnderlying.TypeArguments[NamedTypeSymbol.ValueTupleRestPosition - 1];
Symbols\FieldSymbol.cs (1)
491Debug.Assert(tupleElementPosition < NamedTypeSymbol.ValueTupleRestPosition);
Symbols\NamedTypeSymbol.cs (6)
1657if (arity >= 0 && arity < ValueTupleRestPosition) 1662else if (arity == ValueTupleRestPosition && !IsDefinition) 1671typeToCheck = ((NamedTypeSymbol)typeToCheck).TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[ValueTupleRestPosition - 1].Type; 1677if (arity > 0 && arity < ValueTupleRestPosition && ((NamedTypeSymbol)typeToCheck).IsTupleTypeOfCardinality(out tupleCardinality)) 1679Debug.Assert(tupleCardinality < ValueTupleRestPosition); 1680tupleCardinality += (ValueTupleRestPosition - 1) * levelsOfNesting;
Symbols\Tuples\TupleTypeSymbol.cs (23)
20internal const int ValueTupleRestIndex = ValueTupleRestPosition - 1; 88chainedTupleType = compilation.GetWellKnownType(GetTupleType(ValueTupleRestPosition)); 133if (Arity < NamedTypeSymbol.ValueTupleRestPosition) 146while (underlyingType.Arity >= NamedTypeSymbol.ValueTupleRestPosition); 210if (currentType.Arity == NamedTypeSymbol.ValueTupleRestPosition) 212currentType = (NamedTypeSymbol)currentType.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[NamedTypeSymbol.ValueTupleRestPosition - 1].Type; 227remainder = (numElements - 1) % (ValueTupleRestPosition - 1) + 1; 228return (numElements - 1) / (ValueTupleRestPosition - 1) + 1; 233Debug.Assert(chainedTupleTypeOpt is null == elementTypes.Length < ValueTupleRestPosition); 239NamedTypeSymbol currentSymbol = firstTupleType.Construct(ImmutableArray.Create(elementTypes, (chainLength - 1) * (ValueTupleRestPosition - 1), remainder)); 243var chainedTypes = ImmutableArray.Create(elementTypes, (loop - 1) * (ValueTupleRestPosition - 1), ValueTupleRestPosition - 1).Add(TypeWithAnnotations.Create(currentSymbol)); 272NamedTypeSymbol chainedTupleType = compilation.GetWellKnownType(GetTupleType(ValueTupleRestPosition)); 311if (arity > ValueTupleRestPosition) 617tupleFieldIndex += (ValueTupleRestPosition - 1) * currentNestingLevel; 705if (currentValueTuple.Arity != ValueTupleRestPosition) 714if (currentValueTuple.Arity != ValueTupleRestPosition) 792found = (NamedTypeSymbol)found.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[ValueTupleRestPosition - 1].Type; 800int fieldsPerType = Math.Min(arity, ValueTupleRestPosition - 1); 981if (tuple.Arity == ValueTupleRestPosition) 984var extensionTupleElementTypes = tuple.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[ValueTupleRestPosition - 1].Type.TupleElementTypesWithAnnotations; 985var typesBuilder = ArrayBuilder<TypeWithAnnotations>.GetInstance(ValueTupleRestPosition - 1 + extensionTupleElementTypes.Length); 986typesBuilder.AddRange(tuple.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics, ValueTupleRestPosition - 1);