Provided PSI file for decompiled Kotlin classes.

This commit is contained in:
Evgeny Gerashchenko
2012-03-01 20:30:43 +04:00
parent 2d492e5171
commit 5baf50cb92
@@ -35,6 +35,7 @@ import com.intellij.psi.impl.java.stubs.PsiJavaFileStub;
import com.intellij.psi.impl.java.stubs.impl.PsiJavaFileStubImpl;
import com.intellij.psi.stubs.PsiClassHolderFileStub;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.JetSemanticServices;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
@@ -105,6 +106,14 @@ public class JetContentBasedFileSubstitutor implements ContentBasedClassFileProc
return new JetHighlighter();
}
@Nullable
@Override
public PsiFile getDecompiledPsiFile(PsiFile psiFile) {
Project project = psiFile.getProject();
String text = obtainFileText(project, psiFile.getVirtualFile());
return PsiFileFactory.getInstance(project).createFileFromText("", JetLanguage.INSTANCE, text);
}
private static boolean isKotlinClass(Project project, VirtualFile file) {
if (!FileTypeManager.getInstance().isFileOfType(file, JavaClassFileType.INSTANCE)) {
return false;