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 com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.jet.lang.psi.JetDeclaration
|
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 origin: T?
|
||||||
public val delegate: D
|
public val delegate: D
|
||||||
}
|
}
|
||||||
|
|||||||
+5
@@ -83,4 +83,9 @@ public class FakeLightClassForFileOfPackage extends AbstractLightClass implement
|
|||||||
public PsiElement copy() {
|
public PsiElement copy() {
|
||||||
return new FakeLightClassForFileOfPackage(getManager(), delegate, file);
|
return new FakeLightClassForFileOfPackage(getManager(), delegate, file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getText() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,11 +17,10 @@
|
|||||||
package org.jetbrains.jet.asJava;
|
package org.jetbrains.jet.asJava;
|
||||||
|
|
||||||
import com.intellij.psi.PsiClass;
|
import com.intellij.psi.PsiClass;
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||||
import org.jetbrains.jet.lang.resolve.java.jetAsJava.KotlinLightElement
|
import org.jetbrains.jet.lang.resolve.java.jetAsJava.KotlinLightElement
|
||||||
import org.jetbrains.jet.lang.psi.JetClassOrObject
|
import org.jetbrains.jet.lang.psi.JetClassOrObject
|
||||||
|
|
||||||
public trait KotlinLightClass: PsiClass, KotlinLightElement<JetClassOrObject, PsiClass> {
|
public trait KotlinLightClass : PsiClass, KotlinLightElement<JetClassOrObject, PsiClass> {
|
||||||
val fqName: FqName
|
val fqName: FqName
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,13 +24,14 @@ import com.intellij.psi.PsiMethod;
|
|||||||
import com.intellij.psi.impl.PsiClassImplUtil;
|
import com.intellij.psi.impl.PsiClassImplUtil;
|
||||||
import com.intellij.psi.impl.light.AbstractLightClass;
|
import com.intellij.psi.impl.light.AbstractLightClass;
|
||||||
import com.intellij.psi.impl.light.LightField;
|
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.light.LightMethod;
|
||||||
import com.intellij.psi.impl.source.ClassInnerStuffCache;
|
import com.intellij.psi.impl.source.ClassInnerStuffCache;
|
||||||
import com.intellij.psi.impl.source.PsiExtensibleClass;
|
import com.intellij.psi.impl.source.PsiExtensibleClass;
|
||||||
import com.intellij.util.Function;
|
import com.intellij.util.Function;
|
||||||
import com.intellij.util.containers.ContainerUtil;
|
import com.intellij.util.containers.ContainerUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
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.JetDeclaration;
|
||||||
import org.jetbrains.jet.lang.psi.JetProperty;
|
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