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