// FIR_IDENTICAL abstract class FirBasedSymbol { val fir: E get() = null!! } abstract class FirCallableSymbol : FirBasedSymbol() sealed class FirDeclaration sealed class FirCallableDeclaration : FirDeclaration() class FirFunction : FirCallableDeclaration() class FirVariable : FirCallableDeclaration() val FirCallableSymbol<*>.isExtension: Boolean get() = when (fir) { is FirFunction -> true is FirVariable -> false }