Optimization of Basic Code Completion

Now we first search for simple reference variants, then for extensions
 Because extension search is slow
 #KT-16856
This commit is contained in:
Simon Ogorodnik
2017-03-06 20:19:47 +03:00
parent 4906ddfc29
commit 5c4ba53f42
3 changed files with 103 additions and 41 deletions
@@ -95,7 +95,7 @@ class ReferenceVariantsHelper(
return variants
}
fun filterOutJavaGettersAndSetters(variants: Collection<DeclarationDescriptor>): Collection<DeclarationDescriptor> {
fun <TDescriptor: DeclarationDescriptor> filterOutJavaGettersAndSetters(variants: Collection<TDescriptor>): Collection<TDescriptor> {
val accessorMethodsToRemove = HashSet<FunctionDescriptor>()
val filteredVariants = variants.filter { it !is SyntheticJavaPropertyDescriptor || !it.suppressedByNotPropertyList(notProperties) }