Example usage for org.apache.commons.bcel6.generic Type equals

List of usage examples for org.apache.commons.bcel6.generic Type equals

Introduction

In this page you can find the example usage for org.apache.commons.bcel6.generic Type equals.

Prototype

@Override
public boolean equals(Object o) 

Source Link

Usage

From source file:ru.objective.jni.tasks.builders.AbstractBuilder.java

protected String getHeaderDeclarationMethod(MethodExportInfo info, Method method, boolean overloaded) {
    StringBuilder stringBuilder = new StringBuilder();
    String[] argumentTypes = Utility.methodSignatureArgumentTypes(method.getSignature());
    String name = info.name;/* www .ja  v  a2  s. c o m*/

    String methodReturnType = null;

    if (Utils.isConstructor(method)) {
        methodReturnType = "instancetype";

        if (name.equals("<init>"))
            name = "init";
    } else {
        if (Utils.isOccupiedWord(name)) {
            name = "_" + name;
        }

        methodReturnType = Utility.methodSignatureReturnType(method.getSignature()).toString();

        methodReturnType = Utils.getBasicType(methodReturnType);

        if (!Utils.isPrimitive(method.getReturnType())) {
            JavaClass typeJavaClass = OJNIClassLoader.getInstance()
                    .loadClass(method.getReturnType().toString());

            if (typeJavaClass != null && typeJavaClass.isInterface())
                methodReturnType = "id <" + getPrefix() + Utils.getShortClassName(methodReturnType) + ">";
            else
                methodReturnType = getPrefix() + Utils.getShortClassName(methodReturnType) + " *";
        }

        if (Utils.isArrayType(method.getReturnType()))
            methodReturnType = getStringArrayType(methodReturnType, (ArrayType) method.getReturnType());
        else
            methodReturnType = PrimitiveTypeConverter.convertToOBJCType(methodReturnType);
    }
    stringBuilder.append((method.isStatic() ? "+" : "-") + " " + "("
            + PrimitiveTypeConverter.convertToOBJCType(methodReturnType) + ")");

    String[] nameParameters = name.split(":");

    if (info.isCustom)
        overloaded = false;

    LocalVariableTable table = method.getLocalVariableTable();

    if (argumentTypes.length == 0)
        stringBuilder.append(name);

    for (int i = 0, var_index = (method.isStatic() ? 0 : 1); i < argumentTypes.length; i++, var_index++) {
        Type javaType = method.getArgumentTypes()[i];
        String type = argumentTypes[i];

        String variable_name = "";
        if (table == null) {
            variable_name = "arg" + var_index;
        } else {
            LocalVariable lv = table.getLocalVariable(var_index, 0);
            if (lv != null) {
                variable_name = lv.getName();
            }
        }

        if (javaType.equals(Type.LONG) || javaType.equals(Type.DOUBLE))
            var_index++;

        String nameParameter = (i < nameParameters.length ? nameParameters[i] : variable_name);

        type = Utils.getBasicType(type);

        String overloadedParameter = "";

        if (overloaded) {
            overloadedParameter = "With" + (i == 0 ? StringUtils.capitalize(variable_name) : "")
                    + Utils.getShortClassName(type);/*+ StringUtils.capitalize(utils.getShortClassName(type));*/
        }

        if (!Utils.isPrimitive(javaType)) {
            JavaClass argTypeJavaClass = OJNIClassLoader.getInstance().loadClass(javaType.toString());

            if (argTypeJavaClass != null && argTypeJavaClass.isInterface())
                type = "id <" + getPrefix() + Utils.getShortClassName(type) + ">";
            else
                type = getPrefix() + Utils.getShortClassName(type) + " *";
        }

        if (Utils.isArrayType(javaType)) {
            if (overloaded) {
                int dimensions = ((ArrayType) javaType).getDimensions();

                if (dimensions > 1)
                    overloadedParameter += dimensions + "dimArray";
                else
                    overloadedParameter += "Array";
            }
            type = getStringArrayType(type, (ArrayType) javaType);
        } else {
            type = PrimitiveTypeConverter.convertToOBJCType(type);
        }

        if (Utils.isOccupiedWord(variable_name)) {
            variable_name = "_" + variable_name;
        }

        stringBuilder.append(nameParameter + overloadedParameter + ":(" + type + ")" + variable_name + " ");
    }

    stringBuilder.append(";");

    return stringBuilder.toString();
}

From source file:ru.objective.jni.tasks.builders.ClassBuilder.java

public String generateArgumentString(Method method) {
    StringBuilder builder = new StringBuilder();

    Type[] types = method.getArgumentTypes();
    LocalVariableTable localVariableTable = method.getLocalVariableTable();

    for (int i = 0, var_index = (method.isStatic() ? 0 : 1); i < types.length; i++, var_index++) {
        //            if (localVariableTable != null && localVariableTable.getLocalVariable(var_index, 0) == null)
        //                System.gc();
        Type type = types[i];
        String var_name = "";
        if (localVariableTable == null) {
            var_name = "arg" + var_index;
        } else {/*from   w ww.j  a va2  s .  com*/
            LocalVariable lv = localVariableTable.getLocalVariable(var_index, 0);
            if (lv != null) {
                var_name = lv.getName();
            }
        }

        if (type.equals(Type.LONG) || type.equals(Type.DOUBLE))
            var_index++;

        if (Utils.isOccupiedWord(var_name)) {
            var_name = "_" + var_name;
        }

        builder.append(", ");

        if (Utils.isArrayType(type)) {
            ArrayType arrayType = (ArrayType) type;
            int dimensions = arrayType.getDimensions();
            String typeString = arrayType.getBasicType().toString();
            String capitalizedType = StringUtils.capitalize(typeString);

            // fix Boolean = Bool conflicts
            if (capitalizedType.equals("Bool"))
                capitalizedType = "Boolean";

            if (arrayType.getDimensions() == 1 && Utils.isPrimitive(arrayType)) {
                //builder.append("[").append(var_name).append(" rawArray]");
                builder.append("[__env newJava").append(capitalizedType).append("ArrayFromArray:")
                        .append(var_name).append("]");
            } else {
                if (Utils.isPrimitive(arrayType)) {
                    builder.append("[__env newJavaObjectArrayFromArray:").append(var_name)
                            .append(" baseClass:[OJNIPrimitive").append(capitalizedType).append("Array class]")
                            .append(" dimensions:").append(dimensions).append("]");

                } else {
                    JavaClass argTypeJavaClass = OJNIClassLoader.getInstance().loadClass(typeString);

                    String resultClassString = "";
                    if (argTypeJavaClass != null && argTypeJavaClass.isInterface())
                        resultClassString = "@\"" + Utils.getSlashedClassName(typeString) + "\"";
                    else
                        resultClassString = "[" + getPrefix() + Utils.getShortClassName(typeString) + " class]";

                    builder.append("[__env newJavaObjectArrayFromArray:").append(var_name).append(" baseClass:")
                            .append(resultClassString).append(" dimensions:").append(dimensions).append("]");
                }
            }
        } else {
            if (Utils.isPrimitive(type)) {
                builder.append(var_name);
            } else {
                builder.append("[").append(var_name).append(" javaObject]");
            }
        }
    }

    return builder.toString();
}