Minor, add PackageFragmentProvider.Empty

This commit is contained in:
Alexander Udalov
2015-04-20 19:04:17 +03:00
parent 3d928a0842
commit ba927318d9
2 changed files with 9 additions and 6 deletions
@@ -23,7 +23,14 @@ public trait PackageFragmentProvider {
public fun getPackageFragments(fqName: FqName): List<PackageFragmentDescriptor>
/**
* @return declared subpackages of {@code fqName}
* @return declared subpackages of a package with the FQ name given by [fqName]
*/
public fun getSubPackagesOf(fqName: FqName, nameFilter: (Name) -> Boolean): Collection<FqName>
public object Empty : PackageFragmentProvider {
override fun getPackageFragments(fqName: FqName) = emptyList<PackageFragmentDescriptor>()
override fun getSubPackagesOf(fqName: FqName, nameFilter: (Name) -> Boolean) = emptySet<FqName>()
}
}
@@ -25,7 +25,6 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider;
import org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider;
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS;
import org.jetbrains.kotlin.psi.JetFile;
@@ -33,7 +32,6 @@ import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil;
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadata;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
/**
@@ -153,9 +151,7 @@ public abstract class Config {
PackageFragmentProvider provider =
KotlinJavascriptSerializationUtil.createPackageFragmentProvider(moduleDescriptor, metadata.getBody());
moduleDescriptor.initialize(
provider != null ? provider : new CompositePackageFragmentProvider(Collections.<PackageFragmentProvider>emptyList())
);
moduleDescriptor.initialize(provider != null ? provider : PackageFragmentProvider.Empty.INSTANCE$);
moduleDescriptor.addDependencyOnModule(KotlinBuiltIns.getInstance().getBuiltInsModule());
return moduleDescriptor;