Report diagnostic on import with explicit import class if class was imported earlier.

This commit is contained in:
Stanislav Erokhin
2015-09-24 14:07:43 +03:00
parent 6c1738e11a
commit fc9aa87a05
18 changed files with 215 additions and 104 deletions
@@ -1,8 +1,8 @@
//FILE:a.kt
package a
import <!CONFLICTING_IMPORT!>b.O<!>
import <!CONFLICTING_IMPORT!>c.O<!>
import b.<!CONFLICTING_IMPORT!>O<!>
import c.<!CONFLICTING_IMPORT!>O<!>
//FILE:b.kt
package b
@@ -12,4 +12,4 @@ object O {}
//FILE:c.kt
package c
object O {}
object O {}
@@ -11,7 +11,7 @@ class X
// FILE: c.kt
package c
import <!CONFLICTING_IMPORT!>a.X<!>
import <!CONFLICTING_IMPORT!>b.X<!>
import a.<!CONFLICTING_IMPORT!>X<!>
import b.<!CONFLICTING_IMPORT!>X<!>
class Y : <!UNRESOLVED_REFERENCE!>X<!>
@@ -0,0 +1,48 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: 1.kt
package a
class someFun() {}
fun someFun(i: Int) {}
class someVal() {}
val Int.someVal: Int get() = 3
class A
class B
// FILE: 2.kt
package b
class someFun
class someVal
class someAll
fun A() {}
class B
// FILE: 3.kt
import a.<!CONFLICTING_IMPORT!>someFun<!>
import b.<!CONFLICTING_IMPORT!>someFun<!>
import a.<!CONFLICTING_IMPORT!>someVal<!>
import b.<!CONFLICTING_IMPORT!>someVal<!>
import a.A
import b.A
// FILE: 4.kt
import b.*
import a.B
// FILE: 5.kt
package b
import a.B
// FILE: 6.kt
import a.<!CONFLICTING_IMPORT!>B<!>
import b.<!CONFLICTING_IMPORT!>B<!>
@@ -0,0 +1,66 @@
package
package a {
public val kotlin.Int.someVal: kotlin.Int
public fun someFun(/*0*/ i: kotlin.Int): kotlin.Unit
public final class A {
public constructor A()
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
}
public final class B {
public constructor B()
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
}
public final class someFun {
public constructor someFun()
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
}
public final class someVal {
public constructor someVal()
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
}
}
package b {
public fun A(): kotlin.Unit
public final class B {
public constructor B()
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
}
public final class someAll {
public constructor someAll()
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
}
public final class someFun {
public constructor someFun()
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
}
public final class someVal {
public constructor someVal()
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
}
}
@@ -14,8 +14,8 @@ class D {
}
// FILE: c.kt
import <!CONFLICTING_IMPORT!>a.A.B<!>
import <!CONFLICTING_IMPORT!>a.D.B<!>
import a.A.<!CONFLICTING_IMPORT!>B<!>
import a.D.<!CONFLICTING_IMPORT!>B<!>
fun test(b: <!UNRESOLVED_REFERENCE!>B<!>) {
<!UNRESOLVED_REFERENCE!>B<!>()