blob: cb913a44d143bd8cddc8896d3d68d613d3dd1598 [file] [log] [blame]
package org.jetbrains.android.run;
import com.intellij.execution.ui.ConfigurationModuleSelector;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiClass;
import org.jetbrains.annotations.NotNull;
/**
* @author Eugene.Kudelevsky
*/
public class AndroidInheritingClassVisibilityChecker extends AndroidClassVisibilityCheckerBase {
private final Project myProject;
private final String myBaseClassName;
public AndroidInheritingClassVisibilityChecker(@NotNull Project project,
@NotNull ConfigurationModuleSelector moduleSelector,
@NotNull String baseClassName) {
super(moduleSelector);
myProject = project;
myBaseClassName = baseClassName;
}
@Override
protected boolean isVisible(@NotNull Module module, @NotNull PsiClass aClass) {
final JavaPsiFacade facade = JavaPsiFacade.getInstance(myProject);
final PsiClass baseClass = facade.findClass(myBaseClassName, module.getModuleWithDependenciesAndLibrariesScope(true));
return baseClass != null && (aClass).isInheritor(baseClass, true);
}
}