assert JetLightClass is not parsed as regular PsiClass

This commit is contained in:
Stepan Koltsov
2012-02-22 22:10:54 +04:00
parent 871f9fc580
commit 16f76982d1
@@ -275,6 +275,8 @@ public class JavaDescriptorResolver {
throw new IllegalStateException(psiClass.getQualifiedName());
}
checkPsiClassIsNotJet(psiClass);
String name = psiClass.getName();
ResolverBinaryClassData classData = new ResolverBinaryClassData();
classDescriptorCache.put(psiClass.getQualifiedName(), classData);
@@ -412,6 +414,12 @@ public class JavaDescriptorResolver {
return classData;
}
private void checkPsiClassIsNotJet(PsiClass psiClass) {
if (psiClass instanceof JetJavaMirrorMarker) {
throw new IllegalStateException("trying to resolve fake jet PsiClass as regular PsiClass");
}
}
/**
* TODO
* @see #createJavaNamespaceDescriptor(com.intellij.psi.PsiClass)
@@ -819,6 +827,9 @@ public class JavaDescriptorResolver {
* @see #createClassObjectDescriptor(org.jetbrains.jet.lang.descriptors.ClassDescriptor, com.intellij.psi.PsiClass)
*/
private ResolverNamespaceData createJavaNamespaceDescriptor(@NotNull final PsiClass psiClass) {
checkPsiClassIsNotJet(psiClass);
ResolverNamespaceData namespaceData = new ResolverNamespaceData();
namespaceData.namespaceDescriptor = new JavaNamespaceDescriptor(
resolveParentDescriptor(psiClass),