3 instantiations of TupleTypeSymbol
Microsoft.CodeAnalysis.VisualBasic (3)
Symbols\Tuples\TupleTypeSymbol.vb (3)
341Me.New(If((locationOpt Is Nothing), ImmutableArray(Of Location).Empty, ImmutableArray.Create(Of Location)(locationOpt)), 430Return New TupleTypeSymbol(locations, tupleCompatibleType, elementLocations, elementNames, elementTypes, errorPositions) 502Return New TupleTypeSymbol(CType(Nothing, Location), Me._underlyingType, Nothing, newElementNames, Me._elementTypes, Nothing)
93 references to TupleTypeSymbol
Microsoft.CodeAnalysis.VisualBasic (93)
Symbols\ConstraintsHelper.vb (4)
447tuple As TupleTypeSymbol, 463TupleTypeSymbol.GetUnderlyingTypeChain(type, underlyingTupleTypeChain) 481Dim location = If(ordinal = TupleTypeSymbol.RestIndex, syntaxNode.Location, elementLocations(ordinal + offset)) 487offset += TupleTypeSymbol.RestIndex
Symbols\InstanceErrorTypeSymbol.vb (1)
157Dim otherTuple = TryCast(other, TupleTypeSymbol)
Symbols\InstanceTypeSymbol.vb (1)
144Dim otherTuple = TryCast(other, TupleTypeSymbol)
Symbols\Metadata\PE\TupleTypeDecoder.vb (2)
24''' a <see cref="TupleTypeSymbol"/> with attached names. 217decodedType = TupleTypeSymbol.Create(decodedType, elementNames)
Symbols\NamedTypeSymbol.vb (9)
1527Name = TupleTypeSymbol.TupleTypeName AndAlso 1532If arity > 0 AndAlso arity < TupleTypeSymbol.RestPosition Then 1535ElseIf arity = TupleTypeSymbol.RestPosition AndAlso Not IsDefinition Then 1542typeToCheck = DirectCast(typeToCheck, NamedTypeSymbol).TypeArgumentsNoUseSiteDiagnostics(TupleTypeSymbol.RestPosition - 1) 1547If underlying.Arity = TupleTypeSymbol.RestPosition AndAlso Not TypeSymbol.Equals(underlying.OriginalDefinition, Me.OriginalDefinition, TypeCompareKind.ConsiderEverything) Then 1552tupleCardinality = (TupleTypeSymbol.RestPosition - 1) * levelsOfNesting + typeToCheck.TupleElementTypes.Length 1559arity < TupleTypeSymbol.RestPosition AndAlso 1561Debug.Assert(tupleCardinality < TupleTypeSymbol.RestPosition) 1562tupleCardinality += (TupleTypeSymbol.RestPosition - 1) * levelsOfNesting
Symbols\Retargeting\RetargetingSymbolTranslator.vb (1)
155Return DirectCast(type, TupleTypeSymbol).WithUnderlyingType(newUnderlyingType)
Symbols\SubstitutedErrorType.vb (1)
263Dim otherTuple = TryCast(obj, TupleTypeSymbol)
Symbols\SubstitutedNamedType.vb (1)
535Dim otherTuple = TryCast(other, TupleTypeSymbol)
Symbols\Tuples\TupleEventSymbol.vb (2)
18Private ReadOnly _containingType As TupleTypeSymbol 80Public Sub New(container As TupleTypeSymbol, underlyingEvent As EventSymbol)
Symbols\Tuples\TupleFieldSymbol.vb (4)
18Protected ReadOnly _containingTuple As TupleTypeSymbol 86Public Sub New(container As TupleTypeSymbol, underlyingField As FieldSymbol, tupleElementIndex As Integer) 142Public Sub New(container As TupleTypeSymbol, 223Public Sub New(container As TupleTypeSymbol,
Symbols\Tuples\TupleMethodSymbol.vb (2)
18Private ReadOnly _containingType As TupleTypeSymbol 107Public Sub New(container As TupleTypeSymbol, underlyingMethod As MethodSymbol)
Symbols\Tuples\TuplePropertySymbol.vb (2)
18Private ReadOnly _containingType As TupleTypeSymbol 108Public Sub New(container As TupleTypeSymbol, underlyingProperty As PropertySymbol)
Symbols\Tuples\TupleTypeSymbol.vb (59)
373Optional diagnostics As BindingDiagnosticBag = Nothing) As TupleTypeSymbol 382Dim tupleUnderlyingType As NamedTypeSymbol = TupleTypeSymbol.GetTupleUnderlyingType(elementTypes, syntax, compilation, diagnostics) 388Dim constructedType = TupleTypeSymbol.Create(locationOpt, tupleUnderlyingType, elementLocations, elementNames, errorPositions) 396Public Shared Function Create(tupleCompatibleType As NamedTypeSymbol) As TupleTypeSymbol 397Return TupleTypeSymbol.Create(ImmutableArray(Of Location).Empty, tupleCompatibleType, Nothing, Nothing, Nothing) 400Public Shared Function Create(tupleCompatibleType As NamedTypeSymbol, elementNames As ImmutableArray(Of String)) As TupleTypeSymbol 401Return TupleTypeSymbol.Create(ImmutableArray(Of Location).Empty, tupleCompatibleType, Nothing, elementNames, errorPositions:=Nothing) 406errorPositions As ImmutableArray(Of Boolean)) As TupleTypeSymbol 408Return TupleTypeSymbol.Create(If((locationOpt Is Nothing), ImmutableArray(Of Location).Empty, ImmutableArray.Create(Of Location)(locationOpt)), 414errorPositions As ImmutableArray(Of Boolean)) As TupleTypeSymbol 419If tupleCompatibleType.Arity = TupleTypeSymbol.RestPosition Then 420tupleCompatibleType = TupleTypeSymbol.EnsureRestExtensionsAreTuples(tupleCompatibleType) 421Dim tupleElementTypes As ImmutableArray(Of TypeSymbol) = tupleCompatibleType.TypeArgumentsNoUseSiteDiagnostics(TupleTypeSymbol.RestPosition - 1).TupleElementTypes 422Dim instance As ArrayBuilder(Of TypeSymbol) = ArrayBuilder(Of TypeSymbol).GetInstance(TupleTypeSymbol.RestPosition - 1 + tupleElementTypes.Length) 423instance.AddRange(tupleCompatibleType.TypeArgumentsNoUseSiteDiagnostics, TupleTypeSymbol.RestPosition - 1) 434If Not tupleCompatibleType.TypeArgumentsNoUseSiteDiagnostics(TupleTypeSymbol.RestPosition - 1).IsTupleType Then 440namedTypeSymbol = CType(namedTypeSymbol.TypeArgumentsNoUseSiteDiagnostics(TupleTypeSymbol.RestPosition - 1), NamedTypeSymbol) 441Loop While namedTypeSymbol.Arity = TupleTypeSymbol.RestPosition 450Dim typeArgumentsBuilder As ArrayBuilder(Of TypeWithModifiers) = ArrayBuilder(Of TypeWithModifiers).GetInstance(TupleTypeSymbol.RestPosition) 452Dim extensionTuple As TupleTypeSymbol = TupleTypeSymbol.Create(CType(Nothing, Location), tupleCompatibleType, Nothing, Nothing, Nothing) 454tupleCompatibleType = TupleTypeSymbol.ReplaceRestExtensionType(tupleCompatibleType, typeArgumentsBuilder, extensionTuple) 463Private Shared Function ReplaceRestExtensionType(tupleCompatibleType As NamedTypeSymbol, typeArgumentsBuilder As ArrayBuilder(Of TypeWithModifiers), extensionTuple As TupleTypeSymbol) As NamedTypeSymbol 469For i As Integer = 0 To TupleTypeSymbol.RestPosition - 1 - 1 475If(hasTypeArgumentsCustomModifiers, tupleCompatibleType.GetTypeArgumentCustomModifiers(TupleTypeSymbol.RestPosition - 1), Nothing))) 482Friend Function WithUnderlyingType(newUnderlyingType As NamedTypeSymbol) As TupleTypeSymbol 484Return TupleTypeSymbol.Create(Me._locations, newUnderlyingType, Me._elementLocations, Me._providedElementNames, Me._errorPositions) 487Friend Function WithElementNames(newElementNames As ImmutableArray(Of String)) As TupleTypeSymbol 510If namedTypeSymbol.Arity <> TupleTypeSymbol.RestPosition Then 513namedTypeSymbol = namedTypeSymbol.TypeArgumentsNoUseSiteDiagnostics(TupleTypeSymbol.RestPosition - 1).TupleUnderlyingType 525Dim length As Integer = Math.Min(namedTypeSymbol.Arity, TupleTypeSymbol.RestPosition - 1) 527If namedTypeSymbol.Arity <> TupleTypeSymbol.RestPosition Then 530namedTypeSymbol = CType(namedTypeSymbol.TypeArgumentsNoUseSiteDiagnostics(TupleTypeSymbol.RestPosition - 1), NamedTypeSymbol) 538namedTypeSymbol = namedTypeSymbol.TypeArgumentsNoUseSiteDiagnostics(TupleTypeSymbol.RestPosition - 1).TupleUnderlyingType 551Dim chainLength As Integer = TupleTypeSymbol.NumberOfValueTuples(numElements, remainder) 553Dim wellKnownType As NamedTypeSymbol = compilation.GetWellKnownType(TupleTypeSymbol.GetTupleType(remainder)) 559Dim namedTypeSymbol As NamedTypeSymbol = wellKnownType.Construct(ImmutableArray.Create(Of TypeSymbol)(elementTypes, (chainLength - 1) * (TupleTypeSymbol.RestPosition - 1), remainder)) 562Dim wellKnownType2 As NamedTypeSymbol = compilation.GetWellKnownType(TupleTypeSymbol.GetTupleType(TupleTypeSymbol.RestPosition)) 568Dim typeArguments As ImmutableArray(Of TypeSymbol) = ImmutableArray.Create(Of TypeSymbol)(elementTypes, ([loop] - 1) * (TupleTypeSymbol.RestPosition - 1), TupleTypeSymbol.RestPosition - 1).Add(namedTypeSymbol) 579Dim num As Integer = TupleTypeSymbol.NumberOfValueTuples(cardinality, arity) 580Dim wellKnownType As NamedTypeSymbol = compilation.GetWellKnownType(TupleTypeSymbol.GetTupleType(arity)) 584Dim wellKnownType2 As NamedTypeSymbol = compilation.GetWellKnownType(TupleTypeSymbol.GetTupleType(TupleTypeSymbol.RestPosition)) 590If arity > TupleTypeSymbol.RestPosition Then 594Return TupleTypeSymbol.tupleTypes(arity - 1) 598If arity > TupleTypeSymbol.RestPosition Then 602Return TupleTypeSymbol.tupleCtors(arity - 1) 606Return TupleTypeSymbol.tupleMembers(arity - 1)(position - 1) 623If TupleTypeSymbol.IsElementNameForbidden(name) Then 631If num > 0 AndAlso IdentifierComparison.Equals(name, TupleTypeSymbol.TupleMemberName(num)) Then 650Dim wellKnownMemberInType As Symbol = TupleTypeSymbol.GetWellKnownMemberInType(type, relativeMember) 880Dim num As Integer = Math.Min(underlying.Arity, TupleTypeSymbol.RestPosition - 1) 882Dim tupleTypeMember As WellKnownMember = TupleTypeSymbol.GetTupleTypeMember(underlying.Arity, i + 1) 883fieldsForElements.Add(CType(TupleTypeSymbol.GetWellKnownMemberInType(underlying, tupleTypeMember), FieldSymbol)) 984Dim otherTuple = TryCast(obj, TupleTypeSymbol) 1065result = TupleTypeSymbol.Create(CType(target, NamedTypeSymbol)) 1078Dim tupleType = TupleTypeSymbol.Create(Me._locations, substitutedUnderlying, Me._elementLocations,
Symbols\TypeSymbolExtensions.vb (4)
67elementTypes = DirectCast(type, TupleTypeSymbol).TupleElementTypes 86TupleTypeSymbol.AddElementTypes(DirectCast(type, NamedTypeSymbol), elementTypesBuilder) 97Return DirectCast(Type, TupleTypeSymbol).TupleElementTypes 110TupleTypeSymbol.AddElementTypes(DirectCast(Type, NamedTypeSymbol), elementTypesBuilder)