Minor corrections after code review
This commit is contained in:
+1
-2
@@ -145,8 +145,7 @@ class BasicCompletionSession(configuration: CompletionSessionConfiguration,
|
||||
val prefixPattern = StandardPatterns.string().with(object : PatternCondition<String>("Prefix ends with uppercase letter") {
|
||||
override fun accepts(prefix: String, context: ProcessingContext?) = prefix.isNotEmpty() && prefix.last().isUpperCase()
|
||||
})
|
||||
(CompletionService.getCompletionService().getCurrentCompletion() as CompletionProgressIndicator)
|
||||
.addWatchedPrefix(parameters.getOffset(), prefixPattern)
|
||||
collector.restartCompletionOnPrefixChange(prefixPattern)
|
||||
}
|
||||
|
||||
if (completionKind == CompletionKind.PARAMETER_NAME || completionKind == CompletionKind.ANNOTATION_TYPES_OR_PARAMETER_NAME) {
|
||||
|
||||
@@ -166,7 +166,7 @@ private class JetDeclarationRemotenessWeigher(private val file: JetFile) : Looku
|
||||
DescriptorUtils.getFqName(descriptor!!).toString()
|
||||
}
|
||||
else {
|
||||
(psiElement as? PsiClass)?.getQualifiedName();
|
||||
(psiElement as? PsiClass)?.getQualifiedName()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -59,7 +59,7 @@ public abstract class DeclarationLookupObjectImpl(
|
||||
return descriptorsEqualWithSubstitution(descriptor, lookupObject.descriptor) && psiElement == lookupObject.psiElement
|
||||
}
|
||||
|
||||
override val isDeprecated = if (descriptor != null) KotlinBuiltIns.isDeprecated(descriptor) else (psiElement as PsiDocCommentOwner).isDeprecated()
|
||||
override val isDeprecated = if (descriptor != null) KotlinBuiltIns.isDeprecated(descriptor) else (psiElement as? PsiDocCommentOwner)?.isDeprecated() ?: false
|
||||
|
||||
companion object {
|
||||
private val LOG = Logger.getInstance("#" + javaClass<DeclarationLookupObject>().getName())
|
||||
|
||||
+5
@@ -21,6 +21,7 @@ import com.intellij.codeInsight.lookup.LookupElement
|
||||
import com.intellij.codeInsight.lookup.LookupElementDecorator
|
||||
import com.intellij.codeInsight.lookup.LookupElementPresentation
|
||||
import com.intellij.openapi.util.TextRange
|
||||
import com.intellij.patterns.ElementPattern
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
@@ -199,4 +200,8 @@ class LookupElementsCollector(
|
||||
public fun advertiseSecondCompletion() {
|
||||
JavaCompletionContributor.advertiseSecondCompletion(completionParameters.getOriginalFile().getProject(), defaultResultSet)
|
||||
}
|
||||
|
||||
public fun restartCompletionOnPrefixChange(prefixCondition: ElementPattern<String>) {
|
||||
defaultResultSet.restartCompletionOnPrefixChange(prefixCondition)
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -56,26 +56,26 @@ class ParameterNameAndTypeCompletion(
|
||||
private val parametersInCurrentFilePrefixMatcher = MyPrefixMatcher(defaultPrefixMatcher.getPrefix())
|
||||
|
||||
private val prefixWords: Array<String>
|
||||
private val allPrefixes: List<String> // prefixes to use to generate parameter names from class names
|
||||
private val nameSuggestionPrefixes: List<String> // prefixes to use to generate parameter names from class names
|
||||
|
||||
init {
|
||||
val prefix = defaultPrefixMatcher.getPrefix()
|
||||
prefixWords = NameUtil.splitNameIntoWords(prefix)
|
||||
|
||||
allPrefixes = if (prefix.isEmpty() || prefix[0].isUpperCase())
|
||||
nameSuggestionPrefixes = if (prefix.isEmpty() || prefix[0].isUpperCase())
|
||||
emptyList()
|
||||
else
|
||||
prefixWords.indices.map { if (it == 0) prefix else prefixWords.drop(it).join("") }
|
||||
prefixWords.indices.map { index -> if (index == 0) prefix else prefixWords.drop(index).join("") }
|
||||
}
|
||||
|
||||
private val allPrefixMatchers = allPrefixes.map { MyPrefixMatcher(it) }
|
||||
private val nameSuggestionPrefixMatchers = nameSuggestionPrefixes.map { MyPrefixMatcher(it) }
|
||||
|
||||
private val userPrefixes = allPrefixes.indices.map { prefixWords.take(it).join("") }
|
||||
private val userPrefixes = nameSuggestionPrefixes.indices.map { prefixWords.take(it).join("") }
|
||||
|
||||
private val suggestionsByTypesAdded = HashSet<Type>()
|
||||
|
||||
public fun addFromImportedClasses(position: PsiElement, bindingContext: BindingContext, visibilityFilter: (DeclarationDescriptor) -> Boolean) {
|
||||
for ((i, prefixMatcher) in allPrefixMatchers.withIndex()) {
|
||||
for ((i, prefixMatcher) in nameSuggestionPrefixMatchers.withIndex()) {
|
||||
val resolutionScope = position.getResolutionScope(bindingContext, resolutionFacade)
|
||||
val classifiers = resolutionScope.getDescriptorsFiltered(DescriptorKindFilter.NON_SINGLETON_CLASSIFIERS, prefixMatcher.toClassifierNamePrefixMatcher().asNameFilter())
|
||||
|
||||
@@ -90,7 +90,7 @@ class ParameterNameAndTypeCompletion(
|
||||
}
|
||||
|
||||
public fun addFromAllClasses(parameters: CompletionParameters, indicesHelper: KotlinIndicesHelper) {
|
||||
for ((i, prefixMatcher) in allPrefixMatchers.withIndex()) {
|
||||
for ((i, prefixMatcher) in nameSuggestionPrefixMatchers.withIndex()) {
|
||||
AllClassesCompletion(parameters, indicesHelper, prefixMatcher.toClassifierNamePrefixMatcher(), { !it.isSingleton() })
|
||||
.collect(
|
||||
{ addSuggestionsForClassifier(it, userPrefixes[i], prefixMatcher) },
|
||||
|
||||
@@ -242,7 +242,7 @@ public class JetNameSuggester {
|
||||
}
|
||||
}
|
||||
|
||||
public static String decapitalize(String s) {
|
||||
private static String decapitalize(String s) {
|
||||
char c = s.charAt(0);
|
||||
if (!Character.isUpperCase(c)) return s;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user