internal RuntimeAssembly(uint* pointer)
{
assemblyStruct = (MetadataAssemblyStruct*)pointer;
fullName = Mosa.Runtime.Internal.InitializeMetadataString(assemblyStruct->Name);
uint typeCount = (*assemblyStruct).NumberOfTypes;
for (uint i = 0; i < typeCount; i++)
{
var handle = new RuntimeTypeHandle();
((uint**)&handle)[0] = (uint*)MetadataAssemblyStruct.GetTypeDefinitionAddress(assemblyStruct, i);
if (typeHandles.Contains(handle))
continue;
ProcessType(handle);
}
}