title: Dagger injection not working for "object" in Kotlin
body: <p>After spending a ludicrous amount of time trying to figure out why my dagger injections weren't working; I realised that the "object" type in Kotlin was the problem.</p>
  
  <p>The following did not work, the injected "property" was null.</p>
  
  <pre><code>object SomeSingleton {
  
      @Inject
      lateinit var property: Property
  
      init {
          DaggerGraphController.inject(this)
      }
  }
  </code></pre>
  
  <p>However, the following DID work just fine:</p>
  
  <pre><code>class NotSingleton {
  
      @Inject
      lateinit var property: Property
  
      init {
          DaggerGraphController.inject(this)
      }
  }
  </code></pre>
  
  <p>I tried google, I tried the documentation but I could not pin point the reason behind this. Also note that I havent tried this with JAVA, JAVA doesnt have the concept of singletons built in anyway.</p>
  
  <p>Why is this the case? Why is a kotlin singleton unable to inject members but a regular non-singleton class can?</p>