Minor
This commit is contained in:
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.descriptors.*
|
|||||||
import org.jetbrains.kotlin.frontend.di.createContainerForMacros
|
import org.jetbrains.kotlin.frontend.di.createContainerForMacros
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.ResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.completion.smart.TypesWithContainsDetector
|
import org.jetbrains.kotlin.idea.completion.smart.TypesWithContainsDetector
|
||||||
import org.jetbrains.kotlin.idea.completion.smart.toList
|
|
||||||
import org.jetbrains.kotlin.idea.core.IterableTypesDetector
|
import org.jetbrains.kotlin.idea.core.IterableTypesDetector
|
||||||
import org.jetbrains.kotlin.idea.core.mapArgumentsToParameters
|
import org.jetbrains.kotlin.idea.core.mapArgumentsToParameters
|
||||||
import org.jetbrains.kotlin.idea.util.FuzzyType
|
import org.jetbrains.kotlin.idea.util.FuzzyType
|
||||||
@@ -53,6 +52,7 @@ import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils
|
|||||||
import org.jetbrains.kotlin.types.typeUtil.containsError
|
import org.jetbrains.kotlin.types.typeUtil.containsError
|
||||||
import org.jetbrains.kotlin.types.typeUtil.makeNotNullable
|
import org.jetbrains.kotlin.types.typeUtil.makeNotNullable
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.check
|
import org.jetbrains.kotlin.utils.addToStdlib.check
|
||||||
|
import org.jetbrains.kotlin.utils.addToStdlib.singletonOrEmptyList
|
||||||
import java.util.LinkedHashSet
|
import java.util.LinkedHashSet
|
||||||
|
|
||||||
enum class Tail {
|
enum class Tail {
|
||||||
@@ -440,13 +440,13 @@ class ExpectedInfos(
|
|||||||
val declaration = expressionWithType.getParent() as? JetDeclarationWithBody ?: return null
|
val declaration = expressionWithType.getParent() as? JetDeclarationWithBody ?: return null
|
||||||
if (expressionWithType != declaration.getBodyExpression() || declaration.hasBlockBody()) return null
|
if (expressionWithType != declaration.getBodyExpression() || declaration.hasBlockBody()) return null
|
||||||
val descriptor = bindingContext[BindingContext.DECLARATION_TO_DESCRIPTOR, declaration] as? FunctionDescriptor ?: return null
|
val descriptor = bindingContext[BindingContext.DECLARATION_TO_DESCRIPTOR, declaration] as? FunctionDescriptor ?: return null
|
||||||
return functionReturnValueExpectedInfo(descriptor, expectType = declaration.hasDeclaredReturnType()).toList()
|
return functionReturnValueExpectedInfo(descriptor, expectType = declaration.hasDeclaredReturnType()).singletonOrEmptyList()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun calculateForReturn(expressionWithType: JetExpression): Collection<ExpectedInfo>? {
|
private fun calculateForReturn(expressionWithType: JetExpression): Collection<ExpectedInfo>? {
|
||||||
val returnExpression = expressionWithType.getParent() as? JetReturnExpression ?: return null
|
val returnExpression = expressionWithType.getParent() as? JetReturnExpression ?: return null
|
||||||
val descriptor = returnExpression.getTargetFunctionDescriptor(bindingContext) ?: return null
|
val descriptor = returnExpression.getTargetFunctionDescriptor(bindingContext) ?: return null
|
||||||
return functionReturnValueExpectedInfo(descriptor, expectType = true).toList()
|
return functionReturnValueExpectedInfo(descriptor, expectType = true).singletonOrEmptyList()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun functionReturnValueExpectedInfo(descriptor: FunctionDescriptor, expectType: Boolean): ReturnValueExpectedInfo? {
|
private fun functionReturnValueExpectedInfo(descriptor: FunctionDescriptor, expectType: Boolean): ReturnValueExpectedInfo? {
|
||||||
|
|||||||
+2
-1
@@ -42,6 +42,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils
|
|||||||
import org.jetbrains.kotlin.types.JetType
|
import org.jetbrains.kotlin.types.JetType
|
||||||
import org.jetbrains.kotlin.types.TypeUtils
|
import org.jetbrains.kotlin.types.TypeUtils
|
||||||
import org.jetbrains.kotlin.types.typeUtil.makeNotNullable
|
import org.jetbrains.kotlin.types.typeUtil.makeNotNullable
|
||||||
|
import org.jetbrains.kotlin.utils.addToStdlib.singletonOrEmptySet
|
||||||
import java.util.ArrayList
|
import java.util.ArrayList
|
||||||
import java.util.HashSet
|
import java.util.HashSet
|
||||||
|
|
||||||
@@ -237,7 +238,7 @@ class SmartCompletion(
|
|||||||
if (operationToken == JetTokens.EQ || operationToken in COMPARISON_TOKENS) {
|
if (operationToken == JetTokens.EQ || operationToken in COMPARISON_TOKENS) {
|
||||||
val left = parent.getLeft()
|
val left = parent.getLeft()
|
||||||
if (left is JetReferenceExpression) {
|
if (left is JetReferenceExpression) {
|
||||||
return bindingContext[BindingContext.REFERENCE_TARGET, left].toSet()
|
return bindingContext[BindingContext.REFERENCE_TARGET, left].singletonOrEmptySet()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ import org.jetbrains.kotlin.descriptors.impl.LocalVariableDescriptor
|
|||||||
import org.jetbrains.kotlin.idea.completion.*
|
import org.jetbrains.kotlin.idea.completion.*
|
||||||
import org.jetbrains.kotlin.idea.completion.handlers.WithExpressionPrefixInsertHandler
|
import org.jetbrains.kotlin.idea.completion.handlers.WithExpressionPrefixInsertHandler
|
||||||
import org.jetbrains.kotlin.idea.completion.handlers.WithTailInsertHandler
|
import org.jetbrains.kotlin.idea.completion.handlers.WithTailInsertHandler
|
||||||
import org.jetbrains.kotlin.idea.completion.SmartCastCalculator
|
|
||||||
import org.jetbrains.kotlin.idea.util.*
|
import org.jetbrains.kotlin.idea.util.*
|
||||||
import org.jetbrains.kotlin.psi.JetExpression
|
import org.jetbrains.kotlin.psi.JetExpression
|
||||||
import org.jetbrains.kotlin.psi.JetSimpleNameExpression
|
import org.jetbrains.kotlin.psi.JetSimpleNameExpression
|
||||||
@@ -297,9 +296,6 @@ fun LookupElementFactory.createLookupElement(
|
|||||||
return element
|
return element
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T : Any> T?.toList(): List<T> = if (this != null) listOf(this) else listOf()
|
|
||||||
fun <T : Any> T?.toSet(): Set<T> = if (this != null) setOf(this) else setOf()
|
|
||||||
|
|
||||||
enum class SmartCompletionItemPriority {
|
enum class SmartCompletionItemPriority {
|
||||||
IT,
|
IT,
|
||||||
TRUE,
|
TRUE,
|
||||||
|
|||||||
Reference in New Issue
Block a user