Lateinit变量:编译器标志告知未初始化的lateinit变量的名称?

时间:2019-03-10 00:00:11

标签: kotlin null kotlin-lateinit

在一个用例中,我使用lateinit变量作为字段,如下所示:

class LiteralExpr(val token: Tok) : Expr() {
    override fun <T> accept(visitor: Visitor<T>): T {
        return visitor.visitLiteralExpression(this)
    }


    class Builder {
        lateinit var token: Tok
        fun build(): LiteralExpr = LiteralExpr(token)
    }

    companion object {
        fun create(init: Builder.() -> Unit) = Builder().apply(init).build()
    }
}

问题是,如果我没有通过Builder创建lateinit Tok对象,则编译器只是告诉我未初始化通用lateinit变量。

如果它还告诉我变量的名称以及lateinit所属的,那就太好了。有没有标志或可以使我意识到这种行为的东西?

0 个答案:

没有答案