KT-900 Inaccessible class should be unresolved

This commit is contained in:
svtk
2012-01-10 17:48:02 +04:00
parent 5633f71edc
commit e50e3f8ec8
2 changed files with 80 additions and 5 deletions
@@ -128,18 +128,24 @@ public class JetPsiUtil {
return getFQName(file.getNamespaceHeader());
}
public static String getFQName(JetClass jetClass) {
public static String getFQName(JetClassOrObject jetClass) {
PsiElement parent = jetClass.getParent();
if (parent instanceof JetFile) {
return makeFQName(getFQName((JetFile) parent), jetClass);
}
if (parent instanceof JetClass) {
return makeFQName(getFQName(((JetClass) parent)), jetClass);
while (parent instanceof JetClassBody) {
parent = parent.getParent();
if (parent instanceof JetObjectDeclaration && parent.getParent() instanceof JetClassObject) {
parent = parent.getParent().getParent();
}
}
if (parent instanceof JetClassOrObject) {
return makeFQName(getFQName(((JetClassOrObject) parent)), jetClass);
}
return jetClass.getName();
}
private static String makeFQName(String prefix, JetClass jetClass) {
return (prefix.length() == 0 ? "" : prefix + ".") + jetClass.getName();
private static String makeFQName(String prefix, JetClassOrObject jetClass) {
return ((prefix == null || prefix.length() == 0) ? "" : prefix + ".") + jetClass.getName();
}
}