This commit is contained in:
Valentin Kipyatkov
2016-09-27 22:06:18 +03:00
parent 2f5e820afb
commit aec2f19682
4 changed files with 18 additions and 18 deletions
@@ -276,7 +276,7 @@ class BasicCompletionSession(
}
}
if (configuration.completeStaticMembers && callTypeAndReceiver is CallTypeAndReceiver.DEFAULT && prefix.isNotEmpty()) {
if (configuration.staticMembers && callTypeAndReceiver is CallTypeAndReceiver.DEFAULT && prefix.isNotEmpty()) {
staticMembersCompletion.completeFromIndices(indicesHelper(false), collector)
}
}
@@ -594,7 +594,7 @@ class BasicCompletionSession(
collector.addElement(basicLookupElementFactory.createLookupElementForJavaClass(javaClass), notImported = true)
}
AllClassesCompletion(parameters, indicesHelper(true), prefixMatcher, resolutionFacade,
kindFilter, includeTypeAliases, configuration.completeJavaClassesNotToBeUsed
kindFilter, includeTypeAliases, configuration.javaClassesNotToBeUsed
).collect(classifierDescriptorCollector, javaClassCollector)
}
@@ -55,19 +55,19 @@ import java.util.*
class CompletionSessionConfiguration(
val useBetterPrefixMatcherForNonImportedClasses: Boolean,
val completeNonAccessibleDeclarations: Boolean,
val filterOutJavaGettersAndSetters: Boolean,
val completeJavaClassesNotToBeUsed: Boolean,
val completeStaticMembers: Boolean,
val nonAccessibleDeclarations: Boolean,
val javaGettersAndSetters: Boolean,
val javaClassesNotToBeUsed: Boolean,
val staticMembers: Boolean,
val dataClassComponentFunctions: Boolean
)
fun CompletionSessionConfiguration(parameters: CompletionParameters) = CompletionSessionConfiguration(
useBetterPrefixMatcherForNonImportedClasses = parameters.invocationCount < 2,
completeNonAccessibleDeclarations = parameters.invocationCount >= 2,
filterOutJavaGettersAndSetters = parameters.invocationCount < 2,
completeJavaClassesNotToBeUsed = parameters.invocationCount >= 2,
completeStaticMembers = parameters.invocationCount >= 2,
nonAccessibleDeclarations = parameters.invocationCount >= 2,
javaGettersAndSetters = parameters.invocationCount >= 2,
javaClassesNotToBeUsed = parameters.invocationCount >= 2,
staticMembers = parameters.invocationCount >= 2,
dataClassComponentFunctions = parameters.invocationCount >= 2
)
@@ -131,7 +131,7 @@ abstract class CompletionSession(
protected val descriptorNameFilter: (Name) -> Boolean = descriptorStringNameFilter.toNameFilter()
protected val isVisibleFilter: (DeclarationDescriptor) -> Boolean = { isVisibleDescriptor(it, completeNonAccessible = configuration.completeNonAccessibleDeclarations) }
protected val isVisibleFilter: (DeclarationDescriptor) -> Boolean = { isVisibleDescriptor(it, completeNonAccessible = configuration.nonAccessibleDeclarations) }
protected val isVisibleFilterCheckAlways: (DeclarationDescriptor) -> Boolean = { isVisibleDescriptor(it, completeNonAccessible = false) }
protected val referenceVariantsHelper = ReferenceVariantsHelper(bindingContext, resolutionFacade, moduleDescriptor, isVisibleFilter)
@@ -178,7 +178,7 @@ abstract class CompletionSession(
}
private fun isVisibleDescriptor(descriptor: DeclarationDescriptor, completeNonAccessible: Boolean): Boolean {
if (!configuration.completeJavaClassesNotToBeUsed && descriptor is ClassDescriptor) {
if (!configuration.javaClassesNotToBeUsed && descriptor is ClassDescriptor) {
if (descriptor.importableFqName?.let { isJavaClassNotToBeUsedInKotlin(it) } == true) return false
}
@@ -342,7 +342,7 @@ abstract class CompletionSession(
.invoke(notImportedExtensions)
}
if (configuration.filterOutJavaGettersAndSetters) {
if (!configuration.javaGettersAndSetters) {
variants = referenceVariantsHelper.filterOutJavaGettersAndSetters(variants)
}
@@ -301,10 +301,10 @@ class KotlinCompletionContributor : CompletionContributor() {
// Rerun completion if nothing was found
val newConfiguration = CompletionSessionConfiguration(
useBetterPrefixMatcherForNonImportedClasses = false,
completeNonAccessibleDeclarations = false,
filterOutJavaGettersAndSetters = false,
completeJavaClassesNotToBeUsed = false,
completeStaticMembers = parameters.invocationCount > 0,
nonAccessibleDeclarations = false,
javaGettersAndSetters = true,
javaClassesNotToBeUsed = false,
staticMembers = parameters.invocationCount > 0,
dataClassComponentFunctions = true
)
@@ -150,7 +150,7 @@ class SmartCompletionSession(
}
}
if (staticMembersCompletion != null && configuration.completeStaticMembers) {
if (staticMembersCompletion != null && configuration.staticMembers) {
val decoratedFactory = staticMembersCompletion.decoratedLookupElementFactory(ItemPriority.STATIC_MEMBER)
staticMembersCompletion.processMembersFromIndices(indicesHelper(false)) {
filter(it, decoratedFactory).forEach {