result.add(compilationUnit);
}
// colocar imports
for (CompilationUnit cu : result) {
ImportVisitor cv = new ImportVisitor();
cu.accept(cv);
Name packageName = cu.getPackage().getName();
// System.out.println("Superclass: " + cv.getSuperClassName());
List<String> importedPackages = new ArrayList<String>();
for (CompilationUnit cu2 : result) {
Name packageToCompare = cu2.getPackage().getName();
ImportDeclaration importDeclaration = null;
if (packageName.getFullyQualifiedName().equals(
packageToCompare.getFullyQualifiedName()))
continue;
ImportCheckerVisitor iv = new ImportCheckerVisitor();
cu2.accept(iv);
// adiciona o import para super class
if (iv.getClassName().equals(cv.getSuperClassName())) {
importDeclaration = importPacakge(packageToCompare);
}
// adiciona o import para fields
else {
for (String fieldType : cv.getFieldTypes()) {
if (iv.getClassName().equals(fieldType)) {
importDeclaration = importPacakge(packageToCompare);
break;
}
}
if (importDeclaration == null) {
for (String instanceType : cv.getInstanceTypes()) {
if (iv.getClassName().equals(instanceType)) {
importDeclaration = importPacakge(packageToCompare);
break;
}
}