[AA FIR] support symbol pointer for property from constructor

^KT-54311
^KT-54311
This commit is contained in:
Dmitrii Gridin
2022-11-10 14:54:54 +01:00
committed by Space Team
parent fe93f49ff7
commit bbe1aa61af
3 changed files with 23 additions and 6 deletions
@@ -38,3 +38,14 @@ public inline fun <S : KtSymbol> symbolPointer(crossinline getSymbol: (KtAnalysi
@Deprecated("Consider using org.jetbrains.kotlin.analysis.api.KtAnalysisSession.restoreSymbol")
override fun restoreSymbol(analysisSession: KtAnalysisSession): S? = getSymbol(analysisSession)
}
public inline fun <T : KtSymbol, R : KtSymbol> symbolPointerDelegator(
pointer: KtSymbolPointer<T>,
crossinline transformer: context(KtAnalysisSession) (T) -> R?,
): KtSymbolPointer<R> = object : KtSymbolPointer<R>() {
@Deprecated("Consider using org.jetbrains.kotlin.analysis.api.KtAnalysisSession.restoreSymbol")
override fun restoreSymbol(analysisSession: KtAnalysisSession): R? = with(analysisSession) {
val symbol = pointer.restoreSymbol() ?: return null
transformer(this, symbol)
}
}
@@ -1,4 +1,4 @@
// DO_NOT_CHECK_SYMBOL_RESTORE
// DO_NOT_CHECK_SYMBOL_RESTORE_K1
class A(val abc: Int) {
fun check() {