Add KotlinClassFinder#findKotlinClass(ClassId)
Will be used to load nested classes correctly at runtime
This commit is contained in:
@@ -46,6 +46,7 @@ import org.jetbrains.jet.context.GlobalContext
|
||||
import org.jetbrains.jet.analyzer.ModuleInfo
|
||||
import org.jetbrains.jet.lang.resolve.java.JvmPlatformParameters
|
||||
import org.jetbrains.jet.analyzer.ModuleContent
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DeserializedResolverUtils
|
||||
|
||||
public class BuiltInsSerializer(val out: PrintStream?) {
|
||||
private var totalSize = 0
|
||||
@@ -163,6 +164,6 @@ public class BuiltInsSerializer(val out: PrintStream?) {
|
||||
}
|
||||
|
||||
fun getFileName(classDescriptor: ClassDescriptor): String {
|
||||
return BuiltInsSerializationUtil.getClassMetadataPath(ClassSerializationUtil.getClassId(classDescriptor))
|
||||
return BuiltInsSerializationUtil.getClassMetadataPath(DeserializedResolverUtils.getClassId(classDescriptor))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,13 +16,10 @@
|
||||
|
||||
package org.jetbrains.jet.utils.builtinsSerializer
|
||||
|
||||
import org.jetbrains.jet.descriptors.serialization.ClassId
|
||||
import org.jetbrains.jet.descriptors.serialization.DescriptorSerializer
|
||||
import org.jetbrains.jet.descriptors.serialization.ProtoBuf
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor
|
||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor
|
||||
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe
|
||||
|
||||
public object ClassSerializationUtil {
|
||||
public trait Sink {
|
||||
@@ -48,12 +45,4 @@ public object ClassSerializationUtil {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public fun getClassId(classDescriptor: ClassDescriptor): ClassId {
|
||||
val owner = classDescriptor.getContainingDeclaration()
|
||||
if (owner is PackageFragmentDescriptor) {
|
||||
return ClassId(owner.fqName, FqNameUnsafe.topLevel(classDescriptor.getName()))
|
||||
}
|
||||
return getClassId(owner as ClassDescriptor).createNestedClassId(classDescriptor.getName())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user