4 implementations of ConstraintTypes
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
CodeGenerationTypeParameterSymbol.cs (1)
14public ImmutableArray<ITypeSymbol> ConstraintTypes { get; internal set; }
Microsoft.CodeAnalysis.CSharp (1)
Symbols\PublicModel\TypeParameterSymbol.cs (1)
62ImmutableArray<ITypeSymbol> ITypeParameterSymbol.ConstraintTypes
Microsoft.CodeAnalysis.VisualBasic (1)
Symbols\TypeParameterSymbol.vb (1)
391Private ReadOnly Property ITypeParameterSymbol_ConstraintTypes As ImmutableArray(Of ITypeSymbol) Implements ITypeParameterSymbol.ConstraintTypes
Microsoft.CodeAnalysis.Workspaces (1)
CodeGenerationTypeParameterSymbol.cs (1)
14public ImmutableArray<ITypeSymbol> ConstraintTypes { get; internal set; }
68 references to ConstraintTypes
Microsoft.CodeAnalysis.CodeStyle (2)
ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
103return symbol.ConstraintTypes.Any(static (ts, self) => ts.Accept(self), this);
ITypeSymbolExtensions.cs (1)
605foreach (var constraint in ((ITypeParameterSymbol)type).ConstraintTypes)
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
93foreach (var constraint in symbol.ConstraintTypes)
Microsoft.CodeAnalysis.CSharp (3)
SymbolDisplay\SymbolDisplayVisitor.Types.cs (3)
832return !typeParam.ConstraintTypes.IsEmpty || typeParam.HasConstructorConstraint || 901for (int i = 0; i < typeParam.ConstraintTypes.Length; i++) 903ITypeSymbol baseType = typeParam.ConstraintTypes[i];
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (3)
ITypeParameterSymbolExtensions.cs (3)
58typeParameter.ConstraintTypes.Where(t => t.TypeKind == TypeKind.Class).Concat( 59typeParameter.ConstraintTypes.Where(t => t.TypeKind == TypeKind.Interface).Concat( 60typeParameter.ConstraintTypes.Where(t => t.TypeKind is not TypeKind.Class and not TypeKind.Interface)));
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (1)
CodeGen\CodeGenTupleTest.cs (1)
14339var m5Tuple = ((IMethodSymbol)symbolInfo.Symbol).TypeParameters[0].ConstraintTypes.Single();
Microsoft.CodeAnalysis.CSharp.Features (2)
SignatureHelp\GenericNameSignatureHelpProvider.cs (2)
263foreach (var baseType in typeParam.ConstraintTypes) 295return !typeParam.ConstraintTypes.IsDefaultOrEmpty || typeParam.HasConstructorConstraint ||
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
Symbols\Source\NullablePublicAPITests.cs (1)
824var result = typeParameterSymbol.ConstraintTypes.Single().NullableAnnotation;
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
CompilationTestUtils.cs (1)
85CheckISymbols(symbol.ConstraintTypes, constraintTypes);
Microsoft.CodeAnalysis.CSharp.Workspaces (3)
ITypeParameterSymbolExtensions.cs (3)
58typeParameter.ConstraintTypes.Where(t => t.TypeKind == TypeKind.Class).Concat( 59typeParameter.ConstraintTypes.Where(t => t.TypeKind == TypeKind.Interface).Concat( 60typeParameter.ConstraintTypes.Where(t => t.TypeKind is not TypeKind.Class and not TypeKind.Interface)));
Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler (1)
AbstractTypeParameterChecker.cs (1)
38foreach (var constraintType in symbol.ConstraintTypes)
Microsoft.CodeAnalysis.Features (22)
Completion\Providers\ImportCompletionProvider\ExtensionMethodImportCompletionHelper.SymbolComputer.cs (1)
493foreach (var constraintType in typeParameter.ConstraintTypes)
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (2)
2326=> TypesEquivalent(oldParameter.ConstraintTypes, newParameter.ConstraintTypes, exact) &&
ExtractMethod\MethodExtractor.Analyzer.cs (3)
763var constraintTypes = typeParameter.ConstraintTypes; 822var constraintTypes = typeParameter.ConstraintTypes; 877parameter.ConstraintTypes.IsDefaultOrEmpty)
GenerateMember\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.AbstractInvocationInfo.cs (2)
60var constraints = typeParameter.ConstraintTypes.Where(ts => !ts.IsUnexpressibleTypeParameterConstraint()).ToList(); 66if (constraints.SequenceEqual(typeParameter.ConstraintTypes))
GenerateMember\GenerateParameterizedMember\TypeParameterSubstitution.cs (6)
73switch (symbol.ConstraintTypes.Length) 83if (symbol.ConstraintTypes.ElementAt(0) is INamedTypeSymbol namedType) 96if (!symbol.ConstraintTypes.All(t => t is INamedTypeSymbol)) 103(INamedTypeSymbol)symbol.ConstraintTypes[0], projects).ConfigureAwait(false); 105for (var i = 1; i < symbol.ConstraintTypes.Length; i++) 108(INamedTypeSymbol)symbol.ConstraintTypes[i], projects).ConfigureAwait(false);
ImplementAbstractClass\ImplementAbstractClassData.cs (1)
323var constraints = typeParameter.ConstraintTypes;
ImplementInterface\AbstractImplementInterfaceService.AccessibilityHelper.cs (1)
94foreach (var constraint in typeParameter.ConstraintTypes)
ImplementInterface\AbstractImplementInterfaceService.CodeAction.cs (3)
385var condition1 = typeParameter.ConstraintTypes.Count(t => t.TypeKind == TypeKind.Class) >= 2; 386var condition2 = typeParameter.ConstraintTypes.Any(static (ts, allowDelegateAndEnumConstraints) => ts.IsUnexpressibleTypeParameterConstraint(allowDelegateAndEnumConstraints), allowDelegateAndEnumConstraints); 387var condition3 = typeParameter.HasReferenceTypeConstraint && typeParameter.ConstraintTypes.Any(static ts => ts.IsReferenceType && ts.SpecialType != SpecialType.System_Object);
LanguageServices\AnonymousTypeDisplayService\AbstractStructuralTypeDisplayService.StructuralTypeCollectorVisitor.cs (1)
135foreach (var constraint in symbol.ConstraintTypes)
Shared\Utilities\ExtractTypeHelpers.cs (2)
148foreach (var constraint in typeParameter.ConstraintTypes) 210method.TypeParameters.Any(static (t, arg) => t.ConstraintTypes.Any(static (c, arg) => DoesTypeReferenceTypeParameter(c, arg.typeParameter, arg.checkedTypes), (arg.typeParameter, arg.checkedTypes)), (typeParameter, checkedTypes)) ||
Microsoft.CodeAnalysis.VisualBasic (2)
SymbolDisplay\SymbolDisplayVisitor.Types.vb (1)
533Dim constraintTypes = typeParam.ConstraintTypes
Symbols\TypeParameterSymbol.vb (1)
391Private ReadOnly Property ITypeParameterSymbol_ConstraintTypes As ImmutableArray(Of ITypeSymbol) Implements ITypeParameterSymbol.ConstraintTypes
Microsoft.CodeAnalysis.VisualBasic.Features (1)
SignatureHelp\GenericNameSignatureHelpProvider.vb (1)
165Dim constraintTypes = typeParam.ConstraintTypes
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (4)
Semantics\PartialMethodsTest.vb (4)
1062Assert.Equal(2, typeParaSym1.ConstraintTypes.Length) 1064Assert.Equal(2, typeParaSym2.ConstraintTypes.Length) 1118Assert.Equal(2, typeParaSym1.ConstraintTypes.Length) 1120Assert.Equal(2, typeParaSym2.ConstraintTypes.Length)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (1)
CodeGeneration\TypeParameterGenerator.vb (1)
42constraints.AddRange(symbol.ConstraintTypes.Select(Function(t) SyntaxFactory.TypeConstraint(t.GenerateTypeSyntax())))
Microsoft.CodeAnalysis.Workspaces (12)
Editing\SyntaxGenerator.cs (2)
886types: tp.ConstraintTypes.Select(TypeExpression)); 895=> typeParameter.HasConstructorConstraint || typeParameter.HasReferenceTypeConstraint || typeParameter.HasValueTypeConstraint || typeParameter.ConstraintTypes.Length > 0;
ISymbolExtensions.RequiresUnsafeModifierVisitor.cs (1)
103return symbol.ConstraintTypes.Any(static (ts, self) => ts.Accept(self), this);
ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (1)
93foreach (var constraint in symbol.ConstraintTypes)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ITypeSymbolExtensions.cs\ITypeSymbolExtensions.cs (1)
605foreach (var constraint in ((ITypeParameterSymbol)type).ConstraintTypes)
Recommendations\AbstractRecommendationServiceRunner.cs (1)
370if (!MatchesConstraints(containerType.OriginalDefinition, parameterType.ConstraintTypes))
Shared\Extensions\IMethodSymbolExtensions.cs (1)
134typeParameter.ConstraintTypes,
Shared\Extensions\ITypeParameterSymbolExtensions.cs (1)
13=> typeParameter.ConstraintTypes.Select(GetNamedTypeSymbol).WhereNotNull().FirstOrDefault();
Shared\Utilities\SignatureComparer.cs (4)
231if (typeParameter1.ConstraintTypes.Length != typeParameter2.ConstraintTypes.Length) 236return typeParameter1.ConstraintTypes.SetEquals( 237typeParameter2.ConstraintTypes, this.SignatureTypeEquivalenceComparer);
Microsoft.CodeAnalysis.Workspaces.UnitTests (1)
FindReferencesTests.cs (1)
502var constraint = comp.GetTypeByMetadataName("C`1").TypeParameters.Single().ConstraintTypes.Single();
Microsoft.VisualStudio.LanguageServices.CSharp (2)
ObjectBrowser\DescriptionBuilder.cs (2)
342if (typeParameterSymbol.ConstraintTypes.Length == 0 && 380foreach (var constraintType in typeParameterSymbol.ConstraintTypes)
Microsoft.VisualStudio.LanguageServices.VisualBasic (5)
ObjectBrowser\DescriptionBuilder.vb (5)
456Debug.Assert(typeParameter.ConstraintTypes.Length = 1) 457AddTypeLink(typeParameter.ConstraintTypes(0), LinkFlags.None) 489If typeParameter.ConstraintTypes.Length > 0 Then 490For Each constraintType In typeParameter.ConstraintTypes 504Dim result = typeParameter.ConstraintTypes.Length