コード例 #1
0
ファイル: Compiler.ByRef.cs プロジェクト: PlumpMath/CIL2Java
        Java.Constants.MethodRef IByRefController.GetFieldByRefCtorMethodRef(InterType type)
        {
            JavaByRefType byRefType = new JavaByRefType(ByRefPlace.Field, JavaHelpers.InterTypeToJavaPrimitive(type));

            return(new Java.Constants.MethodRef(
                       TypeNameToJava(byRefType.ToString()),
                       ClassNames.JavaConstructorMethodName,
                       ClassNames.ByRef.FieldCtorDescriptor));
        }
コード例 #2
0
ファイル: Compiler.ByRef.cs プロジェクト: PlumpMath/CIL2Java
        string IByRefController.GetArrayByRefTypeName(InterType type)
        {
            JavaByRefType byRefType = new JavaByRefType(ByRefPlace.Array, JavaHelpers.InterTypeToJavaPrimitive(type));

            if (!byRefToGenerate.Contains(byRefType))
            {
                byRefToGenerate.Add(byRefType);
            }

            return(byRefType.ToString());
        }
コード例 #3
0
ファイル: Compiler.ByRef.cs プロジェクト: PlumpMath/CIL2Java
        Java.Constants.MethodRef IByRefController.GetByRefSetValueMethodRef(JavaPrimitiveType type)
        {
            JavaByRefType byRefType = new JavaByRefType(ByRefPlace.Unknown, type);
            string        descr     = "L" + TypeNameToJava(ClassNames.JavaObject) + ";";

            if (type != JavaPrimitiveType.Ref)
            {
                descr = JavaPrimitive2FieldChar[(int)type].ToString();
            }

            return(new Java.Constants.MethodRef(
                       TypeNameToJava(byRefType.ToString()),
                       ClassNames.ByRef.SetValueMethodName,
                       "(" + descr + ")V"));
        }
コード例 #4
0
ファイル: Compiler.ByRef.cs プロジェクト: PlumpMath/CIL2Java
        private string GetByRefTypeName(InterType byRefType)
        {
            while (byRefType.IsByRef)
            {
                byRefType = byRefType.ElementType;
            }

            JavaByRefType javaType = new JavaByRefType(ByRefPlace.Unknown, JavaHelpers.InterTypeToJavaPrimitive(byRefType));

            if (!byRefToGenerate.Contains(javaType))
            {
                byRefToGenerate.Add(javaType);
            }

            return(javaType.ToString());
        }
コード例 #5
0
ファイル: Compiler.ByRef.cs プロジェクト: PlumpMath/CIL2Java
        Java.Constants.MethodRef IByRefController.GetArrayByRefCtorMethodRef(InterType type)
        {
            JavaByRefType byRefType = new JavaByRefType(ByRefPlace.Array, JavaHelpers.InterTypeToJavaPrimitive(type));

            string typeDescr = "[L" + TypeNameToJava(ClassNames.JavaObject) + ";";

            if (byRefType.type != JavaPrimitiveType.Ref)
            {
                typeDescr = "[" + GetFieldDescriptor(type);
            }

            return(new Java.Constants.MethodRef(
                       TypeNameToJava(byRefType.ToString()),
                       ClassNames.JavaConstructorMethodName,
                       "(" + typeDescr + "I)V"));
        }
コード例 #6
0
ファイル: Compiler.ByRef.cs プロジェクト: PlumpMath/CIL2Java
        Java.Constants.MethodRef IByRefController.GetLocalByRefCtorMethodRef(InterType type)
        {
            JavaByRefType byRefType = new JavaByRefType(ByRefPlace.Local, JavaHelpers.InterTypeToJavaPrimitive(type));

            string descr = "L" + TypeNameToJava(ClassNames.JavaObject) + ";";

            if (byRefType.type != JavaPrimitiveType.Ref)
            {
                descr = JavaPrimitive2FieldChar[(int)byRefType.type].ToString();
            }

            return(new Java.Constants.MethodRef(
                       TypeNameToJava(byRefType.ToString()),
                       ClassNames.JavaConstructorMethodName,
                       "(" + descr + ")V"));
        }