47 references to ValueTupleRestPosition
Microsoft.CodeAnalysis.CSharp (46)
FlowAnalysis\NullableWalker.cs (4)
7615Debug.Assert(values.Length == (useRestField ? Math.Min(tupleType.TupleElements.Length, NamedTypeSymbol.ValueTupleRestPosition) : tupleType.TupleElements.Length)); 7623n = Math.Min(n, NamedTypeSymbol.ValueTupleRestPosition - 1); 7631values.Length == NamedTypeSymbol.ValueTupleRestPosition && 7634var 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), 73NamedTypeSymbol.GetTupleCtor(NamedTypeSymbol.ValueTupleRestPosition), 85(underlyingTupleTypeChain.Count - 1) * (NamedTypeSymbol.ValueTupleRestPosition - 1), 86NamedTypeSymbol.ValueTupleRestPosition - 1)
SymbolDisplay\SymbolDisplayVisitor.Types.cs (2)
491while (currentUnderlying.Arity == NamedTypeSymbol.ValueTupleRestPosition) 493tupleSymbol = (INamedTypeSymbol)currentUnderlying.TypeArguments[NamedTypeSymbol.ValueTupleRestPosition - 1];
Symbols\FieldSymbol.cs (1)
491Debug.Assert(tupleElementPosition < NamedTypeSymbol.ValueTupleRestPosition);
Symbols\NamedTypeSymbol.cs (6)
1648if (arity >= 0 && arity < ValueTupleRestPosition) 1653else if (arity == ValueTupleRestPosition && !IsDefinition) 1662typeToCheck = ((NamedTypeSymbol)typeToCheck).TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[ValueTupleRestPosition - 1].Type; 1668if (arity > 0 && arity < ValueTupleRestPosition && ((NamedTypeSymbol)typeToCheck).IsTupleTypeOfCardinality(out tupleCardinality)) 1670Debug.Assert(tupleCardinality < ValueTupleRestPosition); 1671tupleCardinality += (ValueTupleRestPosition - 1) * levelsOfNesting;
Symbols\Tuples\TupleTypeSymbol.cs (26)
21internal const int ValueTupleRestIndex = ValueTupleRestPosition - 1; 55if (numElements >= ValueTupleRestPosition && diagnostics != null && !underlyingType.IsErrorType()) 57WellKnownMember wellKnownTupleRest = GetTupleTypeMember(ValueTupleRestPosition, ValueTupleRestPosition); 95chainedTupleType = compilation.GetWellKnownType(GetTupleType(ValueTupleRestPosition)); 140if (Arity < NamedTypeSymbol.ValueTupleRestPosition) 153while (underlyingType.Arity >= NamedTypeSymbol.ValueTupleRestPosition); 217if (currentType.Arity == NamedTypeSymbol.ValueTupleRestPosition) 219currentType = (NamedTypeSymbol)currentType.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[NamedTypeSymbol.ValueTupleRestPosition - 1].Type; 234remainder = (numElements - 1) % (ValueTupleRestPosition - 1) + 1; 235return (numElements - 1) / (ValueTupleRestPosition - 1) + 1; 240Debug.Assert(chainedTupleTypeOpt is null == elementTypes.Length < ValueTupleRestPosition); 246NamedTypeSymbol currentSymbol = firstTupleType.Construct(ImmutableArray.Create(elementTypes, (chainLength - 1) * (ValueTupleRestPosition - 1), remainder)); 250var chainedTypes = ImmutableArray.Create(elementTypes, (loop - 1) * (ValueTupleRestPosition - 1), ValueTupleRestPosition - 1).Add(TypeWithAnnotations.Create(currentSymbol)); 279NamedTypeSymbol chainedTupleType = compilation.GetWellKnownType(GetTupleType(ValueTupleRestPosition)); 318if (arity > ValueTupleRestPosition) 624tupleFieldIndex += (ValueTupleRestPosition - 1) * currentNestingLevel; 712if (currentValueTuple.Arity != ValueTupleRestPosition) 721if (currentValueTuple.Arity != ValueTupleRestPosition) 799found = (NamedTypeSymbol)found.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[ValueTupleRestPosition - 1].Type; 807int fieldsPerType = Math.Min(arity, ValueTupleRestPosition - 1); 988if (tuple.Arity == ValueTupleRestPosition) 991var extensionTupleElementTypes = tuple.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics[ValueTupleRestPosition - 1].Type.TupleElementTypesWithAnnotations; 992var typesBuilder = ArrayBuilder<TypeWithAnnotations>.GetInstance(ValueTupleRestPosition - 1 + extensionTupleElementTypes.Length); 993typesBuilder.AddRange(tuple.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics, ValueTupleRestPosition - 1);
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (1)
CodeGen\CodeGenTupleTest.cs (1)
13481Assert.True(sym.TupleElementIndex < NamedTypeSymbol.ValueTupleRestPosition - 1);