package com.intellij.lang.javascript.uml;
import com.intellij.lang.javascript.psi.ecmal4.JSClass;
import com.intellij.lang.javascript.psi.resolve.JSInheritanceUtil;
import com.intellij.lang.javascript.JSBundle;
import com.intellij.openapi.project.Project;
import com.intellij.diagram.extras.providers.SupersProvider;
import com.intellij.psi.PsiElement;
import java.util.Comparator;
import java.util.Collection;
public class FlashUmlSupersProvider extends SupersProvider<Object> {
@Override
public boolean showProgress() {
return false;
}
public Object[] getElements(Object element, Project project) {
final Collection<JSClass> supers = JSInheritanceUtil.findAllParentsForClass((JSClass)element, true);
return supers.toArray(new JSClass[supers.size()]);
}
public boolean isEnabledOn(Object element) {
return element instanceof JSClass;
}
public String getHeaderName(Object element, Project project) {
return JSBundle.message("javascript.uml.show.supers.header", ((JSClass)element).getName());
}
public Comparator<Object> getComparator() {
return (o1, o2) -> PSI_COMPARATOR.compare((PsiElement)o1, (PsiElement)o2);
}
}