FIR Java: convert more annotations to @EnhancedNullability
This commit is contained in:
committed by
teamcityserver
parent
01ef41ab17
commit
1f48092ec1
@@ -1,9 +1,9 @@
|
||||
public open class Simple : R|kotlin/Any| {
|
||||
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
|
||||
|
||||
@R|javax/annotation/Nullable|() public open fun foo(@R|javax/annotation/Nonnull|() x: R|kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|kotlin/String?|
|
||||
@R|javax/annotation/Nullable|() public open fun foo(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|kotlin/String?|
|
||||
|
||||
@R|javax/annotation/Nonnull|() public open fun bar(): R|kotlin/String|
|
||||
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
|
||||
|
||||
public constructor(): R|Simple|
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
public open class Strange : R|kotlin/Any| {
|
||||
@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.UNKNOWN|()) public open field field: R|ft<kotlin/String, kotlin/String?>!|
|
||||
|
||||
@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.MAYBE|()) public open fun foo(@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.ALWAYS|()) x: R|kotlin/String|, @R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.NEVER|()) y: R|kotlin/CharSequence?|): R|kotlin/String?|
|
||||
@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.MAYBE|()) public open fun foo(@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.ALWAYS|()) x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.NEVER|()) y: R|kotlin/CharSequence?|): R|kotlin/String?|
|
||||
|
||||
@R|javax/annotation/Nonnull|() public open fun bar(): R|kotlin/String|
|
||||
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
|
||||
|
||||
public constructor(): R|Strange|
|
||||
|
||||
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
@R|FieldsAreNullable|() public open class A : R|kotlin/Any| {
|
||||
public open field field: R|kotlin/String?|
|
||||
|
||||
@R|javax/annotation/Nonnull|() public open field nonNullField: R|kotlin/String|
|
||||
@R|javax/annotation/Nonnull|() public open field nonNullField: R|@EnhancedNullability kotlin/String|
|
||||
|
||||
public open fun foo(q: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
|
||||
public open fun foo(q: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
|
||||
|
||||
@R|javax/annotation/Nonnull|() public open fun bar(): R|kotlin/String|
|
||||
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
|
||||
|
||||
public constructor(): R|A|
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
@R|spr/NonNullApi|() public open class A : R|kotlin/Any| {
|
||||
public open fun foo(x: R|kotlin/String|, @R|spr/Nullable|() y: R|kotlin/CharSequence?|): R|kotlin/String|
|
||||
|
||||
@R|spr/ForceFlexibility|() public open fun bar(x: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() y: R|kotlin/CharSequence|): R|ft<kotlin/String, kotlin/String?>!|
|
||||
@R|spr/ForceFlexibility|() public open fun bar(x: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() y: R|@EnhancedNullability kotlin/CharSequence|): R|ft<kotlin/String, kotlin/String?>!|
|
||||
|
||||
public constructor(): R|A|
|
||||
|
||||
|
||||
+4
-4
@@ -11,13 +11,13 @@
|
||||
|
||||
}
|
||||
public abstract interface B : R|kotlin/Any| {
|
||||
public abstract fun foo(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/Unit|
|
||||
public abstract fun foo(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|kotlin/Unit|
|
||||
|
||||
public abstract fun bar(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/Unit|
|
||||
public abstract fun bar(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|kotlin/Unit|
|
||||
|
||||
public abstract fun baz(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/Unit|
|
||||
public abstract fun baz(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|kotlin/Unit|
|
||||
|
||||
public abstract fun foobar(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/Unit|
|
||||
public abstract fun foobar(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
@R|java/lang/annotation/Retention|(R|java/lang/annotation/RetentionPolicy.RUNTIME|()) @R|java/lang/annotation/Documented|() @R|spr/UnknownNullability|() @R|javax/annotation/meta/TypeQualifierDefault|(<implicitArrayOf>(R|java/lang/annotation/ElementType.METHOD|(), R|java/lang/annotation/ElementType.PARAMETER|())) public abstract annotation class ForceFlexibility : R|kotlin/Annotation| {
|
||||
|
||||
+4
-4
@@ -9,7 +9,7 @@
|
||||
|
||||
@R|javax/annotation/Nullable|() public open fun bar2(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/String?|
|
||||
|
||||
public open fun baz(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/String|
|
||||
public open fun baz(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|kotlin/String|
|
||||
|
||||
public constructor(): R|A|
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
|
||||
@R|javax/annotation/Nullable|() public abstract fun bar2(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/CharSequence?|
|
||||
|
||||
public abstract fun baz(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/CharSequence|
|
||||
public abstract fun baz(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|kotlin/CharSequence|
|
||||
|
||||
}
|
||||
@R|NullableApi|() public open class B : R|A|, R|AInt| {
|
||||
public open fun foo1(x: R|kotlin/String|): R|kotlin/String|
|
||||
|
||||
@R|javax/annotation/Nonnull|() public open fun foo2(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/String|
|
||||
@R|javax/annotation/Nonnull|() public open fun foo2(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|@EnhancedNullability kotlin/String|
|
||||
|
||||
public open fun bar1(x: R|kotlin/String?|): R|kotlin/String?|
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
@R|NonNullApi|() public open class C : R|A|, R|AInt| {
|
||||
public open fun foo1(x: R|kotlin/String|): R|kotlin/String|
|
||||
|
||||
public open fun foo2(@R|javax/annotation/Nonnull|() x: R|kotlin/String|): R|kotlin/String|
|
||||
public open fun foo2(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|kotlin/String|
|
||||
|
||||
public open fun bar1(x: R|kotlin/String?|): R|kotlin/String?|
|
||||
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
@R|javax/annotation/ParametersAreNonnullByDefault|() public open class A : R|kotlin/Any| {
|
||||
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
|
||||
|
||||
public open fun foo(q: R|kotlin/String|, @R|javax/annotation/Nonnull|() x: R|kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
|
||||
public open fun foo(q: R|kotlin/String|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
|
||||
|
||||
@R|javax/annotation/Nonnull|() public open fun bar(): R|kotlin/String|
|
||||
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
|
||||
|
||||
public constructor(): R|A|
|
||||
|
||||
|
||||
+4
-4
@@ -1,9 +1,9 @@
|
||||
public open class A : R|kotlin/Any| {
|
||||
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
|
||||
|
||||
public open fun foo(q: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
|
||||
public open fun foo(q: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
|
||||
|
||||
@R|javax/annotation/Nonnull|() public open fun bar(): R|kotlin/String|
|
||||
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
|
||||
|
||||
public constructor(): R|test/A|
|
||||
|
||||
@@ -11,9 +11,9 @@ public open class A : R|kotlin/Any| {
|
||||
public open class A2 : R|kotlin/Any| {
|
||||
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
|
||||
|
||||
public open fun foo(q: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
|
||||
public open fun foo(q: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
|
||||
|
||||
@R|javax/annotation/Nonnull|() public open fun bar(): R|kotlin/String|
|
||||
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
|
||||
|
||||
public constructor(): R|test2/A2|
|
||||
|
||||
|
||||
@@ -328,7 +328,11 @@ internal fun List<FirAnnotationCall>.computeTypeAttributesForJavaType(): ConeAtt
|
||||
computeTypeAttributes { classId ->
|
||||
when (classId) {
|
||||
CompilerConeAttributes.EnhancedNullability.ANNOTATION_CLASS_ID -> add(CompilerConeAttributes.EnhancedNullability)
|
||||
// TODO: Need to handle others too? E.g., COMPATQUAL_NONNULL_ANNOTATION_ID
|
||||
in NOT_NULL_ANNOTATION_IDS -> add(CompilerConeAttributes.EnhancedNullability)
|
||||
JAVAX_NONNULL_ANNOTATION_ID,
|
||||
JAVAX_CHECKFORNULL_ANNOTATION_ID,
|
||||
COMPATQUAL_NONNULL_ANNOTATION_ID,
|
||||
ANDROIDX_RECENTLY_NON_NULL_ANNOTATION_ID
|
||||
-> add(CompilerConeAttributes.EnhancedNullability)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,8 +83,9 @@ private fun FirAnnotationCall.extractNullabilityTypeFromArgument(): NullabilityQ
|
||||
|
||||
private val NULLABLE_ANNOTATION_IDS = NULLABLE_ANNOTATIONS.map { ClassId.topLevel(it) }
|
||||
val NOT_NULL_ANNOTATION_IDS = NOT_NULL_ANNOTATIONS.map { ClassId.topLevel(it) }
|
||||
private val JAVAX_NONNULL_ANNOTATION_ID = ClassId.topLevel(JAVAX_NONNULL_ANNOTATION)
|
||||
val JAVAX_NONNULL_ANNOTATION_ID = ClassId.topLevel(JAVAX_NONNULL_ANNOTATION)
|
||||
val JAVAX_CHECKFORNULL_ANNOTATION_ID = ClassId.topLevel(JAVAX_CHECKFORNULL_ANNOTATION)
|
||||
private val COMPATQUAL_NULLABLE_ANNOTATION_ID = ClassId.topLevel(COMPATQUAL_NULLABLE_ANNOTATION)
|
||||
private val COMPATQUAL_NONNULL_ANNOTATION_ID = ClassId.topLevel(COMPATQUAL_NONNULL_ANNOTATION)
|
||||
private val ANDROIDX_RECENTLY_NON_NULL_ANNOTATION_ID = ClassId.topLevel(ANDROIDX_RECENTLY_NON_NULL_ANNOTATION)
|
||||
val COMPATQUAL_NONNULL_ANNOTATION_ID = ClassId.topLevel(COMPATQUAL_NONNULL_ANNOTATION)
|
||||
val ANDROIDX_RECENTLY_NON_NULL_ANNOTATION_ID = ClassId.topLevel(ANDROIDX_RECENTLY_NON_NULL_ANNOTATION)
|
||||
private val ANDROIDX_RECENTLY_NULLABLE_ANNOTATION_ID = ClassId.topLevel(ANDROIDX_RECENTLY_NULLABLE_ANNOTATION)
|
||||
|
||||
Reference in New Issue
Block a user