Override getText() in light classes to prevent decompiler errors on Kotlin sources
Fixes EA-58277
This commit is contained in:
+1
-1
@@ -19,7 +19,7 @@ package org.jetbrains.jet.lang.resolve.java.jetAsJava
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.jet.lang.psi.JetDeclaration
|
||||
|
||||
public trait KotlinLightElement<T: JetDeclaration, D: PsiElement> {
|
||||
public trait KotlinLightElement<T : JetDeclaration, D : PsiElement> {
|
||||
public val origin: T?
|
||||
public val delegate: D
|
||||
}
|
||||
|
||||
+5
@@ -83,4 +83,9 @@ public class FakeLightClassForFileOfPackage extends AbstractLightClass implement
|
||||
public PsiElement copy() {
|
||||
return new FakeLightClassForFileOfPackage(getManager(), delegate, file);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,11 +17,10 @@
|
||||
package org.jetbrains.jet.asJava;
|
||||
|
||||
import com.intellij.psi.PsiClass;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.java.jetAsJava.KotlinLightElement
|
||||
import org.jetbrains.jet.lang.psi.JetClassOrObject
|
||||
|
||||
public trait KotlinLightClass: PsiClass, KotlinLightElement<JetClassOrObject, PsiClass> {
|
||||
public trait KotlinLightClass : PsiClass, KotlinLightElement<JetClassOrObject, PsiClass> {
|
||||
val fqName: FqName
|
||||
}
|
||||
|
||||
@@ -24,13 +24,14 @@ import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.impl.PsiClassImplUtil;
|
||||
import com.intellij.psi.impl.light.AbstractLightClass;
|
||||
import com.intellij.psi.impl.light.LightField;
|
||||
import org.jetbrains.jet.asJava.light.KotlinLightField;
|
||||
import com.intellij.psi.impl.light.LightMethod;
|
||||
import com.intellij.psi.impl.source.ClassInnerStuffCache;
|
||||
import com.intellij.psi.impl.source.PsiExtensibleClass;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.asJava.light.KotlinLightField;
|
||||
import org.jetbrains.jet.lang.psi.JetClassOrObject;
|
||||
import org.jetbrains.jet.lang.psi.JetDeclaration;
|
||||
import org.jetbrains.jet.lang.psi.JetProperty;
|
||||
|
||||
@@ -132,4 +133,10 @@ public abstract class KotlinWrappingLightClass extends AbstractLightClass implem
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText() {
|
||||
JetClassOrObject origin = getOrigin();
|
||||
return origin == null ? null : origin.getText();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user