Tests for abstract functions with default arguments
This commit is contained in:
@@ -0,0 +1,16 @@
|
|||||||
|
abstract class Base {
|
||||||
|
abstract fun foo(a: String = "abc"): String
|
||||||
|
}
|
||||||
|
|
||||||
|
class Derived: Base() {
|
||||||
|
override fun foo(a: String): String {
|
||||||
|
return a
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
val result = Derived().foo()
|
||||||
|
if (result != "abc") return "Fail: $result"
|
||||||
|
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
trait Base {
|
||||||
|
fun bar(a: String = "abc"): String = a + " from trait"
|
||||||
|
}
|
||||||
|
|
||||||
|
class Derived: Base {
|
||||||
|
override fun bar(a: String): String = a + " from class"
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
val result = Derived().bar()
|
||||||
|
if (result != "abc from class") return "Fail: $result"
|
||||||
|
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
class JavaClass {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
try {
|
||||||
|
new Derived().one(null);
|
||||||
|
}
|
||||||
|
catch (E1 e) {}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
class E1: Exception()
|
||||||
|
|
||||||
|
trait Base<T> {
|
||||||
|
throws(javaClass<E1>())
|
||||||
|
fun one(t: T) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Derived: Base<String>
|
||||||
@@ -1929,6 +1929,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
|||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/box/defaultArguments/function")
|
@TestMetadata("compiler/testData/codegen/box/defaultArguments/function")
|
||||||
public static class Function extends AbstractBlackBoxCodegenTest {
|
public static class Function extends AbstractBlackBoxCodegenTest {
|
||||||
|
@TestMetadata("abstractClass.kt")
|
||||||
|
public void testAbstractClass() throws Exception {
|
||||||
|
doTest("compiler/testData/codegen/box/defaultArguments/function/abstractClass.kt");
|
||||||
|
}
|
||||||
|
|
||||||
public void testAllFilesPresentInFunction() throws Exception {
|
public void testAllFilesPresentInFunction() throws Exception {
|
||||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("compiler/testData/codegen/box/defaultArguments/function"), Pattern.compile("^(.+)\\.kt$"), true);
|
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("compiler/testData/codegen/box/defaultArguments/function"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||||
}
|
}
|
||||||
@@ -2013,6 +2018,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
|||||||
doTest("compiler/testData/codegen/box/defaultArguments/function/mixingNamedAndPositioned.kt");
|
doTest("compiler/testData/codegen/box/defaultArguments/function/mixingNamedAndPositioned.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("trait.kt")
|
||||||
|
public void testTrait() throws Exception {
|
||||||
|
doTest("compiler/testData/codegen/box/defaultArguments/function/trait.kt");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Test innerSuite() {
|
public static Test innerSuite() {
|
||||||
|
|||||||
+5
@@ -286,6 +286,11 @@ public class CompileJavaAgainstKotlinTestGenerated extends AbstractCompileJavaAg
|
|||||||
doTest("compiler/testData/compileJavaAgainstKotlin/method/throws/Delegation.kt");
|
doTest("compiler/testData/compileJavaAgainstKotlin/method/throws/Delegation.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("GenericSubstitution.kt")
|
||||||
|
public void testGenericSubstitution() throws Exception {
|
||||||
|
doTest("compiler/testData/compileJavaAgainstKotlin/method/throws/GenericSubstitution.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("TopLevel.kt")
|
@TestMetadata("TopLevel.kt")
|
||||||
public void testTopLevel() throws Exception {
|
public void testTopLevel() throws Exception {
|
||||||
doTest("compiler/testData/compileJavaAgainstKotlin/method/throws/TopLevel.kt");
|
doTest("compiler/testData/compileJavaAgainstKotlin/method/throws/TopLevel.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user