如何避免Kotlin中的lateinit字段的部分覆盖
我有使用Guice注入的Kotlin编写的Android服务。 它有lateinit字段不能为空,但他们必须迟到,因为我不能使用构造函数注入。
围绕这些线路的东西:
class VibrationService : Service() { @Inject private lateinit var pm: PowerManager private lateinit var wakeLock: WakeLock override fun onCreate() { AlarmApplication.guice().injectMembers(this) wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "VibrationService") wakeLock.acquire() } }
现在,当我创建JaCoCo报告时,任何后期字段被访问的所有行被标记为部分覆盖。 我认为Kotlin编译器会在字节码中添加一些检查,以确保字段在被访问之前被初始化。
有什么办法可以禁用这些检查吗? 我想我的100%覆盖范围:-)