Fixed exception on opening non-Kotlin class file.

#EA-35266 fixed
This commit is contained in:
Evgeny Gerashchenko
2012-04-08 19:22:22 +04:00
parent 19efb9fee5
commit eeb991e338
2 changed files with 9 additions and 4 deletions
@@ -31,6 +31,10 @@ public class JetClsFileDecompiledPsiFileProvider implements ClsFileDecompiledPsi
@Nullable
@Override
public PsiFile getDecompiledPsiFile(@NotNull PsiJavaFile psiFile) {
return JetDecompiledData.getDecompiledData((ClsFileImpl) psiFile).getJetFile();
ClsFileImpl clsFile = (ClsFileImpl)psiFile;
if (JetDecompiledData.isKotlinFile(clsFile)) {
return JetDecompiledData.getDecompiledData(clsFile).getJetFile();
}
return null;
}
}
@@ -80,9 +80,10 @@ public class JetDecompiledData {
public static boolean isKotlinFile(@NotNull Project project, @NotNull VirtualFile vFile) {
ClsFileImpl clsFile = getClsFile(project, vFile);
if (clsFile == null) {
return false;
}
return clsFile != null && isKotlinFile(clsFile);
}
public static boolean isKotlinFile(@NotNull ClsFileImpl clsFile) {
PsiClass psiClass = clsFile.getClasses()[0];
return DecompiledDataFactory.isKotlinNamespaceClass(psiClass) || DecompiledDataFactory.isKotlinClass(psiClass);
}