Add annotation for default parameter value
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
public class A {
|
||||
public Integer foo(@DefaultNull Integer x) { return x; }
|
||||
public Integer bar(@DefaultNull Integer x) { return x; }
|
||||
|
||||
public Integer baz(@DefaultValue("42") Integer x) { return x; }
|
||||
}
|
||||
|
||||
// FILE: AInt.java
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
public interface AInt {
|
||||
public Integer foo(@DefaultValue("42") Integer x);
|
||||
public Integer bar(@DefaultNull Integer x);
|
||||
}
|
||||
|
||||
// FILE: B.java
|
||||
|
||||
public class B extends A {
|
||||
public Integer foo(Integer x) { return x; }
|
||||
}
|
||||
|
||||
// FILE: C.java
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
public class C extends A {
|
||||
public Integer foo(@DefaultValue("42") Integer x) { return x; }
|
||||
|
||||
public Integer baz(@DefaultNull Integer x) { return x; }
|
||||
}
|
||||
|
||||
// FILE: D.java
|
||||
|
||||
public class D extends A implements AInt {
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
fun box(): String {
|
||||
if (A().foo() != null) return "FAIL 0"
|
||||
|
||||
if (B().foo() != null) return "FAIL 1"
|
||||
if (B().bar() != null) return "FAIL 2"
|
||||
|
||||
if (C().foo() != null) return "FAIL 3"
|
||||
if (C().baz() != 42) return "FAIL 4"
|
||||
|
||||
if (D().baz() != 42) return "FAIL 5"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user