diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PackageFragmentProvider.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PackageFragmentProvider.kt index 7967acadbb2..5de742cffce 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PackageFragmentProvider.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PackageFragmentProvider.kt @@ -23,7 +23,14 @@ public trait PackageFragmentProvider { public fun getPackageFragments(fqName: FqName): List /** - * @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 + + + public object Empty : PackageFragmentProvider { + override fun getPackageFragments(fqName: FqName) = emptyList() + + override fun getSubPackagesOf(fqName: FqName, nameFilter: (Name) -> Boolean) = emptySet() + } } diff --git a/js/js.frontend/src/org/jetbrains/kotlin/js/config/Config.java b/js/js.frontend/src/org/jetbrains/kotlin/js/config/Config.java index aa92dc38b83..e58560217e3 100644 --- a/js/js.frontend/src/org/jetbrains/kotlin/js/config/Config.java +++ b/js/js.frontend/src/org/jetbrains/kotlin/js/config/Config.java @@ -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.emptyList()) - ); + moduleDescriptor.initialize(provider != null ? provider : PackageFragmentProvider.Empty.INSTANCE$); moduleDescriptor.addDependencyOnModule(KotlinBuiltIns.getInstance().getBuiltInsModule()); return moduleDescriptor;