Drop ClassDataFinder#getClassNames()

This commit is contained in:
Pavel V. Talanov
2014-06-19 15:43:09 +04:00
parent 0c8956a36e
commit 123523d1dc
7 changed files with 53 additions and 65 deletions
@@ -18,19 +18,8 @@ package org.jetbrains.jet.descriptors.serialization;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.ReadOnly;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.Name;
import java.util.Collection;
import java.util.Collections;
public interface ClassDataFinder {
@Nullable
ClassData findClassData(@NotNull ClassId classId);
@ReadOnly
@NotNull
Collection<Name> getClassNames(@NotNull FqName packageName);
}
@@ -16,6 +16,7 @@
package org.jetbrains.jet.descriptors.serialization.descriptors;
import kotlin.Function0;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.descriptors.serialization.ClassId;
@@ -31,6 +32,7 @@ import org.jetbrains.jet.lang.descriptors.ReceiverParameterDescriptor;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
import org.jetbrains.jet.lang.resolve.name.Name;
import org.jetbrains.jet.storage.NotNullLazyValue;
import java.util.Collection;
@@ -38,23 +40,27 @@ public class DeserializedPackageMemberScope extends DeserializedMemberScope {
private final FqName packageFqName;
private final DeserializationContext context;
private final NotNullLazyValue<Collection<Name>> classNames;
public DeserializedPackageMemberScope(
@NotNull PackageFragmentDescriptor packageDescriptor,
@NotNull ProtoBuf.Package proto,
@NotNull DeserializationContext context
@NotNull DeserializationContext context,
@NotNull Function0<Collection<Name>> classNames
) {
super(context.withTypes(packageDescriptor), proto.getMemberList());
this.context = context;
this.packageFqName = packageDescriptor.getFqName();
this.classNames = context.getStorageManager().createLazyValue(classNames);
}
public DeserializedPackageMemberScope(
@NotNull PackageFragmentDescriptor packageDescriptor,
@NotNull PackageData packageData,
@NotNull DeserializationGlobalContext context
@NotNull DeserializationGlobalContext context,
@NotNull Function0<Collection<Name>> classNames
) {
this(packageDescriptor, packageData.getPackageProto(), context.withNameResolver(packageData.getNameResolver()));
this(packageDescriptor, packageData.getPackageProto(), context.withNameResolver(packageData.getNameResolver()), classNames);
}
@Nullable
@Override
@@ -64,7 +70,7 @@ public class DeserializedPackageMemberScope extends DeserializedMemberScope {
@Override
protected void addAllClassDescriptors(@NotNull Collection<DeclarationDescriptor> result) {
for (Name className : context.getClassDataFinder().getClassNames(packageFqName)) {
for (Name className : classNames.invoke()) {
ClassDescriptor classDescriptor = getClassDescriptor(className);
if (classDescriptor != null) {