lazyName

fun <T : Any> lazyName(initializer: (String) -> T): ReadOnlyProperty<Any?, T>

lazy 不同的是在 lazyName 中你可以获取到 lazy 变量的名字 并且它不会被 proguard 等混淆影响

val abc by lazyName { name -> assert(name == "abc") }