9 types derived from TypeParameterSymbol
Microsoft.CodeAnalysis.CSharp (7)
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)
25: 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)
22internal abstract class SourceTypeParameterSymbolBase : TypeParameterSymbol, IAttributeTargetSymbol
Symbols\Wrapped\WrappedTypeParameterSymbol.cs (1)
22: TypeParameterSymbol
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (2)
Symbols\EETypeParameterSymbol.cs (1)
16internal sealed class EETypeParameterSymbol : TypeParameterSymbol
Symbols\SimpleTypeParameterSymbol.cs (1)
18internal sealed class SimpleTypeParameterSymbol : TypeParameterSymbol
1038 references to TypeParameterSymbol
Microsoft.CodeAnalysis.CSharp (660)
Binder\Binder_Constraints.cs (7)
25ImmutableArray<TypeParameterSymbol> typeParameters, 44foreach (var typeParameter in typeParameters) 344ImmutableArray<TypeParameterSymbol> typeParameters, 360TypeParameterSymbol typeParameter, 442TypeParameterSymbol typeParameter, 512static bool isValidConstraintType(TypeParameterSymbol typeParameter, TypeConstraintSyntax syntax, TypeWithAnnotations typeWithAnnotations, bool performOnlyCycleSafeValidation, BindingDiagnosticBag diagnostics) 515typeWithAnnotations.DefaultType is TypeParameterSymbol typeParameterInConstraint && typeParameterInConstraint.ContainingSymbol == (object)typeParameter.ContainingSymbol)
Binder\Binder_Conversions.cs (2)
320Debug.Assert(conversion.ConstrainedToTypeOpt is TypeParameterSymbol); 385return binder.BindTypeParameterCreationExpression(syntax, (TypeParameterSymbol)type, arguments, initializerOpt, typeSyntax: syntax, wasTargetTyped: true, diagnostics);
Binder\Binder_Expressions.cs (3)
4455return BindTypeParameterCreationExpression(node, (TypeParameterSymbol)type, diagnostics); 5961private BoundExpression BindTypeParameterCreationExpression(ObjectCreationExpressionSyntax node, TypeParameterSymbol typeParameter, BindingDiagnosticBag diagnostics) 5971SyntaxNode node, TypeParameterSymbol typeParameter, AnalyzedArguments analyzedArguments, InitializerExpressionSyntax initializerOpt,
Binder\Binder_Lookup.cs (4)
185this.LookupMembersInTypeParameter(result, (TypeParameterSymbol)type, name, arity, basesBeingResolved, options, originalBinder, diagnose, ref useSiteInfo); 1168private void LookupMembersInTypeParameter(LookupResult current, TypeParameterSymbol typeParameter, string name, int arity, ConsList<TypeSymbol> basesBeingResolved, LookupOptions options, Binder originalBinder, bool diagnose, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1868this.AddMemberLookupSymbolsInfoInTypeParameter(result, (TypeParameterSymbol)type, options, originalBinder); 2033private void AddMemberLookupSymbolsInfoInTypeParameter(LookupSymbolsInfo result, TypeParameterSymbol type, LookupOptions options, Binder originalBinder)
Binder\Binder_NameConflicts.cs (2)
31ImmutableArray<TypeParameterSymbol> typeParameters, 40foreach (var tp in typeParameters)
Binder\Binder_Operators.cs (4)
405Debug.Assert(left.Type is not TypeParameterSymbol); 813case (BoundKind.DefaultLiteral, _) when right.Type is TypeParameterSymbol: 817case (_, BoundKind.DefaultLiteral) when left.Type is TypeParameterSymbol: 2357if (constrainedToTypeOpt is not TypeParameterSymbol)
Binder\Binder_Patterns.cs (1)
465var 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)
1320ImmutableArray<TypeParameterSymbol> typeParameters = delegateType.TypeParameters;
Binder\ForEachLoopBinder.cs (2)
1582var typeParameter = (TypeParameterSymbol)type;
Binder\LocalBinderFactory.cs (2)
273TypeParameterSymbol typeParameter => getMethodParametersFromTypeParameter(typeParameter), 298static ImmutableArray<ParameterSymbol> getMethodParametersFromTypeParameter(TypeParameterSymbol typeParameter)
Binder\Semantics\AccessCheck.cs (1)
646case TypeParameterSymbol typeParameter:
Binder\Semantics\Conversions\Conversion.cs (1)
447internal TypeParameterSymbol? ConstrainedToTypeOpt
Binder\Semantics\Conversions\ConversionsBase.cs (21)
1757private static bool HasIdentityConversionToAny(NamedTypeSymbol type, ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)> targetTypes) 2523return HasImplicitReferenceTypeParameterConversion((TypeParameterSymbol)source, destination, ref useSiteInfo); 2702public bool HasImplicitTypeParameterConversion(TypeParameterSymbol source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2715source.DependsOn((TypeParameterSymbol)destination)) 2723private bool HasImplicitReferenceTypeParameterConversion(TypeParameterSymbol source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2752source.DependsOn((TypeParameterSymbol)destination)) 2761private bool HasImplicitEffectiveBaseConversion(TypeParameterSymbol source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2785private bool HasImplicitEffectiveInterfaceSetConversion(TypeParameterSymbol source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 2964TypeParameterSymbol typeParameterSymbol = (TypeParameterSymbol)typeParameters[paramIndex].Type; 3026private bool HasImplicitBoxingTypeParameterConversion(TypeParameterSymbol source, TypeSymbol destination, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 3055source.DependsOn((TypeParameterSymbol)destination)) 3082HasImplicitBoxingTypeParameterConversion((TypeParameterSymbol)source, destination, ref useSiteInfo)) 3306TypeParameterSymbol s = source as TypeParameterSymbol; 3307TypeParameterSymbol t = destination as TypeParameterSymbol; 3353TypeParameterSymbol s = source as TypeParameterSymbol; 3354TypeParameterSymbol 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, 250foreach ((NamedTypeSymbol declaringType, TypeParameterSymbol constrainedToTypeOpt) in d) 265foreach ((NamedTypeSymbol declaringType, TypeParameterSymbol constrainedToTypeOpt) in d) 275TypeParameterSymbol constrainedToTypeOpt, 946var d = ArrayBuilder<(NamedTypeSymbol ParticipatingType, TypeParameterSymbol ConstrainedToTypeOpt)>.GetInstance();
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (4)
136if (!isShift && (leftOperatorSourceOpt is null || (leftOperatorSourceOpt is not TypeParameterSymbol && rightOperatorSourceOpt is TypeParameterSymbol))) 246interfaces = ((TypeParameterSymbol)operatorSourceOpt).AllEffectiveInterfacesWithDefinitionUseSiteDiagnostics(ref useSiteInfo); 872current = ((TypeParameterSymbol)type0).EffectiveBaseClass(ref useSiteInfo);
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (3)
378TypeSymbol constrainedToTypeOpt = type0 as TypeParameterSymbol; 397current = ((TypeParameterSymbol)type0).EffectiveBaseClass(ref useSiteInfo); 424interfaces = ((TypeParameterSymbol)type0).AllEffectiveInterfacesWithDefinitionUseSiteDiagnostics(ref useSiteInfo);
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (21)
133private readonly ImmutableArray<TypeParameterSymbol> _methodTypeParameters; 168ImmutableArray<TypeParameterSymbol> methodTypeParameters, 316ImmutableArray<TypeParameterSymbol> methodTypeParameters, 489TypeParameterSymbol typeParameter = (TypeParameterSymbol)type.Type; 512var methodTypeParameter = (TypeParameterSymbol)methodTypeParameterWithAnnotations.Type; 623var ordinal = ((TypeParameterSymbol)target.Type).Ordinal; 891private static bool DoesInputTypeContain(BoundExpression argument, TypeSymbol formalParameterType, TypeParameterSymbol typeParameter) 947TypeParameterSymbol typeParameter) 2064sourceBase = ((TypeParameterSymbol)source).EffectiveBaseClass(ref useSiteInfo); 2107var typeParameter = (TypeParameterSymbol)source; 2166var typeParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 2179var typeParameter = typeParameters[arg]; 2516var typeParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 2529var typeParameter = typeParameters[arg]; 2607var typeParameter = _methodTypeParameters[iParam]; 2639TypeParameterSymbol typeParameter, 2792static bool hasExpressionTypeConstraint(TypeParameterSymbol typeParameter) 3054TypeParameterSymbol pParam = _methodTypeParameters[iParam];
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
3550ImmutableArray<TypeParameterSymbol> 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) 112private static void AddTypeParameters(GenericNameSyntax genericNameSyntax, MultiDictionary<string, TypeParameterSymbol> map) 132TypeParameterSymbol typeParameterSymbol = new CrefTypeParameterSymbol(name, i, typeParameterSyntax); 145foreach (TypeParameterSymbol typeParameter in kvp.Value)
Binder\WithMethodTypeParametersBinder.cs (5)
19private MultiDictionary<string, TypeParameterSymbol> _lazyTypeParameterMap; 37protected override MultiDictionary<string, TypeParameterSymbol> TypeParameterMap 43var result = new MultiDictionary<string, TypeParameterSymbol>(); 44foreach (var typeParameter in _methodSymbol.TypeParameters) 68foreach (var parameter in _methodSymbol.TypeParameters)
Binder\WithTypeParametersBinder.cs (2)
22protected abstract MultiDictionary<string, TypeParameterSymbol> TypeParameterMap { get; } 48foreach (var typeParameter in TypeParameterMap[name])
CodeGen\EmitExpression.cs (1)
426((TypeParameterSymbol)receiverType).EffectiveInterfacesNoUseSiteDiagnostics.IsEmpty) || // This could be a nullable value type, which must be copied in order to not mutate the original value
Compilation\BuiltInOperators.cs (2)
889leftType = ((TypeParameterSymbol)leftType).EffectiveBaseClass(ref useSiteInfo); 900rightType = ((TypeParameterSymbol)rightType).EffectiveBaseClass(ref useSiteInfo);
Compilation\SyntaxTreeSemanticModel.cs (3)
2169private TypeParameterSymbol GetTypeParameterSymbol(ImmutableArray<TypeParameterSymbol> parameters, TypeParameterSyntax parameter) 2171foreach (var symbol in parameters)
Compiler\ClsComplianceChecker.cs (2)
546private void CheckTypeParameterCompliance(ImmutableArray<TypeParameterSymbol> typeParameters, NamedTypeSymbol context) 550foreach (TypeParameterSymbol typeParameter in typeParameters)
Compiler\DocumentationCommentCompiler.cs (8)
321HashSet<TypeParameterSymbol> documentedTypeParameters; 389foreach (TypeParameterSymbol typeParameter in GetTypeParameters(symbol)) 490out HashSet<TypeParameterSymbol> documentedTypeParameters, 631private static ImmutableArray<TypeParameterSymbol> GetTypeParameters(Symbol symbol) 641return ImmutableArray<TypeParameterSymbol>.Empty; 1123ref HashSet<TypeParameterSymbol> documentedTypeParameters, 1142documentedTypeParameters = new HashSet<TypeParameterSymbol>(); 1200if (!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)
644public override Symbol VisitTypeParameter(TypeParameterSymbol symbol) 925private static bool AreTypeParametersEqual(TypeParameterSymbol type, TypeParameterSymbol other) 970return AreTypeParametersEqual((TypeParameterSymbol)type, (TypeParameterSymbol)other); 1138public override Symbol VisitTypeParameter(TypeParameterSymbol symbol)
Emitter\Model\MethodSymbolAdapter.cs (1)
334foreach (var @param in AdaptedMethodSymbol.TypeParameters)
Emitter\Model\NamedTypeSymbolAdapter.cs (1)
447foreach (var t in AdaptedNamedTypeSymbol.TypeParameters)
Emitter\Model\PEModuleBuilder.cs (2)
1108internal static Cci.IGenericParameterReference Translate(TypeParameterSymbol param) 1139return Translate((TypeParameterSymbol)typeSymbol);
Emitter\Model\TypeParameterSymbolAdapter.cs (2)
379internal TypeParameterSymbolAdapter(TypeParameterSymbol underlyingTypeParameterSymbol) 385internal TypeParameterSymbol AdaptedTypeParameterSymbol { get; }
FlowAnalysis\NullableWalker.cs (10)
2210if (type.Type.IsTypeParameterDisallowingAnnotationInCSharp8() && !(type.Type is TypeParameterSymbol { IsNotNullable: true })) 5066TypeParameterSymbol tp => tp.EffectiveBaseClassNoUseSiteDiagnostics, 5072TypeParameterSymbol tp => tp.AllEffectiveInterfacesNoUseSiteDiagnostics, 8267type is TypeParameterSymbol typeParameter1 && 8268dependsOnTypeParameter(typeParameter1, (TypeParameterSymbol)targetType.Type, NullableAnnotation.NotAnnotated, out var annotation)) 8298type is TypeParameterSymbol typeParameter1 && 8299targetType.Type is TypeParameterSymbol typeParameter2) 8338static bool dependsOnTypeParameter(TypeParameterSymbol typeParameter1, TypeParameterSymbol typeParameter2, NullableAnnotation typeParameter1Annotation, out NullableAnnotation annotation) 8349if (constraintType.Type is TypeParameterSymbol constraintTypeParameter &&
Lowering\ClosureConversion\ClosureConversion.cs (1)
116private ImmutableArray<TypeParameterSymbol> _currentTypeParameters;
Lowering\ClosureConversion\SynthesizedClosureMethod.cs (1)
52ImmutableArray<TypeParameterSymbol> typeParameters;
Lowering\IteratorRewriter\IteratorFinallyMethodSymbol.cs (2)
159public override ImmutableArray<TypeParameterSymbol> TypeParameters 161get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Lowering\LocalRewriter\DelegateCacheRewriter.cs (8)
163var usedTypeParameters = PooledHashSet<TypeParameterSymbol>.GetInstance(); 193static bool usedTypeParametersContains(HashSet<TypeParameterSymbol> used, ImmutableArray<TypeParameterSymbol> typeParameters) 195foreach (var typeParameter in typeParameters) 207private static void FindTypeParameters(TypeSymbol type, HashSet<TypeParameterSymbol> result) 210private static void FindTypeParameters(MethodSymbol method, HashSet<TypeParameterSymbol> result) 220private static readonly Func<TypeSymbol, HashSet<TypeParameterSymbol>, bool, bool> s_typeParameterSymbolCollector = (typeSymbol, result, _) => 222if (typeSymbol is TypeParameterSymbol typeParameter)
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (3)
1081var constrainedToTypeOpt = conversion.ConstrainedToTypeOpt; 1221var constrainedToTypeOpt = conversion.ConstrainedToTypeOpt; 1293var constrainedToTypeOpt = conversion.ConstrainedToTypeOpt;
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (2)
307var rewrittenNewT = MakeNewT(node.Syntax, (TypeParameterSymbol)node.Type); 316private BoundExpression MakeNewT(SyntaxNode syntax, TypeParameterSymbol typeParameter)
Lowering\LocalRewriter\LoweredDynamicOperationFactory.cs (1)
714return synthesizedContainer.Construct(synthesizedContainer.ConstructedFromTypeParameters.Cast<TypeParameterSymbol, TypeSymbol>());
Lowering\MethodToClassRewriter.cs (2)
743ImmutableArray<TypeParameterSymbol> typeParameters; 746typeParameters = ImmutableArray<TypeParameterSymbol>.Empty;
Lowering\SynthesizedMethodBaseSymbol.cs (3)
29private ImmutableArray<TypeParameterSymbol> _typeParameters; 56protected void AssignTypeMapAndTypeParameters(TypeMap typeMap, ImmutableArray<TypeParameterSymbol> typeParameters) 87public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters
Operations\CSharpOperationFactory.cs (9)
451TypeParameterSymbol? constrainedToType = GetConstrainedToType(targetMethod, boundCall.ReceiverOpt); 458private static TypeParameterSymbol? GetConstrainedToType(Symbol targetMember, BoundExpression? receiverOpt) 461receiverOpt is BoundTypeExpression { Type: TypeParameterSymbol typeParameter }) 617TypeParameterSymbol? constrainedToType = GetConstrainedToType(boundPropertyAccess.PropertySymbol, boundPropertyAccess.ReceiverOpt); 636TypeParameterSymbol? constrainedToType = GetConstrainedToType(property, boundIndexerAccess.ReceiverOpt); 647TypeParameterSymbol? constrainedToType = GetConstrainedToType(boundEventAccess.EventSymbol, boundEventAccess.ReceiverOpt); 1156TypeParameterSymbol? constrainedToType = GetConstrainedToType(methodSymbol, boundMethodGroup.ReceiverOpt); 1307private static TypeParameterSymbol? GetConstrainedToTypeForOperator(MethodSymbol? operatorMethod, TypeSymbol? constrainedToTypeOpt) 1310constrainedToTypeOpt is TypeParameterSymbol typeParameter)
Operations\CSharpOperationFactory_Methods.cs (1)
136TypeParameterSymbol? constrainedToType = GetConstrainedToType(boundEventAssignmentOperator.Event, boundEventAssignmentOperator.ReceiverOpt);
Symbols\AbstractTypeMap.cs (7)
104return SubstituteTypeParameter((TypeParameterSymbol)previous); 178protected virtual TypeWithAnnotations SubstituteTypeParameter(TypeParameterSymbol typeParameter) 341TypeParameterSymbol owner, 344HashSet<TypeParameterSymbol> ignoreTypesDependentOnTypeParametersOpt) 399internal ImmutableArray<TypeParameterSymbol> SubstituteTypeParameters(ImmutableArray<TypeParameterSymbol> original) 401return 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)
333static SynthesizedDelegateKey getTemplateKey(AnonymousTypeDescriptor typeDescr, ImmutableArray<TypeParameterSymbol> typeParameters) 345private static ImmutableArray<TypeParameterSymbol> GetReferencedTypeParameters(AnonymousTypeDescriptor typeDescr) 347var referenced = PooledHashSet<TypeParameterSymbol>.GetInstance(); 355if (type is TypeParameterSymbol typeParameter) 365ImmutableArray<TypeParameterSymbol> typeParameters; 368typeParameters = ImmutableArray<TypeParameterSymbol>.Empty; 372var builder = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 380static int compareTypeParameters(TypeParameterSymbol x, TypeParameterSymbol y)
Symbols\AnonymousTypes\PublicSymbols\AnonymousManager.TypeOrDelegatePublicSymbol.cs (2)
88public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 90get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.DelegateTemplateSymbol.cs (6)
73private static ImmutableArray<TypeParameterSymbol> CreateTypeParameters(AnonymousDelegateTemplateSymbol containingType, int parameterCount, bool returnsVoid) 75var typeParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(parameterCount + (returnsVoid ? 0 : 1)); 152internal AnonymousDelegateTemplateSymbol(AnonymousTypeManager manager, AnonymousTypeDescriptor typeDescr, ImmutableArray<TypeParameterSymbol> typeParametersToSubstitute) 165TypeParameters = ImmutableArray<TypeParameterSymbol>.Empty; 170var typeParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(typeParameterCount); 231public 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)
118internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 128internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 133internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 138internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress)
Symbols\Compilation_WellKnownMembers.cs (4)
1163TypeParameterSymbol typeParam = (TypeParameterSymbol)type; 1177TypeParameterSymbol typeParam = (TypeParameterSymbol)type;
Symbols\ConstraintsHelper.cs (41)
27public readonly TypeParameterSymbol TypeParameter; 30public TypeParameterDiagnosticInfo(TypeParameterSymbol typeParameter, UseSiteInfo<AssemblySymbol> useSiteInfo) 71this TypeParameterSymbol typeParameter, 73ConsList<TypeParameterSymbol> inProgress, 100this TypeParameterSymbol typeParameter, 102ConsList<TypeParameterSymbol> inProgress, 141var constraintTypeParameter = (TypeParameterSymbol)constraintType.Type; 142ConsList<TypeParameterSymbol> constraintsInProgress; 159constraintsInProgress = ConsList<TypeParameterSymbol>.Empty; 215var underlyingTypeParameter = (TypeParameterSymbol)underlyingType; 318ImmutableArray<TypeParameterSymbol> typeParameters, 348ImmutableArray<TypeParameterSymbol> typeParameters, 386internal static ImmutableArray<TypeParameterConstraintClause> AdjustConstraintKindsBasedOnConstraintTypes(ImmutableArray<TypeParameterSymbol> typeParameters, ImmutableArray<TypeParameterConstraintClause> constraintClauses) 392SmallDictionary<TypeParameterSymbol, bool> isValueTypeMap = TypeParameterConstraintClause.BuildIsValueTypeMap(typeParameters, constraintClauses); 393SmallDictionary<TypeParameterSymbol, bool> isReferenceTypeFromConstraintTypesMap = TypeParameterConstraintClause.BuildIsReferenceTypeFromConstraintTypesMap(typeParameters, constraintClauses); 399var typeParameter = typeParameters[i]; 436TypeParameterSymbol typeParameter, 838ImmutableArray<TypeParameterSymbol> typeParameters, 844HashSet<TypeParameterSymbol> ignoreTypeConstraintsDependentOnTypeParametersOpt = null) 875TypeParameterSymbol typeParameter, 954TypeParameterSymbol typeParameter, 959HashSet<TypeParameterSymbol> ignoreTypeConstraintsDependentOnTypeParametersOpt) 1015static bool errorIfNotSatisfiesConstructorConstraint(Symbol containingSymbol, TypeParameterSymbol typeParameter, TypeWithAnnotations typeArgument, ArrayBuilder<TypeParameterDiagnosticInfo> diagnosticsBuilder) 1040TypeParameterSymbol typeParameter, 1064TypeParameterSymbol typeParameter, 1139var typeParameter = type as TypeParameterSymbol; 1177var typeParameter = type as TypeParameterSymbol; 1195TypeParameterSymbol typeParameter, 1272var typeParameter = (TypeParameterSymbol)typeArgument.Type; 1326private static bool IsReferenceType(TypeParameterSymbol typeParameter, ImmutableArray<TypeWithAnnotations> constraintTypes) 1328return typeParameter.HasReferenceTypeConstraint || TypeParameterSymbol.CalculateIsReferenceTypeFromConstraintTypes(constraintTypes); 1331private static bool IsValueType(TypeParameterSymbol typeParameter, ImmutableArray<TypeWithAnnotations> constraintTypes) 1333return typeParameter.HasValueTypeConstraint || TypeParameterSymbol.CalculateIsValueTypeFromConstraintTypes(constraintTypes); 1336private static TypeParameterDiagnosticInfo GenerateConflictingConstraintsError(TypeParameterSymbol typeParameter, TypeSymbol deducedBase, bool classConflict) 1387var typeParameter = (TypeParameterSymbol)typeArgument;
Symbols\ConstructedNamedTypeSymbol.cs (1)
96internal static bool TypeParametersMatchTypeArguments(ImmutableArray<TypeParameterSymbol> typeParameters, ImmutableArray<TypeWithAnnotations> typeArguments)
Symbols\ErrorMethodSymbol.cs (2)
148public override ImmutableArray<TypeParameterSymbol> TypeParameters 150get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\ErrorTypeSymbol.cs (9)
22private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 309public override ImmutableArray<TypeParameterSymbol> TypeParameters 317default(ImmutableArray<TypeParameterSymbol>)); 323private ImmutableArray<TypeParameterSymbol> GetTypeParameters() 328return ImmutableArray<TypeParameterSymbol>.Empty; 332var @params = new TypeParameterSymbol[arity]; 647public override ImmutableArray<TypeParameterSymbol> TypeParameters 676private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 686public override ImmutableArray<TypeParameterSymbol> TypeParameters
Symbols\ErrorTypeSymbol.ErrorTypeParameterSymbol.cs (4)
154internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 159internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 164internal override NamedTypeSymbol? GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 169internal override TypeSymbol? GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress)
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (2)
804public override ImmutableArray<TypeParameterSymbol> TypeParameters => ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\MemberSignatureComparer.cs (9)
595public static bool HaveSameConstraints(ImmutableArray<TypeParameterSymbol> typeParameters1, TypeMap typeMap1, ImmutableArray<TypeParameterSymbol> typeParameters2, TypeMap typeMap2) 611public static bool HaveSameConstraints(TypeParameterSymbol typeParameter1, TypeMap typeMap1, TypeParameterSymbol typeParameter2, TypeMap typeMap2) 627private static bool HaveSameTypeConstraints(TypeParameterSymbol typeParameter1, TypeMap typeMap1, TypeParameterSymbol typeParameter2, TypeMap typeMap2, IEqualityComparer<TypeSymbol> comparer) 654public static bool HaveSameNullabilityInConstraints(TypeParameterSymbol typeParameter1, TypeMap typeMap1, TypeParameterSymbol typeParameter2, TypeMap typeMap2) 674private static bool AreConstraintTypesSubset(HashSet<TypeSymbol> constraintTypes1, HashSet<TypeSymbol> constraintTypes2, TypeParameterSymbol typeParameter2)
Symbols\MemberSymbolExtensions.cs (2)
322internal static ImmutableArray<TypeParameterSymbol> GetMemberTypeParameters(this Symbol symbol) 334return 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)
359private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 815ImmutableArray<TypeParameterSymbol>.Empty); 863public override ImmutableArray<TypeParameterSymbol> TypeParameters 878private ImmutableArray<TypeParameterSymbol> EnsureTypeParametersAreLoaded(ref DiagnosticInfo diagnosticInfo) 889private ImmutableArray<TypeParameterSymbol> LoadTypeParameters(ref DiagnosticInfo diagnosticInfo) 898return ImmutableArray<TypeParameterSymbol>.Empty; 902var ownedParams = ImmutableArray.CreateBuilder<TypeParameterSymbol>(gpHandles.Count); 914return ImmutableArray<TypeParameterSymbol>.Empty; 1445foreach (var typeParam in TypeParameters)
Symbols\Metadata\PE\PENamedTypeSymbol.cs (10)
1632public override ImmutableArray<TypeParameterSymbol> TypeParameters 1636return ImmutableArray<TypeParameterSymbol>.Empty; 2140foreach (var typeParameter in TypeParameters) 2521private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 2579public override ImmutableArray<TypeParameterSymbol> TypeParameters 2601TypeParameterSymbol[] ownedParams = new TypeParameterSymbol[_arity]; 2608ImmutableArray.Create<TypeParameterSymbol>(ownedParams)); 2662var containingTypeParameter = containingTypeParameters[i]; 2663var nestedTypeParameter = nestedTypeParameters[i];
Symbols\Metadata\PE\PETypeParameterSymbol.cs (5)
607internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 613internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 619internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 625internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress) 649private TypeParameterBounds GetBounds(ConsList<TypeParameterSymbol> inProgress)
Symbols\Metadata\PE\SymbolFactory.cs (1)
141ImmutableArray<TypeParameterSymbol> typeParameters = genericType.GetAllTypeParameters();
Symbols\MethodSymbol.cs (2)
265public abstract ImmutableArray<TypeParameterSymbol> TypeParameters { get; } 821public 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)
63public abstract ImmutableArray<TypeParameterSymbol> TypeParameters { get; } 1010var allTypeParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 1041ArrayBuilder<TypeParameterSymbol> allTypeParameters,
Symbols\NativeIntegerTypeSymbol.cs (4)
38public override ImmutableArray<TypeParameterSymbol> TypeParameters => ImmutableArray<TypeParameterSymbol>.Empty; 331public 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; 167var notInferredTypeParameters = PooledHashSet<TypeParameterSymbol>.GetInstance(); 249public override TypeSymbol GetTypeInferredDuringReduction(TypeParameterSymbol reducedFromTypeParameter) 278public 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)
34private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 68public override ImmutableArray<TypeParameterSymbol> TypeParameters 76_lazyTypeParameters = ImmutableArray<TypeParameterSymbol>.Empty; 81this.RetargetingTranslator.Retarget(_underlyingType.TypeParameters), default(ImmutableArray<TypeParameterSymbol>));
Symbols\Retargeting\RetargetingSymbolTranslator.cs (13)
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); 881public ImmutableArray<TypeParameterSymbol> Retarget(ImmutableArray<TypeParameterSymbol> list) 883var parameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(list.Length); 885foreach (var tps in list) 1067public override TypeParameterSymbol Retarget(TypeParameterSymbol typeParameter) 1406public 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)
192internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 197internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 202internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 208internal 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(); 207internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 212internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 217internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 222internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress)
Symbols\Source\LambdaSymbol.cs (2)
189public override ImmutableArray<TypeParameterSymbol> TypeParameters 191get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Source\LocalFunctionSymbol.cs (3)
279public override ImmutableArray<TypeParameterSymbol> TypeParameters 280=> _typeParameters.Cast<SourceMethodTypeParameterSymbol, TypeParameterSymbol>(); 402var tpEnclosing = ContainingSymbol.FindEnclosingTypeParameter(name);
Symbols\Source\ParameterHelpers.cs (1)
206default(ImmutableArray<TypeParameterSymbol>);
Symbols\Source\SourceConstructorSymbolBase.cs (2)
142public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 144get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Source\SourceDelegateMethodSymbol.cs (2)
149public override ImmutableArray<TypeParameterSymbol> TypeParameters 153return ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Source\SourceDestructorSymbol.cs (2)
102public override ImmutableArray<TypeParameterSymbol> TypeParameters 104get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Source\SourceEventAccessorSymbol.cs (2)
204public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 206get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Source\SourceFixedFieldSymbol.cs (1)
156: base(GeneratedNames.MakeFixedFieldImplementationName(field.Name), typeParameters: ImmutableArray<TypeParameterSymbol>.Empty, typeMap: TypeMap.Empty)
Symbols\Source\SourceMemberContainerSymbol.cs (11)
572foreach (var typeParameter in this.TypeParameters) 1590else if (member is TypeParameterSymbol || member is SynthesizedMethodBaseSymbol) 2083foreach (TypeParameterSymbol typeParameter in this.TypeParameters) 2197foreach (var tp in TypeParameters) 4026ImmutableArray<TypeParameterSymbol>.Empty, 4072ImmutableArray<TypeParameterSymbol>.Empty, 4120ImmutableArray<TypeParameterSymbol>.Empty, 4179ImmutableArray<TypeParameterSymbol>.Empty, 4353ImmutableArray<TypeParameterSymbol>.Empty, 4446ImmutableArray<TypeParameterSymbol>.Empty, 5023foreach (var typeParameter in TypeParameters)
Symbols\Source\SourceMemberMethodSymbol.cs (2)
795foreach (var typeParameter in this.TypeParameters) 879foreach (var typeParameter in TypeParameters)
Symbols\Source\SourceNamedTypeSymbol.cs (5)
26private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 145private ImmutableArray<TypeParameterSymbol> MakeTypeParameters(BindingDiagnosticBag diagnostics) 149return ImmutableArray<TypeParameterSymbol>.Empty; 226var tpEnclosing = ContainingType.FindEnclosingTypeParameter(name); 748public override ImmutableArray<TypeParameterSymbol> TypeParameters
Symbols\Source\SourceOrdinaryMethodSymbol.cs (10)
108protected override ImmutableArray<TypeParameterSymbol> MakeTypeParameters(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) 114return ImmutableArray<TypeParameterSymbol>.Empty; 203if (type.DefaultType is TypeParameterSymbol typeParameterSymbol && typeParameterSymbol.DeclaringMethod == (object)args.method) 531private ImmutableArray<TypeParameterSymbol> MakeTypeParameters(MethodDeclarationSyntax syntax, BindingDiagnosticBag diagnostics) 548var result = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 575var tpEnclosing = ContainingType.FindEnclosingTypeParameter(name); 584var typeParameter = (typeMap != null) ? 585(TypeParameterSymbol)new SourceOverridingMethodTypeParameterSymbol( 783var typeParameter1 = typeParameters1[i]; 784var typeParameter2 = typeParameters2[i];
Symbols\Source\SourceOrdinaryMethodSymbolBase.cs (4)
26private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 77protected abstract ImmutableArray<TypeParameterSymbol> MakeTypeParameters(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics); 92var typeParameter = _typeParameters[i]; 174public override ImmutableArray<TypeParameterSymbol> TypeParameters
Symbols\Source\SourcePropertyAccessorSymbol.cs (2)
330public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 332get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Source\SourceTypeParameterSymbol.cs (23)
91internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 97internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 103internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 109internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress) 215protected abstract ImmutableArray<TypeParameterSymbol> ContainerTypeParameters 220private TypeParameterBounds GetBounds(ConsList<TypeParameterSymbol> inProgress) 245protected abstract TypeParameterBounds ResolveBounds(ConsList<TypeParameterSymbol> inProgress, BindingDiagnosticBag diagnostics); 569protected override ImmutableArray<TypeParameterSymbol> ContainerTypeParameters 574protected override TypeParameterBounds ResolveBounds(ConsList<TypeParameterSymbol> inProgress, BindingDiagnosticBag diagnostics) 702protected override ImmutableArray<TypeParameterSymbol> ContainerTypeParameters 707protected override TypeParameterBounds ResolveBounds(ConsList<TypeParameterSymbol> inProgress, BindingDiagnosticBag diagnostics) 753public TypeParameterSymbol GetOverriddenTypeParameter(int ordinal) 875var typeParameter = this.OverriddenTypeParameter; 884var typeParameter = this.OverriddenTypeParameter; 893var typeParameter = this.OverriddenTypeParameter; 902var typeParameter = this.OverriddenTypeParameter; 911var typeParameter = this.OverriddenTypeParameter; 920TypeParameterSymbol typeParameter = this.OverriddenTypeParameter; 945var typeParameter = this.OverriddenTypeParameter; 950protected override ImmutableArray<TypeParameterSymbol> ContainerTypeParameters 955protected override TypeParameterBounds ResolveBounds(ConsList<TypeParameterSymbol> inProgress, BindingDiagnosticBag diagnostics) 957var typeParameter = this.OverriddenTypeParameter; 974private TypeParameterSymbol OverriddenTypeParameter
Symbols\Source\SourceUserDefinedOperatorSymbolBase.cs (3)
701return type is TypeParameterSymbol p && 790public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 792get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Source\TypeParameterBuilder.cs (1)
34internal TypeParameterSymbol MakeSymbol(int ordinal, IList<TypeParameterBuilder> builders, BindingDiagnosticBag diagnostics)
Symbols\Source\TypeParameterConstraintClause.cs (19)
128internal static SmallDictionary<TypeParameterSymbol, bool> BuildIsValueTypeMap( 129ImmutableArray<TypeParameterSymbol> typeParameters, 134var isValueTypeMap = new SmallDictionary<TypeParameterSymbol, bool>(ReferenceEqualityComparer.Instance); 136foreach (TypeParameterSymbol typeParameter in typeParameters) 138isValueType(typeParameter, constraintClauses, isValueTypeMap, ConsList<TypeParameterSymbol>.Empty); 143static bool isValueType(TypeParameterSymbol thisTypeParameter, ImmutableArray<TypeParameterConstraintClause> constraintClauses, SmallDictionary<TypeParameterSymbol, bool> isValueTypeMap, ConsList<TypeParameterSymbol> inProgress) 172if (type is TypeParameterSymbol typeParameter && (object)typeParameter.ContainingSymbol == (object)container) 193internal static SmallDictionary<TypeParameterSymbol, bool> BuildIsReferenceTypeFromConstraintTypesMap( 194ImmutableArray<TypeParameterSymbol> typeParameters, 199var isReferenceTypeFromConstraintTypesMap = new SmallDictionary<TypeParameterSymbol, bool>(ReferenceEqualityComparer.Instance); 201foreach (TypeParameterSymbol typeParameter in typeParameters) 203isReferenceTypeFromConstraintTypes(typeParameter, constraintClauses, isReferenceTypeFromConstraintTypesMap, ConsList<TypeParameterSymbol>.Empty); 208static bool isReferenceTypeFromConstraintTypes(TypeParameterSymbol thisTypeParameter, ImmutableArray<TypeParameterConstraintClause> constraintClauses, 209SmallDictionary<TypeParameterSymbol, bool> isReferenceTypeFromConstraintTypesMap, ConsList<TypeParameterSymbol> inProgress) 232if (type is TypeParameterSymbol typeParameter) 248else if (TypeParameterSymbol.NonTypeParameterConstraintImpliesReferenceType(type))
Symbols\SubstitutedMethodSymbol.cs (5)
31private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 91public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 107ImmutableArray<TypeParameterSymbol> typeParameters; 121ImmutableInterlocked.InterlockedCompareExchange(ref _lazyTypeParameters, typeParameters, default(ImmutableArray<TypeParameterSymbol>)); 172public override TypeSymbol GetTypeInferredDuringReduction(TypeParameterSymbol reducedFromTypeParameter)
Symbols\SubstitutedNamedTypeSymbol.cs (4)
40private ImmutableArray<TypeParameterSymbol> _lazyTypeParameters; 84public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters 100ImmutableArray<TypeParameterSymbol> typeParameters; 113ImmutableInterlocked.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)
1244internal static bool GetUnificationUseSiteDiagnosticRecursive(ref DiagnosticInfo result, ImmutableArray<TypeParameterSymbol> typeParameters, Symbol owner, ref HashSet<TypeSymbol> checkedTypes) 1246foreach (var typeParameter in typeParameters)
Symbols\SymbolExtensions.cs (4)
426internal static TypeParameterSymbol? EnsureCSharpSymbolOrNull(this ITypeParameterSymbol? symbol, string paramName) 428return (TypeParameterSymbol?)EnsureCSharpSymbolOrNull((ISymbol?)symbol, paramName); 653internal static ITypeParameterSymbol? GetPublicSymbol(this TypeParameterSymbol? symbol) 728internal 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\Records\SynthesizedRecordOrdinaryMethod.cs (2)
42protected sealed override ImmutableArray<TypeParameterSymbol> MakeTypeParameters(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics) => ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Synthesized\SynthesizedContainer.cs (6)
23private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 24private readonly ImmutableArray<TypeParameterSymbol> _constructedFromTypeParameters; 33_typeParameters = ImmutableArray<TypeParameterSymbol>.Empty; 41protected SynthesizedContainer(string name, ImmutableArray<TypeParameterSymbol> typeParameters, TypeMap typeMap) 80internal ImmutableArray<TypeParameterSymbol> ConstructedFromTypeParameters => _constructedFromTypeParameters; 82public 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)
56public 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 (2)
161public override ImmutableArray<TypeParameterSymbol> TypeParameters 163get { return ImmutableArray<TypeParameterSymbol>.Empty; }
Symbols\Synthesized\SynthesizedImplementationMethod.cs (2)
24private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 86public sealed override ImmutableArray<TypeParameterSymbol> TypeParameters
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)
246public override ImmutableArray<TypeParameterSymbol> TypeParameters 250return ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Synthesized\SynthesizedSealedPropertyAccessor.cs (2)
209public override ImmutableArray<TypeParameterSymbol> TypeParameters 213return ImmutableArray<TypeParameterSymbol>.Empty;
Symbols\Synthesized\SynthesizedSimpleProgramEntryPointSymbol.cs (2)
122public override ImmutableArray<TypeParameterSymbol> TypeParameters 126return 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\TypeMap.cs (29)
26internal static ImmutableArray<TypeWithAnnotations> TypeParametersAsTypeSymbolsWithAnnotations(ImmutableArray<TypeParameterSymbol> typeParameters) 31internal static ImmutableArray<TypeWithAnnotations> TypeParametersAsTypeSymbolsWithIgnoredAnnotations(ImmutableArray<TypeParameterSymbol> typeParameters) 42internal TypeMap(ImmutableArray<TypeParameterSymbol> from, ImmutableArray<TypeWithAnnotations> to, bool allowAlpha = false) 50internal TypeMap(ImmutableArray<TypeParameterSymbol> from, ImmutableArray<TypeParameterSymbol> to, bool allowAlpha = false) 56private TypeMap(SmallDictionary<TypeParameterSymbol, TypeWithAnnotations> mapping) 57: base(new SmallDictionary<TypeParameterSymbol, TypeWithAnnotations>(mapping, ReferenceEqualityComparer.Instance)) 62private static SmallDictionary<TypeParameterSymbol, TypeWithAnnotations> ForType(NamedTypeSymbol containingType) 66new SmallDictionary<TypeParameterSymbol, TypeWithAnnotations>(substituted.TypeSubstitution.Mapping, ReferenceEqualityComparer.Instance) : 67new SmallDictionary<TypeParameterSymbol, TypeWithAnnotations>(ReferenceEqualityComparer.Instance); 70internal TypeMap(NamedTypeSymbol containingType, ImmutableArray<TypeParameterSymbol> typeParameters, ImmutableArray<TypeWithAnnotations> typeArguments) 75TypeParameterSymbol tp = typeParameters[i]; 84private static readonly SmallDictionary<TypeParameterSymbol, TypeWithAnnotations> s_emptyDictionary = 85new SmallDictionary<TypeParameterSymbol, TypeWithAnnotations>(ReferenceEqualityComparer.Instance); 103private TypeMap WithAlphaRename(ImmutableArray<TypeParameterSymbol> oldTypeParameters, Symbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters) 107newTypeParameters = ImmutableArray<TypeParameterSymbol>.Empty; 118ArrayBuilder<TypeParameterSymbol> newTypeParametersBuilder = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 125foreach (var tp in oldTypeParameters) 139internal TypeMap WithAlphaRename(NamedTypeSymbol oldOwner, NamedTypeSymbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters) 145internal TypeMap WithAlphaRename(MethodSymbol oldOwner, Symbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters) 154out ImmutableArray<TypeParameterSymbol> newTypeParameters, 155out ImmutableArray<TypeParameterSymbol> oldTypeParameters, 173var parameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 200private static SmallDictionary<TypeParameterSymbol, TypeWithAnnotations> ConstructMapping(ImmutableArray<TypeParameterSymbol> from, ImmutableArray<TypeWithAnnotations> to) 202var mapping = new SmallDictionary<TypeParameterSymbol, TypeWithAnnotations>(ReferenceEqualityComparer.Instance); 208TypeParameterSymbol tp = from[i];
Symbols\TypeParameterSymbol.cs (18)
27public new virtual TypeParameterSymbol OriginalDefinition 47public virtual TypeParameterSymbol ReducedFrom 87return this.GetConstraintTypes(ConsList<TypeParameterSymbol>.Empty); 264return this.GetEffectiveBaseClass(ConsList<TypeParameterSymbol>.Empty); 289return this.GetInterfaces(ConsList<TypeParameterSymbol>.Empty); 313return this.GetDeducedBaseType(ConsList<TypeParameterSymbol>.Empty); 374protected static void EnsureAllConstraintsAreResolved(ImmutableArray<TypeParameterSymbol> typeParameters) 376foreach (var typeParameter in typeParameters) 379var unused = typeParameter.GetConstraintTypes(ConsList<TypeParameterSymbol>.Empty); 383internal abstract ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress); 385internal abstract ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress); 387internal abstract NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress); 389internal abstract TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress); 395return ((TypeParameterSymbol)constraint).IsReferenceTypeFromConstraintTypes; 486bool? isNotNullable = ((TypeParameterSymbol)constraintType.Type).IsNotNullable; 645return this.Equals(t2 as TypeParameterSymbol, comparison); 648internal bool Equals(TypeParameterSymbol other) 653private 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(); 2062var typeParameter1 = typeParameters1[i]; 2063var typeParameter2 = typeParameters2[i];
Symbols\TypeSymbolExtensions.cs (19)
67var typeParameter = (TypeParameterSymbol)type; 84return type is TypeParameterSymbol { IsValueType: false, IsNotNullable: false }; 111var constraintTypes = ((TypeParameterSymbol)type).ConstraintTypesNoUseSiteDiagnostics; 329public static bool IsMethodTypeParameter(this TypeParameterSymbol p) 1109public static bool ContainsTypeParameter(this TypeSymbol type, TypeParameterSymbol? parameter = null) 1115private static readonly Func<TypeSymbol, TypeParameterSymbol?, bool, bool> s_containsTypeParameterPredicate = 1129public static bool ContainsTypeParameters(this TypeSymbol type, HashSet<TypeParameterSymbol> parameters) 1135private static readonly Func<TypeSymbol, HashSet<TypeParameterSymbol>, bool, bool> s_containsTypeParametersPredicate = 1136(type, parameters, unused) => type.TypeKind == TypeKind.TypeParameter && parameters.Contains((TypeParameterSymbol)type); 1593internal static ImmutableArray<TypeParameterSymbol> GetAllTypeParameters(this NamedTypeSymbol type) 1601var builder = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 1610internal static void GetAllTypeParameters(this NamedTypeSymbol type, ArrayBuilder<TypeParameterSymbol> result) 1625internal static TypeParameterSymbol? FindEnclosingTypeParameter(this NamedTypeSymbol type, string name) 1627var allTypeParameters = ArrayBuilder<TypeParameterSymbol>.GetInstance(); 1630TypeParameterSymbol? result = null; 1632foreach (TypeParameterSymbol tpEnclosing in allTypeParameters) 1649internal static TypeParameterSymbol? FindEnclosingTypeParameter(this Symbol methodOrType, string name) 1665foreach (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 (5)
204if (((TypeParameterSymbol)typeSymbol).TypeParameterKind == TypeParameterKind.Cref) 315var declaringMethod = (DefaultType as TypeParameterSymbol)?.DeclaringMethod as SourceOrdinaryMethodSymbol; 457if (newTypeWithModifiers.Is((TypeParameterSymbol)typeSymbol) && 462else if (Is((TypeParameterSymbol)typeSymbol) && newTypeWithModifiers.NullableAnnotation != NullableAnnotation.Ignored) 533public bool Is(TypeParameterSymbol other)
Symbols\UnboundGenericType.cs (1)
49public static ImmutableArray<TypeWithAnnotations> CreateTypeArguments(ImmutableArray<TypeParameterSymbol> typeParameters, int n, DiagnosticInfo errorInfo)
Symbols\VarianceSafety.cs (6)
258private static void CheckTypeParametersVarianceSafety(ImmutableArray<TypeParameterSymbol> typeParameters, MethodSymbol context, BindingDiagnosticBag diagnostics) 260foreach (TypeParameterSymbol typeParameter in typeParameters) 305TypeParameterSymbol typeParam = (TypeParameterSymbol)type; 385TypeParameterSymbol typeParam = namedType.TypeParameters[i]; 441TypeParameterSymbol 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 (6)
CodeGen\CodeGenTupleTest.cs (1)
690var param = c.TypeParameters[0];
Emit\NoPiaEmbedTypes.cs (5)
1742var t1 = m21.TypeParameters[0]; 1750var t2 = m21.TypeParameters[1]; 1758var t5 = m21.TypeParameters[2]; 1765var t6 = m21.TypeParameters[3]; 1772var t7 = m21.TypeParameters[4];
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (62)
Attributes\AttributeTests.cs (5)
4799var typeParam1 = gooMethod.TypeParameters[0]; 4803var typeParam2 = gooMethod.TypeParameters[1]; 4879var typeParameter = type.TypeParameters.First(); 5528var classTypeParameter = @class.TypeParameters.Single(); 5530var methodTypeParameter = method.TypeParameters.Single();
Attributes\AttributeTests_IsUnmanaged.cs (20)
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(); 820internal static void AssertReferencedIsUnmanagedAttribute(Accessibility accessibility, TypeParameterSymbol typeParameter, string assemblyName)
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();
CodeGen\CodeGenMethodGroupConversionCachingTests.cs (6)
2079var m = typeParameters[0]; 2140var m = typeParameters[0]; 2197var m = typeParameters[0]; 6311var typeParameters = new List<TypeParameterSymbol>(); 6314if (typeSymbol is TypeParameterSymbol typeParameter) 6323var typeParameter = Assert.Single(typeParameters);
Emit\UnmanagedTypeModifierTests.cs (25)
575var parentTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 581var childTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 610var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 623var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 656var parentTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 662var childTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 688var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 701var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 731var parentTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 737var childTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 763var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 776var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 806var parentTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 812var childTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 838var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 851var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("M").TypeParameters.Single(); 881var parentTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 887var childTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("Parent.M").TypeParameters.Single(); 914var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Parent").GetMethod("M").TypeParameters.Single(); 927var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Child").GetMethod("Parent.M").TypeParameters.Single(); 973var delegateTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("D`1").TypeParameters.Single(); 979var lambdaTypeParameter = module.ContainingAssembly.GetTypeByMetadataName("Program").GetTypeMember("<>c__DisplayClass0_0").TypeParameters.Single(); 1000var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("D`1").TypeParameters.Single(); 1026var typeParameter = module.ContainingAssembly.GetTypeByMetadataName("Program").GetTypeMember("<>c__DisplayClass0_0").TypeParameters.Single(); 1382var typeParameter = c.GlobalNamespace.GetTypeMember("TestRef").GetMethod("M").TypeParameters.Single();
Microsoft.CodeAnalysis.CSharp.EndToEnd.UnitTests (1)
EndToEndTests.cs (1)
312var typeParameter = type.TypeParameters[0];
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (49)
Binders\WithTypeArgumentsBinder.cs (4)
19private MultiDictionary<string, TypeParameterSymbol> _lazyTypeParameterMap; 29protected override MultiDictionary<string, TypeParameterSymbol> TypeParameterMap 35var result = new MultiDictionary<string, TypeParameterSymbol>(); 38result.Add(tps.Type.Name, (TypeParameterSymbol)tps.Type);
CompilationContext.cs (5)
324(t1, t2) => allTypeParameters.SelectAsArray((tp, i, t) => (TypeParameterSymbol)new SimpleTypeParameterSymbol(t, i, tp.Name), t2)); 490var returnType = typeVariablesType.Construct(allTypeParameters.Cast<TypeParameterSymbol, TypeSymbol>()); 1856ImmutableArray<TypeParameterSymbol> desiredTypeParameters, 1866private static bool HaveSameConstraints(ImmutableArray<TypeParameterSymbol> candidateTypeParameters, ImmutableArray<TypeParameterSymbol> desiredTypeParameters)
CSharpFrameDecoder.cs (1)
14internal sealed class CSharpFrameDecoder : FrameDecoder<CSharpCompilation, MethodSymbol, PEModuleSymbol, TypeSymbol, TypeParameterSymbol>
CSharpInstructionDecoder.cs (3)
18internal sealed class CSharpInstructionDecoder : InstructionDecoder<CSharpCompilation, MethodSymbol, PEModuleSymbol, TypeSymbol, TypeParameterSymbol> 117internal override MethodSymbol ConstructMethod(MethodSymbol method, ImmutableArray<TypeParameterSymbol> typeParameters, ImmutableArray<TypeSymbol> typeArguments) 133internal override ImmutableArray<TypeParameterSymbol> GetAllTypeParameters(MethodSymbol method)
CSharpLanguageInstructionDecoder.cs (1)
13internal sealed class CSharpLanguageInstructionDecoder : LanguageInstructionDecoder<CSharpCompilation, MethodSymbol, PEModuleSymbol, TypeSymbol, TypeParameterSymbol, ParameterSymbol>
SymbolExtensions.cs (2)
14internal static ImmutableArray<TypeParameterSymbol> GetAllTypeParameters(this MethodSymbol method) 16var builder = ArrayBuilder<TypeParameterSymbol>.GetInstance();
Symbols\EECompilationContextMethod.cs (2)
28private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 46public override ImmutableArray<TypeParameterSymbol> TypeParameters
Symbols\EEMethodSymbol.cs (4)
63private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 78private readonly ImmutableArray<TypeParameterSymbol> _allTypeParameters; 118(tp, i, arg) => (TypeParameterSymbol)new EETypeParameterSymbol(this, tp, i, getTypeMap), 347public override ImmutableArray<TypeParameterSymbol> TypeParameters
Symbols\EENamedTypeSymbol.cs (8)
19internal readonly ImmutableArray<TypeParameterSymbol> SourceTypeParameters; 24private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 46ImmutableArray<TypeParameterSymbol> sourceTypeParameters, 47Func<NamedTypeSymbol, EENamedTypeSymbol, ImmutableArray<TypeParameterSymbol>> getTypeParameters) 84(tp, i, arg) => (TypeParameterSymbol)new EETypeParameterSymbol(this, tp, i, getTypeMap), 125public override ImmutableArray<TypeParameterSymbol> TypeParameters 361internal static void VerifyTypeParameters(Symbol container, ImmutableArray<TypeParameterSymbol> typeParameters) 365var typeParameter = typeParameters[i];
Symbols\EETypeParameterSymbol.cs (6)
19private readonly TypeParameterSymbol _sourceTypeParameter; 26TypeParameterSymbol sourceTypeParameter, 141internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 155internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress) 161internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 167internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress)
Symbols\ObjectIdLocalSymbol.cs (1)
78m => method.TypeParameters.SelectAsArray(t => (TypeParameterSymbol)new SimpleTypeParameterSymbol(m, t.Ordinal, t.Name)),
Symbols\PlaceholderMethodSymbol.cs (3)
21internal delegate ImmutableArray<TypeParameterSymbol> GetTypeParameters(PlaceholderMethodSymbol method); 27private readonly ImmutableArray<TypeParameterSymbol> _typeParameters; 180public override ImmutableArray<TypeParameterSymbol> TypeParameters
Symbols\SimpleTypeParameterSymbol.cs (4)
114internal override ImmutableArray<TypeWithAnnotations> GetConstraintTypes(ConsList<TypeParameterSymbol> inProgress) 119internal override ImmutableArray<NamedTypeSymbol> GetInterfaces(ConsList<TypeParameterSymbol> inProgress) 124internal override NamedTypeSymbol GetEffectiveBaseClass(ConsList<TypeParameterSymbol> inProgress) 129internal override TypeSymbol GetDeducedBaseType(ConsList<TypeParameterSymbol> inProgress)
Symbols\SynthesizedContextMethodSymbol.cs (2)
149public override ImmutableArray<TypeParameterSymbol> TypeParameters 151get { return ImmutableArray<TypeParameterSymbol>.Empty; }
TypeParameterChecker.cs (3)
17public static void Check(Symbol symbol, ImmutableArray<TypeParameterSymbol> acceptableTypeParameters) 23public static void Check(BoundNode node, ImmutableArray<TypeParameterSymbol> acceptableTypeParameters) 28private TypeParameterChecker(ImmutableArray<TypeParameterSymbol> acceptableTypeParameters)
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (186)
Semantics\BindingTests.cs (1)
2629var 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 (163)
17799var tp = member.GetMemberTypeParameters()[0]; 93923TypeParameterSymbol t1 = f1.TypeParameters[0]; 93933TypeParameterSymbol t2 = f2.TypeParameters[0]; 93974TypeParameterSymbol t1 = a.TypeParameters[0]; 93987TypeParameterSymbol t2 = b.TypeParameters[0]; 94034TypeParameterSymbol t1 = f1.TypeParameters[0]; 94040TypeParameterSymbol t2 = f2.TypeParameters[0]; 94081TypeParameterSymbol t1 = b.TypeParameters[0]; 94094TypeParameterSymbol t2 = f2.TypeParameters[0]; 94700TypeParameterSymbol t11 = bf1.TypeParameters[0]; 94715TypeParameterSymbol t22 = bf2.TypeParameters[0]; 94759TypeParameterSymbol t11 = bf1.TypeParameters[0]; 94767TypeParameterSymbol t22 = bf2.TypeParameters[0]; 94773TypeParameterSymbol t2 = af2.TypeParameters[0]; 94891TypeParameterSymbol t11 = bf1.TypeParameters[0]; 94906TypeParameterSymbol t22 = bf2.TypeParameters[0]; 94998TypeParameterSymbol t11 = bf1.TypeParameters[0]; 95013TypeParameterSymbol t22 = bf2.TypeParameters[0]; 95064TypeParameterSymbol t11 = bf1.TypeParameters[0]; 95082TypeParameterSymbol t22 = bf2.TypeParameters[0]; 95137TypeParameterSymbol t11 = bf1.TypeParameters[0]; 95154TypeParameterSymbol t22 = bf2.TypeParameters[0]; 95205TypeParameterSymbol t11 = bf1.TypeParameters[0]; 95220TypeParameterSymbol t22 = bf2.TypeParameters[0]; 95256TypeParameterSymbol t11 = bf1.TypeParameters[0]; 95261TypeParameterSymbol t22 = bf2.TypeParameters[0]; 95295TypeParameterSymbol t2 = f2.TypeParameters[0]; 95320TypeParameterSymbol t2 = b.TypeParameters[0]; 95363TypeParameterSymbol t2 = f2.TypeParameters[0]; 95579TypeParameterSymbol t11 = bf1.TypeParameters[0]; 95594TypeParameterSymbol t22 = bf2.TypeParameters[0]; 96366TypeParameterSymbol t11 = bf1.TypeParameters[0]; 96370TypeParameterSymbol t22 = bf2.TypeParameters[0]; 96374TypeParameterSymbol t33 = bf3.TypeParameters[0]; 96378TypeParameterSymbol t44 = bf4.TypeParameters[0]; 96401TypeParameterSymbol t11 = bf1.TypeParameters[0]; 96405TypeParameterSymbol t22 = bf2.TypeParameters[0]; 96409TypeParameterSymbol t33 = bf3.TypeParameters[0]; 96413TypeParameterSymbol t44 = bf4.TypeParameters[0]; 96493TypeParameterSymbol t222 = bf2.TypeParameters[0]; 96497TypeParameterSymbol t333 = bf3.TypeParameters[0]; 96520TypeParameterSymbol t222 = bf2.TypeParameters[0]; 96524TypeParameterSymbol t333 = bf3.TypeParameters[0]; 96573TypeParameterSymbol t1 = f1.TypeParameters[0]; 96611TypeParameterSymbol t1 = f1.TypeParameters[0]; 96655TypeParameterSymbol t1 = f1.TypeParameters[0]; 96662TypeParameterSymbol t2 = f2.TypeParameters[0]; 96694TypeParameterSymbol t1 = f1.TypeParameters[0]; 96714TypeParameterSymbol t1 = f1.TypeParameters[0]; 96769TypeParameterSymbol t1 = f1.TypeParameters[0]; 96777TypeParameterSymbol t2 = f2.TypeParameters[0]; 96813TypeParameterSymbol t1 = f1.TypeParameters[0]; 96820TypeParameterSymbol t2 = f2.TypeParameters[0]; 96858TypeParameterSymbol t1 = f1.TypeParameters[0]; 96865TypeParameterSymbol t2 = f2.TypeParameters[0]; 96897TypeParameterSymbol t1 = f1.TypeParameters[0]; 96947TypeParameterSymbol at1 = af1.TypeParameters[0]; 96977TypeParameterSymbol tf1 = bf1.TypeParameters[0]; 97042TypeParameterSymbol at1 = af1.TypeParameters[0]; 97070TypeParameterSymbol tf1 = bf1.TypeParameters[0]; 97130TypeParameterSymbol at1 = af1.TypeParameters[0]; 97155TypeParameterSymbol tf1 = bf1.TypeParameters[0]; 97191TypeParameterSymbol t1 = f1.TypeParameters[0]; 97215TypeParameterSymbol t1 = f1.TypeParameters[0]; 97240TypeParameterSymbol t1 = f1.TypeParameters[0]; 97267TypeParameterSymbol t1 = f1.TypeParameters[0]; 97316TypeParameterSymbol at1 = af1.TypeParameters[0]; 97341TypeParameterSymbol tf1 = bf1.TypeParameters[0]; 97398TypeParameterSymbol at1 = af1.TypeParameters[0]; 97423TypeParameterSymbol tf1 = bf1.TypeParameters[0]; 98200TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98223foreach (TypeParameterSymbol tf1 in f1.TypeParameters) 98252TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98279TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98306TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98333TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98360TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98402TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98433TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98471TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98505foreach (TypeParameterSymbol tf1 in f1.TypeParameters) 98545TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98583TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98610TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98638TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98666TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98705TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98733TypeParameterSymbol tf1 = f1.TypeParameters[0]; 98760TypeParameterSymbol tf1 = i1.TypeParameters[0]; 98782foreach (TypeParameterSymbol tf1 in i1.TypeParameters) 98810TypeParameterSymbol tf1 = i1.TypeParameters[0]; 98836TypeParameterSymbol tf1 = i1.TypeParameters[0]; 98862TypeParameterSymbol tf1 = i1.TypeParameters[0]; 98888TypeParameterSymbol tf1 = i1.TypeParameters[0]; 98914TypeParameterSymbol tf1 = i1.TypeParameters[0]; 98954TypeParameterSymbol tf1 = i1.TypeParameters[0]; 98985TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99021TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99054foreach (TypeParameterSymbol tf1 in i1.TypeParameters) 99093TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99130TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99157TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99184TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99211TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99248TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99275TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99307TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99348TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99391TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99435TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99461TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99535TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99586TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99664TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99720TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99776TypeParameterSymbol tf2 = i1.TypeParameters[1]; 99804TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99854TypeParameterSymbol tf2 = i1.TypeParameters[1]; 99884TypeParameterSymbol tf1 = i1.TypeParameters[0]; 99936TypeParameterSymbol tf2 = i1.TypeParameters[1]; 99969TypeParameterSymbol tf1 = i1.TypeParameters[0]; 100027TypeParameterSymbol tf2 = i1.TypeParameters[1]; 100058TypeParameterSymbol tf1 = i1.TypeParameters[0]; 100114TypeParameterSymbol tf2 = i1.TypeParameters[1]; 100142TypeParameterSymbol tf1 = i1.TypeParameters[0]; 100192TypeParameterSymbol tf2 = i1.TypeParameters[1]; 100225TypeParameterSymbol tf1 = i1.TypeParameters[0]; 100283TypeParameterSymbol tf2 = i1.TypeParameters[1]; 100314TypeParameterSymbol tf1 = i1.TypeParameters[0]; 100368TypeParameterSymbol tf2 = i1.TypeParameters[1]; 101082TypeParameterSymbol t11 = bf1.TypeParameters[0]; 101095TypeParameterSymbol t1 = af1.TypeParameters[0]; 101109TypeParameterSymbol t22 = bf2.TypeParameters[0]; 101123TypeParameterSymbol t2 = af2.TypeParameters[0]; 101186TypeParameterSymbol t11 = bf1.TypeParameters[0]; 101193TypeParameterSymbol t22 = bf2.TypeParameters[0]; 101263TypeParameterSymbol t11 = bf1.TypeParameters[0]; 101270TypeParameterSymbol t22 = bf2.TypeParameters[0]; 104547TypeParameterSymbol tm1 = m1.TypeParameters[0]; 120467var t = b.TypeParameters[i]; 133259TypeParameterSymbol t = c.TypeParameters[0]; 133291TypeParameterSymbol t = c.TypeParameters[0]; 133322TypeParameterSymbol t = c.TypeParameters[0]; 133358TypeParameterSymbol t = c.TypeParameters[0]; 133387TypeParameterSymbol t = c.TypeParameters[0]; 133410TypeParameterSymbol t = c.TypeParameters[0]; 133432TypeParameterSymbol t = c.TypeParameters[0]; 133454TypeParameterSymbol t = c.TypeParameters[0]; 133480TypeParameterSymbol t = c.TypeParameters[0]; 133506TypeParameterSymbol t = c.TypeParameters[0]; 133533TypeParameterSymbol t = c.TypeParameters[0]; 133558TypeParameterSymbol t = c.TypeParameters[0]; 133588TypeParameterSymbol t = c.TypeParameters[0]; 133637TypeParameterSymbol t = c.TypeParameters[0]; 133679TypeParameterSymbol t = c.TypeParameters[0]; 133720TypeParameterSymbol t = c.TypeParameters[0]; 133761TypeParameterSymbol t = c.TypeParameters[0]; 133800TypeParameterSymbol t = c.TypeParameters[0]; 133839TypeParameterSymbol t = c.TypeParameters[0]; 153906var t = ((MethodSymbol)comp.GetMember("C.M")).TypeParameters.Single(); 153939var t = ((MethodSymbol)comp.GetMember("C.M")).TypeParameters.Single(); 154161var t = ((MethodSymbol)comp.GetMember("C.M")).TypeParameters.Single(); 154198var t = ((MethodSymbol)comp.GetMember("C.M")).TypeParameters.Single();
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)
2462var localC6_T = localC6Params[0]; 2463var foo3TypeParam = foo3TypeParams[0];
Symbols\FunctionPointerTypeSymbolTests.cs (1)
376var t = m.TypeParameters.Single();
Symbols\GenericConstraintTests.cs (2)
4846var typeParameter = method.TypeParameters[0]; 5716TypeParameterSymbol 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)
42var varC1_T = varC1.TypeParameters[0]; 84var varC2_T = varC2.TypeParameters[0]; 99var varC4_T = varC4.TypeParameters[0]; 110var varTC2_T1 = varTC2.TypeParameters[0]; 111var varTC2_T2 = varTC2.TypeParameters[1]; 125var varT = varC100.TypeParameters[0];
Symbols\Metadata\PE\LoadingMetadataTokens.cs (2)
67var typeParameter = genericMethod.GetMemberTypeParameters().Single(); 125var typeParameter = genericMethod.GetMemberTypeParameters().Single();
Symbols\MockNamedTypeSymbol.cs (2)
49public override ImmutableArray<TypeParameterSymbol> TypeParameters 53return ImmutableArray.Create<TypeParameterSymbol>();
Symbols\Retargeting\RetargetCustomAttributes.cs (1)
244TypeParameterSymbol 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)
190var t1 = mylist.TypeParameters[0]; 344var 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)
3675var param = type1.TypeParameters[0]; 3728var param1 = f.TypeParameters[0]; 3729var 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 (17)
CompilationTestUtils.cs (1)
187internal static TypeParameterConstraintKind GetTypeParameterConstraints(TypeParameterSymbol typeParameter)
EmitMetadataTestBase.cs (1)
56foreach (var param in t.TypeParameters)
Extensions.cs (1)
649public 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)