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.doesnt.exist",
|
||||||
"compiler.err.duplicate.annotation.missing.container",
|
"compiler.err.duplicate.annotation.missing.container",
|
||||||
"compiler.err.not.def.access.package.cant.access",
|
"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");
|
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")
|
@TestMetadata("repeatableAnnotations.kt")
|
||||||
public void testRepeatableAnnotations() throws Exception {
|
public void testRepeatableAnnotations() throws Exception {
|
||||||
runTest("plugins/kapt3/kapt3-compiler/testData/converter/repeatableAnnotations.kt");
|
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