Kapt: Support androidx.annotation.RecentlyNullable annotations (KT-26725)
This commit is contained in:
@@ -215,7 +215,8 @@ class KaptJavaLog(
|
||||
"compiler.err.doesnt.exist",
|
||||
"compiler.err.duplicate.annotation.missing.container",
|
||||
"compiler.err.not.def.access.package.cant.access",
|
||||
"compiler.err.package.not.visible"
|
||||
"compiler.err.package.not.visible",
|
||||
"compiler.err.not.def.public.cant.access"
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+5
@@ -339,6 +339,11 @@ public class ClassFileToSourceStubConverterTestGenerated extends AbstractClassFi
|
||||
runTest("plugins/kapt3/kapt3-compiler/testData/converter/propertyAnnotations.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("recentlyNullable.kt")
|
||||
public void testRecentlyNullable() throws Exception {
|
||||
runTest("plugins/kapt3/kapt3-compiler/testData/converter/recentlyNullable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("repeatableAnnotations.kt")
|
||||
public void testRepeatableAnnotations() throws Exception {
|
||||
runTest("plugins/kapt3/kapt3-compiler/testData/converter/repeatableAnnotations.kt");
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
// FILE: androidx/annotation/RecentlyNullable.java
|
||||
package androidx.annotation;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
@Retention(RetentionPolicy.CLASS)
|
||||
@Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
|
||||
@interface RecentlyNullable {}
|
||||
|
||||
// FILE: androidx/annotation/Box.java
|
||||
package androidx.annotation;
|
||||
|
||||
public interface Box {
|
||||
@RecentlyNullable
|
||||
public String foo();
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
package app
|
||||
|
||||
import androidx.annotation.Box
|
||||
|
||||
class KBox(val delegate: Box) : Box by delegate
|
||||
@@ -0,0 +1,46 @@
|
||||
package androidx.annotation;
|
||||
|
||||
public interface Box {
|
||||
|
||||
@RecentlyNullable()
|
||||
public String foo();
|
||||
}
|
||||
|
||||
////////////////////
|
||||
|
||||
package androidx.annotation;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
@Retention(value = RetentionPolicy.CLASS)
|
||||
@Target(value = {ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
|
||||
@interface RecentlyNullable {
|
||||
}
|
||||
|
||||
////////////////////
|
||||
|
||||
package app;
|
||||
|
||||
import java.lang.System;
|
||||
|
||||
@kotlin.Metadata()
|
||||
public final class KBox implements androidx.annotation.Box {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private final androidx.annotation.Box delegate = null;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final androidx.annotation.Box getDelegate() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public KBox(@org.jetbrains.annotations.NotNull()
|
||||
androidx.annotation.Box delegate) {
|
||||
super();
|
||||
}
|
||||
|
||||
@androidx.annotation.RecentlyNullable()
|
||||
@java.lang.Override()
|
||||
public java.lang.String foo() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user