public MethodReference Import(MethodReference method)
        {
            CheckMethod(method);

            if (method.Module == this)
            {
                return(method);
            }

            return(MetadataImporter.ImportMethod(method, null));
        }
        public FieldReference Import(FieldReference field)
        {
            CheckField(field);

            if (field.Module == this)
            {
                return(field);
            }

            return(MetadataImporter.ImportField(field, null));
        }
        public TypeReference Import(TypeReference type)
        {
            CheckType(type);

            if (type.Module == this)
            {
                return(type);
            }

            return(MetadataImporter.ImportType(type, null));
        }
        MethodReference Import(SR.MethodBase method, IGenericParameterProvider context)
        {
            CheckMethod(method);
            CheckContext(context, this);

            return(MetadataImporter.ImportMethod(method,
                                                 (IGenericContext)context,
                                                 context != null
                                        ? ImportGenericKind.Open
                                        : ImportGenericKind.Definition));
        }
        TypeReference Import(Type type, IGenericParameterProvider context)
        {
            CheckType(type);
            CheckContext(context, this);

            return(MetadataImporter.ImportType(
                       type,
                       (IGenericContext)context,
                       context != null
                                        ? ImportGenericKind.Open
                                        : ImportGenericKind.Definition));
        }
        MethodReference Import(MethodReference method, IGenericParameterProvider context)
        {
            CheckMethod(method);

            if (method.Module == this)
            {
                return(method);
            }

            CheckContext(context, this);

            return(MetadataImporter.ImportMethod(method, (IGenericContext)context));
        }
        FieldReference Import(FieldReference field, IGenericParameterProvider context)
        {
            CheckField(field);

            if (field.Module == this)
            {
                return(field);
            }

            CheckContext(context, this);

            return(MetadataImporter.ImportField(field, (IGenericContext)context));
        }
        TypeReference Import(TypeReference type, IGenericParameterProvider context)
        {
            CheckType(type);

            if (type.Module == this)
            {
                return(type);
            }

            CheckContext(context, this);

            return(MetadataImporter.ImportType(type, (IGenericContext)context));
        }
        public MethodReference Import(SR.MethodBase method)
        {
            CheckMethod(method);

            return(MetadataImporter.ImportMethod(method, null, ImportGenericKind.Definition));
        }
        public FieldReference Import(SR.FieldInfo field)
        {
            CheckField(field);

            return(MetadataImporter.ImportField(field, null));
        }
        public TypeReference Import(Type type)
        {
            CheckType(type);

            return(MetadataImporter.ImportType(type, null, ImportGenericKind.Definition));
        }