Exemplo n.º 1
0
        MethodReference ImportMethodSpecification(SR.MethodBase method, ImportGenericContext context)
        {
            var method_info = method as SR.MethodInfo;

            if (method_info == null)
            {
                throw new InvalidOperationException();
            }

            var element_method     = ImportMethod(method_info.GetGenericMethodDefinition(), context, ImportGenericKind.Definition);
            var instance           = new GenericInstanceMethod(element_method);
            var arguments          = method.GetGenericArguments();
            var instance_arguments = instance.GenericArguments;

            context.Push(element_method);
            try {
                for (int i = 0; i < arguments.Length; i++)
                {
                    /*Telerik Authorship*/
                    TypeReference toAdd = ImportType(arguments[i], context);
                    instance_arguments.Add(toAdd);
                    instance.AddGenericArgument(toAdd);
                }

                return(instance);
            } finally {
                context.Pop();
            }
        }
Exemplo n.º 2
0
        MethodSpecification ImportMethodSpecification(MethodReference method, ImportGenericContext context)
        {
            if (!method.IsGenericInstance)
            {
                throw new NotSupportedException();
            }

            var instance          = (GenericInstanceMethod)method;
            var element_method    = ImportMethod(instance.ElementMethod, context);
            var imported_instance = new GenericInstanceMethod(element_method);

            var arguments          = instance.GenericArguments;
            var imported_arguments = imported_instance.GenericArguments;

            for (int i = 0; i < arguments.Count; i++)
            {
                /*Telerik Authorship*/
                var toAdd = ImportType(arguments[i], context);
                imported_arguments.Add(toAdd);
                imported_instance.AddGenericArgument(toAdd);
            }

            return(imported_instance);
        }
        MethodSpecification ImportMethodSpecification(MethodReference method, IGenericContext context)
        {
            if (!method.IsGenericInstance)
                throw new NotSupportedException ();

            var instance = (GenericInstanceMethod) method;
            var element_method = ImportMethod (instance.ElementMethod, context);
            var imported_instance = new GenericInstanceMethod (element_method);

            var arguments = instance.GenericArguments;
            var imported_arguments = imported_instance.GenericArguments;

            for (int i = 0; i < arguments.Count; i++)
            {
                var toAdd = ImportType(arguments[i], context);
                imported_arguments.Add(toAdd);
                /*Telerik authorship*/
                imported_instance.AddGenericArgument(toAdd);
            }

            return imported_instance;
        }
        MethodReference ImportMethodSpecification(SR.MethodBase method, IGenericContext context)
        {
            var method_info = method as SR.MethodInfo;
            if (method_info == null)
                throw new InvalidOperationException ();

            var element_method = ImportMethod (method_info.GetGenericMethodDefinition (), context, ImportGenericKind.Definition);
            var instance = new GenericInstanceMethod (element_method);
            var arguments = method.GetGenericArguments ();
            var instance_arguments = instance.GenericArguments;

            for (int i = 0; i < arguments.Length; i++)
            {
                TypeReference toAdd = ImportType(arguments[i], context ?? element_method);
                instance_arguments.Add(toAdd);
                /*Telerik authorship*/
                instance.AddGenericArgument(toAdd);
            }

            return instance;
        }