From f5190f195def2168ae53165317910cc41d4b2dfa Mon Sep 17 00:00:00 2001 From: Igor Yakovlev Date: Fri, 31 May 2019 19:55:19 +0300 Subject: [PATCH] Add correct UL-method hasTypeParameters realization (#KT-30970 Fixed) Incorrect realization is breaking-down of IDEA generic-type inference algorithm that leads to SOE. --- .../org/jetbrains/kotlin/asJava/elements/KtLightMethodImpl.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightMethodImpl.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightMethodImpl.kt index 686fe67895a..936b825a4ed 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightMethodImpl.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightMethodImpl.kt @@ -137,6 +137,8 @@ open class KtLightMethodImpl protected constructor( override fun getTypeParameters(): Array = typeParameterList?.typeParameters ?: PsiTypeParameter.EMPTY_ARRAY + override fun hasTypeParameters() = typeParameters.isNotEmpty() + override fun getSignature(substitutor: PsiSubstitutor): MethodSignature { if (substitutor == PsiSubstitutor.EMPTY) { return clsDelegate.getSignature(substitutor) @@ -218,8 +220,6 @@ open class KtLightMethodImpl protected constructor( override fun getThrowsList() = clsDelegate.throwsList - override fun hasTypeParameters() = clsDelegate.hasTypeParameters() - override fun isVarArgs() = (dummyDelegate ?: clsDelegate).isVarArgs override fun isConstructor() = dummyDelegate?.isConstructor ?: clsDelegate.isConstructor