5 instantiations of TypeDefinitionHandle
Microsoft.CodeAnalysis.UnitTests (2)
System.Reflection.Metadata (3)
488 references to TypeDefinitionHandle
BuildValidator (1)
Crossgen2Tasks (1)
Microsoft.Cci.Extensions (2)
Microsoft.CodeAnalysis (131)
MetadataReader\MetadataDecoder.cs (25)
150type = GetTypeOfTypeDef((TypeDefinitionHandle)token, out isNoPiaLocalType, isContainingType: false);
446typeSymbol = GetTypeOfTypeDef((TypeDefinitionHandle)handle, out isNoPiaLocalType, isContainingType: false);
601private TypeSymbol GetTypeOfTypeDef(TypeDefinitionHandle typeDef)
607private TypeSymbol GetTypeOfTypeDef(TypeDefinitionHandle typeDef, out bool isNoPiaLocalType, bool isContainingType)
617ConcurrentDictionary<TypeDefinitionHandle, TypeSymbol> cache = GetTypeHandleToTypeMap();
642TypeDefinitionHandle containerTypeDef = Module.GetContainingTypeOrThrow(typeDef);
782type = GetTypeOfTypeDef((TypeDefinitionHandle)token, out isNoPiaLocalType, isContainingType: false);
932return GetTypeOfTypeDef((TypeDefinitionHandle)token);
1899internal ImmutableArray<MethodSymbol> GetExplicitlyOverriddenMethods(TypeDefinitionHandle implementingTypeDef, MethodDefinitionHandle implementingMethodDef, TypeSymbol implementingTypeSymbol)
1966private MethodSymbol FindMethodSymbolInSuperType(TypeDefinitionHandle searchTypeDef, MethodDefinitionHandle targetMethodDef)
1976Queue<TypeDefinitionHandle> typeDefsToSearch = new Queue<TypeDefinitionHandle>();
1984HashSet<TypeDefinitionHandle> visitedTypeDefTokens = new HashSet<TypeDefinitionHandle>();
1992TypeDefinitionHandle typeDef = typeDefsToSearch.Dequeue();
2035private void EnqueueTypeDefInterfacesAndBaseTypeOrThrow(Queue<TypeDefinitionHandle> typeDefsToSearch, Queue<TypeSymbol> typeSymbolsToSearch, TypeDefinitionHandle searchTypeDef)
2052private void EnqueueTypeToken(Queue<TypeDefinitionHandle> typeDefsToSearch, Queue<TypeSymbol> typeSymbolsToSearch, EntityHandle typeToken)
2058typeDefsToSearch.Enqueue((TypeDefinitionHandle)typeToken);
2073protected abstract void EnqueueTypeSymbolInterfacesAndBaseTypes(Queue<TypeDefinitionHandle> typeDefsToSearch, Queue<TypeSymbol> typeSymbolsToSearch, TypeSymbol typeSymbol);
2081protected abstract void EnqueueTypeSymbol(Queue<TypeDefinitionHandle> typeDefsToSearch, Queue<TypeSymbol> typeSymbolsToSearch, TypeSymbol typeSymbol);
2132protected abstract ConcurrentDictionary<TypeDefinitionHandle, TypeSymbol> GetTypeHandleToTypeMap();
2135protected abstract TypeSymbol SubstituteNoPiaLocalType(TypeDefinitionHandle typeDef, ref MetadataTypeName name, string interfaceGuid, string scope, string identifier);
2185TypeDefinitionHandle typeDef = Module.FindContainingTypeOrThrow((MethodDefinitionHandle)token);
2205TypeDefinitionHandle typeDef = Module.FindContainingTypeOrThrow((FieldDefinitionHandle)token);
MetadataReader\MetadataHelpers.cs (10)
766IEnumerable<IGrouping<string, TypeDefinitionHandle>> typesByNS,
768[NotNull] out IEnumerable<IGrouping<string, TypeDefinitionHandle>>? types,
769[NotNull] out IEnumerable<KeyValuePair<string, IEnumerable<IGrouping<string, TypeDefinitionHandle>>>>? namespaces)
776var nestedTypes = new List<IGrouping<string, TypeDefinitionHandle>>();
783var nestedNamespaces = new List<KeyValuePair<string, IEnumerable<IGrouping<string, TypeDefinitionHandle>>>>();
799List<IGrouping<string, TypeDefinitionHandle>>? typesInLastChildNamespace = null;
855new KeyValuePair<string, IEnumerable<IGrouping<string, TypeDefinitionHandle>>>(
859typesInLastChildNamespace = new List<IGrouping<string, TypeDefinitionHandle>>();
873new KeyValuePair<string, IEnumerable<IGrouping<string, TypeDefinitionHandle>>>(
906nestedNamespaces[i] = default(KeyValuePair<string, IEnumerable<IGrouping<string, TypeDefinitionHandle>>>);
MetadataReader\PEModule.cs (58)
90private ConcurrentDictionary<TypeDefinitionHandle, AttributeInfo> _lazyTypeDefToTypeIdentifierMap;
520public TypeDefinitionHandle GetContainingTypeOrThrow(TypeDefinitionHandle typeDef)
526public string GetTypeDefNameOrThrow(TypeDefinitionHandle typeDef)
558public string GetTypeDefNamespaceOrThrow(TypeDefinitionHandle typeDef)
564public EntityHandle GetTypeDefExtendsOrThrow(TypeDefinitionHandle typeDef)
570public TypeAttributes GetTypeDefFlagsOrThrow(TypeDefinitionHandle typeDef)
576public GenericParameterHandleCollection GetTypeDefGenericParamsOrThrow(TypeDefinitionHandle typeDef)
582public bool HasGenericParametersOrThrow(TypeDefinitionHandle typeDef)
589TypeDefinitionHandle typeDef,
603internal bool IsNestedTypeDefOrThrow(TypeDefinitionHandle typeDef)
609private static bool IsNestedTypeDefOrThrow(MetadataReader metadataReader, TypeDefinitionHandle typeDef)
615internal bool IsInterfaceOrThrow(TypeDefinitionHandle typeDef)
622internal readonly TypeDefinitionHandle TypeDef;
625internal TypeDefToNamespace(TypeDefinitionHandle typeDef, NamespaceDefinitionHandle namespaceHandle)
635foreach (var typeDef in MetadataReader.TypeDefinitions)
666internal IEnumerable<IGrouping<string, TypeDefinitionHandle>> GroupTypesByNamespaceOrThrow(StringComparer nameComparer)
675Dictionary<string, ArrayBuilder<TypeDefinitionHandle>?> namespaces = new Dictionary<string, ArrayBuilder<TypeDefinitionHandle>?>();
682var result = new ArrayBuilder<IGrouping<string, TypeDefinitionHandle>>(namespaces.Count);
686result.Add(new Grouping<string, TypeDefinitionHandle>(pair.Key, pair.Value ?? SpecializedCollections.EmptyEnumerable<TypeDefinitionHandle>()));
693internal sealed class TypesByNamespaceSortComparer : IComparer<IGrouping<string, TypeDefinitionHandle>>
702public int Compare(IGrouping<string, TypeDefinitionHandle>? left, IGrouping<string, TypeDefinitionHandle>? right)
723var fLeft = left.FirstOrDefault();
724var fRight = right.FirstOrDefault();
753private void GetTypeNamespaceNamesOrThrow(Dictionary<string, ArrayBuilder<TypeDefinitionHandle>> namespaces)
756var namespaceHandles = new Dictionary<NamespaceDefinitionHandle, ArrayBuilder<TypeDefinitionHandle>>(NamespaceHandleEqualityComparer.Singleton);
760TypeDefinitionHandle typeDef = pair.TypeDef;
762ArrayBuilder<TypeDefinitionHandle>? builder;
770namespaceHandles.Add(nsHandle, new ArrayBuilder<TypeDefinitionHandle> { typeDef });
778ArrayBuilder<TypeDefinitionHandle>? builder;
833private void GetForwardedTypeNamespaceNamesOrThrow(Dictionary<string, ArrayBuilder<TypeDefinitionHandle>?> namespaces)
893internal ImmutableArray<TypeDefinitionHandle> GetNestedTypeDefsOrThrow(TypeDefinitionHandle container)
899internal MethodImplementationHandleCollection GetMethodImplementationsOrThrow(TypeDefinitionHandle typeDef)
908internal InterfaceImplementationHandleCollection GetInterfaceImplementationsOrThrow(TypeDefinitionHandle typeDef)
914internal MethodDefinitionHandleCollection GetMethodsOfTypeOrThrow(TypeDefinitionHandle typeDef)
920internal PropertyDefinitionHandleCollection GetPropertiesOfTypeOrThrow(TypeDefinitionHandle typeDef)
926internal EventDefinitionHandleCollection GetEventsOfTypeOrThrow(TypeDefinitionHandle typeDef)
932internal FieldDefinitionHandleCollection GetFieldsOfTypeOrThrow(TypeDefinitionHandle typeDef)
938internal EntityHandle GetBaseTypeOfTypeOrThrow(TypeDefinitionHandle typeDef)
943internal TypeLayout GetTypeLayout(TypeDefinitionHandle typeDef)
995internal bool IsNoPiaLocalType(TypeDefinitionHandle typeDef)
1177internal bool HasInlineArrayAttribute(TypeDefinitionHandle token, out int length)
2092TypeDefinitionHandle typeDef,
2610private bool IsNoPiaLocalType(TypeDefinitionHandle typeDef, out AttributeInfo attributeInfo)
2657private void RegisterNoPiaLocalType(TypeDefinitionHandle typeDef, CustomAttributeHandle customAttribute, int signatureIndex)
2671new ConcurrentDictionary<TypeDefinitionHandle, AttributeInfo>(),
2680private void RecordNoPiaLocalTypeCheck(TypeDefinitionHandle typeDef)
2980TypeDefinitionHandle typeHandle = (TypeDefinitionHandle)token;
3158var def = metadataReader.GetTypeDefinition((TypeDefinitionHandle)typeDefOrRef);
3207var parent = (TypeDefinitionHandle)MetadataReader.GetCustomAttribute(attributeHandle).Parent;
3364internal TypeDefinitionHandle FindContainingTypeOrThrow(MethodDefinitionHandle methodDef)
3370internal TypeDefinitionHandle FindContainingTypeOrThrow(FieldDefinitionHandle fieldDef)
Microsoft.CodeAnalysis.CSharp (45)
Symbols\Metadata\PE\PENamedTypeSymbol.cs (11)
35private readonly TypeDefinitionHandle _handle;
182TypeDefinitionHandle handle,
216private static void GetGenericInfo(PEModuleSymbol moduleSymbol, TypeDefinitionHandle handle, out GenericParameterHandleCollection genericParameterHandles, out ushort arity, out BadImageFormatException mrEx)
235TypeDefinitionHandle handle)
279TypeDefinitionHandle handle,
421internal TypeDefinitionHandle Handle
1885ImmutableArray<TypeDefinitionHandle> nestedTypeDefs;
1908foreach (var typeRid in nestedTypeDefs)
2093private PEMethodSymbol GetAccessorMethod(PEModule module, Dictionary<MethodDefinitionHandle, PEMethodSymbol> methodHandleToSymbol, TypeDefinitionHandle typeDef, MethodDefinitionHandle methodDef)
2570TypeDefinitionHandle handle,
2639TypeDefinitionHandle handle,
Symbols\Metadata\PE\PENamespaceSymbol.cs (10)
42private Dictionary<string, TypeDefinitionHandle>? _lazyNoPiaLocalTypes;
211protected void LoadAllMembers(IEnumerable<IGrouping<string, TypeDefinitionHandle>> typesByNS)
216IEnumerable<IGrouping<string, TypeDefinitionHandle>>? nestedTypes = null;
223IEnumerable<KeyValuePair<string, IEnumerable<IGrouping<string, TypeDefinitionHandle>>>>? nestedNamespaces = null;
258IEnumerable<KeyValuePair<string, IEnumerable<IGrouping<string, TypeDefinitionHandle>>>> childNamespaces)
278private void LazyInitializeTypes(IEnumerable<IGrouping<string, TypeDefinitionHandle>> typeGroups)
286Dictionary<string, TypeDefinitionHandle>? noPiaLocalTypes = null;
290foreach (var t in g)
304noPiaLocalTypes = new Dictionary<string, TypeDefinitionHandle>(StringOrdinalComparer.Instance);
337TypeDefinitionHandle typeDef;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (3)
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (4)
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (8)
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
Microsoft.CodeAnalysis.ExpressionEvaluator.FunctionResolver (5)
Microsoft.CodeAnalysis.ExpressionEvaluator.FunctionResolver.UnitTests (1)
Microsoft.CodeAnalysis.Features (8)
Microsoft.CodeAnalysis.Rebuild (1)
Microsoft.CodeAnalysis.Test.Utilities (6)
Microsoft.CodeAnalysis.UnitTests (10)
MetadataReferences\MetadataHelpersTests.cs (10)
426var result = new ArrayBuilder<IGrouping<string, TypeDefinitionHandle>>();
430result.Add(new Grouping<string, TypeDefinitionHandle>(namespaceName, new[] { new TypeDefinitionHandle() }));
436IEnumerable<IGrouping<string, TypeDefinitionHandle>> typesByNS = result;
440IEnumerable<IGrouping<string, TypeDefinitionHandle>> nestedTypes = null;
441IEnumerable<KeyValuePair<string, IEnumerable<IGrouping<string, TypeDefinitionHandle>>>> nestedNamespaces = null;
466var result = new ArrayBuilder<IGrouping<string, TypeDefinitionHandle>>();
470result.Add(new Grouping<string, TypeDefinitionHandle>(namespaceName, new[] { new TypeDefinitionHandle() }));
476IEnumerable<IGrouping<string, TypeDefinitionHandle>> typesByNS = result;
480IEnumerable<IGrouping<string, TypeDefinitionHandle>> nestedTypes = null;
481IEnumerable<KeyValuePair<string, IEnumerable<IGrouping<string, TypeDefinitionHandle>>>> nestedNamespaces = null;
Microsoft.CodeAnalysis.VisualBasic (36)
Symbols\Metadata\PE\PENamespaceSymbol.vb (9)
39Private _lazyNoPiaLocalTypes As Dictionary(Of String, TypeDefinitionHandle)
165Protected Sub LoadAllMembers(typesByNS As IEnumerable(Of IGrouping(Of String, TypeDefinitionHandle)))
169Dim nestedTypes As IEnumerable(Of IGrouping(Of String, TypeDefinitionHandle)) = Nothing
176Dim nestedNamespaces As IEnumerable(Of KeyValuePair(Of String, IEnumerable(Of IGrouping(Of String, TypeDefinitionHandle)))) = Nothing
197childNamespaces As IEnumerable(Of KeyValuePair(Of String, IEnumerable(Of IGrouping(Of String, TypeDefinitionHandle))))
229Private Sub LazyInitializeTypes(typeGroups As IEnumerable(Of IGrouping(Of String, TypeDefinitionHandle)))
236Dim noPiaLocalTypes As Dictionary(Of String, TypeDefinitionHandle) = Nothing
258noPiaLocalTypes = New Dictionary(Of String, TypeDefinitionHandle)()
311Dim typeDef As TypeDefinitionHandle = Nothing
Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests (6)
Microsoft.CodeAnalysis.VisualBasic.ExpressionCompiler (2)
Microsoft.CodeAnalysis.Workspaces (7)
Microsoft.DotNet.GenFacades (1)
Microsoft.DotNet.PackageTesting (3)
Microsoft.DotNet.SharedFramework.Sdk (3)
Microsoft.DotNet.SignTool (2)
Roslyn.Test.PdbUtilities (4)
SemanticSearch.BuildTask (1)
System.Reflection.Emit (7)
System\Reflection\Emit\ModuleBuilderImpl.cs (6)
156TypeDefinitionHandle typeHandle = AddTypeDefinition(typeBuilder, parent, typeBuilder._firstMethodToken, typeBuilder._firstFieldToken);
175_metadataBuilder.AddNestedType(typeHandle, (TypeDefinitionHandle)GetTypeHandle(typeBuilder.DeclaringType));
203private void WriteInterfaceImplementations(TypeBuilderImpl typeBuilder, TypeDefinitionHandle typeHandle)
917private void AddEventMap(TypeDefinitionHandle typeHandle, int firstEventToken) =>
922private void AddPropertyMap(TypeDefinitionHandle typeHandle, int firstPropertyToken) =>
933private TypeDefinitionHandle AddTypeDefinition(TypeBuilderImpl type, EntityHandle parent, int methodToken, int fieldToken) =>
System.Reflection.Metadata (168)
System.Reflection.MetadataLoadContext (21)