Even faster completion of root packages

This commit is contained in:
Valentin Kipyatkov
2015-07-15 22:06:33 +03:00
parent 136af1cd60
commit 16d503aed0
10 changed files with 19 additions and 16 deletions
@@ -168,7 +168,7 @@ public class ResolveSession implements KotlinCodeAnalyzer, LazyClassContext {
if (packageDescriptor == null) {
return Collections.emptyList();
}
return packageDescriptor.getDeclarationProvider().getAllDeclaredSubPackages();
return packageDescriptor.getDeclarationProvider().getAllDeclaredSubPackages(nameFilter);
}
};
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
public class CombinedPackageMemberDeclarationProvider(val providers: Collection<PackageMemberDeclarationProvider>) : PackageMemberDeclarationProvider {
override fun getAllDeclaredSubPackages() = providers.flatMap { it.getAllDeclaredSubPackages() }
override fun getAllDeclaredSubPackages(nameFilter: (Name) -> Boolean) = providers.flatMap { it.getAllDeclaredSubPackages(nameFilter) }
override fun getPackageFiles() = providers.flatMap { it.getPackageFiles() }
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.resolve.lazy.declarations
import org.jetbrains.kotlin.psi.JetFile
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.storage.StorageManager
public class FileBasedPackageMemberDeclarationProvider internal constructor(
@@ -40,7 +41,7 @@ public class FileBasedPackageMemberDeclarationProvider internal constructor(
}
}
override fun getAllDeclaredSubPackages(): Collection<FqName> = allDeclaredSubPackages()
override fun getAllDeclaredSubPackages(nameFilter: (Name) -> Boolean): Collection<FqName> = allDeclaredSubPackages()
override fun getPackageFiles() = packageFiles
@@ -19,9 +19,10 @@ package org.jetbrains.kotlin.resolve.lazy.declarations
import org.jetbrains.annotations.ReadOnly
import org.jetbrains.kotlin.psi.JetFile
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
public trait PackageMemberDeclarationProvider : DeclarationProvider {
public fun getAllDeclaredSubPackages(): Collection<FqName>
public fun getAllDeclaredSubPackages(nameFilter: (Name) -> Boolean): Collection<FqName>
public fun getPackageFiles(): Collection<JetFile>
}