@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(); }
@NotNull public IntentionAction[] getFixes() { final String name = getCanonicalRepresentationText(); if (name == null || name.length() == 0) return IntentionAction.EMPTY_ARRAY; final AntProject project = getElement().getAntProject(); final AntFile[] importedFiles = project.getImportedFiles(); final List<IntentionAction> result = new ArrayList<IntentionAction>(importedFiles.length + 1); result.add(new AntCreateTargetFix(this)); for (final AntFile file : importedFiles) { if (file.isPhysical()) { result.add(new AntCreateTargetFix(this, file)); } } result.add(new AntChangeContextFix()); return result.toArray(new IntentionAction[result.size()]); }
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; }