import com.intellij.codeInsight.daemon.impl.analysis.JavaModuleGraphUtil;
import com.intellij.codeInspection.BaseJavaLocalInspectionTool;
+import com.intellij.codeInspection.InspectionsBundle;
import com.intellij.codeInspection.ProblemsHolder;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.roots.ModuleFileIndex;
}
private static class NonAccessibleTypeExposedVisitor extends JavaElementVisitor {
- public static final String CLASS_IS_NOT_EXPORTED = "The class is not exported from the module";
private final ProblemsHolder myHolder;
private final ModuleFileIndex myModuleFileIndex;
private final Set<String> myExportedPackageNames;
if (isInModuleSource(annotationClass) && !isModulePublicApi(annotationClass)) {
PsiAnnotationOwner owner = annotation.getOwner();
if (isModulePublicApi(owner)) {
- myHolder.registerProblem(referenceElement, CLASS_IS_NOT_EXPORTED);
+ registerProblem(referenceElement);
}
if (owner instanceof PsiParameter) {
PsiElement parent = ((PsiParameter)owner).getParent();
if (parent instanceof PsiMember && isModulePublicApi((PsiMember)parent)) {
- myHolder.registerProblem(referenceElement, CLASS_IS_NOT_EXPORTED);
+ registerProblem(referenceElement);
}
}
}
private void checkType(@Nullable PsiClass psiClass, @NotNull PsiElement typeElement) {
if (psiClass != null && !(psiClass instanceof PsiTypeParameter) && isInModuleSource(psiClass) && !isModulePublicApi(psiClass)) {
- myHolder.registerProblem(typeElement, CLASS_IS_NOT_EXPORTED);
+ registerProblem(typeElement);
}
}
}
return false;
}
+
+ private void registerProblem(PsiElement element) {
+ myHolder.registerProblem(element, InspectionsBundle.message("inspection.non.accessible.type.exposed.name"));
+ }
}
}