Example usage for org.eclipse.jdt.core.dom Type equals

List of usage examples for org.eclipse.jdt.core.dom Type equals

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.dom Type equals.

Prototype

@Override
public final boolean equals(Object obj) 

Source Link

Document

The ASTNode implementation of this Object method uses object identity (==).

Usage

From source file:com.motorolamobility.preflighting.core.internal.utils.ProjectUtils.java

License:Apache License

/**
 * Build the tree of elements by categorizing each element, creating the
 * proper element object and adding the element on the proper node of the
 * tree.//from w  w w . j  a va  2  s . c  om
 * 
 * @param project
 * @param appElement
 */
private static void populateApplicationDataRecursively(File project, Element appElement, boolean isProject,
        List<Parameter> globalParameters) {
    Element element = null;
    File[] files = project.listFiles();
    // the XML Document fulfilled by checkElementType method when the
    // element is a XML file
    Document[] xmlDoc = new Document[1];

    for (int i = 0; i < files.length; i++) {
        File file = files[i];
        Type elementType = checkElementType(file, appElement, xmlDoc);
        if (file.isFile()) {
            if (xmlDoc[0] != null) {
                if (elementType == Type.FILE_STRINGS) {
                    element = new StringsElement(file.getName(), appElement);
                } else if (elementType == Type.FILE_LAYOUT) {
                    element = new XMLElement(file.getName(), appElement, elementType);
                } else {
                    element = new XMLElement(file.getName(), appElement, elementType);
                }

                // fill each node of xmlDoc with line number information
                if (file.getName().equals(ANDROID_MANIFEST_NAME)) {
                    populateLineNumber(file, xmlDoc);
                }

                ((XMLElement) element).setDocument(xmlDoc[0]);
            } else {
                element = new Element(file.getName(), appElement, elementType);
            }
            element.setFile(file);
            appElement.addChild(element);
        } else {
            // dist folder is not scanned
            if (file.getName().equals(FOLDER_DIST)) {
                continue;
            } else if (elementType.equals(Element.Type.FOLDER_RES)) {
                if (!file.getAbsolutePath().endsWith(File.separator + "bin" + File.separator + "res")) {
                    // WARNING: the if above is necessary since ADT R14
                    // do not consider /bin/res (otherwise it will break
                    // several conditions)
                    element = new ResourcesFolderElement(file, appElement);
                }
            } else if (elementType.equals(Element.Type.FOLDER_SRC)) {
                try {
                    if (!isProject) {
                        element = ApktoolUtils.extractJavaModel(file, appElement, file);
                    } else {
                        element = ProjectUtils.createCompilationUnits(appElement, file, project,
                                globalParameters);
                    }
                } catch (Exception e) {
                    element = new FolderElement(file, appElement, elementType);
                    PreflightingLogger.error(ProjectUtils.class,
                            PreflightingCoreNLS.ProjectUtils_ErrorReadingJavaModel, e); //$NON-NLS-1$
                }
            } else {
                element = new FolderElement(file, appElement, elementType);
            }
            if (element != null) {
                appElement.addChild(element);
                populateApplicationDataRecursively(file, element, isProject, globalParameters);
            }
        }
    }
}

From source file:org.evosuite.testcarver.codegen.CodeGenerator.java

License:Open Source License

@SuppressWarnings("unchecked")
private MethodInvocation createCallMethodOrNewInstanceCallStmt(final boolean isConstructorCall, final AST ast,
        final String varName, final String targetTypeName, final String methodName, final Object[] methodArgs,
        final org.objectweb.asm.Type[] paramTypes) {
    //-- construct getField() call
    final MethodInvocation callMethodCall = ast.newMethodInvocation();

    if (isConstructorCall) {
        callMethodCall.setName(ast.newSimpleName("newInstance"));
    } else {//from   www .  j a va 2s.  co m
        callMethodCall.setName(ast.newSimpleName("callMethod"));
    }

    StringLiteral stringLiteral = ast.newStringLiteral();
    stringLiteral.setLiteralValue(targetTypeName);
    callMethodCall.arguments().add(stringLiteral); // class name

    if (!isConstructorCall) {
        stringLiteral = ast.newStringLiteral();
        stringLiteral.setLiteralValue(methodName);
        callMethodCall.arguments().add(stringLiteral); // method name

        if (varName == null) {
            callMethodCall.arguments().add(ast.newNullLiteral()); // static call -> no receiver
        } else {
            callMethodCall.arguments().add(ast.newSimpleName(varName)); // receiver
        }
    }

    // method arguments
    ArrayCreation arrCreation = ast.newArrayCreation();
    arrCreation.setType(ast.newArrayType(ast.newSimpleType(ast.newSimpleName("Object"))));
    ArrayInitializer arrInit = ast.newArrayInitializer();
    arrCreation.setInitializer(arrInit);
    callMethodCall.arguments().add(arrCreation);

    Integer arg; // is either an oid or null
    for (int i = 0; i < methodArgs.length; i++) {
        arg = (Integer) methodArgs[i];
        if (arg == null) {
            arrInit.expressions().add(ast.newNullLiteral());
        } else {
            arrInit.expressions().add(ast.newSimpleName(this.oidToVarMapping.get(arg)));
        }
    }

    // paramTypes
    arrCreation = ast.newArrayCreation();
    arrCreation.setType(ast.newArrayType(ast.newSimpleType(ast.newSimpleName("Class"))));
    arrInit = ast.newArrayInitializer();
    arrCreation.setInitializer(arrInit);
    callMethodCall.arguments().add(arrCreation);

    org.objectweb.asm.Type type;
    for (int i = 0; i < paramTypes.length; i++) {
        type = paramTypes[i];

        if (type.equals(org.objectweb.asm.Type.BOOLEAN_TYPE)) {
            FieldAccess facc = ast.newFieldAccess();
            facc.setName(ast.newSimpleName("TYPE"));
            facc.setExpression(ast.newSimpleName("Boolean"));
            arrInit.expressions().add(facc);
        } else if (type.equals(org.objectweb.asm.Type.BYTE_TYPE)) {
            FieldAccess facc = ast.newFieldAccess();
            facc.setName(ast.newSimpleName("TYPE"));
            facc.setExpression(ast.newSimpleName("Byte"));
            arrInit.expressions().add(facc);
        } else if (type.equals(org.objectweb.asm.Type.CHAR_TYPE)) {
            FieldAccess facc = ast.newFieldAccess();
            facc.setName(ast.newSimpleName("TYPE"));
            facc.setExpression(ast.newSimpleName("Character"));
            arrInit.expressions().add(facc);
        } else if (type.equals(org.objectweb.asm.Type.DOUBLE_TYPE)) {
            FieldAccess facc = ast.newFieldAccess();
            facc.setName(ast.newSimpleName("TYPE"));
            facc.setExpression(ast.newSimpleName("Double"));
            arrInit.expressions().add(facc);
        } else if (type.equals(org.objectweb.asm.Type.FLOAT_TYPE)) {
            FieldAccess facc = ast.newFieldAccess();
            facc.setName(ast.newSimpleName("TYPE"));
            facc.setExpression(ast.newSimpleName("Float"));
            arrInit.expressions().add(facc);
        } else if (type.equals(org.objectweb.asm.Type.INT_TYPE)) {
            FieldAccess facc = ast.newFieldAccess();
            facc.setName(ast.newSimpleName("TYPE"));
            facc.setExpression(ast.newSimpleName("Integer"));
            arrInit.expressions().add(facc);
        } else if (type.equals(org.objectweb.asm.Type.LONG_TYPE)) {
            FieldAccess facc = ast.newFieldAccess();
            facc.setName(ast.newSimpleName("TYPE"));
            facc.setExpression(ast.newSimpleName("Long"));
            arrInit.expressions().add(facc);
        } else if (type.equals(org.objectweb.asm.Type.SHORT_TYPE)) {
            FieldAccess facc = ast.newFieldAccess();
            facc.setName(ast.newSimpleName("TYPE"));
            facc.setExpression(ast.newSimpleName("Short"));
            arrInit.expressions().add(facc);
        } else {
            final TypeLiteral clazz = ast.newTypeLiteral();
            clazz.setType(ast.newSimpleType(ast.newName(type.getClassName())));

            arrInit.expressions().add(clazz);
        }
    }

    return callMethodCall;
}