title: isInitialized property for lateinit isn't working in companion object
body: <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>