List of usage examples for org.eclipse.jdt.core.dom Type equals
@Override public final boolean equals(Object obj)
ASTNode
implementation of this Object
method uses object identity (==). 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; }