Add test case for codeanalysis annotation

This commit is contained in:
Denis Zharkov
2019-08-15 14:36:42 +03:00
committed by Victor Petukhov
parent dfb1cb8642
commit 2964d52640
6 changed files with 16 additions and 2 deletions
@@ -18,6 +18,8 @@ public class A {
@DefaultNullable
public String mixed(@NotNull String x) { return ""; }
public String explicitlyNullnessUnknown(@NullnessUnknown String x) { return ""; }
}
// FILE: main.kt
@@ -37,6 +39,10 @@ fun main(a: A) {
a.mixed(<!NULL_FOR_NONNULL_TYPE!>null<!>)?.length
a.mixed("")?.length
a.explicitlyNullnessUnknown("").length
a.explicitlyNullnessUnknown("")<!UNNECESSARY_SAFE_CALL!>?.<!>length
a.explicitlyNullnessUnknown(null).length
a.defaultField<!UNNECESSARY_SAFE_CALL!>?.<!>length
a.defaultField.length
@@ -10,6 +10,7 @@ public fun main(/*0*/ a: A): kotlin.Unit
public open fun everythingNotNullable(/*0*/ x: kotlin.String): kotlin.String
@jspecify.annotations.DefaultNullable public open fun everythingNullable(/*0*/ x: kotlin.String?): kotlin.String?
@jspecify.annotations.DefaultNullnessUnknown public open fun everythingUnknown(/*0*/ x: kotlin.String!): kotlin.String!
public open fun explicitlyNullnessUnknown(/*0*/ @jspecify.annotations.NullnessUnknown x: kotlin.String!): kotlin.String
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@jspecify.annotations.DefaultNullable public open fun mixed(/*0*/ @jspecify.annotations.NotNull x: kotlin.String): kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -19,6 +19,8 @@ public class A {
@DefaultNullable
public String mixed(@NotNull String x) { return ""; }
public String explicitlyNullnessUnknown(@NullnessUnknown String x) { return ""; }
}
// FILE: main.kt
@@ -38,6 +40,10 @@ fun main(a: A) {
a.mixed(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)?.length
a.mixed("")?.length
a.explicitlyNullnessUnknown("").length
a.explicitlyNullnessUnknown("")<!UNNECESSARY_SAFE_CALL!>?.<!>length
a.explicitlyNullnessUnknown(null).length
a.defaultField<!UNNECESSARY_SAFE_CALL!>?.<!>length
a.defaultField.length
@@ -10,6 +10,7 @@ public fun main(/*0*/ a: A): kotlin.Unit
public open fun everythingNotNullable(/*0*/ x: kotlin.String!): kotlin.String!
@jspecify.annotations.DefaultNullable public open fun everythingNullable(/*0*/ x: kotlin.String!): kotlin.String!
@jspecify.annotations.DefaultNullnessUnknown public open fun everythingUnknown(/*0*/ x: kotlin.String!): kotlin.String!
public open fun explicitlyNullnessUnknown(/*0*/ @jspecify.annotations.NullnessUnknown x: kotlin.String!): kotlin.String!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@jspecify.annotations.DefaultNullable public open fun mixed(/*0*/ @jspecify.annotations.NotNull x: kotlin.String!): kotlin.String!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -2,7 +2,7 @@
// CODE_ANALYSIS_STATE warn
// FILE: A.java
import codeanalysis.annotations.*;
import jspecify.annotations.*;
public class A<T> {
public void foo(T t) {}
@@ -4,7 +4,7 @@ public fun main(/*0*/ a1: A<kotlin.Int>, /*1*/ a2: A<kotlin.Int?>): kotlin.Unit
public open class A</*0*/ T : kotlin.Any!> {
public constructor A</*0*/ T : kotlin.Any!>()
@codeanalysis.annotations.DefaultNotNull public open fun bar(/*0*/ s: kotlin.String!, /*1*/ t: T!): kotlin.Unit
@jspecify.annotations.DefaultNotNull public open fun bar(/*0*/ s: kotlin.String!, /*1*/ t: T!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun foo(/*0*/ t: T!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int