b2c8d7e777
Such annotations are supposed to affect only diagnostic warnings ^KT-62310 Fixed
46 lines
1.2 KiB
Kotlin
Vendored
46 lines
1.2 KiB
Kotlin
Vendored
// FILE: ClassWithExternalAnnotatedMembers.java
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
public class ClassWithExternalAnnotatedMembers {
|
|
public String externalNotNullMethod() {
|
|
return "";
|
|
}
|
|
|
|
@NotNull
|
|
public String explicitNotNullMethod() {
|
|
return "";
|
|
}
|
|
|
|
public static String staticExternalNotNullMethod() {
|
|
return "";
|
|
}
|
|
|
|
@NotNull
|
|
public static String staticExplicitNotNullMethod() {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
// FILE: usage.kt
|
|
fun test() {
|
|
val x = ClassWithExternalAnnotatedMembers()
|
|
x.externalNotNullMethod()?.foo()
|
|
x.explicitNotNullMethod()<!UNNECESSARY_SAFE_CALL!>?.<!>foo()
|
|
|
|
ClassWithExternalAnnotatedMembers.staticExternalNotNullMethod()?.foo()
|
|
ClassWithExternalAnnotatedMembers.staticExplicitNotNullMethod()<!UNNECESSARY_SAFE_CALL!>?.<!>foo()
|
|
}
|
|
|
|
fun String.foo() {
|
|
|
|
}
|
|
|
|
// FILE: annotations.xml
|
|
<root>
|
|
<item name='ClassWithExternalAnnotatedMembers java.lang.String externalNotNullMethod()'>
|
|
<annotation name='org.jetbrains.annotations.NotNull'/>
|
|
</item>
|
|
<item name='ClassWithExternalAnnotatedMembers java.lang.String staticExternalNotNullMethod()'>
|
|
<annotation name='org.jetbrains.annotations.NotNull'/>
|
|
</item>
|
|
</root> |