Kapt: Prefer non-aliased imports over aliased. Make sure the imported short names are unique (KT-22083)

This commit is contained in:
Yan Zhulanow
2018-01-10 06:28:07 +03:00
parent 233376eef0
commit 7b055c2172
4 changed files with 156 additions and 4 deletions
@@ -0,0 +1,54 @@
// CORRECT_ERROR_TYPES
// EXPECTED_ERROR(23;24) cannot find symbol
// FILE: a.kt
package test
import java.io.File
import java.io.File as JavaFile
import java.io.IOException
import java.io.IOException as JavaIOException
class TestA
// FILE: lib/File.java
package lib;
public class File {}
// FILE: lib/IOException.java
package lib;
public class IOException {}
// FILE: b.kt
package test
import java.io.File
import lib.File as LibFile
import java.io.IOException
import lib.IOException as LibIOException
interface TestB {
fun a(): File
fun b(): LibFile
fun c(): IOException
fun d(): LibIOException
}
// FILE: c.kt
@file:Suppress("UNRESOLVED_REFERENCE")
package test
import java.io.File as JavaFile
import lib.File as LibFile
import java.io.IOException as JavaIOException
import lib.IOException as LibIOException
import lib.FooBar as LibFooBar
interface TestC {
fun a(): JavaFile
fun b(): LibFile
fun c(): JavaIOException
fun d(): LibIOException
fun e(): LibFooBar
}
@@ -0,0 +1,84 @@
package lib;
public class File {
public File() {
super();
}
}
////////////////////
package lib;
public class IOException {
public IOException() {
super();
}
}
////////////////////
package test;
import java.io.File;
import java.io.IOException;
@kotlin.Metadata()
public final class TestA {
public TestA() {
super();
}
}
////////////////////
package test;
import java.io.File;
import java.io.IOException;
@kotlin.Metadata()
public abstract interface TestB {
@org.jetbrains.annotations.NotNull()
public abstract java.io.File a();
@org.jetbrains.annotations.NotNull()
public abstract lib.File b();
@org.jetbrains.annotations.NotNull()
public abstract java.io.IOException c();
@org.jetbrains.annotations.NotNull()
public abstract lib.IOException d();
}
////////////////////
package test;
import java.io.File;
import java.io.IOException;
import lib.FooBar;
@kotlin.Metadata()
public abstract interface TestC {
@org.jetbrains.annotations.NotNull()
public abstract java.io.File a();
@org.jetbrains.annotations.NotNull()
public abstract lib.File b();
@org.jetbrains.annotations.NotNull()
public abstract java.io.IOException c();
@org.jetbrains.annotations.NotNull()
public abstract lib.IOException d();
@org.jetbrains.annotations.NotNull()
public abstract lib.FooBar e();
}