10 types derived from TypeParameterSymbol
Microsoft.CodeAnalysis.CSharp (10)
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TypeParameterSymbol.cs (1)
18internal sealed class AnonymousTypeParameterSymbol : TypeParameterSymbol
Symbols\ErrorTypeSymbol.ErrorTypeParameterSymbol.cs (1)
13protected sealed class ErrorTypeParameterSymbol : TypeParameterSymbol
Symbols\Metadata\PE\PETypeParameterSymbol.cs (1)
26: TypeParameterSymbol
Symbols\Source\CrefTypeParameterSymbol.cs (1)
65internal sealed class CrefTypeParameterSymbol : TypeParameterSymbol
Symbols\Source\IndexedTypeParameterSymbol.cs (1)
27internal sealed class IndexedTypeParameterSymbol : TypeParameterSymbol
Symbols\Source\SourceTypeParameterSymbol.cs (1)
24internal abstract class SourceTypeParameterSymbol : TypeParameterSymbol, IAttributeTargetSymbol
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeParameterSymbol.cs (1)
11internal sealed class SynthesizedReadOnlyListTypeParameterSymbol : TypeParameterSymbol
Symbols\Synthesized\SynthesizedInlineArrayTypeSymbol.cs (1)
212private sealed class InlineArrayTypeParameterSymbol : TypeParameterSymbol
Symbols\SynthesizedSimpleMethodTypeParameterSymbol.cs (1)
14internal sealed class SynthesizedSimpleMethodTypeParameterSymbol : TypeParameterSymbol
Symbols\Wrapped\WrappedTypeParameterSymbol.cs (1)
22: TypeParameterSymbol
1141 references to TypeParameterSymbol
Microsoft.CodeAnalysis.CSharp (749)
Binder\Binder.ValueChecks.cs (5)
2512if (receiver.Type is TypeParameterSymbol typeParameter) 3093private readonly TypeParameterSymbol _type; 3096internal TypeParameterThisParameterSymbol(ParameterSymbol underlyingParameter, TypeParameterSymbol type) 5670ImmutableArray<TypeParameterSymbol>.Empty, 5710ImmutableArray<TypeParameterSymbol>.Empty,
Binder\Binder_Constraints.cs (7)
26ImmutableArray<TypeParameterSymbol> typeParameters, 45foreach (var typeParameter in typeParameters) 386ImmutableArray<TypeParameterSymbol> typeParameters, 402TypeParameterSymbol typeParameter, 484TypeParameterSymbol typeParameter, 554static bool isValidConstraintType(TypeParameterSymbol typeParameter, TypeConstraintSyntax syntax, TypeWithAnnotations typeWithAnnotations, bool performOnlyCycleSafeValidation, BindingDiagnosticBag diagnostics) 557typeWithAnnotations.DefaultType is TypeParameterSymbol typeParameterInConstraint && typeParameterInConstraint.ContainingSymbol == (object)typeParameter.ContainingSymbol)
Binder\Binder_Conversions.cs (5)
417Debug.Assert(conversion.ConstrainedToTypeOpt is TypeParameterSymbol); 580method.Parameters[0].Type is ArrayTypeSymbol { IsSZArray: true, ElementType: TypeParameterSymbol }); 785return binder.BindTypeParameterCreationExpression(syntax, (TypeParameterSymbol)type, arguments, initializerOpt, typeSyntax: syntax, wasTargetTyped: true, diagnostics); 1094else if (targetType is TypeParameterSymbol typeParameter) 1164else if (targetType is TypeParameterSymbol typeParameter)
Binder\Binder_Expressions.cs (6)
1509Debug.Assert(symbol is null or LocalSymbol or LocalFunctionSymbol or RangeVariableSymbol or TypeParameterSymbol); 5219return BindTypeParameterCreationExpression(node, (TypeParameterSymbol)type, diagnostics); 7079private BoundExpression BindTypeParameterCreationExpression(ObjectCreationExpressionSyntax node, TypeParameterSymbol typeParameter, BindingDiagnosticBag diagnostics) 7089private static bool TypeParameterHasParameterlessConstructor(SyntaxNode node, TypeParameterSymbol typeParameter, BindingDiagnosticBag diagnostics) 7101SyntaxNode node, TypeParameterSymbol typeParameter, AnalyzedArguments analyzedArguments, InitializerExpressionSyntax? initializerOpt, 9106if (receiverOpt is { Type: TypeParameterSymbol { AllowsRefLikeType: true } } &&
Binder\Binder_Lookup.cs (4)
258this.LookupMembersInTypeParameter(result, (TypeParameterSymbol)type, name, arity, basesBeingResolved, options, originalBinder, diagnose, ref useSiteInfo); 1256private void LookupMembersInTypeParameter(LookupResult current, TypeParameterSymbol typeParameter, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1960this.AddMemberLookupSymbolsInfoInTypeParameter(result, (TypeParameterSymbol)type, options, originalBinder); 2125private void AddMemberLookupSymbolsInfoInTypeParameter(LookupSymbolsInfo result, TypeParameterSymbol type, LookupOptions options, Binder originalBinder)
Binder\Binder_NameConflicts.cs (5)
28ImmutableArray<TypeParameterSymbol> typeParameters, 33PooledDictionary<string, TypeParameterSymbol>? tpNames = null; 36tpNames = PooledDictionary<string, TypeParameterSymbol>.GetInstance(); 37foreach (var tp in typeParameters) 68if (tpNames != null && tpNames.TryGetValue(name, out TypeParameterSymbol? tp))
Binder\Binder_Operators.cs (10)
804Debug.Assert(left.Type is not TypeParameterSymbol); 1297case (BoundKind.DefaultLiteral, _) when right.Type is TypeParameterSymbol: 1301case (_, BoundKind.DefaultLiteral) when left.Type is TypeParameterSymbol: 3811if (constrainedToTypeOpt is not TypeParameterSymbol) 4947if (targetType is TypeParameterSymbol { AllowsRefLikeType: true }) 4954else if (operandType is not TypeParameterSymbol { AllowsRefLikeType: true }) 4958if (operandType is TypeParameterSymbol) 4960Debug.Assert(operandType is TypeParameterSymbol { AllowsRefLikeType: false }); 4966if (targetType is TypeParameterSymbol) 4968Debug.Assert(targetType is TypeParameterSymbol { AllowsRefLikeType: false });
Binder\Binder_Patterns.cs (1)
466var interfaces = inputType is TypeParameterSymbol typeParam ? typeParam.EffectiveInterfacesNoUseSiteDiagnostics : inputType.AllInterfacesNoUseSiteDiagnostics;
Binder\Binder_WithExpression.cs (1)
42cloneMethod = SynthesizedRecordClone.FindValidCloneMethod(receiverType is TypeParameterSymbol typeParameter ? typeParameter.EffectiveBaseClass(ref useSiteInfo) : receiverType, ref useSiteInfo);
Binder\BinderFactory.BinderFactoryVisitor.cs (1)
1363ImmutableArray<TypeParameterSymbol> typeParameters = delegateType.TypeParameters;
Binder\ForEachLoopBinder.cs (3)
1274if (enumeratorType is TypeParameterSymbol { AllowsRefLikeType: true }) 1847var typeParameter = (TypeParameterSymbol)type;
Binder\LocalBinderFactory.cs (2)
313TypeParameterSymbol typeParameter => getMethodParametersFromTypeParameter(typeParameter), 338static ImmutableArray<ParameterSymbol> getMethodParametersFromTypeParameter(TypeParameterSymbol typeParameter)
Binder\Semantics\AccessCheck.cs (1)
647case TypeParameterSymbol typeParameter:
Binder\Semantics\Conversions\Conversion.cs (1)
511internal TypeParameterSymbol? ConstrainedToTypeOpt
Binder\Semantics\Conversions\ConversionsBase.cs (25)
1897private static bool HasIdentityConversionToAny(NamedTypeSymbol type, ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)> targetTypes) 2670return HasImplicitReferenceTypeParameterConversion((TypeParameterSymbol)source, destination, ref useSiteInfo); 2849public bool HasImplicitTypeParameterConversion(TypeParameterSymbol source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2861if (destination is TypeParameterSymbol { AllowsRefLikeType: false } && 2863source.DependsOn((TypeParameterSymbol)destination)) 2871private bool HasImplicitReferenceTypeParameterConversion(TypeParameterSymbol source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2904if (destination is TypeParameterSymbol { AllowsRefLikeType: false } && 2905source.DependsOn((TypeParameterSymbol)destination)) 2914private bool HasImplicitEffectiveBaseConversion(TypeParameterSymbol source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2938private bool HasImplicitEffectiveInterfaceSetConversion(TypeParameterSymbol source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2943private bool HasVarianceCompatibleInterfaceInEffectiveInterfaceSet(TypeParameterSymbol source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 3021if (typeToCheck is TypeParameterSymbol typeParameter) 3186TypeParameterSymbol typeParameterSymbol = (TypeParameterSymbol)typeParameters[paramIndex].Type; 3248private bool HasImplicitBoxingTypeParameterConversion(TypeParameterSymbol source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 3281if (destination is TypeParameterSymbol { AllowsRefLikeType: false } d && 3309HasImplicitBoxingTypeParameterConversion((TypeParameterSymbol)source, destination, ref useSiteInfo)) 3533TypeParameterSymbol s = source as TypeParameterSymbol; 3534TypeParameterSymbol t = destination as TypeParameterSymbol; 3585TypeParameterSymbol s = source as TypeParameterSymbol; 3586TypeParameterSymbol t = destination as TypeParameterSymbol;
Binder\Semantics\Conversions\UserDefinedConversionAnalysis.cs (4)
23public readonly TypeParameterSymbol ConstrainedToTypeOpt; 31TypeParameterSymbol constrainedToTypeOpt, 49TypeParameterSymbol constrainedToTypeOpt, 68TypeParameterSymbol constrainedToTypeOpt,
Binder\Semantics\Conversions\UserDefinedConversions.cs (3)
17public static void AddTypesParticipatingInUserDefinedConversion(ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol? ConstrainedToTypeOpt)> result, TypeSymbol type, bool includeBaseTypes, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 92if (type is TypeParameterSymbol typeParameter) 114static void addFromClassOrStruct(ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol? ConstrainedToTypeOpt)> result, bool excludeExisting, TypeSymbol type, bool includeBaseTypes, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Binder\Semantics\Conversions\UserDefinedExplicitConversions.cs (7)
36var d = ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)>.GetInstance(); 74private static void ComputeUserDefinedExplicitConversionTypeSet(TypeSymbol source, TypeSymbol target, ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)> d, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 90ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)> d, 102foreach ((NamedTypeSymbol declaringType, TypeParameterSymbol constrainedToTypeOpt) in d) 117foreach ((NamedTypeSymbol declaringType, TypeParameterSymbol constrainedToTypeOpt) in d) 127TypeParameterSymbol constrainedToTypeOpt, 146TypeParameterSymbol constrainedToTypeOpt,
Binder\Semantics\Conversions\UserDefinedImplicitConversions.cs (7)
80var d = ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)>.GetInstance(); 118private static void ComputeUserDefinedImplicitConversionTypeSet(TypeSymbol s, TypeSymbol t, ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)> d, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 146ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)> d, 255foreach ((NamedTypeSymbol declaringType, TypeParameterSymbol constrainedToTypeOpt) in d) 270foreach ((NamedTypeSymbol declaringType, TypeParameterSymbol constrainedToTypeOpt) in d) 280TypeParameterSymbol constrainedToTypeOpt, 961var d = ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)>.GetInstance();
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (7)
147if (!isShift && (leftOperatorSourceOpt is null || (leftOperatorSourceOpt is not TypeParameterSymbol && rightOperatorSourceOpt is TypeParameterSymbol))) 259interfaces = ((TypeParameterSymbol)operatorSourceOpt).AllEffectiveInterfacesWithDefinitionUseSiteDiagnostics(ref useSiteInfo); 734if ((left.Type is TypeParameterSymbol { AllowsRefLikeType: true } && right.IsLiteralNull()) || 735(right.Type is TypeParameterSymbol { AllowsRefLikeType: true } && left.IsLiteralNull())) 792return (operand.Type is TypeParameterSymbol { AllowsRefLikeType: true }) ? Conversion.Boxing : Conversions.ClassifyConversionFromExpression(operand, objectType, isChecked: isChecked, ref useSiteInfo); 910current = ((TypeParameterSymbol)type0).EffectiveBaseClass(ref useSiteInfo);
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (3)
635TypeSymbol constrainedToTypeOpt = type0 as TypeParameterSymbol; 654current = ((TypeParameterSymbol)type0).EffectiveBaseClass(ref useSiteInfo); 681interfaces = ((TypeParameterSymbol)type0).AllEffectiveInterfacesWithDefinitionUseSiteDiagnostics(ref useSiteInfo);
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (25)
134private readonly ImmutableArray<TypeParameterSymbol> _methodTypeParameters; 143private readonly Dictionary<TypeParameterSymbol, int> _ordinals; 173ImmutableArray<TypeParameterSymbol> methodTypeParameters, 281Dictionary<TypeParameterSymbol, int> ordinals = null) 325ImmutableArray<TypeParameterSymbol> methodTypeParameters, 331Dictionary<TypeParameterSymbol, int>? ordinals) 506TypeParameterSymbol typeParameter = (TypeParameterSymbol)type.Type; 513private int GetOrdinal(TypeParameterSymbol typeParameter) 539var methodTypeParameter = (TypeParameterSymbol)methodTypeParameterWithAnnotations.Type; 655var ordinal = GetOrdinal((TypeParameterSymbol)target.Type); 1008private static bool DoesInputTypeContain(BoundExpression argument, TypeSymbol formalParameterType, TypeParameterSymbol typeParameter) 1064TypeParameterSymbol typeParameter) 2286sourceBase = ((TypeParameterSymbol)source).EffectiveBaseClass(ref useSiteInfo); 2329var typeParameter = (TypeParameterSymbol)source; 2388var typeParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 2401var typeParameter = typeParameters[arg]; 2738var typeParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 2751var typeParameter = typeParameters[arg]; 2829var typeParameter = _methodTypeParameters[iParam]; 2861TypeParameterSymbol typeParameter, 3017static bool hasExpressionTypeConstraint(TypeParameterSymbol typeParameter) 3317TypeParameterSymbol pParam = _methodTypeParameters[iParam];
Binder\Semantics\OverloadResolution\OverloadResolution.cs (3)
4285ImmutableArray<TypeParameterSymbol> typeParameters = leastOverriddenMember.GetTypeParametersIncludingExtension(); 4398ImmutableArray<TypeParameterSymbol> originalTypeParameters, 4413Dictionary<TypeParameterSymbol, int> ordinals = member.MakeAdjustedTypeParameterOrdinalsIfNeeded(originalTypeParameters);
Binder\WithClassTypeParametersBinder.cs (5)
21private MultiDictionary<string, TypeParameterSymbol> _lazyTypeParameterMap; 35protected override MultiDictionary<string, TypeParameterSymbol> TypeParameterMap 41var result = new MultiDictionary<string, TypeParameterSymbol>(); 42foreach (TypeParameterSymbol tps in _namedType.TypeParameters) 56foreach (var parameter in _namedType.TypeParameters)
Binder\WithCrefTypeParametersBinder.cs (10)
22private MultiDictionary<string, TypeParameterSymbol> _lazyTypeParameterMap; 30protected override MultiDictionary<string, TypeParameterSymbol> TypeParameterMap 36MultiDictionary<string, TypeParameterSymbol> map = CreateTypeParameterMap(); 44private MultiDictionary<string, TypeParameterSymbol> CreateTypeParameterMap() 46var map = new MultiDictionary<string, TypeParameterSymbol>(); 78private void AddTypeParameters(TypeSyntax typeSyntax, MultiDictionary<string, TypeParameterSymbol> map) 103private void AddTypeParameters(MemberCrefSyntax memberSyntax, MultiDictionary<string, TypeParameterSymbol> map) 121private static void AddTypeParameters(SeparatedSyntaxList<TypeSyntax> typeArguments, MultiDictionary<string, TypeParameterSymbol> map) 140TypeParameterSymbol typeParameterSymbol = new CrefTypeParameterSymbol(name, i, typeParameterSyntax); 153foreach (TypeParameterSymbol typeParameter in kvp.Value)
Binder\WithMethodTypeParametersBinder.cs (5)
20private MultiDictionary<string, TypeParameterSymbol> _lazyTypeParameterMap; 38protected override MultiDictionary<string, TypeParameterSymbol> TypeParameterMap 44var result = new MultiDictionary<string, TypeParameterSymbol>(); 45foreach (var typeParameter in _methodSymbol.TypeParameters) 69foreach (var parameter in _methodSymbol.TypeParameters)
Binder\WithTypeParametersBinder.cs (2)
22protected abstract MultiDictionary<string, TypeParameterSymbol> TypeParameterMap { get; } 47foreach (var typeParameter in TypeParameterMap[name])
CodeGen\EmitExpression.cs (1)
441((TypeParameterSymbol)receiverType).EffectiveInterfacesNoUseSiteDiagnostics.IsEmpty) || // This could be a nullable value type, which must be copied in order to not mutate the original value
CodeGen\EmitOperators.cs (1)
375if (comparand is BoundConversion { Type.SpecialType: SpecialType.System_Object, ConversionKind: ConversionKind.Boxing, Operand.Type: TypeParameterSymbol { AllowsRefLikeType: true } } &&
Compilation\BuiltInOperators.cs (2)
885leftType = ((TypeParameterSymbol)leftType).EffectiveBaseClass(ref useSiteInfo); 896rightType = ((TypeParameterSymbol)rightType).EffectiveBaseClass(ref useSiteInfo);
Compilation\SyntaxTreeSemanticModel.cs (3)
2230private TypeParameterSymbol GetTypeParameterSymbol(ImmutableArray<TypeParameterSymbol> parameters, TypeParameterSyntax parameter) 2232foreach (var symbol in parameters)
Compiler\ClsComplianceChecker.cs (2)
553private void CheckTypeParameterCompliance(ImmutableArray<TypeParameterSymbol> typeParameters, NamedTypeSymbol context) 557foreach (TypeParameterSymbol typeParameter in typeParameters)
Compiler\DocumentationCommentCompiler.cs (8)
363HashSet<TypeParameterSymbol> documentedTypeParameters; 431foreach (TypeParameterSymbol typeParameter in GetTypeParameters(symbol)) 532out HashSet<TypeParameterSymbol> documentedTypeParameters, 673private static ImmutableArray<TypeParameterSymbol> GetTypeParameters(Symbol symbol) 683return ImmutableArray<TypeParameterSymbol>.Empty; 1165ref HashSet<TypeParameterSymbol> documentedTypeParameters, 1184documentedTypeParameters = new HashSet<TypeParameterSymbol>(); 1242if (!documentedTypeParameters.Add((TypeParameterSymbol)referencedSymbol))
Compiler\DocumentationCommentCompiler.DocumentationCommentWalker.cs (3)
38private HashSet<TypeParameterSymbol> _documentedTypeParameters; 47HashSet<TypeParameterSymbol> documentedTypeParameters) 124ref HashSet<TypeParameterSymbol> documentedTypeParameters)
Compiler\DocumentationCommentCompiler.IncludeElementExpander.cs (3)
39private HashSet<TypeParameterSymbol> _documentedTypeParameters; 47HashSet<TypeParameterSymbol> documentedTypeParameters, 71ref HashSet<TypeParameterSymbol> documentedTypeParameters,
Compiler\MethodBodySynthesizer.Lowered.cs (1)
249this.ImplementingMethod.Construct(this.TypeParameters.Cast<TypeParameterSymbol, TypeSymbol>()) :
DocumentationComments\DocumentationCommentIDVisitor.cs (1)
94public override object VisitTypeParameter(TypeParameterSymbol symbol, StringBuilder builder)
DocumentationComments\DocumentationCommentIDVisitor.PartVisitor.cs (1)
148public override object VisitTypeParameter(TypeParameterSymbol symbol, StringBuilder builder)
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (6)
438public override Symbol VisitTypeParameter(TypeParameterSymbol symbol) 731private static bool AreTypeParametersEqual(TypeParameterSymbol type, TypeParameterSymbol other) 777return AreTypeParametersEqual((TypeParameterSymbol)type, (TypeParameterSymbol)other); 945public override Symbol VisitTypeParameter(TypeParameterSymbol symbol)
Emitter\Model\MethodSymbolAdapter.cs (1)
337foreach (var @param in AdaptedMethodSymbol.TypeParameters)
Emitter\Model\NamedTypeSymbolAdapter.cs (1)
460foreach (var t in AdaptedNamedTypeSymbol.TypeParameters)
Emitter\Model\PEModuleBuilder.cs (2)
1127internal static Cci.IGenericParameterReference Translate(TypeParameterSymbol param) 1158return Translate((TypeParameterSymbol)typeSymbol);
Emitter\Model\TypeParameterSymbolAdapter.cs (2)
390internal TypeParameterSymbolAdapter(TypeParameterSymbol underlyingTypeParameterSymbol) 396internal TypeParameterSymbol AdaptedTypeParameterSymbol { get; }
FlowAnalysis\NullableWalker.cs (11)
2380if (type.Type.IsTypeParameterDisallowingAnnotationInCSharp8() && !(type.Type is TypeParameterSymbol { IsNotNullable: true })) 5786TypeParameterSymbol tp => tp.EffectiveBaseClassNoUseSiteDiagnostics, 5792TypeParameterSymbol tp => tp.AllEffectiveInterfacesNoUseSiteDiagnostics, 8310Dictionary<TypeParameterSymbol, int>? ordinals = definition.MakeAdjustedTypeParameterOrdinalsIfNeeded(typeParameters); 9655type is TypeParameterSymbol typeParameter1 && 9656dependsOnTypeParameter(typeParameter1, (TypeParameterSymbol)targetType.Type, NullableAnnotation.NotAnnotated, out var annotation)) 9686type is TypeParameterSymbol typeParameter1 && 9687targetType.Type is TypeParameterSymbol typeParameter2) 9726static bool dependsOnTypeParameter(TypeParameterSymbol typeParameter1, TypeParameterSymbol typeParameter2, NullableAnnotation typeParameter1Annotation, out NullableAnnotation annotation) 9737if (constraintType.Type is TypeParameterSymbol constraintTypeParameter &&
Lowering\ClosureConversion\ClosureConversion.cs (1)
118private ImmutableArray<TypeParameterSymbol> _currentTypeParameters;
Lowering\ClosureConversion\SynthesizedClosureMethod.cs (1)
52ImmutableArray<TypeParameterSymbol> typeParameters;
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
239_ when variableType is TypeParameterSymbol { AllowsRefLikeType: true }
Lowering\IteratorRewriter\IteratorFinallyMethodSymbol.cs (2)
159public override ImmutableArray<TypeParameterSymbol> TypeParameters 161get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Lowering\LocalRewriter\DelegateCacheRewriter.cs (8)
169var usedTypeParameters = PooledHashSet<TypeParameterSymbol>.GetInstance(); 207static bool usedTypeParametersContains(HashSet<TypeParameterSymbol> used, ImmutableArray<TypeParameterSymbol> typeParameters) 209foreach (var typeParameter in typeParameters) 221private static void FindTypeParameters(TypeSymbol type, HashSet<TypeParameterSymbol> result) 224private static void FindTypeParameters(MethodSymbol method, HashSet<TypeParameterSymbol> result) 234private static readonly Func<TypeSymbol, HashSet<TypeParameterSymbol>, bool, bool> s_typeParameterSymbolCollector = (typeSymbol, result, _) => 236if (typeSymbol is TypeParameterSymbol typeParameter)
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (3)
1225var constrainedToTypeOpt = conversion.ConstrainedToTypeOpt; 1370var constrainedToTypeOpt = conversion.ConstrainedToTypeOpt; 1447var constrainedToTypeOpt = conversion.ConstrainedToTypeOpt;
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (2)
314var rewrittenNewT = MakeNewT(node.Syntax, (TypeParameterSymbol)node.Type); 323private BoundExpression MakeNewT(SyntaxNode syntax, TypeParameterSymbol typeParameter)
Lowering\LocalRewriter\LoweredDynamicOperationFactory.cs (1)
700return synthesizedContainer.Construct(synthesizedContainer.ConstructedFromTypeParameters.Cast<TypeParameterSymbol, TypeSymbol>());
Lowering\MethodToClassRewriter.cs (2)
438ImmutableArray<TypeParameterSymbol> typeParameters; 441typeParameters = ImmutableArray<TypeParameterSymbol>.Empty;
Lowering\SynthesizedMethodBaseSymbol.cs (3)
30private ImmutableArray<TypeParameterSymbol> _typeParameters; 61protected void AssignTypeMapAndTypeParameters(TypeMap typeMap, ImmutableArray<TypeParameterSymbol> typeParameters) 76public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters
Lowering\SyntheticBoundNodeFactory.cs (1)
1498arg.Type is TypeParameterSymbol { AllowsRefLikeType: true } && type.IsObjectType())
Operations\CSharpOperationFactory.cs (9)
454TypeParameterSymbol? constrainedToType = GetConstrainedToType(targetMethod, boundCall.ReceiverOpt); 461private static TypeParameterSymbol? GetConstrainedToType(Symbol targetMember, BoundExpression? receiverOpt) 464receiverOpt is BoundTypeExpression { Type: TypeParameterSymbol typeParameter }) 620TypeParameterSymbol? constrainedToType = GetConstrainedToType(boundPropertyAccess.PropertySymbol, boundPropertyAccess.ReceiverOpt); 639TypeParameterSymbol? constrainedToType = GetConstrainedToType(property, boundIndexerAccess.ReceiverOpt); 650TypeParameterSymbol? constrainedToType = GetConstrainedToType(boundEventAccess.EventSymbol, boundEventAccess.ReceiverOpt); 1162TypeParameterSymbol? constrainedToType = GetConstrainedToType(methodSymbol, boundMethodGroup.ReceiverOpt); 1374private static TypeParameterSymbol? GetConstrainedToTypeForOperator(MethodSymbol? operatorMethod, TypeSymbol? constrainedToTypeOpt) 1377constrainedToTypeOpt is TypeParameterSymbol typeParameter)
Operations\CSharpOperationFactory_Methods.cs (1)
136TypeParameterSymbol? constrainedToType = GetConstrainedToType(boundEventAssignmentOperator.Event, boundEventAssignmentOperator.ReceiverOpt);
Symbols\AbstractTypeMap.cs (7)
105return SubstituteTypeParameter((TypeParameterSymbol)previous); 179protected virtual TypeWithAnnotations SubstituteTypeParameter(TypeParameterSymbol typeParameter) 342TypeParameterSymbol owner, 345HashSet<TypeParameterSymbol> ignoreTypesDependentOnTypeParametersOpt) 400internal ImmutableArray<TypeParameterSymbol> SubstituteTypeParameters(ImmutableArray<TypeParameterSymbol> original) 402return original.SelectAsArray((tp, m) => (TypeParameterSymbol)m.SubstituteTypeParameter(tp).AsTypeSymbolOnly(), this);
Symbols\AbstractTypeParameterMap.cs (3)
20protected readonly SmallDictionary<TypeParameterSymbol, TypeWithAnnotations> Mapping; 22protected AbstractTypeParameterMap(SmallDictionary<TypeParameterSymbol, TypeWithAnnotations> mapping) 27protected sealed override TypeWithAnnotations SubstituteTypeParameter(TypeParameterSymbol typeParameter)
Symbols\AnonymousTypes\AnonymousTypeManager.Templates.cs (9)
339static SynthesizedDelegateKey getTemplateKey(AnonymousTypeDescriptor typeDescr, ImmutableArray<TypeParameterSymbol> typeParameters) 351private static ImmutableArray<TypeParameterSymbol> GetReferencedTypeParameters(AnonymousTypeDescriptor typeDescr) 353var referenced = PooledHashSet<TypeParameterSymbol>.GetInstance(); 361if (type is TypeParameterSymbol typeParameter) 371ImmutableArray<TypeParameterSymbol> typeParameters; 374typeParameters = ImmutableArray<TypeParameterSymbol>.Empty; 378var builder = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 386static int compareTypeParameters(TypeParameterSymbol x, TypeParameterSymbol y)
Symbols\AnonymousTypes\PublicSymbols\AnonymousManager.TypeOrDelegatePublicSymbol.cs (2)
98public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 100get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.DelegateTemplateSymbol.cs (6)
74private static ImmutableArray<TypeParameterSymbol> CreateTypeParameters(AnonymousDelegateTemplateSymbol containingType, int parameterCount, bool returnsVoid, bool hasParamsArray) 78var typeParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(parameterCount + (returnsVoid ? 0 : 1)); 159internal AnonymousDelegateTemplateSymbol(AnonymousTypeManager manager, AnonymousTypeDescriptor typeDescr, ImmutableArray<TypeParameterSymbol> typeParametersToSubstitute) 172TypeParameters = ImmutableArray<TypeParameterSymbol>.Empty; 177var typeParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(typeParameterCount); 245public override ImmutableArray<TypeParameterSymbol> TypeParameters { get; }
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.SynthesizedMethodBase.cs (2)
113public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 115get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TemplateSymbol.cs (3)
26private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 50var typeParametersBuilder = ArrayBuilder<TypeParameterSymbol>.GetInstance(fieldsCount); 150public override ImmutableArray<TypeParameterSymbol> TypeParameters
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TypeParameterSymbol.cs (4)
122internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 132internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 137internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 142internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress)
Symbols\Compilation_WellKnownMembers.cs (4)
1193TypeParameterSymbol typeParam = (TypeParameterSymbol)type; 1207TypeParameterSymbol typeParam = (TypeParameterSymbol)type;
Symbols\ConstraintsHelper.cs (40)
28public readonly TypeParameterSymbol TypeParameter; 31public TypeParameterDiagnosticInfo(TypeParameterSymbol typeParameter, UseSiteInfo<AssemblySymbol> useSiteInfo) 74ConsList<TypeParameterSymbol> inProgress, 129this TypeParameterSymbol typeParameter, 131ConsList<TypeParameterSymbol> inProgress, 170var constraintTypeParameter = (TypeParameterSymbol)constraintType.Type; 171ConsList<TypeParameterSymbol> constraintsInProgress; 188constraintsInProgress = ConsList<TypeParameterSymbol>.Empty; 244var underlyingTypeParameter = (TypeParameterSymbol)underlyingType; 347ImmutableArray<TypeParameterSymbol> typeParameters, 377ImmutableArray<TypeParameterSymbol> typeParameters, 415internal static ImmutableArray<TypeParameterConstraintClause> AdjustConstraintKindsBasedOnConstraintTypes(ImmutableArray<TypeParameterSymbol> typeParameters, ImmutableArray<TypeParameterConstraintClause> constraintClauses) 421SmallDictionary<TypeParameterSymbol, bool> isValueTypeMap = TypeParameterConstraintClause.BuildIsValueTypeMap(typeParameters, constraintClauses); 422SmallDictionary<TypeParameterSymbol, bool> isReferenceTypeFromConstraintTypesMap = TypeParameterConstraintClause.BuildIsReferenceTypeFromConstraintTypesMap(typeParameters, constraintClauses); 428var typeParameter = typeParameters[i]; 465TypeParameterSymbol typeParameter, 901ImmutableArray<TypeParameterSymbol> typeParameters, 907HashSet<TypeParameterSymbol> ignoreTypeConstraintsDependentOnTypeParametersOpt = null) 952TypeParameterSymbol typeParameter, 1059TypeParameterSymbol typeParameter, 1064HashSet<TypeParameterSymbol> ignoreTypeConstraintsDependentOnTypeParametersOpt) 1120static bool errorIfNotSatisfiesConstructorConstraint(Symbol containingSymbol, TypeParameterSymbol typeParameter, TypeWithAnnotations typeArgument, ArrayBuilder<TypeParameterDiagnosticInfo> diagnosticsBuilder) 1145TypeParameterSymbol typeParameter, 1169TypeParameterSymbol typeParameter, 1246var typeParameter = type as TypeParameterSymbol; 1284var typeParameter = type as TypeParameterSymbol; 1302TypeParameterSymbol typeParameter, 1387var typeParameter = (TypeParameterSymbol)typeArgument.Type; 1441private static bool IsReferenceType(TypeParameterSymbol typeParameter, ImmutableArray<TypeWithAnnotations> constraintTypes) 1443return typeParameter.HasReferenceTypeConstraint || TypeParameterSymbol.CalculateIsReferenceTypeFromConstraintTypes(constraintTypes); 1446private static bool IsValueType(TypeParameterSymbol typeParameter, ImmutableArray<TypeWithAnnotations> constraintTypes) 1448return typeParameter.HasValueTypeConstraint || TypeParameterSymbol.CalculateIsValueTypeFromConstraintTypes(constraintTypes); 1451private static TypeParameterDiagnosticInfo GenerateConflictingConstraintsError(TypeParameterSymbol typeParameter, TypeSymbol deducedBase, bool classConflict) 1502var typeParameter = (TypeParameterSymbol)typeArgument;
Symbols\ConstructedNamedTypeSymbol.cs (1)
96internal static bool TypeParametersMatchTypeArguments(ImmutableArray<TypeParameterSymbol> typeParameters, ImmutableArray<TypeWithAnnotations> typeArguments)
Symbols\ErrorMethodSymbol.cs (2)
150public override ImmutableArray<TypeParameterSymbol> TypeParameters 152get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\ErrorTypeSymbol.cs (9)
25private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 317public override ImmutableArray<TypeParameterSymbol> TypeParameters 325default(ImmutableArray<TypeParameterSymbol>)); 331private ImmutableArray<TypeParameterSymbol> GetTypeParameters() 336return ImmutableArray<TypeParameterSymbol>.Empty; 340var @params = new TypeParameterSymbol[arity]; 683public override ImmutableArray<TypeParameterSymbol> TypeParameters 712private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 722public override ImmutableArray<TypeParameterSymbol> TypeParameters
Symbols\ErrorTypeSymbol.ErrorTypeParameterSymbol.cs (4)
162internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 167internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 172internal override NamedTypeSymbol? GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 177internal override TypeSymbol? GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress)
Symbols\Extensions\RewrittenMethodSymbol.cs (3)
15private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 18protected RewrittenMethodSymbol(MethodSymbol originalMethod, TypeMap typeMap, ImmutableArray<TypeParameterSymbol> typeParametersToAlphaRename) 32public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (2)
820public override ImmutableArray<TypeParameterSymbol> TypeParameters => ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\MemberSignatureComparer.cs (9)
641public static bool HaveSameConstraints(ImmutableArray<TypeParameterSymbol> typeParameters1, TypeMap? typeMap1, ImmutableArray<TypeParameterSymbol> typeParameters2, TypeMap? typeMap2) 657public static bool HaveSameConstraints(TypeParameterSymbol typeParameter1, TypeMap? typeMap1, TypeParameterSymbol typeParameter2, TypeMap? typeMap2) 674private static bool HaveSameTypeConstraints(TypeParameterSymbol typeParameter1, TypeMap? typeMap1, TypeParameterSymbol typeParameter2, TypeMap? typeMap2, IEqualityComparer<TypeSymbol> comparer) 701public static bool HaveSameNullabilityInConstraints(TypeParameterSymbol typeParameter1, TypeMap typeMap1, TypeParameterSymbol typeParameter2, TypeMap typeMap2) 721private static bool AreConstraintTypesSubset(HashSet<TypeSymbol> constraintTypes1, HashSet<TypeSymbol> constraintTypes2, TypeParameterSymbol typeParameter2)
Symbols\MemberSymbolExtensions.cs (7)
130internal static ImmutableArray<TypeParameterSymbol> GetTypeParametersIncludingExtension<TMember>(this TMember member) where TMember : Symbol 150internal static Dictionary<TypeParameterSymbol, int>? MakeAdjustedTypeParameterOrdinalsIfNeeded<TMember>(this TMember member, ImmutableArray<TypeParameterSymbol> originalTypeParameters) 155Dictionary<TypeParameterSymbol, int>? ordinals = null; 162ordinals = new Dictionary<TypeParameterSymbol, int>(ReferenceEqualityComparer.Instance); 556internal static ImmutableArray<TypeParameterSymbol> GetMemberTypeParameters(this Symbol symbol) 568return ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Metadata\PE\MemberRefMetadataDecoder.cs (2)
70TypeParameterSymbol typeParameter; 86private static void GetGenericTypeParameterSymbol(int position, NamedTypeSymbol namedType, out int cumulativeArity, out TypeParameterSymbol typeArgument)
Symbols\Metadata\PE\PEMethodSymbol.cs (9)
387private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 843ImmutableArray<TypeParameterSymbol>.Empty); 906public override ImmutableArray<TypeParameterSymbol> TypeParameters 921private ImmutableArray<TypeParameterSymbol> EnsureTypeParametersAreLoaded(ref DiagnosticInfo diagnosticInfo) 932private ImmutableArray<TypeParameterSymbol> LoadTypeParameters(ref DiagnosticInfo diagnosticInfo) 941return ImmutableArray<TypeParameterSymbol>.Empty; 945var ownedParams = ImmutableArray.CreateBuilder<TypeParameterSymbol>(gpHandles.Count); 957return ImmutableArray<TypeParameterSymbol>.Empty; 1550foreach (var typeParam in TypeParameters)
Symbols\Metadata\PE\PENamedTypeSymbol.cs (10)
488ImmutableArray<TypeParameterSymbol> combinedTypeParameters = @this.TypeParameters.Concat(method.TypeParameters); 1840public override ImmutableArray<TypeParameterSymbol> TypeParameters 1844return ImmutableArray<TypeParameterSymbol>.Empty; 2442foreach (var typeParameter in TypeParameters) 2879private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 2899_lazyTypeParameters = ImmutableArray<TypeParameterSymbol>.Empty; 2942public override ImmutableArray<TypeParameterSymbol> TypeParameters 2967var ownedParams = ArrayBuilder<TypeParameterSymbol>.GetInstance(_arity); 3029var containingTypeParameter = containingTypeParameters[i]; 3030var nestedTypeParameter = nestedTypeParameters[i];
Symbols\Metadata\PE\PETypeParameterSymbol.cs (5)
616internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 622internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 628internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 634internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress) 658private TypeParameterBounds GetBounds(ConsList<TypeParameterSymbol> inProgress)
Symbols\Metadata\PE\SymbolFactory.cs (1)
141ImmutableArray<TypeParameterSymbol> typeParameters = genericType.GetAllTypeParameters();
Symbols\MethodSymbol.cs (2)
271public abstract ImmutableArray<TypeParameterSymbol> TypeParameters { get; } 835public virtual TypeSymbol GetTypeInferredDuringReduction(TypeParameterSymbol reducedFromTypeParameter)
Symbols\MutableTypeMap.cs (2)
20: base(new SmallDictionary<TypeParameterSymbol, TypeWithAnnotations>()) 24internal void Add(TypeParameterSymbol key, TypeWithAnnotations value)
Symbols\NamedTypeSymbol.cs (3)
62public abstract ImmutableArray<TypeParameterSymbol> TypeParameters { get; } 1015var allTypeParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 1046ArrayBuilder<TypeParameterSymbol> allTypeParameters,
Symbols\NativeIntegerTypeSymbol.cs (4)
39public override ImmutableArray<TypeParameterSymbol> TypeParameters => ImmutableArray<TypeParameterSymbol>.Empty; 356public override ImmutableArray<TypeParameterSymbol> TypeParameters => ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\PlaceholderTypeArgumentSymbol.cs (1)
20public static ImmutableArray<TypeWithAnnotations> CreateTypeArguments(ImmutableArray<TypeParameterSymbol> typeParameters)
Symbols\PublicModel\TypeParameterSymbol.cs (3)
14private readonly Symbols.TypeParameterSymbol _underlying; 16public TypeParameterSymbol(Symbols.TypeParameterSymbol underlying, CodeAnalysis.NullableAnnotation nullableAnnotation) 33internal Symbols.TypeParameterSymbol UnderlyingTypeParameterSymbol => _underlying;
Symbols\ReducedExtensionMethodSymbol.cs (4)
26private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 173var notInferredTypeParameters = PooledHashSet<TypeParameterSymbol>.GetInstance(); 257public override TypeSymbol GetTypeInferredDuringReduction(TypeParameterSymbol reducedFromTypeParameter) 286public override ImmutableArray<TypeParameterSymbol> TypeParameters
Symbols\Retargeting\RetargetingMethodSymbol.cs (4)
36private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 93public override ImmutableArray<TypeParameterSymbol> TypeParameters 101_lazyTypeParameters = ImmutableArray<TypeParameterSymbol>.Empty; 106this.RetargetingTranslator.Retarget(_underlyingMethod.TypeParameters), default(ImmutableArray<TypeParameterSymbol>));
Symbols\Retargeting\RetargetingNamedTypeSymbol.cs (4)
30private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 66public override ImmutableArray<TypeParameterSymbol> TypeParameters 74_lazyTypeParameters = ImmutableArray<TypeParameterSymbol>.Empty; 79this.RetargetingTranslator.Retarget(_underlyingType.TypeParameters), default(ImmutableArray<TypeParameterSymbol>));
Symbols\Retargeting\RetargetingSymbolTranslator.cs (11)
101return new RetargetingTypeParameterSymbol(this, (TypeParameterSymbol)symbol); 565ArrayBuilder<TypeParameterSymbol> newParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(newArguments.Count); 690public virtual TypeParameterSymbol Retarget(TypeParameterSymbol typeParameter) 692return (TypeParameterSymbol)this.SymbolMap.GetOrAdd(typeParameter, _retargetingModule._createRetargetingTypeParameter); 867public ImmutableArray<TypeParameterSymbol> Retarget(ImmutableArray<TypeParameterSymbol> list) 1044public override TypeParameterSymbol Retarget(TypeParameterSymbol typeParameter) 1369public override Symbol VisitTypeParameter(TypeParameterSymbol symbol, RetargetOptions options)
Symbols\Retargeting\RetargetingTypeParameterSymbol.cs (5)
38public RetargetingTypeParameterSymbol(RetargetingModuleSymbol retargetingModule, TypeParameterSymbol underlyingTypeParameter) 84internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 97internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 102internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 107internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress)
Symbols\SignatureOnlyMethodSymbol.cs (3)
25private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 39ImmutableArray<TypeParameterSymbol> typeParameters, 71public override ImmutableArray<TypeParameterSymbol> TypeParameters { get { return _typeParameters; } }
Symbols\Source\CrefTypeParameterSymbol.cs (4)
197internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 202internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 207internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 213internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress)
Symbols\Source\ImplicitNamedTypeSymbol.cs (2)
86public override ImmutableArray<TypeParameterSymbol> TypeParameters 88get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Source\IndexedTypeParameterSymbol.cs (11)
29private static TypeParameterSymbol[] s_parameterPool = Array.Empty<TypeParameterSymbol>(); 46internal static TypeParameterSymbol GetTypeParameter(int index) 62var newPool = new TypeParameterSymbol[newPoolSize]; 85internal static ImmutableArray<TypeParameterSymbol> TakeSymbols(int count) 92ArrayBuilder<TypeParameterSymbol> builder = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 212internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 217internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 222internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 227internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress)
Symbols\Source\LambdaSymbol.cs (2)
193public override ImmutableArray<TypeParameterSymbol> TypeParameters 195get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Source\LocalFunctionSymbol.cs (3)
317public override ImmutableArray<TypeParameterSymbol> TypeParameters 318=> _typeParameters.Cast<SourceMethodTypeParameterSymbol, TypeParameterSymbol>(); 442var tpEnclosing = ContainingSymbol.FindEnclosingTypeParameter(name);
Symbols\Source\ParameterHelpers.cs (5)
538var usedTypeParameters = PooledHashSet<TypeParameterSymbol>.GetInstance(); 544static void reportUnusedExtensionTypeParameters(Symbol extensionMember, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, NamedTypeSymbol extension, ParameterSymbol extensionParameter, PooledHashSet<TypeParameterSymbol> usedTypeParameters) 567foreach (var typeParameter in extension.TypeParameters) 576static bool collectTypeParameters(TypeSymbol type, PooledHashSet<TypeParameterSymbol> typeParameters, bool ignored) 578if (type is TypeParameterSymbol typeParameter)
Symbols\Source\SourceConstructorSymbolBase.cs (2)
140public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 142get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Source\SourceDelegateMethodSymbol.cs (2)
145public override ImmutableArray<TypeParameterSymbol> TypeParameters 149return ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Source\SourceDestructorSymbol.cs (2)
110public override ImmutableArray<TypeParameterSymbol> TypeParameters 112get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Source\SourceEventAccessorSymbol.cs (2)
186public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 188get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Source\SourceMemberContainerSymbol.cs (11)
600foreach (var typeParameter in this.TypeParameters) 1698else if (member is TypeParameterSymbol || member is SynthesizedMethodBaseSymbol) 2262foreach (TypeParameterSymbol typeParameter in indexer.ContainingType.TypeParameters) 2560foreach (var tp in TypeParameters) 4905ImmutableArray<TypeParameterSymbol>.Empty, 4952ImmutableArray<TypeParameterSymbol>.Empty, 5005ImmutableArray<TypeParameterSymbol>.Empty, 5065ImmutableArray<TypeParameterSymbol>.Empty, 5239ImmutableArray<TypeParameterSymbol>.Empty, 5332ImmutableArray<TypeParameterSymbol>.Empty, 5912foreach (var typeParameter in TypeParameters)
Symbols\Source\SourceMemberMethodSymbol.cs (2)
934foreach (var typeParameter in this.TypeParameters) 1018foreach (var typeParameter in method.TypeParameters)
Symbols\Source\SourceNamedTypeSymbol.cs (4)
141private ImmutableArray<TypeParameterSymbol> MakeTypeParameters(BindingDiagnosticBag diagnostics) 145return ImmutableArray<TypeParameterSymbol>.Empty; 223var tpEnclosing = ContainingType.FindEnclosingTypeParameter(name); 748public override ImmutableArray<TypeParameterSymbol> TypeParameters
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (6)
83foreach (var typeParameter in this.TypeParameters) 112else if (type is TypeParameterSymbol typeParameter) 207static void appendTypeParameterDeclaration(TypeParameterSymbol typeParameter, StringBuilder builder) 237static void appendTypeParameterReference(TypeParameterSymbol typeParameter, StringBuilder builder) 252static void appendTypeParameterTypeConstraints(TypeParameterSymbol typeParameter, StringBuilder builder) 254ImmutableArray<TypeWithAnnotations> typeConstraints = typeParameter.GetConstraintTypes(ConsList<TypeParameterSymbol>.Empty);
Symbols\Source\SourceOrdinaryMethodSymbol.cs (13)
192if (type.DefaultType is TypeParameterSymbol typeParameterSymbol && typeParameterSymbol.DeclaringMethod == (object)args.method) 616var typeParameter1 = typeParameters1[i]; 617var typeParameter2 = typeParameters2[i]; 655var typeParameter = this.TypeParameters[i]; 964public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 965=> ImmutableArray<TypeParameterSymbol>.Empty; 1045public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 1117private ImmutableArray<TypeParameterSymbol> MakeTypeParameters(MethodDeclarationSyntax syntax, BindingDiagnosticBag diagnostics) 1121return ImmutableArray<TypeParameterSymbol>.Empty; 1139var result = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 1155var tpEnclosing = ContainingType.FindEnclosingTypeParameter(name); 1188var typeParameter = (typeMap != null) ? 1189(TypeParameterSymbol)new SourceOverridingMethodTypeParameterSymbol(
Symbols\Source\SourceOrdinaryMethodSymbolBase.cs (1)
80public abstract override ImmutableArray<TypeParameterSymbol> TypeParameters { get; }
Symbols\Source\SourcePropertyAccessorSymbol.cs (2)
335public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 337get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Source\SourceTypeParameterSymbol.cs (24)
93internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 99internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 105internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 111internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress) 217protected abstract ImmutableArray<TypeParameterSymbol> ContainerTypeParameters 222private TypeParameterBounds GetBounds(ConsList<TypeParameterSymbol> inProgress) 247protected abstract TypeParameterBounds ResolveBounds(ConsList<TypeParameterSymbol> inProgress, BindingDiagnosticBag diagnostics); 584protected override ImmutableArray<TypeParameterSymbol> ContainerTypeParameters 589protected override TypeParameterBounds ResolveBounds(ConsList<TypeParameterSymbol> inProgress, BindingDiagnosticBag diagnostics) 651protected sealed override ImmutableArray<TypeParameterSymbol> ContainerTypeParameters 656protected abstract override TypeParameterBounds ResolveBounds(ConsList<TypeParameterSymbol> inProgress, BindingDiagnosticBag diagnostics); 765protected override TypeParameterBounds ResolveBounds(ConsList<TypeParameterSymbol> inProgress, BindingDiagnosticBag diagnostics) 811public TypeParameterSymbol GetOverriddenTypeParameter(int ordinal) 920var typeParameter = this.OverriddenTypeParameter; 929var typeParameter = this.OverriddenTypeParameter; 938var typeParameter = this.OverriddenTypeParameter; 947var typeParameter = this.OverriddenTypeParameter; 956var typeParameter = this.OverriddenTypeParameter; 965var typeParameter = this.OverriddenTypeParameter; 974TypeParameterSymbol typeParameter = this.OverriddenTypeParameter; 999var typeParameter = this.OverriddenTypeParameter; 1004protected override TypeParameterBounds ResolveBounds(ConsList<TypeParameterSymbol> inProgress, BindingDiagnosticBag diagnostics) 1006var typeParameter = this.OverriddenTypeParameter; 1023private TypeParameterSymbol OverriddenTypeParameter
Symbols\Source\SourceUserDefinedOperatorSymbolBase.cs (3)
927return type is TypeParameterSymbol p && 998public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 1000get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Source\SynthesizedSourceOrdinaryMethodSymbol.cs (2)
42public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters => ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Source\TypeParameterBuilder.cs (1)
34internal TypeParameterSymbol MakeSymbol(int ordinal, IList<TypeParameterBuilder> builders, BindingDiagnosticBag diagnostics)
Symbols\Source\TypeParameterConstraintClause.cs (19)
131internal static SmallDictionary<TypeParameterSymbol, bool> BuildIsValueTypeMap( 132ImmutableArray<TypeParameterSymbol> typeParameters, 137var isValueTypeMap = new SmallDictionary<TypeParameterSymbol, bool>(ReferenceEqualityComparer.Instance); 139foreach (TypeParameterSymbol typeParameter in typeParameters) 141isValueType(typeParameter, constraintClauses, isValueTypeMap, ConsList<TypeParameterSymbol>.Empty); 146static bool isValueType(TypeParameterSymbol thisTypeParameter, ImmutableArray<TypeParameterConstraintClause> constraintClauses, SmallDictionary<TypeParameterSymbol, bool> isValueTypeMap, ConsList<TypeParameterSymbol> inProgress) 175if (type is TypeParameterSymbol typeParameter && (object)typeParameter.ContainingSymbol == (object)container) 196internal static SmallDictionary<TypeParameterSymbol, bool> BuildIsReferenceTypeFromConstraintTypesMap( 197ImmutableArray<TypeParameterSymbol> typeParameters, 202var isReferenceTypeFromConstraintTypesMap = new SmallDictionary<TypeParameterSymbol, bool>(ReferenceEqualityComparer.Instance); 204foreach (TypeParameterSymbol typeParameter in typeParameters) 206isReferenceTypeFromConstraintTypes(typeParameter, constraintClauses, isReferenceTypeFromConstraintTypesMap, ConsList<TypeParameterSymbol>.Empty); 211static bool isReferenceTypeFromConstraintTypes(TypeParameterSymbol thisTypeParameter, ImmutableArray<TypeParameterConstraintClause> constraintClauses, 212SmallDictionary<TypeParameterSymbol, bool> isReferenceTypeFromConstraintTypesMap, ConsList<TypeParameterSymbol> inProgress) 235if (type is TypeParameterSymbol typeParameter) 251else if (TypeParameterSymbol.NonTypeParameterConstraintImpliesReferenceType(type))
Symbols\Source\TypeParameterInfo.cs (2)
16public ImmutableArray<TypeParameterSymbol> LazyTypeParameters; 32LazyTypeParameters = ImmutableArray<TypeParameterSymbol>.Empty,
Symbols\SubstitutedMethodSymbol.cs (5)
32private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 92public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 108ImmutableArray<TypeParameterSymbol> typeParameters; 122ImmutableInterlocked.InterlockedCompareExchange(ref _lazyTypeParameters, typeParameters, default(ImmutableArray<TypeParameterSymbol>)); 173public override TypeSymbol GetTypeInferredDuringReduction(TypeParameterSymbol reducedFromTypeParameter)
Symbols\SubstitutedNamedTypeSymbol.cs (4)
41private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 93public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 109ImmutableArray<TypeParameterSymbol> typeParameters; 122ImmutableInterlocked.InterlockedCompareExchange(ref _lazyTypeParameters, typeParameters, default(ImmutableArray<TypeParameterSymbol>));
Symbols\SubstitutedTypeParameterSymbol.cs (8)
28internal SubstitutedTypeParameterSymbol(Symbol newContainer, TypeMap map, TypeParameterSymbol substitutedFrom, int ordinal) 49public override TypeParameterSymbol OriginalDefinition 61public override TypeParameterSymbol ReducedFrom 99internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 162_map.SubstituteConstraintTypesDistinctWithoutModifiers(_underlyingTypeParameter, _underlyingTypeParameter.GetConstraintTypes(ConsList<TypeParameterSymbol>.Empty), constraintTypes, null); 170internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 175internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 180internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress)
Symbols\Symbol.cs (2)
1394internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<TypeParameterSymbol> typeParameters, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 1396foreach (var typeParameter in typeParameters)
Symbols\SymbolExtensions.cs (4)
419internal static TypeParameterSymbol? EnsureCSharpSymbolOrNull(this ITypeParameterSymbol? symbol, string paramName) 421return (TypeParameterSymbol?)EnsureCSharpSymbolOrNull((ISymbol?)symbol, paramName); 646internal static ITypeParameterSymbol? GetPublicSymbol(this TypeParameterSymbol? symbol) 721internal static ImmutableArray<ITypeParameterSymbol> GetPublicSymbols(this ImmutableArray<TypeParameterSymbol> symbols)
Symbols\SymbolVisitor.cs (1)
115public virtual void VisitTypeParameter(TypeParameterSymbol symbol)
Symbols\SymbolVisitor`1.cs (1)
115public virtual TResult VisitTypeParameter(TypeParameterSymbol symbol)
Symbols\SymbolVisitor`2.cs (2)
149/// Called when visiting a <see cref="TypeParameterSymbol" />; Override this with specific 155public virtual TResult VisitTypeParameter(TypeParameterSymbol symbol, TArgument argument)
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListEnumeratorTypeSymbol.cs (2)
123public override ImmutableArray<TypeParameterSymbol> TypeParameters => ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeParameterSymbol.cs (4)
59internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) => ImmutableArray<TypeWithAnnotations>.Empty; 61internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress) => ContainingAssembly.GetSpecialType(SpecialType.System_Object); 63internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) => ContainingAssembly.GetSpecialType(SpecialType.System_Object); 65internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) => ImmutableArray<NamedTypeSymbol>.Empty;
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeSymbol.cs (2)
273TypeParameters = ImmutableArray.Create<TypeParameterSymbol>(typeParameter); 800public override ImmutableArray<TypeParameterSymbol> TypeParameters { get; }
Symbols\Synthesized\SynthesizedContainer.cs (6)
24private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 25private readonly ImmutableArray<TypeParameterSymbol> _constructedFromTypeParameters; 27protected SynthesizedContainer(string name, ImmutableArray<TypeParameterSymbol> typeParametersToAlphaRename) 40_typeParameters = ImmutableArray<TypeParameterSymbol>.Empty; 74internal ImmutableArray<TypeParameterSymbol> ConstructedFromTypeParameters => _constructedFromTypeParameters; 76public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters => _typeParameters;
Symbols\Synthesized\SynthesizedDelegateSymbol.cs (2)
176public override ImmutableArray<TypeParameterSymbol> TypeParameters 178get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Synthesized\SynthesizedEmbeddedAttributeSymbol.cs (2)
57public override ImmutableArray<TypeParameterSymbol> TypeParameters => ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
92public override ImmutableArray<TypeParameterSymbol> TypeParameters 94get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Synthesized\SynthesizedGlobalMethodSymbol.cs (5)
26private ImmutableArray<TypeParameterSymbol> _typeParameters; 43_typeParameters = ImmutableArray<TypeParameterSymbol>.Empty; 60protected void SetTypeParameters(ImmutableArray<TypeParameterSymbol> typeParameters) 160public override ImmutableArray<TypeParameterSymbol> TypeParameters 167return ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Synthesized\SynthesizedHotReloadExceptionSymbol.cs (1)
85public override ImmutableArray<TypeParameterSymbol> TypeParameters => [];
Symbols\Synthesized\SynthesizedImplementationMethod.cs (2)
24private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 86public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters
Symbols\Synthesized\SynthesizedInlineArrayAsReadOnlySpanMethod.cs (1)
15this.SetTypeParameters(ImmutableArray.Create<TypeParameterSymbol>(new SynthesizedSimpleMethodTypeParameterSymbol(this, 0, "TBuffer"), new SynthesizedSimpleMethodTypeParameterSymbol(this, 1, "TElement")));
Symbols\Synthesized\SynthesizedInlineArrayAsSpanMethod.cs (1)
15this.SetTypeParameters(ImmutableArray.Create<TypeParameterSymbol>(new SynthesizedSimpleMethodTypeParameterSymbol(this, 0, "TBuffer"), new SynthesizedSimpleMethodTypeParameterSymbol(this, 1, "TElement")));
Symbols\Synthesized\SynthesizedInlineArrayElementRefMethod.cs (1)
15this.SetTypeParameters(ImmutableArray.Create<TypeParameterSymbol>(new SynthesizedSimpleMethodTypeParameterSymbol(this, 0, "TBuffer"), new SynthesizedSimpleMethodTypeParameterSymbol(this, 1, "TElement")));
Symbols\Synthesized\SynthesizedInlineArrayElementRefReadOnlyMethod.cs (1)
15this.SetTypeParameters(ImmutableArray.Create<TypeParameterSymbol>(new SynthesizedSimpleMethodTypeParameterSymbol(this, 0, "TBuffer"), new SynthesizedSimpleMethodTypeParameterSymbol(this, 1, "TElement")));
Symbols\Synthesized\SynthesizedInlineArrayFirstElementRefMethod.cs (1)
15this.SetTypeParameters(ImmutableArray.Create<TypeParameterSymbol>(new SynthesizedSimpleMethodTypeParameterSymbol(this, 0, "TBuffer"), new SynthesizedSimpleMethodTypeParameterSymbol(this, 1, "TElement")));
Symbols\Synthesized\SynthesizedInlineArrayFirstElementRefReadOnlyMethod.cs (1)
15this.SetTypeParameters(ImmutableArray.Create<TypeParameterSymbol>(new SynthesizedSimpleMethodTypeParameterSymbol(this, 0, "TBuffer"), new SynthesizedSimpleMethodTypeParameterSymbol(this, 1, "TElement")));
Symbols\Synthesized\SynthesizedInlineArrayTypeSymbol.cs (6)
43TypeParameters = ImmutableArray.Create<TypeParameterSymbol>(typeParameter); 48public override ImmutableArray<TypeParameterSymbol> TypeParameters { get; } 259internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) => ImmutableArray<TypeWithAnnotations>.Empty; 261internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress) => ContainingAssembly.GetSpecialType(SpecialType.System_Object); 263internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) => ContainingAssembly.GetSpecialType(SpecialType.System_Object); 265internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) => ImmutableArray<NamedTypeSymbol>.Empty;
Symbols\Synthesized\SynthesizedInstanceConstructor.cs (2)
132public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 134get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Synthesized\SynthesizedInteractiveInitializerMethod.cs (2)
163public override ImmutableArray<TypeParameterSymbol> TypeParameters 165get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (2)
247public override ImmutableArray<TypeParameterSymbol> TypeParameters 251return ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Synthesized\SynthesizedPrivateImplementationDetailsType.cs (2)
41public override ImmutableArray<TypeParameterSymbol> TypeParameters => ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Synthesized\SynthesizedSealedPropertyAccessor.cs (2)
209public override ImmutableArray<TypeParameterSymbol> TypeParameters 213return ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Synthesized\SynthesizedSimpleProgramEntryPointSymbol.cs (2)
131public override ImmutableArray<TypeParameterSymbol> TypeParameters 135return ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Synthesized\SynthesizedStaticConstructor.cs (2)
64public override ImmutableArray<TypeParameterSymbol> TypeParameters 68return ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Synthesized\SynthesizedSubstitutedTypeParameterSymbol.cs (1)
19public SynthesizedSubstitutedTypeParameterSymbol(Symbol owner, TypeMap map, TypeParameterSymbol substitutedFrom, int ordinal)
Symbols\SynthesizedSimpleMethodTypeParameterSymbol.cs (4)
110internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 115internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 120internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 125internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress)
Symbols\TypeMap.cs (28)
25internal static ImmutableArray<TypeWithAnnotations> TypeParametersAsTypeSymbolsWithAnnotations(ImmutableArray<TypeParameterSymbol> typeParameters) 30internal static ImmutableArray<TypeWithAnnotations> TypeParametersAsTypeSymbolsWithIgnoredAnnotations(ImmutableArray<TypeParameterSymbol> typeParameters) 41internal TypeMap(ImmutableArray<TypeParameterSymbol> from, ImmutableArray<TypeWithAnnotations> to, bool allowAlpha = false) 49internal TypeMap(ImmutableArray<TypeParameterSymbol> from, ImmutableArray<TypeParameterSymbol> to, bool allowAlpha = false) 55private TypeMap(SmallDictionary<TypeParameterSymbol, TypeWithAnnotations> mapping) 56: base(new SmallDictionary<TypeParameterSymbol, TypeWithAnnotations>(mapping, ReferenceEqualityComparer.Instance)) 61private static SmallDictionary<TypeParameterSymbol, TypeWithAnnotations> ForType(NamedTypeSymbol containingType) 65new SmallDictionary<TypeParameterSymbol, TypeWithAnnotations>(substituted.TypeSubstitution.Mapping, ReferenceEqualityComparer.Instance) : 66new SmallDictionary<TypeParameterSymbol, TypeWithAnnotations>(ReferenceEqualityComparer.Instance); 69internal TypeMap(NamedTypeSymbol containingType, ImmutableArray<TypeParameterSymbol> typeParameters, ImmutableArray<TypeWithAnnotations> typeArguments) 74TypeParameterSymbol tp = typeParameters[i]; 83private static readonly SmallDictionary<TypeParameterSymbol, TypeWithAnnotations> s_emptyDictionary = 84new SmallDictionary<TypeParameterSymbol, TypeWithAnnotations>(ReferenceEqualityComparer.Instance); 102internal TypeMap WithAlphaRename(ImmutableArray<TypeParameterSymbol> oldTypeParameters, Symbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters) 106newTypeParameters = ImmutableArray<TypeParameterSymbol>.Empty; 117ArrayBuilder<TypeParameterSymbol> newTypeParametersBuilder = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 124foreach (var tp in oldTypeParameters) 138internal TypeMap WithAlphaRename(NamedTypeSymbol oldOwner, NamedTypeSymbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters) 144internal TypeMap WithAlphaRename(MethodSymbol oldOwner, Symbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters) 150internal static ImmutableArray<TypeParameterSymbol> ConcatMethodTypeParameters(MethodSymbol oldOwner, MethodSymbol stopAt) 167var parameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 193private static SmallDictionary<TypeParameterSymbol, TypeWithAnnotations> ConstructMapping(ImmutableArray<TypeParameterSymbol> from, ImmutableArray<TypeWithAnnotations> to) 195var mapping = new SmallDictionary<TypeParameterSymbol, TypeWithAnnotations>(ReferenceEqualityComparer.Instance); 201TypeParameterSymbol tp = from[i];
Symbols\TypeParameterSymbol.cs (18)
28public new virtual TypeParameterSymbol OriginalDefinition 48public virtual TypeParameterSymbol ReducedFrom 88return this.GetConstraintTypes(ConsList<TypeParameterSymbol>.Empty); 265return this.GetEffectiveBaseClass(ConsList<TypeParameterSymbol>.Empty); 290return this.GetInterfaces(ConsList<TypeParameterSymbol>.Empty); 314return this.GetDeducedBaseType(ConsList<TypeParameterSymbol>.Empty); 375protected static void EnsureAllConstraintsAreResolved(ImmutableArray<TypeParameterSymbol> typeParameters) 377foreach (var typeParameter in typeParameters) 380var unused = typeParameter.GetConstraintTypes(ConsList<TypeParameterSymbol>.Empty); 384internal abstract ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress); 386internal abstract ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress); 388internal abstract NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress); 390internal abstract TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress); 396return ((TypeParameterSymbol)constraint).IsReferenceTypeFromConstraintTypes; 487bool? isNotNullable = ((TypeParameterSymbol)constraintType.Type).IsNotNullable; 655return this.Equals(t2 as TypeParameterSymbol, comparison); 658internal bool Equals(TypeParameterSymbol other) 663private bool Equals(TypeParameterSymbol other, TypeCompareKind comparison)
Symbols\TypeParameterSymbolExtensions.cs (7)
11public static bool DependsOn(this TypeParameterSymbol typeParameter1, TypeParameterSymbol typeParameter2) 16Stack<TypeParameterSymbol>? stack = null; 17HashSet<TypeParameterSymbol>? visited = null; 23if (constraintType.Type is TypeParameterSymbol typeParameter) 29visited ??= new HashSet<TypeParameterSymbol>(); 32stack ??= new Stack<TypeParameterSymbol>();
Symbols\TypeSymbol.cs (6)
108var interfaces = (baseType.TypeKind == TypeKind.TypeParameter) ? ((TypeParameterSymbol)baseType).EffectiveInterfacesNoUseSiteDiagnostics : baseType.InterfacesNoUseSiteDiagnostics(); 239return this.IsTypeParameter() ? ((TypeParameterSymbol)this).EffectiveBaseClassNoUseSiteDiagnostics : this; 245return this.IsTypeParameter() ? ((TypeParameterSymbol)this).EffectiveBaseClass(ref useSiteInfo) : this; 344var interfaces = (baseType.TypeKind == TypeKind.TypeParameter) ? ((TypeParameterSymbol)baseType).EffectiveInterfacesNoUseSiteDiagnostics : baseType.InterfacesNoUseSiteDiagnostics(); 2127var typeParameter1 = typeParameters1[i]; 2128var typeParameter2 = typeParameters2[i];
Symbols\TypeSymbolExtensions.cs (20)
76var typeParameter = (TypeParameterSymbol)type; 93return type is TypeParameterSymbol { IsValueType: false, IsNotNullable: false }; 120var constraintTypes = ((TypeParameterSymbol)type).ConstraintTypesNoUseSiteDiagnostics; 351public static bool IsMethodTypeParameter(this TypeParameterSymbol p) 427var typeParameter = (TypeParameterSymbol)type; 547return type is { IsRefLikeType: true } or TypeParameterSymbol { AllowsRefLikeType: true }; 1199public static bool ContainsTypeParameter(this TypeSymbol type, TypeParameterSymbol? parameter = null) 1205private static readonly Func<TypeSymbol, TypeParameterSymbol?, bool, bool> s_containsTypeParameterPredicate = 1219public static bool ContainsTypeParameters(this TypeSymbol type, HashSet<TypeParameterSymbol> parameters) 1225private static readonly Func<TypeSymbol, HashSet<TypeParameterSymbol>, bool, bool> s_containsTypeParametersPredicate = 1226(type, parameters, unused) => type.TypeKind == TypeKind.TypeParameter && parameters.Contains((TypeParameterSymbol)type); 1686internal static ImmutableArray<TypeParameterSymbol> GetAllTypeParameters(this NamedTypeSymbol type) 1694var builder = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 1703internal static void GetAllTypeParameters(this NamedTypeSymbol type, ArrayBuilder<TypeParameterSymbol> result) 1718internal static TypeParameterSymbol? FindEnclosingTypeParameter(this NamedTypeSymbol type, string name) 1722foreach (TypeParameterSymbol tpEnclosing in type.TypeParameters) 1741internal static TypeParameterSymbol? FindEnclosingTypeParameter(this Symbol methodOrType, string name) 1757foreach (var typeParameter in methodOrType.GetMemberTypeParameters())
Symbols\TypeUnification.cs (6)
190TypeParameterSymbol tp1 = (TypeParameterSymbol)t1.Type; 222var tp2 = (TypeParameterSymbol)t2.Type; 249private static void AddSubstitution(ref MutableTypeMap? substitution, TypeParameterSymbol tp1, TypeWithAnnotations t2) 265private static bool Contains(TypeSymbol type, TypeParameterSymbol typeParam)
Symbols\TypeWithAnnotations.cs (10)
178private static TypeWithAnnotations CreateLazySubstitutedType(TypeSymbol substitutedTypeSymbol, ImmutableArray<CustomModifier> customModifiers, TypeParameterSymbol typeParameter) 212if (((TypeParameterSymbol)typeSymbol).TypeParameterKind == TypeParameterKind.Cref) 326var declaringMethod = (DefaultType as TypeParameterSymbol)?.DeclaringMethod as SourceOrdinaryMethodSymbol; 468if (newTypeWithModifiers.Is((TypeParameterSymbol)typeSymbol) && 473else if (Is((TypeParameterSymbol)typeSymbol) && newTypeWithModifiers.NullableAnnotation != NullableAnnotation.Ignored) 502var typeParameter = (TypeParameterSymbol)typeSymbol; 561public bool Is(TypeParameterSymbol other) 957private readonly TypeParameterSymbol _typeParameter; 962public LazySubstitutedType(ImmutableArray<CustomModifier> customModifiers, TypeParameterSymbol typeParameter)
Symbols\UnboundGenericType.cs (1)
49public static ImmutableArray<TypeWithAnnotations> CreateTypeArguments(ImmutableArray<TypeParameterSymbol> typeParameters, int n, DiagnosticInfo errorInfo)
Symbols\VarianceSafety.cs (6)
261private static void CheckTypeParametersVarianceSafety(ImmutableArray<TypeParameterSymbol> typeParameters, MethodSymbol context, BindingDiagnosticBag diagnostics) 263foreach (TypeParameterSymbol typeParameter in typeParameters) 308TypeParameterSymbol typeParam = (TypeParameterSymbol)type; 388TypeParameterSymbol typeParam = namedType.TypeParameters[i]; 444TypeParameterSymbol unsafeTypeParameter,
Symbols\Wrapped\WrappedTypeParameterSymbol.cs (3)
27protected readonly TypeParameterSymbol _underlyingTypeParameter; 29public WrappedTypeParameterSymbol(TypeParameterSymbol underlyingTypeParameter) 35public TypeParameterSymbol UnderlyingTypeParameter
Utilities\TypeSymbolExtensions.cs (1)
184return ((TypeParameterSymbol)type).EffectiveBaseClassNoUseSiteDiagnostics;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (1)
CodeGen\CodeGenTupleTest.cs (1)
690var param = c.TypeParameters[0];
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (31)
CodeGen\CodeGenMethodGroupConversionCachingTests.cs (6)
2077var m = typeParameters[0]; 2138var m = typeParameters[0]; 2195var m = typeParameters[0]; 6309var typeParameters = new List<TypeParameterSymbol>(); 6312if (typeSymbol is TypeParameterSymbol typeParameter) 6321var typeParameter = Assert.Single(typeParameters);
Emit\UnmanagedTypeModifierTests.cs (25)
639var parentTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 645var childTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 674var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 687var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 720var parentTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 726var childTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 752var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 765var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 795var parentTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 801var childTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 827var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 840var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 870var parentTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 876var childTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 902var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 915var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 945var parentTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 951var childTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("Parent.M").TypeParameters.Single(); 978var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 991var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("Parent.M").TypeParameters.Single(); 1037var delegateTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("D`1").TypeParameters.Single(); 1043var lambdaTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Program").GetTypeMember("<>c__DisplayClass0_0").TypeParameters.Single(); 1064var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("D`1").TypeParameters.Single(); 1090var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Program").GetTypeMember("<>c__DisplayClass0_0").TypeParameters.Single(); 1446var typeParameter = c.GlobalNamespace.GetTypeMember("TestRef").GetMethod("M").TypeParameters.Single();
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (88)
Attributes\AttributeTests.cs (5)
5097var typeParam1 = gooMethod.TypeParameters[0]; 5101var typeParam2 = gooMethod.TypeParameters[1]; 5177var typeParameter = type.TypeParameters.First(); 5826var classTypeParameter = @class.TypeParameters.Single(); 5828var methodTypeParameter = method.TypeParameters.Single();
Attributes\AttributeTests_IsUnmanaged.cs (19)
40var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test").GetMethod("M").TypeParameters.Single(); 64var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test`1").TypeParameters.Single(); 94var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test").GetMethod("<M>g__N|0_0").TypeParameters.Single(); 116var typeParameter = module.GlobalNamespace.GetTypeMember("D").TypeParameters.Single(); 143var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test").GetMethod("M").TypeParameters.Single(); 169var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test`1").TypeParameters.Single(); 205var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test").GetMethod("<M>g__N|0_0").TypeParameters.Single(); 233var typeParameter = module.GlobalNamespace.GetTypeMember("D").TypeParameters.Single(); 260var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test").GetMethod("M").TypeParameters.Single(); 286var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test`1").TypeParameters.Single(); 323var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test").GetMethod("<M>g__N|0_0").TypeParameters.Single(); 352var typeParameter = module.GlobalNamespace.GetTypeMember("D").TypeParameters.Single(); 373var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test").GetMethod("M").TypeParameters.Single(); 392var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test`1").TypeParameters.Single(); 420var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test").GetMethod("<M>g__N|0_0").TypeParameters.Single(); 440var typeParameter = module.GlobalNamespace.GetTypeMember("D").TypeParameters.Single(); 649var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test2`1").TypeParameters.Single(); 732var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test1`1").TypeParameters.Single(); 746var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test2`1").TypeParameters.Single();
Attributes\AttributeTests_Nullable.cs (3)
1671var typeParameter = module.GlobalNamespace.GetMember<NamedTypeSymbol>(typeName).TypeParameters.Single(); 1742var typeParameter = module.GlobalNamespace.GetMember<NamedTypeSymbol>(typeName).TypeParameters.Single(); 1798var typeParameter = module.GlobalNamespace.GetMember<NamedTypeSymbol>(typeName).TypeParameters.Single();
Attributes\AttributeTests_Synthesized.cs (2)
631var typeParameter = baseMethodWrapper.TypeParameters.Single(); 651var typeParam = c2.TypeParameters.Single();
Attributes\AttributeTests_Tuples.cs (1)
938var typeParam = t.TypeParameters.Single();
RefStructInterfacesTests.cs (58)
4377var t = c.TypeParameters.Single(); 4430var t = method.TypeParameters.Single(); 4483var t = c.TypeParameters.Single(); 4491var dt = d.TypeParameters.Single(); 4517var ct = c.TypeParameters.Single(); 4546var t = c.TypeParameters.Single(); 4568var t = c.TypeParameters.Single(); 4600var t = c.TypeParameters.Single(); 4626var t = c.TypeParameters.Single(); 4658var t = c.TypeParameters.Single(); 4693var t = method.TypeParameters.Single(); 4730var t = method.TypeParameters.Single(); 4756var t = c.TypeParameters.Single(); 4785var t = method.TypeParameters.Single(); 4822var t = method.TypeParameters.Single(); 4851var t = c.TypeParameters.Single(); 4873var t = c.TypeParameters.Single(); 4902var t = c.TypeParameters.Single(); 4924var t = c.TypeParameters.Single(); 4952var t = c.TypeParameters.Single(); 4979var t = c.TypeParameters.Single(); 5010var t = c.TypeParameters.Single(); 5039var t = c.TypeParameters.Single(); 5064var t = c.TypeParameters.Single(); 5093var t = c.TypeParameters.Single(); 5117var t = c.TypeParameters.Single(); 5144var t = c.TypeParameters.Single(); 5165var t = c.TypeParameters.Single(); 5186var t = c.TypeParameters.Single(); 5211var t = c.TypeParameters.Single(); 5236var t = c.TypeParameters.Single(); 5261var t = method.TypeParameters.Single(); 5290var t = method.TypeParameters.Single(); 5319var t = method.TypeParameters.Single(); 5348var t = method.TypeParameters.Single(); 5377var t = method.TypeParameters.Single(); 5421var t1 = method1.TypeParameters.Single(); 5425var t2 = method2.TypeParameters.Single(); 5460var t1 = method1.TypeParameters.Single(); 5464var t2 = method2.TypeParameters.Single(); 5515var t1 = method1.TypeParameters.Single(); 5520var t2 = method2.TypeParameters.Single(); 5558var t1 = method1.TypeParameters.Single(); 5562var t2 = method2.TypeParameters.Single(); 5593var t1 = method1.TypeParameters.Single(); 5597var t2 = method2.TypeParameters.Single(); 5644var t1 = method1.TypeParameters.Single(); 5649var t2 = method2.TypeParameters.Single(); 5764var t = c.TypeParameters.Single(); 5792var t = c.TypeParameters[0]; 5799var u = c.TypeParameters[1]; 5825var t = c.TypeParameters[0]; 5832var u = c.TypeParameters[1]; 22481foreach (var tp in m.ContainingAssembly.GetTypeByMetadataName("<>A`2").TypeParameters) 22537foreach (var tp in m.ContainingAssembly.GetTypeByMetadataName("<>F`2").TypeParameters) 22684foreach (var tp in m.ContainingAssembly.GetTypeByMetadataName("<>f__AnonymousDelegate0`1").TypeParameters) 22733foreach (var tp in m.ContainingAssembly.GetTypeByMetadataName("<>f__AnonymousDelegate0`1").TypeParameters) 28944var t1 = m21.TypeParameters[0];
Microsoft.CodeAnalysis.CSharp.EndToEnd.UnitTests (1)
EndToEndTests.cs (1)
582var typeParameter = type.TypeParameters[0];
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (196)
Semantics\BindingTests.cs (1)
2662var tt = foo.TypeParameters[0];
Semantics\GenericConstraintsTests.cs (20)
451var typeParameter = module.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 469var typeParameter = module.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 488var typeParameter = module.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 507var typeParameter = module.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 977var typeParameter = module.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 996var typeParameter = compilation.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 1011var typeParameter = module.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 1028var typeParameter = module.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 1462var typeParameter = module.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 1481var typeParameter = compilation.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 1496var typeParameter = module.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 1513var typeParameter = module.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 1835var typeParameter = c.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 1853var typeParameter = c.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 1903var typeParameter = module.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 2118var typeParameter = module.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single(); 2143var typeParameter = module.GlobalNamespace.GetTypeMember("Test").GetMethod("M").TypeParameters.Single(); 2164var typeParameter = module.GlobalNamespace.GetTypeMember("D").TypeParameters.Single(); 2194var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Test").GetMethod("<M>g__N|0_0").TypeParameters.Single(); 2939var typeParameter = module.GlobalNamespace.GetTypeMember("Test").TypeParameters.Single();
Semantics\LocalFunctionTests.cs (2)
1722var typeParam = localSymbol.TypeParameters.Single(); 1927var typeParam = localSymbol.TypeParameters.Single();
Semantics\NullableReferenceTypesTests.cs (171)
17838var tp = member.GetMemberTypeParameters()[0]; 97693TypeParameterSymbol t1 = f1.TypeParameters[0]; 97703TypeParameterSymbol t2 = f2.TypeParameters[0]; 97744TypeParameterSymbol t1 = a.TypeParameters[0]; 97757TypeParameterSymbol t2 = b.TypeParameters[0]; 97804TypeParameterSymbol t1 = f1.TypeParameters[0]; 97810TypeParameterSymbol t2 = f2.TypeParameters[0]; 97851TypeParameterSymbol t1 = b.TypeParameters[0]; 97864TypeParameterSymbol t2 = f2.TypeParameters[0]; 98470TypeParameterSymbol t11 = bf1.TypeParameters[0]; 98485TypeParameterSymbol t22 = bf2.TypeParameters[0]; 98529TypeParameterSymbol t11 = bf1.TypeParameters[0]; 98537TypeParameterSymbol t22 = bf2.TypeParameters[0]; 98543TypeParameterSymbol t2 = af2.TypeParameters[0]; 98661TypeParameterSymbol t11 = bf1.TypeParameters[0]; 98676TypeParameterSymbol t22 = bf2.TypeParameters[0]; 98768TypeParameterSymbol t11 = bf1.TypeParameters[0]; 98783TypeParameterSymbol t22 = bf2.TypeParameters[0]; 98834TypeParameterSymbol t11 = bf1.TypeParameters[0]; 98852TypeParameterSymbol t22 = bf2.TypeParameters[0]; 98907TypeParameterSymbol t11 = bf1.TypeParameters[0]; 98924TypeParameterSymbol t22 = bf2.TypeParameters[0]; 98975TypeParameterSymbol t11 = bf1.TypeParameters[0]; 98990TypeParameterSymbol t22 = bf2.TypeParameters[0]; 99026TypeParameterSymbol t11 = bf1.TypeParameters[0]; 99031TypeParameterSymbol t22 = bf2.TypeParameters[0]; 99065TypeParameterSymbol t2 = f2.TypeParameters[0]; 99090TypeParameterSymbol t2 = b.TypeParameters[0]; 99133TypeParameterSymbol t2 = f2.TypeParameters[0]; 99349TypeParameterSymbol t11 = bf1.TypeParameters[0]; 99364TypeParameterSymbol t22 = bf2.TypeParameters[0]; 100136TypeParameterSymbol t11 = bf1.TypeParameters[0]; 100140TypeParameterSymbol t22 = bf2.TypeParameters[0]; 100144TypeParameterSymbol t33 = bf3.TypeParameters[0]; 100148TypeParameterSymbol t44 = bf4.TypeParameters[0]; 100171TypeParameterSymbol t11 = bf1.TypeParameters[0]; 100175TypeParameterSymbol t22 = bf2.TypeParameters[0]; 100179TypeParameterSymbol t33 = bf3.TypeParameters[0]; 100183TypeParameterSymbol t44 = bf4.TypeParameters[0]; 100263TypeParameterSymbol t222 = bf2.TypeParameters[0]; 100267TypeParameterSymbol t333 = bf3.TypeParameters[0]; 100290TypeParameterSymbol t222 = bf2.TypeParameters[0]; 100294TypeParameterSymbol t333 = bf3.TypeParameters[0]; 100343TypeParameterSymbol t1 = f1.TypeParameters[0]; 100381TypeParameterSymbol t1 = f1.TypeParameters[0]; 100425TypeParameterSymbol t1 = f1.TypeParameters[0]; 100432TypeParameterSymbol t2 = f2.TypeParameters[0]; 100464TypeParameterSymbol t1 = f1.TypeParameters[0]; 100484TypeParameterSymbol t1 = f1.TypeParameters[0]; 100539TypeParameterSymbol t1 = f1.TypeParameters[0]; 100547TypeParameterSymbol t2 = f2.TypeParameters[0]; 100583TypeParameterSymbol t1 = f1.TypeParameters[0]; 100590TypeParameterSymbol t2 = f2.TypeParameters[0]; 100628TypeParameterSymbol t1 = f1.TypeParameters[0]; 100635TypeParameterSymbol t2 = f2.TypeParameters[0]; 100667TypeParameterSymbol t1 = f1.TypeParameters[0]; 100717TypeParameterSymbol at1 = af1.TypeParameters[0]; 100747TypeParameterSymbol tf1 = bf1.TypeParameters[0]; 100812TypeParameterSymbol at1 = af1.TypeParameters[0]; 100840TypeParameterSymbol tf1 = bf1.TypeParameters[0]; 100900TypeParameterSymbol at1 = af1.TypeParameters[0]; 100925TypeParameterSymbol tf1 = bf1.TypeParameters[0]; 100961TypeParameterSymbol t1 = f1.TypeParameters[0]; 100985TypeParameterSymbol t1 = f1.TypeParameters[0]; 101010TypeParameterSymbol t1 = f1.TypeParameters[0]; 101037TypeParameterSymbol t1 = f1.TypeParameters[0]; 101086TypeParameterSymbol at1 = af1.TypeParameters[0]; 101111TypeParameterSymbol tf1 = bf1.TypeParameters[0]; 101168TypeParameterSymbol at1 = af1.TypeParameters[0]; 101193TypeParameterSymbol tf1 = bf1.TypeParameters[0]; 101970TypeParameterSymbol tf1 = f1.TypeParameters[0]; 101993foreach (TypeParameterSymbol tf1 in f1.TypeParameters) 102022TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102049TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102076TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102103TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102130TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102172TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102203TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102241TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102275foreach (TypeParameterSymbol tf1 in f1.TypeParameters) 102315TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102353TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102380TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102408TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102436TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102475TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102503TypeParameterSymbol tf1 = f1.TypeParameters[0]; 102530TypeParameterSymbol tf1 = i1.TypeParameters[0]; 102552foreach (TypeParameterSymbol tf1 in i1.TypeParameters) 102580TypeParameterSymbol tf1 = i1.TypeParameters[0]; 102606TypeParameterSymbol tf1 = i1.TypeParameters[0]; 102632TypeParameterSymbol tf1 = i1.TypeParameters[0]; 102658TypeParameterSymbol tf1 = i1.TypeParameters[0]; 102684TypeParameterSymbol tf1 = i1.TypeParameters[0]; 102724TypeParameterSymbol tf1 = i1.TypeParameters[0]; 102755TypeParameterSymbol tf1 = i1.TypeParameters[0]; 102791TypeParameterSymbol tf1 = i1.TypeParameters[0]; 102824foreach (TypeParameterSymbol tf1 in i1.TypeParameters) 102863TypeParameterSymbol tf1 = i1.TypeParameters[0]; 102900TypeParameterSymbol tf1 = i1.TypeParameters[0]; 102927TypeParameterSymbol tf1 = i1.TypeParameters[0]; 102954TypeParameterSymbol tf1 = i1.TypeParameters[0]; 102981TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103018TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103045TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103077TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103118TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103161TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103205TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103231TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103305TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103356TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103434TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103490TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103546TypeParameterSymbol tf2 = i1.TypeParameters[1]; 103574TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103624TypeParameterSymbol tf2 = i1.TypeParameters[1]; 103654TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103706TypeParameterSymbol tf2 = i1.TypeParameters[1]; 103739TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103797TypeParameterSymbol tf2 = i1.TypeParameters[1]; 103828TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103884TypeParameterSymbol tf2 = i1.TypeParameters[1]; 103912TypeParameterSymbol tf1 = i1.TypeParameters[0]; 103962TypeParameterSymbol tf2 = i1.TypeParameters[1]; 103995TypeParameterSymbol tf1 = i1.TypeParameters[0]; 104053TypeParameterSymbol tf2 = i1.TypeParameters[1]; 104084TypeParameterSymbol tf1 = i1.TypeParameters[0]; 104138TypeParameterSymbol tf2 = i1.TypeParameters[1]; 104852TypeParameterSymbol t11 = bf1.TypeParameters[0]; 104865TypeParameterSymbol t1 = af1.TypeParameters[0]; 104879TypeParameterSymbol t22 = bf2.TypeParameters[0]; 104893TypeParameterSymbol t2 = af2.TypeParameters[0]; 104956TypeParameterSymbol t11 = bf1.TypeParameters[0]; 104963TypeParameterSymbol t22 = bf2.TypeParameters[0]; 105033TypeParameterSymbol t11 = bf1.TypeParameters[0]; 105040TypeParameterSymbol t22 = bf2.TypeParameters[0]; 108317TypeParameterSymbol tm1 = m1.TypeParameters[0]; 124237var t = b.TypeParameters[i]; 137029TypeParameterSymbol t = c.TypeParameters[0]; 137061TypeParameterSymbol t = c.TypeParameters[0]; 137092TypeParameterSymbol t = c.TypeParameters[0]; 137128TypeParameterSymbol t = c.TypeParameters[0]; 137157TypeParameterSymbol t = c.TypeParameters[0]; 137180TypeParameterSymbol t = c.TypeParameters[0]; 137202TypeParameterSymbol t = c.TypeParameters[0]; 137224TypeParameterSymbol t = c.TypeParameters[0]; 137250TypeParameterSymbol t = c.TypeParameters[0]; 137276TypeParameterSymbol t = c.TypeParameters[0]; 137303TypeParameterSymbol t = c.TypeParameters[0]; 137328TypeParameterSymbol t = c.TypeParameters[0]; 137358TypeParameterSymbol t = c.TypeParameters[0]; 137407TypeParameterSymbol t = c.TypeParameters[0]; 137449TypeParameterSymbol t = c.TypeParameters[0]; 137490TypeParameterSymbol t = c.TypeParameters[0]; 137531TypeParameterSymbol t = c.TypeParameters[0]; 137570TypeParameterSymbol t = c.TypeParameters[0]; 137609TypeParameterSymbol t = c.TypeParameters[0]; 138283var cT = c.TypeParameters.Single(); 138327var cT = c.TypeParameters.Single(); 138367var cT = c.TypeParameters.Single(); 138415var cT = c.TypeParameters.Single(); 138452var cT = c.TypeParameters.Single(); 138482var cT = c.TypeParameters.Single(); 138512var cT = c.TypeParameters.Single(); 138540var cT = c.TypeParameters.Single(); 158382var t = ((MethodSymbol)comp.GetMember("C.M")).TypeParameters.Single(); 158415var t = ((MethodSymbol)comp.GetMember("C.M")).TypeParameters.Single(); 158637var t = ((MethodSymbol)comp.GetMember("C.M")).TypeParameters.Single(); 158674var t = ((MethodSymbol)comp.GetMember("C.M")).TypeParameters.Single();
Semantics\SemanticErrorTests.cs (2)
25161ParameterSymbol or TypeParameterSymbol => throw ExceptionUtilities.Unreachable(), 25230ParameterSymbol or TypeParameterSymbol => throw ExceptionUtilities.Unreachable(),
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (57)
DocumentationComments\CrefTests.cs (9)
444var expectedSymbol = compilation.GlobalNamespace.GetMember<NamedTypeSymbol>("Program").TypeParameters.Single(); 1436Assert.Equal(0, ((TypeParameterSymbol)typeArgument).Ordinal); 1461Assert.Equal(0, ((TypeParameterSymbol)typeArgument).Ordinal); 1487Assert.Equal(0, ((TypeParameterSymbol)typeArgument).Ordinal); 1513Assert.Equal(0, ((TypeParameterSymbol)typeArgument).Ordinal); 1610Assert.Equal(0, ((TypeParameterSymbol)typeArgument).Ordinal); 1636var expectedOriginalParameterTypes = expectedOriginalDefinitionSymbol.Parameters.Select(p => p.Type).Cast<TypeParameterSymbol>(); 1637var actualParameterTypes = actualSymbol.GetParameters().Select(p => p.Type).Cast<TypeParameterSymbol>(); 1671Assert.Equal(1, ((TypeParameterSymbol)actualParameterType).Ordinal);
DocumentationComments\DocumentationCommentIDTests.cs (1)
325var symbol = type.TypeParameters.Single();
Symbols\AnonymousTypesSymbolTests.cs (1)
1044var typeParameter = type.TypeParameters[i];
Symbols\CompilationCreationTests.cs (2)
2463var localC6_T = localC6Params[0]; 2464var foo3TypeParam = foo3TypeParams[0];
Symbols\FunctionPointerTypeSymbolTests.cs (1)
376var t = m.TypeParameters.Single();
Symbols\GenericConstraintTests.cs (2)
4843var typeParameter = method.TypeParameters[0]; 5713TypeParameterSymbol typeParameter,
Symbols\Metadata\PE\DynamicTransformsTests.cs (4)
75var t = _derivedClass.TypeParameters[0]; 161var derivedTypeParam = _derivedClass.TypeParameters[0]; 285var derivedTypeParam = _derivedClass.TypeParameters[0]; 332var unsafeClassTypeParam = unsafeClass.TypeParameters[0];
Symbols\Metadata\PE\LoadingAttributes.cs (2)
963var tp = igoo.TypeParameters[0]; 1108var tp = foo.TypeParameters[0];
Symbols\Metadata\PE\LoadingGenericTypeParameters.cs (6)
43var varC1_T = varC1.TypeParameters[0]; 85var varC2_T = varC2.TypeParameters[0]; 100var varC4_T = varC4.TypeParameters[0]; 111var varTC2_T1 = varTC2.TypeParameters[0]; 112var varTC2_T2 = varTC2.TypeParameters[1]; 126var varT = varC100.TypeParameters[0];
Symbols\Metadata\PE\LoadingMetadataTokens.cs (2)
67var typeParameter = genericMethod.GetMemberTypeParameters().Single(); 125var typeParameter = genericMethod.GetMemberTypeParameters().Single();
Symbols\MockNamedTypeSymbol.cs (2)
51public override ImmutableArray<TypeParameterSymbol> TypeParameters 55return ImmutableArray.Create<TypeParameterSymbol>();
Symbols\Retargeting\RetargetCustomAttributes.cs (1)
245TypeParameterSymbol testTypeParameter = testMethod.TypeParameters[0];
Symbols\Retargeting\RetargetingTests.cs (8)
611var sourceTypeParameter = sourceType.TypeParameters.Single(); 616var retargetingTypeParameter = retargetingType.TypeParameters.Single(); 648var sourceTypeParameter = sourceType.TypeParameters.Single(); 655var retargetingTypeParameter = retargetingType.TypeParameters.Single(); 1189CheckTypeParameters((TypeParameterSymbol)a, (TypeParameterSymbol)b); 1269public void CheckTypeParameters(TypeParameterSymbol a, TypeParameterSymbol b)
Symbols\Source\DelegateTests.cs (1)
212var q = d.TypeParameters[0];
Symbols\Source\IndexedTypeParameterTests.cs (1)
36var set = new HashSet<TypeParameterSymbol>(fifty);
Symbols\Source\MethodTests.cs (2)
191var t1 = mylist.TypeParameters[0]; 345var t = m.TypeParameters[0];
Symbols\Source\ModifierTests.cs (1)
156var typeParamType = structType.TypeParameters.Single();
Symbols\Source\TypeMapTests.cs (3)
56var t = at.TypeParameters[0]; 59var u = atbu.TypeParameters[0]; 95var allTypeParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance();
Symbols\SymbolDistinguisherTests.cs (2)
286var sourceType = sourceAssembly.GlobalNamespace.GetMember<NamedTypeSymbol>("C").TypeParameters.Single(); 287var referencedType = referencedAssembly.GlobalNamespace.GetMember<NamedTypeSymbol>("C").TypeParameters.Single();
Symbols\SymbolErrorTests.cs (3)
3736var param = type1.TypeParameters[0]; 3789var param1 = f.TypeParameters[0]; 3790var param2 = f.TypeParameters[1];
Symbols\SymbolExtensionTests.cs (3)
256var typeParameters = PooledHashSet<TypeParameterSymbol>.GetInstance(); 261if (typeSymbol is TypeParameterSymbol typeParameter) 270var typeParameter = typeParameters.Single();
Microsoft.CodeAnalysis.CSharp.Test.Utilities (18)
AttributeValidation.cs (1)
17internal static void AssertReferencedIsUnmanagedAttribute(Accessibility accessibility, TypeParameterSymbol typeParameter, string assemblyName)
CompilationTestUtils.cs (1)
187internal static TypeParameterConstraintKind GetTypeParameterConstraints(TypeParameterSymbol typeParameter)
EmitMetadataTestBase.cs (1)
56foreach (var param in t.TypeParameters)
Extensions.cs (1)
689public static ImmutableArray<TypeSymbol> ConstraintTypes(this TypeParameterSymbol symbol)
TestAttributesVisitor.cs (1)
75public override void VisitTypeParameter(TypeParameterSymbol typeParameter)
UsesIsNullableVisitor.cs (13)
92private bool AddIfUsesIsNullable(Symbol symbol, ImmutableArray<ParameterSymbol> parameters, ConsList<TypeParameterSymbol> inProgress) 105private bool AddIfUsesIsNullable(Symbol symbol, ImmutableArray<TypeParameterSymbol> typeParameters, ConsList<TypeParameterSymbol> inProgress) 107foreach (var type in typeParameters) 118private bool AddIfUsesIsNullable(Symbol symbol, ImmutableArray<NamedTypeSymbol> types, ConsList<TypeParameterSymbol> inProgress) 131private bool AddIfUsesIsNullable(Symbol symbol, TypeWithAnnotations type, ConsList<TypeParameterSymbol> inProgress) 141private bool AddIfUsesIsNullable(Symbol symbol, TypeSymbol type, ConsList<TypeParameterSymbol> inProgress) 151private bool UsesIsNullable(TypeWithAnnotations type, ConsList<TypeParameterSymbol> inProgress) 162private bool UsesIsNullable(TypeSymbol type, ConsList<TypeParameterSymbol> inProgress) 197var typeParameter = (TypeParameterSymbol)type; 202inProgress = inProgress ?? ConsList<TypeParameterSymbol>.Empty; 211private bool UsesIsNullable(ImmutableArray<TypeWithAnnotations> types, ConsList<TypeParameterSymbol> inProgress)