Write to trace in case class qualifier is a short reference to default object

This allows to fix some cases when there is a difference between explicit and short reference to default object
Fix shorten reference, optimize imports and import insert helper for default objects
ShortenReferences always transforms default object references to shorter form for now
Fix DescriptorUtils#getFqName() for default objects (affects test data mostly)
Fix DescriptorUtils#getImportableDescriptor()
This commit is contained in:
Pavel V. Talanov
2015-02-25 13:19:39 +03:00
parent 7f672f8078
commit 989f07962b
40 changed files with 278 additions and 104 deletions
@@ -64,5 +64,5 @@ fun test(m1: M1) {
d(m1.d)
e(m1.e)
f(m1.f)
g(m1.g)
g(<!TYPE_MISMATCH!>m1.g<!>)
}
@@ -64,10 +64,10 @@ package p {
public final val a: p.A
public final val b: p.A.B
public final val c: p.A.C
public final val d: p.A.D
public final val e: p.A.D.E
public final val d: p.A.Default.D
public final val e: p.A.Default.D.E
public final val f: p.A.F
public final val g: p.A.G
public final val g: p.A.Default.G
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -82,8 +82,8 @@ package p {
public fun a(/*0*/ p: p.A): kotlin.Unit
public fun b(/*0*/ p: p.A.B): kotlin.Unit
public fun c(/*0*/ p: p.A.C): kotlin.Unit
public fun d(/*0*/ p: p.A.D): kotlin.Unit
public fun e(/*0*/ p: p.A.D.E): kotlin.Unit
public fun d(/*0*/ p: p.A.Default.D): kotlin.Unit
public fun e(/*0*/ p: p.A.Default.D.E): kotlin.Unit
public fun f(/*0*/ p: p.A.F): kotlin.Unit
public fun g(/*0*/ p: p.A.G): kotlin.Unit
@@ -154,8 +154,8 @@ package p {
public fun a(/*0*/ p: p.A): kotlin.Unit
public fun b(/*0*/ p: p.A.B): kotlin.Unit
public fun c(/*0*/ p: p.A.C): kotlin.Unit
public fun d(/*0*/ p: p.A.D): kotlin.Unit
public fun e(/*0*/ p: p.A.D.E): kotlin.Unit
public fun d(/*0*/ p: p.A.Default.D): kotlin.Unit
public fun e(/*0*/ p: p.A.Default.D.E): kotlin.Unit
public fun f(/*0*/ p: p.A.F): kotlin.Unit
public fun g(/*0*/ p: p.A.G): kotlin.Unit