public abstract static class ClassFileDecompilers.Full extends java.lang.Object implements ClassFileDecompilers.Decompiler
"Full" decompilers are designed to provide extended support for languages significantly different from Java. Extensions of this type should take care of building file stubs and properly indexing them - in return they have an ability to represent decompiled file in a way natural for original language.
Constructor and Description |
---|
Full() |
Modifier and Type | Method and Description |
---|---|
abstract FileViewProvider |
createFileViewProvider(VirtualFile file,
PsiManager manager,
boolean physical)
Notes for implementers
|
abstract ClsStubBuilder |
getStubBuilder() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
accepts
public abstract ClsStubBuilder getStubBuilder()
public abstract FileViewProvider createFileViewProvider(VirtualFile file, PsiManager manager, boolean physical)
1. Return a correct language from FileViewProvider.getBaseLanguage()
.
2. This method is called for both PSI file construction and obtaining document text.
In the latter case the PsiManager is based on default project, and the only method called
on a resulting view provider is FileViewProvider.getContents()
.
3. A language compiler may produce auxiliary .class files which should be handled as part of their parent classes.
A standard practice is to hide such files by returning null
from
FileViewProvider.getPsi(com.intellij.lang.Language)
.