[AA LC] Fix type parameters for getters of generic extension properties
This commit is contained in:
+13
-3
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassBase
|
||||
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList
|
||||
import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightParameterList
|
||||
import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightSetterParameter
|
||||
import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightTypeParameterList
|
||||
import org.jetbrains.kotlin.load.java.JvmAbi.getterName
|
||||
import org.jetbrains.kotlin.load.java.JvmAbi.setterName
|
||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||
@@ -62,9 +63,18 @@ internal class SymbolLightAccessorMethod(
|
||||
|
||||
override fun getName(): String = _name
|
||||
|
||||
override fun hasTypeParameters(): Boolean = false
|
||||
override fun getTypeParameterList(): PsiTypeParameterList? = null
|
||||
override fun getTypeParameters(): Array<PsiTypeParameter> = PsiTypeParameter.EMPTY_ARRAY
|
||||
private val _typeParameterList: PsiTypeParameterList? by lazyPub {
|
||||
hasTypeParameters().ifTrue {
|
||||
SymbolLightTypeParameterList(
|
||||
owner = this,
|
||||
symbolWithTypeParameterList = containingPropertySymbol,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override fun hasTypeParameters(): Boolean = containingPropertySymbol.typeParameters.isNotEmpty()
|
||||
override fun getTypeParameterList(): PsiTypeParameterList? = _typeParameterList
|
||||
override fun getTypeParameters(): Array<PsiTypeParameter> = _typeParameterList?.typeParameters ?: PsiTypeParameter.EMPTY_ARRAY
|
||||
|
||||
override fun isVarArgs(): Boolean = false
|
||||
|
||||
|
||||
@@ -52,9 +52,9 @@ public abstract class C /* C*/<T> {
|
||||
|
||||
public C(@org.jetbrains.annotations.NotNull() java.util.List<? extends java.lang.CharSequence>);// .ctor(java.util.List<? extends java.lang.CharSequence>)
|
||||
|
||||
public final <V, U extends V> T foo(V, @org.jetbrains.annotations.NotNull() C<V>, @org.jetbrains.annotations.NotNull() kotlin.sequences.Sequence<? extends V>);// <V, U extends V> foo(V, C<V>, kotlin.sequences.Sequence<? extends V>)
|
||||
public final <Q extends T> Q getW(Q);// <Q extends T> getW(Q)
|
||||
|
||||
public final Q getW(Q);// getW(Q)
|
||||
public final <V, U extends V> T foo(V, @org.jetbrains.annotations.NotNull() C<V>, @org.jetbrains.annotations.NotNull() kotlin.sequences.Sequence<? extends V>);// <V, U extends V> foo(V, C<V>, kotlin.sequences.Sequence<? extends V>)
|
||||
|
||||
public final void setConstructorParam(@org.jetbrains.annotations.NotNull() java.util.List<? extends java.lang.CharSequence>);// setConstructorParam(java.util.List<? extends java.lang.CharSequence>)
|
||||
|
||||
@@ -78,4 +78,4 @@ public class K /* K*/<T extends K<T>> {
|
||||
public final class Sub /* Sub*/ extends K<K<?>> {
|
||||
public Sub();// .ctor()
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user