Code refactoring
This commit is contained in:
@@ -122,21 +122,16 @@ public class JetShortNamesCache(private val project: Project) : PsiShortNamesCac
|
|||||||
destination.addAll(Arrays.asList<String>(*getAllClassNames()))
|
destination.addAll(Arrays.asList<String>(*getAllClassNames()))
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public fun getTopLevelObjects(nameFilter: (String) -> Boolean, resolveSession: ResolveSessionForBodies, scope: GlobalSearchScope): Collection<ClassDescriptor> {
|
||||||
* Get kotlin non-extension top-level function names. Method is allowed to give invalid names - all result should be
|
val allObjectNames = JetTopLevelObjectShortNameIndex.getInstance().getAllKeys(project).stream() +
|
||||||
* checked with getTopLevelFunctionDescriptorsByName().
|
JetFromJavaDescriptorHelper.getPossiblePackageDeclarationsNames(project, GlobalSearchScope.allScope(project)).stream()
|
||||||
*/
|
return allObjectNames
|
||||||
public fun getAllTopLevelFunctionNames(): Collection<String> {
|
.filter(nameFilter)
|
||||||
return (JetTopLevelNonExtensionFunctionShortNameIndex.getInstance().getAllKeys(project)
|
.toSet()
|
||||||
+ JetFromJavaDescriptorHelper.getPossiblePackageDeclarationsNames(project, GlobalSearchScope.allScope(project))).toSet()
|
.flatMap { getTopLevelObjectsByName(it, resolveSession, scope) }
|
||||||
}
|
}
|
||||||
|
|
||||||
public fun getAllTopLevelObjectNames(): Collection<String> {
|
private fun getTopLevelObjectsByName(name: String, resolveSession: ResolveSessionForBodies, scope: GlobalSearchScope): Collection<ClassDescriptor> {
|
||||||
return (JetTopLevelObjectShortNameIndex.getInstance().getAllKeys(project)
|
|
||||||
+ JetFromJavaDescriptorHelper.getCompiledClassesForTopLevelObjects(project, GlobalSearchScope.allScope(project)).map { it.getName()!! }).toSet()
|
|
||||||
}
|
|
||||||
|
|
||||||
public fun getTopLevelObjectsByName(name: String, resolveSession: ResolveSessionForBodies, scope: GlobalSearchScope): Collection<ClassDescriptor> {
|
|
||||||
val result = hashSetOf<ClassDescriptor>()
|
val result = hashSetOf<ClassDescriptor>()
|
||||||
|
|
||||||
val topObjects = JetTopLevelObjectShortNameIndex.getInstance().get(name, project, scope)
|
val topObjects = JetTopLevelObjectShortNameIndex.getInstance().get(name, project, scope)
|
||||||
|
|||||||
@@ -155,13 +155,9 @@ class BasicCompletionSession(configuration: CompletionSessionConfiguration,
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun addKotlinTopLevelDeclarations() {
|
private fun addKotlinTopLevelDeclarations() {
|
||||||
collector.addDescriptorElements(shortNamesCache.getTopLevelCallables({ prefixMatcher.prefixMatches(it) }, jetReference!!.expression, resolveSession, searchScope))
|
val filter = { (name: String) -> prefixMatcher.prefixMatches(name) }
|
||||||
|
collector.addDescriptorElements(shortNamesCache.getTopLevelCallables(filter, jetReference!!.expression, resolveSession, searchScope) +
|
||||||
for (name in shortNamesCache.getAllTopLevelObjectNames()) {
|
shortNamesCache.getTopLevelObjects(filter, resolveSession, searchScope))
|
||||||
if (prefixMatcher.prefixMatches(name)) {
|
|
||||||
collector.addDescriptorElements(shortNamesCache.getTopLevelObjectsByName(name, resolveSession, searchScope))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addKotlinExtensions() {
|
private fun addKotlinExtensions() {
|
||||||
|
|||||||
Reference in New Issue
Block a user