34 instantiations of TypeMap
Microsoft.CodeAnalysis.CSharp (27)
Binder\Binder_Expressions.cs (1)
9278var substitution = new TypeMap(typeParameters, typeArguments);
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
545TypeMap typeMap = new TypeMap(_constructedContainingTypeOfMethod, _methodTypeParameters, fixedArguments);
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
3520var map = new TypeMap(method.TypeParameters, typeArguments, allowAlpha: true);
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (2)
527var typeMap = new TypeMap(otherTypeParameters, otherTypeArguments, allowAlpha: true); 1088var typeMap = new TypeMap(translatedOriginalDef.GetAllTypeParameters(), translatedTypeArguments, allowAlpha: true);
Symbols\AnonymousTypes\AnonymousTypeManager.Templates.cs (1)
337var typeMap = new TypeMap(typeParameters, IndexedTypeParameterSymbol.Take(typeParameters.Length), allowAlpha: true);
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.DelegateTemplateSymbol.cs (1)
176typeMap = new TypeMap(typeParametersToSubstitute, TypeParameters, allowAlpha: true);
Symbols\ConstructedMethodSymbol.cs (1)
20map: new TypeMap(constructedFrom.ContainingType, ((MethodSymbol)constructedFrom.OriginalDefinition).TypeParameters, typeArgumentsWithAnnotations),
Symbols\ConstructedNamedTypeSymbol.cs (1)
64map: new TypeMap(constructedFrom.ContainingType, constructedFrom.OriginalDefinition.TypeParameters, typeArgumentsWithAnnotations),
Symbols\ErrorTypeSymbol.cs (1)
639_map = new TypeMap(constructedFrom.ContainingType, constructedFrom.OriginalDefinition.TypeParameters, typeArgumentsWithAnnotations);
Symbols\MemberSignatureComparer.cs (1)
574new TypeMap(
Symbols\Metadata\PE\MemberRefMetadataDecoder.cs (1)
227TypeMap candidateMethodTypeMap = new TypeMap(
Symbols\Metadata\PE\PENamedTypeSymbol.cs (2)
2657var containingTypeMap = new TypeMap(containingTypeParameters, IndexedTypeParameterSymbol.Take(n), allowAlpha: false); 2658var nestedTypeMap = new TypeMap(nestedTypeParameters, IndexedTypeParameterSymbol.Take(nestedTypeParameters.Length), allowAlpha: false);
Symbols\Metadata\PE\SymbolFactory.cs (1)
149TypeMap substitution = new TypeMap(typeParameters, arguments.SelectAsArray(arg => CreateType(arg.Key, arg.Value)));
Symbols\NamedTypeSymbol.cs (2)
997TypeMap substitution = new TypeMap(definition.GetAllTypeParameters(), allTypeArguments); 1017TypeMap substitution = new TypeMap(allTypeParameters.ToImmutable(), allTypeArguments.ToImmutable());
Symbols\ReducedExtensionMethodSymbol.cs (1)
199var substitution = new TypeMap(typeParams, typeArgsForConstraintsCheck);
Symbols\Retargeting\RetargetingSymbolTranslator.cs (1)
580TypeMap substitution = new TypeMap(newParameters.ToImmutableAndFree(), newArguments.ToImmutable());
Symbols\Source\SourceOrdinaryMethodSymbol.cs (2)
777var typeMap1 = new TypeMap(typeParameters1, indexedTypeParameters, allowAlpha: true); 778var typeMap2 = new TypeMap(typeParameters2, indexedTypeParameters, allowAlpha: true);
Symbols\Source\SourceTypeParameterSymbol.cs (1)
773var typeMap = new TypeMap(overriddenTypeParameters, overridingTypeParameters, allowAlpha: true);
Symbols\TypeMap.cs (2)
93private static readonly TypeMap s_emptyTypeMap = new TypeMap(); 117TypeMap result = new TypeMap(this.Mapping);
Symbols\TypeSymbol.cs (2)
2056var typeMap1 = new TypeMap(typeParameters1, indexedTypeParameters, allowAlpha: true); 2057var typeMap2 = new TypeMap(typeParameters2, indexedTypeParameters, allowAlpha: true);
Symbols\TypeSymbolExtensions.cs (1)
1898var typeMap = new TypeMap(typeParameters, typeArgumentsBuilder.ToImmutable(), allowAlpha: true);
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (5)
CompilationContext.cs (2)
1880var candidateTypeMap = new TypeMap(candidateTypeParameters, indexedTypeParameters, allowAlpha: true); 1881var desiredTypeMap = new TypeMap(desiredTypeParameters, indexedTypeParameters, allowAlpha: true);
CSharpInstructionDecoder.cs (1)
121var typeMap = new TypeMap(
Symbols\EEMethodSymbol.cs (1)
121this.TypeMap = new TypeMap(allSourceTypeParameters, _allTypeParameters, allowAlpha: true);
Symbols\EENamedTypeSymbol.cs (1)
87typeMap = new TypeMap(this.SourceTypeParameters, _typeParameters);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (2)
Symbols\Source\ModifierTests.cs (1)
161var typeMap = new TypeMap(ImmutableArray.Create(typeParamType), ImmutableArray.Create(TypeWithAnnotations.Create(intType)));
Symbols\Source\TypeMapTests.cs (1)
97return new TypeMap(allTypeParameters.ToImmutableAndFree(), typeArguments.SelectAsArray(t => TypeWithAnnotations.Create(t))).SubstituteNamedType(type);
158 references to TypeMap
Microsoft.CodeAnalysis.CSharp (129)
Binder\Binder_Deconstruct.cs (1)
259tupleOrDeconstructedTypes = type.TupleElementTypesWithAnnotations.SelectAsArray(TypeMap.AsTypeSymbol);
Binder\Binder_Expressions.cs (1)
9278var substitution = new TypeMap(typeParameters, typeArguments);
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
545TypeMap typeMap = new TypeMap(_constructedContainingTypeOfMethod, _methodTypeParameters, fixedArguments);
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
3520var map = new TypeMap(method.TypeParameters, typeArguments, allowAlpha: true);
Emitter\EditAndContinue\CSharpSymbolMatcher.cs (2)
527var typeMap = new TypeMap(otherTypeParameters, otherTypeArguments, allowAlpha: true); 1088var typeMap = new TypeMap(translatedOriginalDef.GetAllTypeParameters(), translatedTypeArguments, allowAlpha: true);
Lowering\AsyncRewriter\AsyncMethodBuilderMemberCollection.cs (1)
112internal static bool TryCreate(SyntheticBoundNodeFactory F, MethodSymbol method, TypeMap typeMap, out AsyncMethodBuilderMemberCollection collection)
Lowering\ClosureConversion\ClosureConversion.cs (4)
113private TypeMap _currentLambdaBodyTypeMap; 182_currentLambdaBodyTypeMap = TypeMap.Empty; 308protected override TypeMap TypeMap 1533var oldTypeMap = _currentLambdaBodyTypeMap;
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (3)
20private readonly TypeMap _typeMap; 101private ExpressionLambdaRewriter(TypeCompilationState compilationState, TypeMap typeMap, SyntaxNode node, int recursionDepth, BindingDiagnosticBag diagnostics) 114internal static BoundNode RewriteLambda(BoundLambda node, TypeCompilationState compilationState, TypeMap typeMap, int recursionDepth, BindingDiagnosticBag diagnostics)
Lowering\ClosureConversion\SynthesizedClosureMethod.cs (2)
51TypeMap typeMap; 70typeMap = TypeMap.Empty.WithConcatAlphaRename(
Lowering\LocalRewriter\LoweredDynamicOperationFactory.cs (2)
653var methodToContainerTypeParametersMap = containerDef.TypeMap; 720internal FieldSymbol DefineCallSiteStorageSymbol(NamedTypeSymbol containerDefinition, NamedTypeSymbol delegateTypeOverMethodTypeParameters, TypeMap methodToContainerTypeParametersMap)
Lowering\MethodToClassRewriter.cs (3)
38protected abstract TypeMap TypeMap { get; } 741TypeMap? typeMap = methodBeingWrapped.ContainingType is SubstitutedNamedTypeSymbol substitutedType ? substitutedType.TypeSubstitution : TypeMap.Empty;
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
176protected override TypeMap TypeMap
Lowering\StateMachineRewriter\StateMachineRewriter.cs (1)
143var typeMap = stateMachineType.TypeMap;
Lowering\SynthesizedMethodBaseSymbol.cs (2)
26internal TypeMap TypeMap { get; private set; } 56protected void AssignTypeMapAndTypeParameters(TypeMap typeMap, ImmutableArray<TypeParameterSymbol> typeParameters)
Operations\CSharpOperationFactory.cs (2)
765return CreateBoundDynamicMemberAccessOperation(methodGroup.ReceiverOpt, TypeMap.AsTypeSymbols(methodGroup.TypeArgumentsOpt), methodGroup.Name, 939return CreateBoundDynamicMemberAccessOperation(boundDynamicMemberAccess.Receiver, TypeMap.AsTypeSymbols(boundDynamicMemberAccess.TypeArgumentsOpt), boundDynamicMemberAccess.Name,
Symbols\AnonymousTypes\AnonymousTypeManager.Templates.cs (1)
337var typeMap = new TypeMap(typeParameters, IndexedTypeParameterSymbol.Take(typeParameters.Length), allowAlpha: true);
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.DelegateTemplateSymbol.cs (3)
161TypeMap typeMap; 166typeMap = TypeMap.Empty; 187TypeMap typeMap)
Symbols\ConstraintsHelper.cs (2)
837TypeMap substitution, 953TypeMap substitution,
Symbols\ErrorTypeSymbol.cs (4)
632private readonly TypeMap _map; 667internal override TypeMap TypeSubstitution 677private readonly TypeMap _map; 706internal override TypeMap TypeSubstitution
Symbols\MemberSignatureComparer.cs (22)
414TypeMap typeMap1 = GetTypeMap(member1); 415TypeMap typeMap2 = GetTypeMap(member2); 518private static bool HaveSameReturnTypes(Symbol member1, TypeMap typeMap1, Symbol member2, TypeMap typeMap2, TypeCompareKind typeComparison) 569private static TypeMap GetTypeMap(Symbol member) 580private static bool HaveSameConstraints(Symbol member1, TypeMap typeMap1, Symbol member2, TypeMap typeMap2) 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) 704private static void SubstituteConstraintTypes(ImmutableArray<TypeWithAnnotations> types, TypeMap typeMap, HashSet<TypeSymbol> result) 712private static bool HaveSameParameterTypes(ImmutableArray<ParameterSymbol> params1, TypeMap typeMap1, ImmutableArray<ParameterSymbol> params2, TypeMap typeMap2, 761private static TypeWithAnnotations SubstituteType(TypeMap typeMap, TypeWithAnnotations typeSymbol) 766private static bool HaveSameCustomModifiers(ImmutableArray<CustomModifier> customModifiers1, TypeMap typeMap1, ImmutableArray<CustomModifier> customModifiers2, TypeMap typeMap2) 772private static ImmutableArray<CustomModifier> SubstituteModifiers(TypeMap typeMap, ImmutableArray<CustomModifier> customModifiers)
Symbols\MemberSymbolExtensions.cs (2)
345return ((MethodSymbol)symbol).TypeArgumentsWithAnnotations.SelectAsArray(TypeMap.AsTypeSymbol); 348return ((NamedTypeSymbol)symbol).TypeArgumentsWithAnnotationsNoUseSiteDiagnostics.SelectAsArray(TypeMap.AsTypeSymbol);
Symbols\Metadata\PE\MemberRefMetadataDecoder.cs (3)
227TypeMap candidateMethodTypeMap = new TypeMap( 247private static bool ParametersMatch(ParameterSymbol candidateParam, TypeMap candidateMethodTypeMap, ref ParamInfo<TypeSymbol> targetParam) 275private static bool ReturnTypesMatch(MethodSymbol candidateMethod, TypeMap candidateMethodTypeMap, ref ParamInfo<TypeSymbol> targetReturnParam)
Symbols\Metadata\PE\PENamedTypeSymbol.cs (2)
2657var containingTypeMap = new TypeMap(containingTypeParameters, IndexedTypeParameterSymbol.Take(n), allowAlpha: false); 2658var nestedTypeMap = new TypeMap(nestedTypeParameters, IndexedTypeParameterSymbol.Take(nestedTypeParameters.Length), allowAlpha: false);
Symbols\Metadata\PE\SymbolFactory.cs (1)
149TypeMap substitution = new TypeMap(typeParameters, arguments.SelectAsArray(arg => CreateType(arg.Key, arg.Value)));
Symbols\MethodSymbol.cs (2)
269return TypeMap.TypeParametersAsTypeSymbolsWithAnnotations(TypeParameters); 922internal virtual TypeMap TypeSubstitution
Symbols\NamedTypeSymbol.cs (4)
997TypeMap substitution = new TypeMap(definition.GetAllTypeParameters(), allTypeArguments); 1017TypeMap substitution = new TypeMap(allTypeParameters.ToImmutable(), allTypeArguments.ToImmutable()); 1324return TypeMap.TypeParametersAsTypeSymbolsWithAnnotations(this.TypeParameters); 1353internal virtual TypeMap TypeSubstitution
Symbols\ReducedExtensionMethodSymbol.cs (3)
25private readonly TypeMap _typeMap; 100_typeMap = TypeMap.Empty.WithAlphaRename(reducedFrom, this, out _typeParameters); 199var substitution = new TypeMap(typeParams, typeArgsForConstraintsCheck);
Symbols\Retargeting\RetargetingSymbolTranslator.cs (1)
580TypeMap substitution = new TypeMap(newParameters.ToImmutableAndFree(), newArguments.ToImmutable());
Symbols\Source\ExplicitInterfaceHelpers.cs (2)
113public static ImmutableArray<T> SubstituteExplicitInterfaceImplementations<T>(ImmutableArray<T> unsubstitutedExplicitInterfaceImplementations, TypeMap map) where T : Symbol 124public static T SubstituteExplicitInterfaceImplementation<T>(T unsubstitutedPropertyImplemented, TypeMap map) where T : Symbol
Symbols\Source\SourceFixedFieldSymbol.cs (1)
156: base(GeneratedNames.MakeFixedFieldImplementationName(field.Name), typeParameters: ImmutableArray<TypeParameterSymbol>.Empty, typeMap: TypeMap.Empty)
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (1)
983overriddenMethod = overriddenMethod.Construct(TypeMap.TypeParametersAsTypeSymbolsWithIgnoredAnnotations(overridingMethod.TypeParameters));
Symbols\Source\SourceOrdinaryMethodSymbol.cs (3)
655MethodSymbol constructedDefinition = definition.ConstructIfGeneric(TypeMap.TypeParametersAsTypeSymbolsWithIgnoredAnnotations(implementation.TypeParameters)); 777var typeMap1 = new TypeMap(typeParameters1, indexedTypeParameters, allowAlpha: true); 778var typeMap2 = new TypeMap(typeParameters2, indexedTypeParameters, allowAlpha: true);
Symbols\Source\SourceTypeParameterSymbol.cs (4)
738private TypeMap _lazyTypeMap; 759public TypeMap TypeMap 773var typeMap = new TypeMap(overriddenTypeParameters, overridingTypeParameters, allowAlpha: true); 962var map = _map.TypeMap;
Symbols\SubstitutedMethodSymbol.cs (8)
25private readonly TypeMap _inputMap; 30private TypeMap _lazyMap; 46protected SubstitutedMethodSymbol(NamedTypeSymbol containingSymbol, TypeMap map, MethodSymbol originalDefinition, MethodSymbol constructedFrom) 82private TypeMap Map 111var newMap = _inputMap.WithAlphaRename(this.OriginalDefinition, this, out typeParameters); 113var prevMap = Interlocked.CompareExchange(ref _lazyMap, newMap, null); 306internal sealed override TypeMap TypeSubstitution 343TypeMap map = Map;
Symbols\SubstitutedNamedTypeSymbol.cs (7)
29private readonly TypeMap _inputMap; 39private TypeMap _lazyMap; 48protected SubstitutedNamedTypeSymbol(Symbol newContainer, TypeMap map, NamedTypeSymbol originalDefinition, NamedTypeSymbol constructedFrom = null, bool unbound = false, TupleExtraData tupleData = null) 75private TypeMap Map 103var newMap = _inputMap.WithAlphaRename(OriginalDefinition, this, out typeParameters); 105var prevMap = Interlocked.CompareExchange(ref _lazyMap, newMap, null); 397internal sealed override TypeMap TypeSubstitution
Symbols\SubstitutedParameterSymbol.cs (6)
17internal SubstitutedParameterSymbol(MethodSymbol containingSymbol, TypeMap map, ParameterSymbol originalParameter) : 22internal SubstitutedParameterSymbol(PropertySymbol containingSymbol, TypeMap map, ParameterSymbol originalParameter) : 27private SubstitutedParameterSymbol(Symbol containingSymbol, TypeMap map, ParameterSymbol originalParameter) : 55TypeWithAnnotations substituted = ((TypeMap)mapOrType).SubstituteType(this._underlyingParameter.TypeWithAnnotations); 76var map = _mapOrType as TypeMap;
Symbols\SubstitutedTypeParameterSymbol.cs (2)
20private readonly TypeMap _map; 28internal SubstitutedTypeParameterSymbol(Symbol newContainer, TypeMap map, TypeParameterSymbol substitutedFrom, int ordinal)
Symbols\Synthesized\SynthesizedContainer.cs (4)
32TypeMap = TypeMap.Empty; 37TypeMap = TypeMap.Empty.WithConcatAlphaRename(containingMethod, this, out _typeParameters, out _constructedFromTypeParameters); 41protected SynthesizedContainer(string name, ImmutableArray<TypeParameterSymbol> typeParameters, TypeMap typeMap) 52internal TypeMap TypeMap { get; }
Symbols\Synthesized\SynthesizedImplementationMethod.cs (2)
45var typeMap = interfaceMethod.ContainingType.TypeSubstitution ?? TypeMap.Empty;
Symbols\Synthesized\SynthesizedSubstitutedTypeParameterSymbol.cs (1)
19public SynthesizedSubstitutedTypeParameterSymbol(Symbol owner, TypeMap map, TypeParameterSymbol substitutedFrom, int ordinal)
Symbols\TypeMap.cs (7)
93private static readonly TypeMap s_emptyTypeMap = new TypeMap(); 94public static TypeMap Empty 103private TypeMap WithAlphaRename(ImmutableArray<TypeParameterSymbol> oldTypeParameters, Symbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters) 117TypeMap result = new TypeMap(this.Mapping); 139internal TypeMap WithAlphaRename(NamedTypeSymbol oldOwner, NamedTypeSymbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters) 145internal TypeMap WithAlphaRename(MethodSymbol oldOwner, Symbol newOwner, out ImmutableArray<TypeParameterSymbol> newTypeParameters) 151internal TypeMap WithConcatAlphaRename(
Symbols\TypeSymbol.cs (3)
1917implementedMethod = implementedMethod.Construct(TypeMap.TypeParametersAsTypeSymbolsWithIgnoredAnnotations(implementingMethod.TypeParameters)); 2056var typeMap1 = new TypeMap(typeParameters1, indexedTypeParameters, allowAlpha: true); 2057var typeMap2 = new TypeMap(typeParameters2, indexedTypeParameters, allowAlpha: true);
Symbols\TypeSymbolExtensions.cs (1)
1898var typeMap = new TypeMap(typeParameters, typeArgumentsBuilder.ToImmutable(), allowAlpha: true);
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (26)
CompilationContext.cs (2)
1880var candidateTypeMap = new TypeMap(candidateTypeParameters, indexedTypeParameters, allowAlpha: true); 1881var desiredTypeMap = new TypeMap(desiredTypeParameters, indexedTypeParameters, allowAlpha: true);
CSharpInstructionDecoder.cs (1)
121var typeMap = new TypeMap(
Symbols\DisplayClassInstance.cs (3)
20internal abstract DisplayClassInstance ToOtherMethod(MethodSymbol method, TypeMap typeMap); 62internal override DisplayClassInstance ToOtherMethod(MethodSymbol method, TypeMap typeMap) 100internal override DisplayClassInstance ToOtherMethod(MethodSymbol method, TypeMap typeMap)
Symbols\DisplayClassVariable.cs (4)
57internal DisplayClassVariable ToOtherMethod(MethodSymbol method, TypeMap typeMap) 77internal DisplayClassVariable SubstituteFields(DisplayClassInstance otherInstance, TypeMap typeMap) 88private static ConsList<FieldSymbol> SubstituteFields(ConsList<FieldSymbol> fields, TypeMap typeMap) 100private static FieldSymbol SubstituteField(FieldSymbol field, TypeMap typeMap)
Symbols\EECompilationContextMethod.cs (2)
37var typeMap = underlyingMethod.ContainingType.TypeSubstitution ?? TypeMap.Empty;
Symbols\EEDisplayClassFieldLocalSymbol.cs (1)
30internal override EELocalSymbolBase ToOtherMethod(MethodSymbol method, TypeMap typeMap)
Symbols\EELocalConstantSymbol.cs (1)
41internal override EELocalSymbolBase ToOtherMethod(MethodSymbol method, TypeMap typeMap)
Symbols\EELocalSymbol.cs (1)
73internal override EELocalSymbolBase ToOtherMethod(MethodSymbol method, TypeMap typeMap)
Symbols\EELocalSymbolBase.cs (2)
18internal static LocalSymbol ToOtherMethod(this LocalSymbol local, MethodSymbol method, TypeMap typeMap) 34internal abstract EELocalSymbolBase ToOtherMethod(MethodSymbol method, TypeMap typeMap);
Symbols\EEMethodSymbol.cs (2)
43internal readonly TypeMap TypeMap; 116var getTypeMap = new Func<TypeMap>(() => this.TypeMap);
Symbols\EENamedTypeSymbol.cs (2)
81TypeMap typeMap = null; 82var getTypeMap = new Func<TypeMap>(() => typeMap);
Symbols\EETypeParameterSymbol.cs (4)
21private readonly Func<TypeMap> _getTypeMap; 22private TypeMap _lazyTypeMap; 28Func<TypeMap> getTypeMap) 173private TypeMap TypeMap
Symbols\PlaceholderLocalSymbol.cs (1)
141internal override EELocalSymbolBase ToOtherMethod(MethodSymbol method, TypeMap typeMap)
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
Symbols\Source\ModifierTests.cs (1)
161var typeMap = new TypeMap(ImmutableArray.Create(typeParamType), ImmutableArray.Create(TypeWithAnnotations.Create(intType)));
Microsoft.CodeAnalysis.CSharp.Test.Utilities (2)
Extensions.cs (2)
646return TypeMap.AsTypeSymbols(symbol.TypeArgumentsWithAnnotationsNoUseSiteDiagnostics); 651return TypeMap.AsTypeSymbols(symbol.ConstraintTypesNoUseSiteDiagnostics);