Prevent recursion when computing parameter list of KtLightMethod (part 2)
Use ClsWrapperStubPsiFactory when building light classes for decompiled kotlin classes
This commit is contained in:
+1
-1
@@ -29,7 +29,7 @@ import com.intellij.psi.stubs.StubElement;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
class ClsWrapperStubPsiFactory extends StubPsiFactory {
|
||||
public class ClsWrapperStubPsiFactory extends StubPsiFactory {
|
||||
public static final Key<LightElementOrigin> ORIGIN = Key.create("ORIGIN");
|
||||
private final StubPsiFactory delegate = new ClsStubPsiFactory();
|
||||
|
||||
|
||||
+1
@@ -331,6 +331,7 @@ class IDELightClassGenerationSupport(private val project: Project) : LightClassG
|
||||
correspondingClassOrObject: KtClassOrObject?
|
||||
): ClsClassImpl? {
|
||||
val javaFileStub = ClsJavaStubByVirtualFileCache.getInstance(project).get(classFile) ?: return null
|
||||
javaFileStub.psiFactory = ClsWrapperStubPsiFactory()
|
||||
val manager = PsiManager.getInstance(mirrorFile.project)
|
||||
val fakeFile = object : ClsFileImpl(ClassFileViewProvider(manager, classFile)) {
|
||||
override fun getNavigationElement(): PsiElement {
|
||||
|
||||
Reference in New Issue
Block a user