[IR] dumpKotlinLike: add testdata for FIR tests
This commit is contained in:
committed by
teamcityserver
parent
d7bd4240e1
commit
c68040753d
@@ -0,0 +1,52 @@
|
||||
class Candidate {
|
||||
constructor(symbol: AbstractFirBasedSymbol<*>) /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
val symbol: AbstractFirBasedSymbol<*>
|
||||
field = symbol
|
||||
get
|
||||
|
||||
}
|
||||
|
||||
abstract class AbstractFirBasedSymbol<E> where E : FirSymbolOwner<E>, E : FirDeclaration {
|
||||
constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
lateinit var fir: E
|
||||
get
|
||||
set
|
||||
|
||||
}
|
||||
|
||||
interface FirDeclaration {
|
||||
|
||||
}
|
||||
|
||||
interface FirSymbolOwner<E> where E : FirSymbolOwner<E>, E : FirDeclaration {
|
||||
abstract val symbol: AbstractFirBasedSymbol<E>
|
||||
abstract get
|
||||
|
||||
}
|
||||
|
||||
interface FirCallableMemberDeclaration<F : FirCallableMemberDeclaration<F>> : FirSymbolOwner<F>, FirDeclaration {
|
||||
abstract override val symbol: AbstractFirBasedSymbol<F>
|
||||
abstract override get
|
||||
|
||||
}
|
||||
|
||||
fun foo(candidate: Candidate) {
|
||||
val me: FirSymbolOwner<out FirSymbolOwner<out FirSymbolOwner<out FirSymbolOwner<out FirSymbolOwner<out Any?>>>>> = candidate.<get-symbol>().<get-fir>()
|
||||
when {
|
||||
when {
|
||||
me is FirCallableMemberDeclaration<*> -> EQEQ(arg0 = me /*as FirCallableMemberDeclaration<*> */.<get-symbol>(), arg1 = null).not()
|
||||
else -> false
|
||||
} -> { // BLOCK
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user