KtLightClassForDecompiledDeclaration is now marked by KtLightClassMarker
Rename: KtJavaMirrorMarker -> KtLightClassMarker Introduce code to be able to tell light classes from source and binaries apart in 'frontend.java'
This commit is contained in:
+5
-2
@@ -14,7 +14,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.asJava;
|
||||
package org.jetbrains.kotlin.asJava
|
||||
|
||||
public interface KtJavaMirrorMarker {
|
||||
import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind
|
||||
|
||||
interface KtLightClassMarker {
|
||||
val originKind: LightClassOriginKind
|
||||
}
|
||||
@@ -24,7 +24,7 @@ import com.intellij.psi.search.DelegatingGlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.asJava.KtJavaMirrorMarker;
|
||||
import org.jetbrains.kotlin.asJava.KtLightClassMarker;
|
||||
import org.jetbrains.kotlin.idea.KotlinFileType;
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaClass;
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaPackage;
|
||||
@@ -107,7 +107,7 @@ public class JavaClassFinderImpl implements JavaClassFinder {
|
||||
throw new IllegalStateException("Requested " + fqName + ", got " + javaClass.getFqName());
|
||||
}
|
||||
|
||||
if (psiClass instanceof KtJavaMirrorMarker) {
|
||||
if (psiClass instanceof KtLightClassMarker) {
|
||||
throw new IllegalStateException("Kotlin light classes should not be found by JavaPsiFacade, resolving: " + fqName);
|
||||
}
|
||||
|
||||
|
||||
+8
-3
@@ -22,7 +22,7 @@ import kotlin.collections.CollectionsKt;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.asJava.KtJavaMirrorMarker;
|
||||
import org.jetbrains.kotlin.asJava.KtLightClassMarker;
|
||||
import org.jetbrains.kotlin.descriptors.Visibility;
|
||||
import org.jetbrains.kotlin.load.java.structure.*;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
@@ -154,9 +154,14 @@ public class JavaClassImpl extends JavaClassifierImpl<PsiClass> implements JavaC
|
||||
return JavaElementUtil.getVisibility(this);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public boolean isKotlinLightClass() {
|
||||
return getPsi() instanceof KtJavaMirrorMarker;
|
||||
public LightClassOriginKind getLightClassOriginKind() {
|
||||
PsiClass psiClass = getPsi();
|
||||
if (psiClass instanceof KtLightClassMarker) {
|
||||
return ((KtLightClassMarker) psiClass).getOriginKind();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
Reference in New Issue
Block a user