Change Signature: Match calls of different overloads generated due to @JvmOverloads annotation

#KT-9020 Fixed
This commit is contained in:
Alexey Sedunov
2015-10-27 21:25:09 +03:00
parent 6b346d9e77
commit 5e223927ea
65 changed files with 880 additions and 26 deletions
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(2, 1);
}
void fooXY() {
Foo.foo(2, 1, 1.0);
}
void fooXYZ() {
Foo.foo(2, 1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(n: Int = 2, x: Int = 0, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 1.0);
}
void fooXYZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 2, 1.0);
}
void fooXYZ() {
Foo.foo(1, 2, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, n: Int = 2, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 1.0);
}
void fooXYZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 1.0);
}
void fooXYZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0, z: String = "0", n: Int = 2) {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 1.0);
}
void fooXYZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo(2);
}
void fooX() {
Foo.foo(2, 1);
}
void fooXY() {
Foo.foo(2, 1, 1.0);
}
void fooXYZ() {
Foo.foo(2, 1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(n: Int, x: Int = 0, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 1.0);
}
void fooXYZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo(2);
}
void fooX() {
Foo.foo(1, 2);
}
void fooXY() {
Foo.foo(1, 2, 1.0);
}
void fooXYZ() {
Foo.foo(1, 2, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, n: Int, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 1.0);
}
void fooXYZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo(2);
}
void fooX() {
Foo.foo(1, 2);
}
void fooXY() {
Foo.foo(1, 1.0, 2);
}
void fooXYZ() {
Foo.foo(1, 1.0, "1", 2);
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0, z: String = "0", n: Int) {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 1.0);
}
void fooXYZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
new A();
}
void fooX() {
new A(1);
}
void fooXY() {
new A(1, "0", 1.0);
}
void fooXYZ() {
new A(1, "1", 1.0);
}
}
@@ -0,0 +1,5 @@
public class A @JvmOverloads constructor(
public val x: Int = 0,
public val z: String = "0",
public val y: Double = 0.0
)
@@ -0,0 +1,17 @@
class Usages {
void foo() {
new A();
}
void fooX() {
new A(1);
}
void fooXY() {
new A(1, 1.0);
}
void fooXYZ() {
new A(1, 1.0, "1");
}
}
@@ -0,0 +1,5 @@
public class A @JvmOverloads constructor<caret>(
public val x: Int = 0,
public val y: Double = 0.0,
public val z: String = "0"
)
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo();
}
void fooXY() {
Foo.foo(1.0);
}
void fooXYZ() {
Foo.foo(1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 1.0);
}
void fooXYZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1);
}
void fooXYZ() {
Foo.foo(1, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 1.0);
}
void fooXYZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 1.0);
}
void fooXYZ() {
Foo.foo(1, 1.0);
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0) {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 1.0);
}
void fooXYZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,13 @@
class Usages {
void foo() {
Foo.foo();
}
void fooY() {
Foo.foo(1.0);
}
void fooYZ() {
Foo.foo(1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,13 @@
class Usages {
void foo() {
Foo.foo(1);
}
void fooY() {
Foo.foo(1, 1.0);
}
void fooYZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int, y: Double = 0.0, z: String = "0") {
}
@@ -0,0 +1,13 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXZ() {
Foo.foo(1, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, z: String = "0") {
}
@@ -0,0 +1,13 @@
class Usages {
void foo() {
Foo.foo(1.0);
}
void fooX() {
Foo.foo(1, 1.0);
}
void fooXZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double, z: String = "0") {
}
@@ -0,0 +1,13 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 1.0);
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0) {
}
@@ -0,0 +1,13 @@
class Usages {
void foo() {
Foo.foo("1");
}
void fooX() {
Foo.foo(1, "1");
}
void fooXY() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,6 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(x: Int = 0, y: Double = 0.0, z: String) {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, "0", 1.0);
}
void fooXYZ() {
Foo.foo(1, "1", 1.0);
}
}
@@ -0,0 +1,10 @@
@file:JvmName("Foo")
@JvmOverloads
fun foo(
x: Int = 0,
z: String = "0",
y: Double = 0.0
) {
}
@@ -0,0 +1,17 @@
class Usages {
void foo() {
Foo.foo();
}
void fooX() {
Foo.foo(1);
}
void fooXY() {
Foo.foo(1, 1.0);
}
void fooXYZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,10 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(
x: Int = 0,
y: Double = 0.0,
z: String = "0"
) {
}
@@ -0,0 +1,13 @@
class Usages {
void foo() {
Foo.foo(1);
}
void fooY() {
Foo.foo("0", 1.0, 1);
}
void fooYZ() {
Foo.foo("1", 1.0, 1);
}
}
@@ -0,0 +1,10 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(
z: String = "0",
y: Double = 0.0,
x: Int
) {
}
@@ -0,0 +1,13 @@
class Usages {
void foo() {
Foo.foo(1);
}
void fooY() {
Foo.foo(1, 1.0);
}
void fooYZ() {
Foo.foo(1, 1.0, "1");
}
}
@@ -0,0 +1,10 @@
@file:JvmName("Foo")
@JvmOverloads
fun <caret>foo(
x: Int,
y: Double = 0.0,
z: String = "0"
) {
}