isInitialized property for lateinit isn't working in companion object : <p>I have a singleton class which i have implemented it in java fashion :</p>

<pre><code>companion object {

    @Volatile private lateinit var instance: TrapBridge

    fun bridge(): TrapBridge {
        if (!this::instance.isInitialized) {
            synchronized(this) {
                if (!this::instance.isInitialized) {
                    instance = TrapBridge()
                }
            }
        }
        return instance
    }

}
</code></pre>

<p>now the problem is i can't use <code>isInitialized</code> property because it throws <code>NoSuchFieldError</code> exception :</p>

<pre><code>java.lang.NoSuchFieldError: No field instance of type Lcom/sample/trap/model/TrapBridge; in class Lcom/sample/trap/model/TrapBridge$Companion; or its superclasses (declaration of 'com.sample.trap.model.TrapBridge$Companion' appears in /data/app/com.sample.trapsample-L9D8b2vxEQfiSg9Qep_eNw==/base.apk)
</code></pre>

<p>and i think it's because <code>instance</code> is class variable and not instance variable so i can't reference it with <code>this</code> keyword :/</p>

<p>also i can't check if it's null because it throws <code>UninitializedPropertyAccessException</code> :</p>

<pre><code>lateinit property instance has not been initialized
</code></pre>
