70e01fac18
In an expression such as "Obj::class" where Obj is an object, it's fine to consider Obj either an expression or a type and generate either Obj.INSTANCE.getClass() or Obj.class correspondingly. However, the former fails in the object's super constructor call because the INSTANCE field is not yet initialized. Thus, we force generation of Obj.class in case when Obj is an object. Note that this has been reproduced in our project, see KotlinMetadataVersionIndex