Generate constructor without parameters if primary constructor has only parameters with default values

#KT-3085 Fixed
This commit is contained in:
Natalia.Ukhorskaya
2012-12-25 12:28:56 +04:00
parent d4a8ed5ae6
commit 808c5abc0f
24 changed files with 343 additions and 20 deletions
@@ -0,0 +1,8 @@
class A {
class object {
class Foo(val a: Int = 1) {}
}
}
// CLASS: A$object$Foo
// HAS_DEFAULT_CONSTRUCTOR: true
@@ -0,0 +1,6 @@
object o {
class Foo(val a: Int = 1) {}
}
// CLASS: o$Foo
// HAS_DEFAULT_CONSTRUCTOR: true
@@ -0,0 +1,4 @@
class Foo(val a: Int = 1, val b: String = "b") {}
// CLASS: Foo
// HAS_DEFAULT_CONSTRUCTOR: true
@@ -0,0 +1,4 @@
class Foo(vararg val a: String = Array<String>(1) {"default"})
// CLASS: Foo
// HAS_DEFAULT_CONSTRUCTOR: true
@@ -0,0 +1,4 @@
class Foo(val a: Int = 1) {}
// CLASS: Foo
// HAS_DEFAULT_CONSTRUCTOR: true
@@ -0,0 +1,4 @@
private class Foo(val a: Int = 1) {}
// CLASS: Foo
// HAS_DEFAULT_CONSTRUCTOR: false
@@ -0,0 +1,4 @@
class Foo private(val a: Int = 1) {}
// CLASS: Foo
// HAS_DEFAULT_CONSTRUCTOR: false
@@ -0,0 +1,4 @@
public class Foo(val a: Int = 1) {}
// CLASS: Foo
// HAS_DEFAULT_CONSTRUCTOR: true
@@ -0,0 +1,4 @@
public class Foo(val a: Int = 1, val b: Int) {}
// CLASS: Foo
// HAS_DEFAULT_CONSTRUCTOR: false
@@ -0,0 +1,10 @@
class A {
public class Foo(val a: Int = 1) {}
fun foo() {
Foo()
}
}
// CLASS: A$Foo
// HAS_DEFAULT_CONSTRUCTOR: false
@@ -0,0 +1,6 @@
private class A {
public class Foo(val a: Int = 1) {}
}
// CLASS: A$Foo
// HAS_DEFAULT_CONSTRUCTOR: false