From 1a3886f9b7bb527828db7d67ddf4ca762e56a01b Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Thu, 30 Jul 2015 19:31:40 +0300 Subject: [PATCH] Inject TypeResolver into HeuristicSignatures --- .../kotlin/idea/completion/HeuristicSignatures.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/HeuristicSignatures.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/HeuristicSignatures.kt index dbd6bc5c3c4..845adc7247b 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/HeuristicSignatures.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/HeuristicSignatures.kt @@ -28,6 +28,7 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.JetPsiFactory import org.jetbrains.kotlin.resolve.BindingTraceContext import org.jetbrains.kotlin.resolve.DescriptorUtils +import org.jetbrains.kotlin.resolve.TypeResolver import org.jetbrains.kotlin.resolve.scopes.ChainedScope import org.jetbrains.kotlin.resolve.scopes.JetScope import org.jetbrains.kotlin.incremental.components.LookupLocation @@ -36,7 +37,8 @@ import java.util.HashMap public class HeuristicSignatures( private val moduleDescriptor: ModuleDescriptor, - private val project: Project + private val project: Project, + private val typeResolver: TypeResolver ) { public fun correctedParameterType(function: FunctionDescriptor, parameter: ValueParameterDescriptor): JetType? { val parameterIndex = function.getValueParameters().indexOf(parameter) @@ -73,11 +75,10 @@ public class HeuristicSignatures( private fun typeFromText(text: String, typeParameters: Collection): JetType { val typeRef = JetPsiFactory(project).createType(text) - val container = createContainerForMacros(project, moduleDescriptor) val rootPackagesScope = SubpackagesScope(moduleDescriptor, FqName.ROOT) val typeParametersScope = TypeParametersScope(typeParameters) val scope = ChainedScope(moduleDescriptor, "Root packages + type parameters", typeParametersScope, rootPackagesScope) - val type = container.typeResolver.resolveType(scope, typeRef, BindingTraceContext(), false) + val type = typeResolver.resolveType(scope, typeRef, BindingTraceContext(), false) assert(!type.isError()) { "No type resolved from '$text'" } return type }