Use outer class context in ClassDeserializer

This commit is contained in:
Alexander Udalov
2014-11-19 18:26:49 +03:00
parent 8f26bc646e
commit ea3778d5be
4 changed files with 35 additions and 42 deletions
@@ -54,7 +54,7 @@ public final class DeserializedDescriptorResolver {
public ClassDescriptor resolveClass(@NotNull KotlinJvmBinaryClass kotlinClass) {
String[] data = readData(kotlinClass, CLASS);
if (data != null) {
return context.getClassDeserializer().deserializeClass(JavaProtoBufUtil.readClassDataFrom(data));
return context.getClassDeserializer().deserializeClass(kotlinClass.getClassId(), JavaProtoBufUtil.readClassDataFrom(data));
}
return null;
}
@@ -64,13 +64,14 @@ public final class DeserializedDescriptorResolver {
String[] data = readData(kotlinClass, PACKAGE_FACADE);
if (data != null) {
//all classes are included in java scope
return DescriptorsPackage.DeserializedPackageMemberScope(descriptor, JavaProtoBufUtil.readPackageDataFrom(data), context,
new Function0<Collection<Name>>() {
@Override
public Collection<Name> invoke() {
return Collections.emptyList();
}
});
return DescriptorsPackage.DeserializedPackageMemberScope(
descriptor, JavaProtoBufUtil.readPackageDataFrom(data), context,
new Function0<Collection<Name>>() {
@Override
public Collection<Name> invoke() {
return Collections.emptyList();
}
});
}
return null;
}