@NotNull public Object[] getVariants() { final AntElement element = getElement(); if (element instanceof AntAntImpl) { final PsiFile psiFile = ((AntAntImpl) element).getCalledAntFile(); if (psiFile != null) { AntFile antFile; if (psiFile instanceof AntFile) { antFile = (AntFile) psiFile; } else { antFile = AntSupport.getAntFile(psiFile); } final AntProject project = (antFile == null) ? null : antFile.getAntProject(); if (project != null) { return project.getTargets(); } } } List<AntTarget> result = new ArrayList<AntTarget>(); final AntProject project = element.getAntProject(); final AntTarget[] targets = project.getTargets(); for (final AntTarget target : targets) { if (target != element) { result.add(target); } } ContainerUtil.addAll(result, project.getImportedTargets()); return result.toArray(); }
private static AntTarget resolveTargetImpl(final String name, final AntProject project) { final AntTarget result = project.getTarget(name); if (result != null) { return result; } for (final AntTarget target : project.getImportedTargets()) { if (name.equals(target.getName())) { return target; } } for (final AntTarget target : project.getImportedTargets()) { if (name.equals(target.getQualifiedName())) { return target; } } return null; }