GetType() static private method

static private GetType ( Mono.Cecil.ModuleDefinition module, TypeReference reference ) : Mono.Cecil.TypeDefinition
module Mono.Cecil.ModuleDefinition
reference TypeReference
return Mono.Cecil.TypeDefinition
        public virtual TypeDefinition Resolve(TypeReference type)
        {
            if (type == null)
            {
                throw new ArgumentNullException("type");
            }
            type = type.GetElementType();
            IMetadataScope scope = type.Scope;

            if (scope == null)
            {
                return(null);
            }
            switch (scope.MetadataScopeType)
            {
            case MetadataScopeType.AssemblyNameReference:
            {
                AssemblyDefinition assemblyDefinition = this.assembly_resolver.Resolve((AssemblyNameReference)scope);
                if (assemblyDefinition == null)
                {
                    return(null);
                }
                return(MetadataResolver.GetType(assemblyDefinition.MainModule, type));
            }

            case MetadataScopeType.ModuleReference:
            {
                Collection <ModuleDefinition> modules = type.Module.Assembly.Modules;
                ModuleReference moduleReference       = (ModuleReference)scope;
                for (int i = 0; i < modules.Count; i++)
                {
                    ModuleDefinition item = modules[i];
                    if (item.Name == moduleReference.Name)
                    {
                        return(MetadataResolver.GetType(item, type));
                    }
                }
                break;
            }

            case MetadataScopeType.ModuleDefinition:
            {
                return(MetadataResolver.GetType((ModuleDefinition)scope, type));
            }
            }
            throw new NotSupportedException();
        }