нормально? IDEA об ошибке молчит, но при запуске вываливается.
fun test(): String {
return "test()"
}
class ClassA {
companion object {
fun companionTest(): String {
return test()
}
}
}
println(ClassA.companionTest())
// Unresolved reference: test
UPDATED: не только из компаньона, но и из обычных методов класса
Мне IDEA подчёркивает вызов функции test и говорит: "expression in inaccessible from nested class Companion". Скорее всего это связано с тем, что в скрипте top-level функции/переменные не top level на самом деле, а локальные внутри main, которым скрипт оборачивается. При этом class и его компаньон как раз top level оказываются, и естественно из него нет доступа к тому, что внутри main. Но поведение очень неожиданное, согласен. Вот так работает: object B { fun test() = "test()" } class A { companion object { fun companionTest() = B.test() } } println(A.companionTest())
@orangyk не хоте пинить
Обсуждают сегодня