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