Exemple #1
0
        public IType GetTypeFromReference(SRM.MetadataReader reader, SRM.TypeReferenceHandle handle, byte rawTypeKind)
        {
            bool?isReferenceType = IsReferenceType(reader, handle, rawTypeKind);
            var  gctr            = new GetClassTypeReference(handle.GetFullTypeName(reader), handle.GetDeclaringModule(reader), isReferenceType);

            return(gctr.Resolve(module != null ? new SimpleTypeResolveContext(module) : new SimpleTypeResolveContext(compilation)));
        }
Exemple #2
0
        public IType GetTypeFromReference(SRM.MetadataReader reader, SRM.TypeReferenceHandle handle, byte rawTypeKind)
        {
            IModule resolvedModule = module.GetDeclaringModule(handle);
            var     fullTypeName   = handle.GetFullTypeName(reader);
            IType   type;

            if (resolvedModule != null)
            {
                type = resolvedModule.GetTypeDefinition(fullTypeName);
            }
            else
            {
                type = GetClassTypeReference.ResolveInAllAssemblies(compilation, in fullTypeName);
            }
            return(type ?? new UnknownType(fullTypeName, IsReferenceType(reader, handle, rawTypeKind)));
        }