From 6e59799b542ae80f4e0664a2d3e539be530a9a9b Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Thu, 5 Oct 2017 11:12:02 +0300 Subject: [PATCH] Get rid of a couple of usages of simpleTypeWithNonTrivialMemberScope The simple versions of KotlinTypeFactory::simpleType may lead to smaller number of KotlinType instances (defaultType from descriptor are used if there are no arguments) --- .../jetbrains/kotlin/resolve/calls/CallResolverUtil.kt | 2 +- .../src/org/jetbrains/kotlin/types/TypeSubstitution.kt | 8 +------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolverUtil.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolverUtil.kt index ce9beb77779..2f2d50b1441 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolverUtil.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolverUtil.kt @@ -81,7 +81,7 @@ fun replaceReturnTypeForCallable(type: KotlinType, given: KotlinType): KotlinTyp fun replaceReturnTypeByUnknown(type: KotlinType) = replaceReturnTypeForCallable(type, DONT_CARE) private fun replaceTypeArguments(type: KotlinType, newArguments: List) = - KotlinTypeFactory.simpleTypeWithNonTrivialMemberScope(type.annotations, type.constructor, newArguments, type.isMarkedNullable, type.memberScope) + KotlinTypeFactory.simpleType(type.annotations, type.constructor, newArguments, type.isMarkedNullable) private fun getParameterArgumentsOfCallableType(type: KotlinType) = type.arguments.dropLast(1) diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/TypeSubstitution.kt b/core/descriptors/src/org/jetbrains/kotlin/types/TypeSubstitution.kt index 16fbe58f50e..1073e88083a 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/TypeSubstitution.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/types/TypeSubstitution.kt @@ -135,13 +135,7 @@ fun SimpleType.replace( if (newArguments.isEmpty() && newAnnotations === annotations) return this if (newArguments.isEmpty()) { - return KotlinTypeFactory.simpleTypeWithNonTrivialMemberScope( - newAnnotations, - constructor, - arguments, - isMarkedNullable, - memberScope - ) + return replaceAnnotations(newAnnotations) } return KotlinTypeFactory.simpleType(