Partial compilation of package (only functions supported).

This commit is contained in:
Evgeny Gerashchenko
2014-01-28 22:56:16 +04:00
parent 00c2bd60e5
commit d62bc07437
29 changed files with 393 additions and 83 deletions
@@ -24,6 +24,7 @@ import org.jetbrains.jet.descriptors.serialization.DescriptorFinder;
import org.jetbrains.jet.descriptors.serialization.JavaProtoBufUtil;
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedClassDescriptor;
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedPackageMemberScope;
import org.jetbrains.jet.descriptors.serialization.descriptors.MemberFilter;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
@@ -45,6 +46,8 @@ import static org.jetbrains.jet.lang.resolve.kotlin.header.KotlinClassHeader.Kin
public final class DeserializedDescriptorResolver {
private DescriptorDeserializers annotationDeserializer;
private MemberFilter memberFilter;
private StorageManager storageManager;
private JavaPackageFragmentProvider javaPackageFragmentProvider;
@@ -73,6 +76,11 @@ public final class DeserializedDescriptorResolver {
this.annotationDeserializer = annotationDeserializer;
}
@Inject
public void setMemberFilter(MemberFilter memberFilter) {
this.memberFilter = memberFilter;
}
@Inject
public void setJavaPackageFragmentProvider(JavaPackageFragmentProvider javaPackageFragmentProvider) {
this.javaPackageFragmentProvider = javaPackageFragmentProvider;
@@ -108,8 +116,8 @@ public final class DeserializedDescriptorResolver {
public JetScope createKotlinPackageScope(@NotNull PackageFragmentDescriptor descriptor, @NotNull KotlinJvmBinaryClass kotlinClass) {
String[] data = readData(kotlinClass, PACKAGE_FACADE);
if (data != null) {
return new DeserializedPackageMemberScope(storageManager, descriptor, annotationDeserializer, javaDescriptorFinder,
JavaProtoBufUtil.readPackageDataFrom(data));
return new DeserializedPackageMemberScope(storageManager, descriptor, annotationDeserializer,
memberFilter, javaDescriptorFinder, JavaProtoBufUtil.readPackageDataFrom(data));
}
return null;
}