[FIR] CallableCopyTypeCalculator: unify logic about copied type calculation

Add missing type propagation to getter and setter that was missed due
to copy-pasted logic.
`computeReturnTypeRef` should check the session to avoid infinitive
recursion

^KT-63361 Fixed
This commit is contained in:
Dmitrii Gridin
2023-11-09 16:21:38 +01:00
committed by Space Team
parent 4164cecc2d
commit fb087ff7e3
17 changed files with 1888 additions and 33 deletions
@@ -0,0 +1,25 @@
// MEMBER_NAME_FILTER: resolveMe
package second
@Target(
AnnotationTarget.PROPERTY,
AnnotationTarget.VALUE_PARAMETER,
AnnotationTarget.FIELD,
AnnotationTarget.PROPERTY_SETTER,
AnnotationTarget.PROPERTY_GETTER,
)
annotation class Anno(val position: String)
const val constant = "str"
abstract class S<caret>ubClass: AbstractClass<String>()
abstract class AbstractClass<T> {
fun explicitType(): T? = null
@property:Anno("property $constant")
@get:Anno("get $constant")
@set:Anno("set $constant")
@setparam:Anno("set $constant")
@field:Anno("field $constant")
var resolveMe: T? = explicitType()
}