[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.modifierLists.SymbolLightMemberModifierList
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightParameterList
|
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.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.getterName
|
||||||
import org.jetbrains.kotlin.load.java.JvmAbi.setterName
|
import org.jetbrains.kotlin.load.java.JvmAbi.setterName
|
||||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||||
@@ -62,9 +63,18 @@ internal class SymbolLightAccessorMethod(
|
|||||||
|
|
||||||
override fun getName(): String = _name
|
override fun getName(): String = _name
|
||||||
|
|
||||||
override fun hasTypeParameters(): Boolean = false
|
private val _typeParameterList: PsiTypeParameterList? by lazyPub {
|
||||||
override fun getTypeParameterList(): PsiTypeParameterList? = null
|
hasTypeParameters().ifTrue {
|
||||||
override fun getTypeParameters(): Array<PsiTypeParameter> = PsiTypeParameter.EMPTY_ARRAY
|
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
|
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 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>)
|
public final void setConstructorParam(@org.jetbrains.annotations.NotNull() java.util.List<? extends java.lang.CharSequence>);// setConstructorParam(java.util.List<? extends java.lang.CharSequence>)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user