[FIR2IR] Add problematic test with incorrect type argument
NB: we should not have <E> as AbstractFirBasedSymbol type argument, because it isn't accessible in the current scope. Star expected instead.
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
class Candidate(val symbol: AbstractFirBasedSymbol<*>)
|
||||
|
||||
abstract class AbstractFirBasedSymbol<E> where E : FirSymbolOwner<E>, E : FirDeclaration {
|
||||
lateinit var fir: E
|
||||
}
|
||||
|
||||
interface FirDeclaration
|
||||
|
||||
interface FirSymbolOwner<E> where E : FirSymbolOwner<E>, E : FirDeclaration {
|
||||
val symbol: AbstractFirBasedSymbol<E>
|
||||
}
|
||||
|
||||
interface FirCallableMemberDeclaration<F : FirCallableMemberDeclaration<F>> : FirSymbolOwner<F>, FirDeclaration {
|
||||
override val symbol: AbstractFirBasedSymbol<F>
|
||||
}
|
||||
|
||||
fun foo(candidate: Candidate) {
|
||||
val me = candidate.symbol.fir
|
||||
if (me is FirCallableMemberDeclaration<*> && me.symbol != null) {}
|
||||
}
|
||||
Reference in New Issue
Block a user