81 references to TypeParameterConstraintKind
Microsoft.CodeAnalysis.VisualBasic (37)
Binding\Binder_Constraints.vb (15)
24Dim constraints = TypeParameterConstraintKind.None 44ByRef constraints As TypeParameterConstraintKind, 52If (constraints And TypeParameterConstraintKind.Constructor) <> 0 Then 54ElseIf (constraints And TypeParameterConstraintKind.ValueType) <> 0 Then 57constraints = constraints Or TypeParameterConstraintKind.Constructor 58constraintsBuilder.Add(New TypeParameterConstraint(TypeParameterConstraintKind.Constructor, syntax.GetLocation())) 62If (constraints And TypeParameterConstraintKind.ReferenceType) <> 0 Then 64ElseIf (constraints And TypeParameterConstraintKind.ValueType) <> 0 Then 67constraints = constraints Or TypeParameterConstraintKind.ReferenceType 68constraintsBuilder.Add(New TypeParameterConstraint(TypeParameterConstraintKind.ReferenceType, syntax.GetLocation())) 72If (constraints And TypeParameterConstraintKind.ValueType) <> 0 Then 74ElseIf (constraints And TypeParameterConstraintKind.Constructor) <> 0 Then 76ElseIf (constraints And TypeParameterConstraintKind.ReferenceType) <> 0 Then 79constraints = constraints Or TypeParameterConstraintKind.ValueType 80constraintsBuilder.Add(New TypeParameterConstraint(TypeParameterConstraintKind.ValueType, syntax.GetLocation()))
Symbols\ConstraintsHelper.vb (3)
110Case TypeParameterConstraintKind.ReferenceType 127Case TypeParameterConstraintKind.ValueType 144Case TypeParameterConstraintKind.None
Symbols\Metadata\PE\PETypeParameterSymbol.vb (3)
156constraintsBuilder.Add(New TypeParameterConstraint(TypeParameterConstraintKind.Constructor, Nothing)) 160constraintsBuilder.Add(New TypeParameterConstraint(TypeParameterConstraintKind.ReferenceType, Nothing)) 164constraintsBuilder.Add(New TypeParameterConstraint(TypeParameterConstraintKind.ValueType, Nothing))
Symbols\Source\SourceNamedTypeSymbol.vb (2)
898Private Shared Function GetConstraintKind(constraints As ImmutableArray(Of TypeParameterConstraint)) As TypeParameterConstraintKind 899Dim kind = TypeParameterConstraintKind.None
Symbols\TypeParameterConstraint.vb (14)
15Public Sub New(kind As TypeParameterConstraintKind, loc As Location) 17Debug.Assert((kind = TypeParameterConstraintKind.Constructor) OrElse 18(kind = TypeParameterConstraintKind.ReferenceType) OrElse 19(kind = TypeParameterConstraintKind.ValueType)) 23Me.New(TypeParameterConstraintKind.None, type, loc) 27Private Sub New(kind As TypeParameterConstraintKind, type As TypeSymbol, loc As Location) 39Public ReadOnly Kind As TypeParameterConstraintKind 45Return Kind = TypeParameterConstraintKind.Constructor 51Return Kind = TypeParameterConstraintKind.ReferenceType 57Return Kind = TypeParameterConstraintKind.ValueType 73Private Shared Function ToSyntaxKind(kind As TypeParameterConstraintKind) As SyntaxKind 75Case TypeParameterConstraintKind.Constructor 77Case TypeParameterConstraintKind.ReferenceType 79Case TypeParameterConstraintKind.ValueType
Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests (44)
SymbolsTests\GenericConstraintTests.vb (44)
3577CheckConstraints(method.TypeParameters(0), TypeParameterConstraintKind.None, "T", "U") 3580CheckConstraints(method.TypeParameters(0), TypeParameterConstraintKind.None, "T", "I(Of U)", "I(Of Object)") 3583CheckConstraints(method.TypeParameters(0), TypeParameterConstraintKind.None, "I(Of T)", "I(Of U)") 3586CheckConstraints(method.TypeParameters(0), TypeParameterConstraintKind.None, "T") 3589CheckConstraints(method.TypeParameters(0), TypeParameterConstraintKind.None, "I(Of Object)", "I(Of T)") 3592CheckConstraints(method.TypeParameters(0), TypeParameterConstraintKind.None, "I(Of I(Of U))") 3619CheckConstraints(type.TypeParameters(0), TypeParameterConstraintKind.None) 3620CheckConstraints(type.TypeParameters(1), TypeParameterConstraintKind.None, "T") 3621CheckConstraints(type.TypeParameters(2), TypeParameterConstraintKind.None, "A", "B") 3624CheckConstraints(method.TypeParameters(0), TypeParameterConstraintKind.None, "T") 3625CheckConstraints(method.TypeParameters(1), TypeParameterConstraintKind.None, "B", "A") 3741CheckConstraints([namespace].GetMember(Of NamedTypeSymbol)("O1").TypeParameters(0), TypeParameterConstraintKind.None) 3742CheckConstraints([namespace].GetMember(Of NamedTypeSymbol)("O2").TypeParameters(0), TypeParameterConstraintKind.None, "Object") 3743CheckConstraints([namespace].GetMember(Of NamedTypeSymbol)("V1").TypeParameters(0), TypeParameterConstraintKind.ValueType) 3744CheckConstraints([namespace].GetMember(Of NamedTypeSymbol)("V2").TypeParameters(0), TypeParameterConstraintKind.ValueType) 3745CheckConstraints([namespace].GetMember(Of NamedTypeSymbol)("V3").TypeParameters(0), TypeParameterConstraintKind.ValueType) 3746CheckConstraints([namespace].GetMember(Of NamedTypeSymbol)("V4").TypeParameters(0), TypeParameterConstraintKind.ValueType) 3747CheckConstraints([namespace].GetMember(Of NamedTypeSymbol)("V5").TypeParameters(0), TypeParameterConstraintKind.None, "ValueType") 3748CheckConstraints([namespace].GetMember(Of NamedTypeSymbol)("R1").TypeParameters(0), TypeParameterConstraintKind.None, "A") 3749CheckConstraints([namespace].GetMember(Of NamedTypeSymbol)("R2").TypeParameters(0), TypeParameterConstraintKind.ReferenceType, "A") 3790CheckConstraints(type.GetMember(Of MethodSymbol)("M1").TypeParameters(0), TypeParameterConstraintKind.None) 3791CheckConstraints(type.GetMember(Of MethodSymbol)("M2").TypeParameters(0), TypeParameterConstraintKind.ValueType) 3793CheckConstraints(type.GetMember(Of MethodSymbol)("M1").TypeParameters(0), TypeParameterConstraintKind.None, "Object") 3794CheckConstraints(type.GetMember(Of MethodSymbol)("M2").TypeParameters(0), TypeParameterConstraintKind.ValueType, "Object") 3796CheckConstraints(type.GetMember(Of MethodSymbol)("M1").TypeParameters(0), TypeParameterConstraintKind.None, "ValueType") 3797CheckConstraints(type.GetMember(Of MethodSymbol)("M2").TypeParameters(0), TypeParameterConstraintKind.ValueType) 3993CheckConstraints(type.Interfaces(0).GetMember(Of MethodSymbol)("M").TypeParameters(0), TypeParameterConstraintKind.None, "Object") 3995CheckConstraints(type.GetMember(Of MethodSymbol)("M").TypeParameters(0), TypeParameterConstraintKind.None) 3997CheckConstraints(type.GetMember(Of MethodSymbol)("M").TypeParameters(0), TypeParameterConstraintKind.None, "Object") 3999CheckConstraints(type.Interfaces(0).GetMember(Of MethodSymbol)("M").TypeParameters(0), TypeParameterConstraintKind.None, "Object") 4001CheckConstraints(type.GetMember(Of MethodSymbol)("M").TypeParameters(0), TypeParameterConstraintKind.None, "Object") 4003CheckConstraints(type.GetMember(Of MethodSymbol)("M").TypeParameters(0), TypeParameterConstraintKind.None) 4005CheckConstraints(type.GetMember(Of MethodSymbol)("M").TypeParameters(0), TypeParameterConstraintKind.None, "Object") 4007CheckConstraints(type.GetMember(Of MethodSymbol)("M").TypeParameters(0), TypeParameterConstraintKind.None, "Object") 4009CheckConstraints(type.GetMember(Of MethodSymbol)("M").TypeParameters(0), TypeParameterConstraintKind.None, "Object") 4011CheckConstraints(type.BaseType.GetMember(Of MethodSymbol)("M").TypeParameters(0), TypeParameterConstraintKind.None, "Object") 4393CheckConstraints(type.TypeParameters(0), TypeParameterConstraintKind.None) 4395CheckConstraints(type.TypeParameters(0), TypeParameterConstraintKind.None, "C") 4397CheckConstraints(method.TypeParameters(0), TypeParameterConstraintKind.None, "Object") 4399CheckConstraints(method.TypeParameters(0), TypeParameterConstraintKind.None, "C") 5553Private Shared Sub CheckConstraints(typeParameter As TypeParameterSymbol, constraints As TypeParameterConstraintKind, ParamArray constraintTypeDescriptions As String()) 5554Assert.Equal((constraints And TypeParameterConstraintKind.Constructor) <> 0, typeParameter.HasConstructorConstraint) 5555Assert.Equal((constraints And TypeParameterConstraintKind.ReferenceType) <> 0, typeParameter.HasReferenceTypeConstraint) 5556Assert.Equal((constraints And TypeParameterConstraintKind.ValueType) <> 0, typeParameter.HasValueTypeConstraint)