mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-11 08:31:30 +00:00
Add WITH_RUNTIME and WITH_REFLECT directives to box tests
Currently all tests in boxWithStdlib/ run with both runtime and reflection included; eventually they'll be merged into box/ using these directives
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: JavaClass.java
|
||||
|
||||
public class JavaClass {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
class Test {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
class Test {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
class O {}
|
||||
@@ -16,7 +17,7 @@ annotation class Ann(val args: Array<KClass<*>>)
|
||||
|
||||
fun box(): String {
|
||||
val args = Test::class.java.getAnnotation(Ann::class.java).args
|
||||
val argName1 = args[0].simpleName ?: "fail 1"
|
||||
val argName2 = args[1].simpleName ?: "fail 2"
|
||||
val argName1 = args[0].java.simpleName ?: "fail 1"
|
||||
val argName2 = args[1].java.simpleName ?: "fail 2"
|
||||
return argName1 + argName2
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
class OK {}
|
||||
@@ -14,6 +15,6 @@ import kotlin.reflect.KClass
|
||||
annotation class Ann(val arg: KClass<*>)
|
||||
|
||||
fun box(): String {
|
||||
val argName = Test::class.java.getAnnotation(Ann::class.java).arg.simpleName ?: "fail 1"
|
||||
val argName = Test::class.java.getAnnotation(Ann::class.java).arg.java.simpleName ?: "fail 1"
|
||||
return argName
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
class O {}
|
||||
@@ -16,7 +17,7 @@ annotation class Ann(vararg val args: KClass<*>)
|
||||
|
||||
fun box(): String {
|
||||
val args = Test::class.java.getAnnotation(Ann::class.java).args
|
||||
val argName1 = args[0].simpleName ?: "fail 1"
|
||||
val argName2 = args[1].simpleName ?: "fail 2"
|
||||
val argName1 = args[0].java.simpleName ?: "fail 1"
|
||||
val argName2 = args[1].java.simpleName ?: "fail 2"
|
||||
return argName1 + argName2
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: A.java
|
||||
|
||||
public class A extends AImpl implements java.util.List<String> {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: JavaClass.java
|
||||
|
||||
public class JavaClass {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Baz.java
|
||||
|
||||
public class Baz {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: StringHolder.java
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Baz.java
|
||||
|
||||
public class Baz {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Baz.java
|
||||
|
||||
public class Baz {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Baz.java
|
||||
|
||||
public class Baz {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Bar.java
|
||||
|
||||
public class Bar {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: CompanionInitialization.java
|
||||
|
||||
public class CompanionInitialization {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
public class Test {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
public class Test {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
public class Test {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
public class Test {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
import java.lang.annotation.Annotation;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
class Test {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
class Test {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
class Test {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: JavaClass.java
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: Test.java
|
||||
|
||||
class Test {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: JavaBaseClass.java
|
||||
|
||||
public class JavaBaseClass {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// FILE: JavaBaseClass.java
|
||||
|
||||
public class JavaBaseClass {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
@Anno("J")
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
public static int test1() {
|
||||
A<String, B<String>> x = new X<String, B<String>>("O", new B<String>("K"));
|
||||
return A.DefaultImpls.test1(x, 1, 1.0);
|
||||
}
|
||||
|
||||
|
||||
public static A<String, B<String>> test2(){
|
||||
X<String, B<String>> x = new X<String, B<String>>("O", new B<String>("K"));
|
||||
return A.DefaultImpls.test2(x, 1);
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: K.kt
|
||||
|
||||
class B<T>(val value: T)
|
||||
|
||||
interface A<T, Y : B<T>> {
|
||||
|
||||
fun <T, L> test1(p: T, z: L): T {
|
||||
return p
|
||||
}
|
||||
|
||||
fun <L> test2(p: L): A<T, Y> {
|
||||
return this
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class X<T, Y : B<T>>(val p1: T, val p2: Y) : A<T, Y> {
|
||||
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val test1 = J.test1()
|
||||
if (test1 != 1) return "fail 1: $test1 != 1"
|
||||
|
||||
val test2: X<String, B<String>> = J.test2() as X<String, B<String>>
|
||||
|
||||
return test2.p1 + test2.p2.value
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
import kotlin.jvm.functions.Function2;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J extends K {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
public class J {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WITH_REFLECT
|
||||
// FILE: J.java
|
||||
|
||||
import java.util.List;
|
||||
|
||||
Reference in New Issue
Block a user