Merge DeserializationGlobalContext with DeserializationComponents
This commit is contained in:
+5
-4
@@ -16,12 +16,13 @@
|
||||
|
||||
package org.jetbrains.jet.lang.resolve.kotlin
|
||||
|
||||
import org.jetbrains.jet.descriptors.serialization.context.DeserializationGlobalContext
|
||||
import org.jetbrains.jet.storage.StorageManager
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaPackageFragmentProvider
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.jet.descriptors.serialization.context.DeserializationComponents
|
||||
|
||||
// This class is needed only for easier injection: exact types of needed components are specified in the constructor here.
|
||||
// Otherwise injector generator is not smart enough to deduce, for example, which package fragment provider DeserializationComponents needs
|
||||
public class DeserializationGlobalContextForJava(
|
||||
storageManager: StorageManager,
|
||||
moduleDescriptor: ModuleDescriptor,
|
||||
@@ -29,9 +30,9 @@ public class DeserializationGlobalContextForJava(
|
||||
annotationLoader: AnnotationDescriptorLoader,
|
||||
constantLoader: ConstantDescriptorLoader,
|
||||
packageFragmentProvider: LazyJavaPackageFragmentProvider
|
||||
) : DeserializationGlobalContext(
|
||||
DeserializationComponents(
|
||||
) {
|
||||
val components = DeserializationComponents(
|
||||
storageManager, moduleDescriptor, classDataFinder, annotationLoader, constantLoader, packageFragmentProvider,
|
||||
JavaFlexibleTypeCapabilitiesDeserializer
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
+4
-2
@@ -54,7 +54,9 @@ public final class DeserializedDescriptorResolver {
|
||||
public ClassDescriptor resolveClass(@NotNull KotlinJvmBinaryClass kotlinClass) {
|
||||
String[] data = readData(kotlinClass, CLASS);
|
||||
if (data != null) {
|
||||
return context.getClassDeserializer().deserializeClass(kotlinClass.getClassId(), JavaProtoBufUtil.readClassDataFrom(data));
|
||||
return context.getComponents().getClassDeserializer().deserializeClass(
|
||||
kotlinClass.getClassId(), JavaProtoBufUtil.readClassDataFrom(data)
|
||||
);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -65,7 +67,7 @@ public final class DeserializedDescriptorResolver {
|
||||
if (data != null) {
|
||||
//all classes are included in java scope
|
||||
return DescriptorsPackage.DeserializedPackageMemberScope(
|
||||
descriptor, JavaProtoBufUtil.readPackageDataFrom(data), context,
|
||||
descriptor, JavaProtoBufUtil.readPackageDataFrom(data), context.getComponents(),
|
||||
new Function0<Collection<Name>>() {
|
||||
@Override
|
||||
public Collection<Name> invoke() {
|
||||
|
||||
Reference in New Issue
Block a user