From 7dc6aff2e6788bb9b9c4e357751f22d5da04db31 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Wed, 18 Nov 2015 11:19:46 +0100 Subject: [PATCH] Moved ExpectedInfos and related classes into idea.core --- .../idea/completion/BasicCompletionSession.kt | 1 + .../kotlin/idea/completion/CompletionSession.kt | 5 +---- .../idea/completion/InsertHandlerProvider.kt | 2 ++ .../idea/completion/KDocCompletionContributor.kt | 1 + .../kotlin/idea/completion/KeywordValues.kt | 9 +++++++-- .../idea/completion/NamedArgumentCompletion.kt | 2 ++ .../jetbrains/kotlin/idea/completion/Weighers.kt | 1 + .../idea/completion/handlers/GenerateLambda.kt | 4 ++-- .../idea/completion/smart/ClassLiteralItems.kt | 4 ++-- .../kotlin/idea/completion/smart/LambdaItems.kt | 4 ++-- .../smart/MultipleArgumentsItemProvider.kt | 6 +++--- .../kotlin/idea/completion/smart/NameSimilarity.kt | 6 +++--- .../idea/completion/smart/SmartCompletion.kt | 2 +- .../completion/smart/SmartCompletionSession.kt | 2 ++ .../kotlin/idea/completion/smart/StaticMembers.kt | 4 ++-- .../completion/smart/TypeInstantiationItems.kt | 3 +++ .../kotlin/idea/completion/smart/Utils.kt | 5 +++-- .../jetbrains/kotlin/idea/core}/ExpectedInfos.kt | 8 ++------ .../kotlin/idea/core}/HeuristicSignatures.kt | 14 ++++++++------ .../kotlin/idea/core}/TypesWithContainsDetector.kt | 5 ++--- 20 files changed, 50 insertions(+), 38 deletions(-) rename idea/{idea-completion/src/org/jetbrains/kotlin/idea/completion => idea-core/src/org/jetbrains/kotlin/idea/core}/ExpectedInfos.kt (99%) rename idea/{idea-completion/src/org/jetbrains/kotlin/idea/completion => idea-core/src/org/jetbrains/kotlin/idea/core}/HeuristicSignatures.kt (93%) rename idea/{idea-completion/src/org/jetbrains/kotlin/idea/completion/smart => idea-core/src/org/jetbrains/kotlin/idea/core}/TypesWithContainsDetector.kt (95%) diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicCompletionSession.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicCompletionSession.kt index 08ebc86afe7..b2499fb0ee9 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicCompletionSession.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicCompletionSession.kt @@ -35,6 +35,7 @@ import org.jetbrains.kotlin.idea.completion.smart.ExpectedInfoMatch import org.jetbrains.kotlin.idea.completion.smart.SMART_COMPLETION_ITEM_PRIORITY_KEY import org.jetbrains.kotlin.idea.completion.smart.SmartCompletion import org.jetbrains.kotlin.idea.completion.smart.SmartCompletionItemPriority +import org.jetbrains.kotlin.idea.core.ExpectedInfo import org.jetbrains.kotlin.idea.project.ProjectStructureUtil import org.jetbrains.kotlin.idea.quickfix.moveCaret import org.jetbrains.kotlin.idea.stubindex.PackageIndexUtil diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt index caaedcd1835..3b031ef6dea 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt @@ -29,10 +29,7 @@ import com.intellij.psi.search.GlobalSearchScope import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.idea.caches.resolve.* import org.jetbrains.kotlin.idea.codeInsight.ReferenceVariantsHelper -import org.jetbrains.kotlin.idea.core.ImportableFqNameClassifier -import org.jetbrains.kotlin.idea.core.KotlinIndicesHelper -import org.jetbrains.kotlin.idea.core.compareDescriptors -import org.jetbrains.kotlin.idea.core.isVisible +import org.jetbrains.kotlin.idea.core.* import org.jetbrains.kotlin.idea.imports.importableFqName import org.jetbrains.kotlin.idea.project.ProjectStructureUtil import org.jetbrains.kotlin.idea.references.mainReference diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/InsertHandlerProvider.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/InsertHandlerProvider.kt index 2b5d9ad61ee..28f7d8f427b 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/InsertHandlerProvider.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/InsertHandlerProvider.kt @@ -21,6 +21,8 @@ import com.intellij.codeInsight.lookup.LookupElement import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.idea.completion.handlers.* +import org.jetbrains.kotlin.idea.core.ExpectedInfo +import org.jetbrains.kotlin.idea.core.fuzzyType import org.jetbrains.kotlin.idea.util.CallType import org.jetbrains.kotlin.idea.util.fuzzyReturnType import org.jetbrains.kotlin.types.KotlinType diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KDocCompletionContributor.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KDocCompletionContributor.kt index 18f20a7720b..6951fb89b16 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KDocCompletionContributor.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KDocCompletionContributor.kt @@ -25,6 +25,7 @@ import com.intellij.patterns.StandardPatterns import com.intellij.util.ProcessingContext import org.jetbrains.kotlin.descriptors.CallableDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor +import org.jetbrains.kotlin.idea.core.ExpectedInfo import org.jetbrains.kotlin.idea.kdoc.getParamDescriptors import org.jetbrains.kotlin.idea.kdoc.getResolutionScope import org.jetbrains.kotlin.idea.util.CallType diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordValues.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordValues.kt index 61a4aa06e5e..d11f753eb77 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordValues.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordValues.kt @@ -26,6 +26,10 @@ import org.jetbrains.kotlin.idea.caches.resolve.resolveImportReference import org.jetbrains.kotlin.idea.completion.smart.ExpectedInfoMatch import org.jetbrains.kotlin.idea.completion.smart.SmartCompletionItemPriority import org.jetbrains.kotlin.idea.completion.smart.matchExpectedInfo +import org.jetbrains.kotlin.idea.core.ExpectedInfo +import org.jetbrains.kotlin.idea.core.IfConditionAdditionalData +import org.jetbrains.kotlin.idea.core.WhenEntryAdditionalData +import org.jetbrains.kotlin.idea.core.fuzzyType import org.jetbrains.kotlin.idea.resolve.ResolutionFacade import org.jetbrains.kotlin.idea.util.CallTypeAndReceiver import org.jetbrains.kotlin.idea.util.FuzzyType @@ -56,9 +60,10 @@ object KeywordValues { if (callTypeAndReceiver is CallTypeAndReceiver.DEFAULT) { val booleanInfoMatcher = matcher@ { info: ExpectedInfo -> // no sense in true or false as if-condition or when entry for when with no subject - val skipTrueFalse = when (info.additionalData) { + val additionalData = info.additionalData + val skipTrueFalse = when (additionalData) { is IfConditionAdditionalData -> true - is WhenEntryAdditionalData -> !info.additionalData.whenWithSubject + is WhenEntryAdditionalData -> !additionalData.whenWithSubject else -> false } if (skipTrueFalse) { diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/NamedArgumentCompletion.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/NamedArgumentCompletion.kt index 72140cb05c2..4443e023fc4 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/NamedArgumentCompletion.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/NamedArgumentCompletion.kt @@ -22,6 +22,8 @@ import com.intellij.codeInsight.lookup.LookupElement import com.intellij.codeInsight.lookup.LookupElementBuilder import org.jetbrains.kotlin.idea.KotlinIcons import org.jetbrains.kotlin.idea.completion.handlers.WithTailInsertHandler +import org.jetbrains.kotlin.idea.core.ArgumentPositionData +import org.jetbrains.kotlin.idea.core.ExpectedInfo import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.KtCallElement import org.jetbrains.kotlin.psi.KtSimpleNameExpression diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/Weighers.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/Weighers.kt index 2cd19681345..efe213a0ea8 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/Weighers.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/Weighers.kt @@ -25,6 +25,7 @@ import com.intellij.openapi.util.Key import com.intellij.psi.util.proximity.PsiProximityComparator import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.idea.completion.smart.* +import org.jetbrains.kotlin.idea.core.ExpectedInfo import org.jetbrains.kotlin.idea.core.ImportableFqNameClassifier import org.jetbrains.kotlin.idea.core.completion.DeclarationLookupObject import org.jetbrains.kotlin.idea.core.completion.PackageLookupObject diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/handlers/GenerateLambda.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/handlers/GenerateLambda.kt index 666eb4bf3fe..59fc2d9c278 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/handlers/GenerateLambda.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/handlers/GenerateLambda.kt @@ -27,9 +27,9 @@ import com.intellij.psi.PsiDocumentManager import com.intellij.psi.util.PsiTreeUtil import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade -import org.jetbrains.kotlin.idea.completion.ExpectedInfos -import org.jetbrains.kotlin.idea.completion.fuzzyType +import org.jetbrains.kotlin.idea.core.ExpectedInfos import org.jetbrains.kotlin.idea.core.KotlinNameSuggester +import org.jetbrains.kotlin.idea.core.fuzzyType import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers import org.jetbrains.kotlin.idea.util.application.executeWriteCommand import org.jetbrains.kotlin.psi.KtExpression diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/ClassLiteralItems.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/ClassLiteralItems.kt index 54b29204c2e..ae7bb65ace6 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/ClassLiteralItems.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/ClassLiteralItems.kt @@ -23,9 +23,9 @@ import com.intellij.codeInsight.lookup.LookupElementPresentation import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.idea.completion.BasicLookupElementFactory -import org.jetbrains.kotlin.idea.completion.ExpectedInfo import org.jetbrains.kotlin.idea.completion.createLookupElementForType -import org.jetbrains.kotlin.idea.completion.fuzzyType +import org.jetbrains.kotlin.idea.core.ExpectedInfo +import org.jetbrains.kotlin.idea.core.fuzzyType import org.jetbrains.kotlin.idea.imports.importableFqName import org.jetbrains.kotlin.idea.quickfix.moveCaret import org.jetbrains.kotlin.types.KotlinType diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/LambdaItems.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/LambdaItems.kt index cdac1f929d8..334d116882d 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/LambdaItems.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/LambdaItems.kt @@ -20,11 +20,11 @@ import com.intellij.codeInsight.lookup.LookupElement import com.intellij.codeInsight.lookup.LookupElementBuilder import com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.builtins.KotlinBuiltIns -import org.jetbrains.kotlin.idea.completion.ExpectedInfo -import org.jetbrains.kotlin.idea.completion.fuzzyType import org.jetbrains.kotlin.idea.completion.handlers.insertLambdaTemplate import org.jetbrains.kotlin.idea.completion.handlers.lambdaPresentation import org.jetbrains.kotlin.idea.completion.suppressAutoInsertion +import org.jetbrains.kotlin.idea.core.ExpectedInfo +import org.jetbrains.kotlin.idea.core.fuzzyType import java.util.* object LambdaItems { diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/MultipleArgumentsItemProvider.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/MultipleArgumentsItemProvider.kt index d0b7ea58459..b2a4f0433e6 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/MultipleArgumentsItemProvider.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/MultipleArgumentsItemProvider.kt @@ -23,10 +23,10 @@ import com.intellij.ui.LayeredIcon import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor import org.jetbrains.kotlin.descriptors.VariableDescriptor import org.jetbrains.kotlin.idea.KotlinDescriptorIconProvider -import org.jetbrains.kotlin.idea.completion.ArgumentPositionData -import org.jetbrains.kotlin.idea.completion.ExpectedInfo +import org.jetbrains.kotlin.idea.core.ArgumentPositionData +import org.jetbrains.kotlin.idea.core.ExpectedInfo import org.jetbrains.kotlin.idea.core.SmartCastCalculator -import org.jetbrains.kotlin.idea.completion.Tail +import org.jetbrains.kotlin.idea.core.Tail import org.jetbrains.kotlin.idea.resolve.ResolutionFacade import org.jetbrains.kotlin.idea.util.getResolutionScope import org.jetbrains.kotlin.idea.util.getVariableFromImplicitReceivers diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/NameSimilarity.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/NameSimilarity.kt index 4b86f27f04d..12c85f72610 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/NameSimilarity.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/NameSimilarity.kt @@ -16,12 +16,12 @@ package org.jetbrains.kotlin.idea.completion.smart -import com.intellij.openapi.util.Key -import com.intellij.codeInsight.lookup.LookupElementWeigher import com.intellij.codeInsight.lookup.LookupElement +import com.intellij.codeInsight.lookup.LookupElementWeigher import com.intellij.codeInsight.lookup.WeighingContext -import org.jetbrains.kotlin.idea.completion.ExpectedInfo +import com.intellij.openapi.util.Key import com.intellij.psi.codeStyle.NameUtil +import org.jetbrains.kotlin.idea.core.ExpectedInfo val NAME_SIMILARITY_KEY = Key("NAME_SIMILARITY_KEY") diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/SmartCompletion.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/SmartCompletion.kt index 40c45654d48..e1291290811 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/SmartCompletion.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/SmartCompletion.kt @@ -27,7 +27,7 @@ import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor import org.jetbrains.kotlin.idea.completion.* import org.jetbrains.kotlin.idea.completion.handlers.WithTailInsertHandler -import org.jetbrains.kotlin.idea.core.SmartCastCalculator +import org.jetbrains.kotlin.idea.core.* import org.jetbrains.kotlin.idea.resolve.ResolutionFacade import org.jetbrains.kotlin.idea.util.CallTypeAndReceiver import org.jetbrains.kotlin.idea.util.FuzzyType diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/SmartCompletionSession.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/SmartCompletionSession.kt index 1fd9cda1b32..27c17d729b9 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/SmartCompletionSession.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/SmartCompletionSession.kt @@ -24,6 +24,8 @@ import com.intellij.psi.impl.source.tree.LeafPsiElement import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor import org.jetbrains.kotlin.idea.completion.* +import org.jetbrains.kotlin.idea.core.ExpectedInfo +import org.jetbrains.kotlin.idea.core.ExpectedInfos import org.jetbrains.kotlin.idea.core.completion.DeclarationLookupObject import org.jetbrains.kotlin.idea.util.CallTypeAndReceiver import org.jetbrains.kotlin.load.java.descriptors.SamConstructorDescriptorKindExclude diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/StaticMembers.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/StaticMembers.kt index 2b1fd669bf6..021ca18e34a 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/StaticMembers.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/StaticMembers.kt @@ -18,10 +18,10 @@ package org.jetbrains.kotlin.idea.completion.smart import com.intellij.codeInsight.lookup.LookupElement import org.jetbrains.kotlin.descriptors.* -import org.jetbrains.kotlin.idea.completion.ExpectedInfo import org.jetbrains.kotlin.idea.completion.LookupElementFactory import org.jetbrains.kotlin.idea.completion.decorateAsStaticMember -import org.jetbrains.kotlin.idea.completion.fuzzyType +import org.jetbrains.kotlin.idea.core.ExpectedInfo +import org.jetbrains.kotlin.idea.core.fuzzyType import org.jetbrains.kotlin.idea.core.isVisible import org.jetbrains.kotlin.idea.resolve.ResolutionFacade import org.jetbrains.kotlin.idea.util.fuzzyReturnType diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/TypeInstantiationItems.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/TypeInstantiationItems.kt index 16c22fb02b0..a44859f452c 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/TypeInstantiationItems.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/TypeInstantiationItems.kt @@ -32,6 +32,9 @@ import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde import org.jetbrains.kotlin.idea.completion.* import org.jetbrains.kotlin.idea.completion.handlers.KotlinFunctionInsertHandler +import org.jetbrains.kotlin.idea.core.ExpectedInfo +import org.jetbrains.kotlin.idea.core.Tail +import org.jetbrains.kotlin.idea.core.fuzzyType import org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler import org.jetbrains.kotlin.idea.resolve.ResolutionFacade import org.jetbrains.kotlin.idea.util.FuzzyType diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/Utils.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/Utils.kt index 4443ac13ea3..e6e227e9297 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/Utils.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/Utils.kt @@ -26,10 +26,11 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.builtins.ReflectionTypes import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.impl.LocalVariableDescriptor -import org.jetbrains.kotlin.idea.completion.* import org.jetbrains.kotlin.idea.completion.handlers.WithExpressionPrefixInsertHandler import org.jetbrains.kotlin.idea.completion.handlers.WithTailInsertHandler -import org.jetbrains.kotlin.idea.core.SmartCastCalculator +import org.jetbrains.kotlin.idea.completion.shortenReferences +import org.jetbrains.kotlin.idea.completion.suppressAutoInsertion +import org.jetbrains.kotlin.idea.core.* import org.jetbrains.kotlin.idea.resolve.ResolutionFacade import org.jetbrains.kotlin.idea.util.* import org.jetbrains.kotlin.resolve.callableReferences.getReflectionTypeForCandidateDescriptor diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ExpectedInfos.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/ExpectedInfos.kt similarity index 99% rename from idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ExpectedInfos.kt rename to idea/idea-core/src/org/jetbrains/kotlin/idea/core/ExpectedInfos.kt index d48f05a32e8..0fe5a127b57 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ExpectedInfos.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/ExpectedInfos.kt @@ -14,20 +14,16 @@ * limitations under the License. */ -package org.jetbrains.kotlin.idea.completion +package org.jetbrains.kotlin.idea.core import com.intellij.openapi.util.text.StringUtil import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.* -import org.jetbrains.kotlin.idea.completion.smart.TypesWithContainsDetector -import org.jetbrains.kotlin.idea.core.IterableTypesDetection -import org.jetbrains.kotlin.idea.util.getResolutionScope -import org.jetbrains.kotlin.idea.core.mapArgumentsToParameters -import org.jetbrains.kotlin.idea.core.resolveCandidates import org.jetbrains.kotlin.idea.resolve.ResolutionFacade import org.jetbrains.kotlin.idea.resolve.ideService import org.jetbrains.kotlin.idea.util.FuzzyType import org.jetbrains.kotlin.idea.util.fuzzyReturnType +import org.jetbrains.kotlin.idea.util.getResolutionScope import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/HeuristicSignatures.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/HeuristicSignatures.kt similarity index 93% rename from idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/HeuristicSignatures.kt rename to idea/idea-core/src/org/jetbrains/kotlin/idea/core/HeuristicSignatures.kt index 843791b193e..ff5f744e053 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/HeuristicSignatures.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/HeuristicSignatures.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.jetbrains.kotlin.idea.completion +package org.jetbrains.kotlin.idea.core import com.intellij.openapi.project.Project import org.jetbrains.kotlin.descriptors.FunctionDescriptor @@ -28,13 +28,15 @@ import org.jetbrains.kotlin.psi.KtPsiFactory import org.jetbrains.kotlin.resolve.BindingTraceContext import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.TypeResolver -import org.jetbrains.kotlin.resolve.scopes.LexicalScope import org.jetbrains.kotlin.resolve.scopes.LexicalScopeImpl import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope -import org.jetbrains.kotlin.types.* +import org.jetbrains.kotlin.types.KotlinType +import org.jetbrains.kotlin.types.SubstitutionUtils +import org.jetbrains.kotlin.types.TypeConstructorSubstitution +import org.jetbrains.kotlin.types.Variance import java.util.* -public class HeuristicSignatures( +internal class HeuristicSignatures( private val moduleDescriptor: ModuleDescriptor, private val project: Project, private val typeResolver: TypeResolver @@ -76,8 +78,8 @@ public class HeuristicSignatures( val typeRef = KtPsiFactory(project).createType(text) val rootPackagesScope = SubpackagesScope(moduleDescriptor, FqName.ROOT).memberScopeAsImportingScope() val scope = LexicalScopeImpl(rootPackagesScope, moduleDescriptor, false, null, "Root packages + type parameters") { - typeParameters.forEach { addClassifierDescriptor(it) } - } + typeParameters.forEach { addClassifierDescriptor(it) } + } val type = typeResolver.resolveType(scope, typeRef, BindingTraceContext(), false) assert(!type.isError()) { "No type resolved from '$text'" } return type diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/TypesWithContainsDetector.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/TypesWithContainsDetector.kt similarity index 95% rename from idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/TypesWithContainsDetector.kt rename to idea/idea-core/src/org/jetbrains/kotlin/idea/core/TypesWithContainsDetector.kt index 56ceed4c4e0..c204164216b 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/TypesWithContainsDetector.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/TypesWithContainsDetector.kt @@ -14,11 +14,10 @@ * limitations under the License. */ -package org.jetbrains.kotlin.idea.completion.smart +package org.jetbrains.kotlin.idea.core import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor -import org.jetbrains.kotlin.idea.completion.HeuristicSignatures import org.jetbrains.kotlin.idea.resolve.ResolutionFacade import org.jetbrains.kotlin.idea.resolve.ideService import org.jetbrains.kotlin.idea.util.FuzzyType @@ -32,7 +31,7 @@ import org.jetbrains.kotlin.types.TypeUtils import org.jetbrains.kotlin.types.typeUtil.TypeNullability import java.util.* -class TypesWithContainsDetector( +internal class TypesWithContainsDetector( private val scope: LexicalScope, private val argumentType: KotlinType, private val resolutionFacade: ResolutionFacade