GetSignatureLowerNoRet() public method

public GetSignatureLowerNoRet ( ) : string
return string
Esempio n. 1
0
        private static GMethod RegisterCLRCall(GType type, MethodBase method)
        {
            var res = new GMethod();

            res.Type        = type;
            res.Name        = method.Name;
            res.CLRName     = method.Name;
            res.JVMName     = method.Name;
            res.IsCLRMethod = true;
            foreach (ParameterInfo info in method.GetParameters())
            {
                Type parameterType = info.ParameterType;
                if (TestCLRType(parameterType))
                {
                    return(null);
                }
                // we ignore IsOut when IsIn is set as well, because they are probably just attributes
                // see System.IO.TextReader.Read([In, Out] char[] buffer, int index, int count)
                if (info.IsOut && !info.IsIn)
                {
                    //this is trick how to store out as type
                    parameterType = parameterType.GetElementType().MakePointerType();
                }
                res.ParameterNames.Add(info.Name);
                res.Parameters.Add(RegisterType(parameterType));
            }
            res.ReturnType = RegisterType(typeof(void));

            ConvertCLRAttributes(type, res, method);
            res.LowerName = (res.JVMName + res.GetSignatureLowerNoRet());

            return(res);
        }
Esempio n. 2
0
        private static void RegisterJVMMethod(GType type, Method method, bool register)
        {
            var        modifiers  = (ModifierFlags)method.getModifiers();
            Annotation annotation = HasAnnotation(method, "net.sf.jni4net.attributes.ClrMethod");

            if (annotation != null ||
                (modifiers & (ModifierFlags.Private | ModifierFlags.Synthetic)) != ModifierFlags.None)
            {
                if (annotation == null)
                {
                    if (config.Verbose)
                    {
                        Console.WriteLine("Skip " + type + "." + method);
                    }
                }
                return;
            }

            var res = new GMethod();

            res.Type        = type;
            res.Name        = method.getName();
            res.JVMName     = res.Name;
            res.CLRName     = res.JVMName;
            res.IsJVMMethod = true;
            var parameterTypes = method.getParameterTypes();
            var parameterNames = GetParameterNames(method, parameterTypes.Length);

            for (int i = 0; i < parameterTypes.Length; i++)
            {
                var paramType = parameterTypes[i];
                var paramName = parameterNames[i];
                res.ParameterNames.Add(paramName); //+ paramType.ShortName
                res.Parameters.Add(RegisterClass(paramType));
            }
            ConvertJVMAttributes(type, res, method);
            res.LowerName  = res.Name + res.GetSignatureLowerNoRet();
            res.ReturnType = RegisterClass(method.getReturnType());
            if (register)
            {
                bool force = false;
                if (UseMethodModifier(type, res, res.Name, res.GetJVMSignature(), ref force))
                {
                    if (config.Verbose)
                    {
                        Console.WriteLine("Skip " + type + "." + method);
                    }
                    return;
                }

                FinishRegistration(method.getName(), type, res, force, res.Name + res.GetCLRSignatureNoRet(), skipCLR);
            }
        }
Esempio n. 3
0
        private static void RegisterJVMConstructor(GType type, Constructor ctor, bool register)
        {
            var modifiers = (ModifierFlags)ctor.getModifiers();

            if ((modifiers & (ModifierFlags.Private | ModifierFlags.Synthetic)) != ModifierFlags.None)
            {
                return;
            }

            var res = new GMethod();

            res.Type          = type;
            res.Name          = "<init>";
            res.JVMName       = res.Name;
            res.CLRName       = "_ctor" + type.JVMType.getSimpleName();
            res.ReturnType    = voidType;
            res.IsJVMMethod   = true;
            res.IsConstructor = true;
            var parameterTypes = ctor.getParameterTypes();
            var parameterNames = GetParameterNames(ctor, parameterTypes.Length);

            for (int i = 0; i < parameterTypes.Length; i++)
            {
                var paramType = parameterTypes[i];
                var paramName = parameterNames[i];
                res.ParameterNames.Add(paramName); //+ paramType.ShortName
                res.Parameters.Add(RegisterClass(paramType));
            }
            ConvertJVMAttributes(type, res, ctor);
            res.LowerName = (res.Name + res.GetSignatureLowerNoRet());
            if (register)
            {
                bool force = false;
                if (UseMethodModifier(type, res, res.Name, res.GetJVMSignature(), ref force))
                {
                    return;
                }
                type.Constructors.Add(res);
            }
        }
Esempio n. 4
0
        private static GMethod RegisterCLRCall(GType type, MethodBase method)
        {
            var res = new GMethod();
            res.Type = type;
            res.Name = method.Name;
            res.CLRName = method.Name;
            res.JVMName = method.Name;
            res.IsCLRMethod = true;
            foreach (ParameterInfo info in method.GetParameters())
            {
                Type parameterType = info.ParameterType;
                if (TestCLRType(parameterType))
                {
                    return null;
                }
                // we ignore IsOut when IsIn is set as well, because they are probably just attributes
                // see System.IO.TextReader.Read([In, Out] char[] buffer, int index, int count)
                if (info.IsOut && !info.IsIn)
                {
                    //this is trick how to store out as type
                    parameterType = parameterType.GetElementType().MakePointerType();
                }
                res.ParameterNames.Add(info.Name);
                res.Parameters.Add(RegisterType(parameterType));
            }
            res.ReturnType = RegisterType(typeof (void));

            ConvertCLRAttributes(type, res, method);
            res.LowerName = (res.JVMName + res.GetSignatureLowerNoRet());

            return res;
        }
Esempio n. 5
0
        private static void RegisterJVMMethod(GType type, Method method, bool register)
        {
            var modifiers = (ModifierFlags)method.getModifiers();
            Annotation annotation = HasAnnotation(method, "net.sf.jni4net.attributes.ClrMethod");
            if (annotation != null ||
                (modifiers & (ModifierFlags.Private | ModifierFlags.Synthetic)) != ModifierFlags.None)
            {
                if (annotation == null)
                {
                    if (config.Verbose)
                    {
                        Console.WriteLine("Skip " + type + "." + method);
                    }
                }
                return;
            }

            var res = new GMethod();
            res.Type = type;
            res.Name = method.getName();
            res.JVMName = res.Name;
            res.CLRName = res.JVMName;
            res.IsJVMMethod = true;
            Class[] parameterTypes = method.getParameterTypes();
            for (int i = 0; i < parameterTypes.Length; i++)
            {
                Class paramType = parameterTypes[i];
                res.ParameterNames.Add("par" + i); //+ paramType.ShortName
                res.Parameters.Add(RegisterClass(paramType));
            }
            ConvertJVMAttributes(type, res, method);
            res.LowerName = res.Name + res.GetSignatureLowerNoRet();
            res.ReturnType = RegisterClass(method.getReturnType());
            if (register)
            {
                bool force = false;
                if (UseMethodModifier(type, res, res.Name, res.GetJVMSignature(), ref force))
                {
                    if (config.Verbose)
                    {
                        Console.WriteLine("Skip " + type + "." + method);
                    }
                    return;
                }

                FinishRegistration(method.getName(), type, res, force, res.Name + res.GetCLRSignatureNoRet(), skipCLR);
            }
        }
Esempio n. 6
0
        private static void RegisterJVMConstructor(GType type, Constructor ctor, bool register)
        {
            var modifiers = (ModifierFlags) ctor.getModifiers();
            if ((modifiers & (ModifierFlags.Private | ModifierFlags.Synthetic)) != ModifierFlags.None)
            {
                return;
            }

            var res = new GMethod();
            res.Type = type;
            res.Name = "<init>";
            res.JVMName = res.Name;
            res.CLRName = "_ctor" + type.JVMType.getSimpleName();
            res.ReturnType = voidType;
            res.IsJVMMethod = true;
            res.IsConstructor = true;
            Class[] parameterTypes = ctor.getParameterTypes();
            for (int i = 0; i < parameterTypes.Length; i++)
            {
                Class paramType = parameterTypes[i];
                res.ParameterNames.Add("par" + i); //+ paramType.ShortName
                res.Parameters.Add(RegisterClass(paramType));
            }
            ConvertJVMAttributes(type, res, ctor);
            res.LowerName = (res.Name + res.GetSignatureLowerNoRet());
            if (register)
            {
                bool force = false;
                if (UseMethodModifier(type, res, res.Name, res.GetJVMSignature(), ref force))
                {
                    return;
                }
                type.Constructors.Add(res);
            }
        }