private static List<? extends TypeMirror> computeImport( Set<ElementKind> types, CompilationInfo info, TreePath parent, Tree error, int offset) { ImportTree tree = (ImportTree) parent.getLeaf(); if (tree.getQualifiedIdentifier() == error) { types.add(ElementKind.ANNOTATION_TYPE); types.add(ElementKind.CLASS); types.add(ElementKind.ENUM); types.add(ElementKind.INTERFACE); return Collections.singletonList( info.getElements().getTypeElement("java.lang.Object").asType()); } return null; }
@Override public Set<String> visitImport(ImportTree node, AbstractMap.Entry<ProjectImpl, PackageImpl> p) { ProjectImpl projectImpl = p.getKey(); PackageImpl packageImpl = p.getValue(); if (node != null) { String importIndentifier = node.getQualifiedIdentifier().toString(); // check if this import identifier belongs to any of the packages String pkgStr = MethodUtil.belongsToPackages(importIndentifier, projectImpl.getPackagesMap().keySet()); if (pkgStr != null) { PackageImpl pi = projectImpl.getPackagesMap().get(pkgStr); // retrieval of the package // adding input and output dependencies packageImpl.getOutputDependencies().add(pi); pi.getInputDependencies().add(packageImpl); HashSet<String> set = new HashSet<String>(); set.add(importIndentifier); return set; } } return null; }
@Override public String visitImport(ImportTree node, String p) { String id = super.visitImport(node, p); if (id != null) { return id; } String i = node.getQualifiedIdentifier().toString(); if (i.contains(p)) { return i; } return null; }