Add KotlinClassFinder#findKotlinClass(ClassId)
Will be used to load nested classes correctly at runtime
This commit is contained in:
+6
-1
@@ -20,13 +20,18 @@ import org.jetbrains.jet.lang.resolve.java.structure.JavaClass
|
||||
import org.jetbrains.jet.lang.resolve.java.structure.impl.JavaClassImpl
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName
|
||||
import org.jetbrains.kotlin.util.sure
|
||||
import org.jetbrains.jet.descriptors.serialization.ClassId
|
||||
|
||||
public abstract class VirtualFileKotlinClassFinder() : VirtualFileFinder {
|
||||
public abstract class VirtualFileKotlinClassFinder : VirtualFileFinder {
|
||||
override fun findKotlinClass(fqName: FqName): KotlinJvmBinaryClass? {
|
||||
val file = findVirtualFileWithHeader(fqName) ?: return null
|
||||
return KotlinBinaryClassCache.getKotlinBinaryClass(file)
|
||||
}
|
||||
|
||||
override fun findKotlinClass(classId: ClassId): KotlinJvmBinaryClass? {
|
||||
return findKotlinClass(classId.asSingleFqName().toSafe())
|
||||
}
|
||||
|
||||
override fun findKotlinClass(javaClass: JavaClass): KotlinJvmBinaryClass? {
|
||||
var file = (javaClass as JavaClassImpl).getPsi().getContainingFile()!!.getVirtualFile() ?: return null
|
||||
if (javaClass.getOuterClass() != null) {
|
||||
|
||||
Reference in New Issue
Block a user