Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb43616a authored by Matthew Gharrity's avatar Matthew Gharrity
Browse files

Enable thread annotations for parameters

This allows us to indicate that an argument (especially a lambda or
method reference) will be invoked on a separate thread. This will be
used to improve interprocedural thread annotation checks.

Test: n/a
Change-Id: I035733f8bfb1ba47f0995f38783681d105661dc5
parent 1e2df08a
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@ package android.annotation;


import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.SOURCE;
import static java.lang.annotation.RetentionPolicy.SOURCE;


@@ -45,6 +46,6 @@ import java.lang.annotation.Target;
 * @hide
 * @hide
 */
 */
@Retention(SOURCE)
@Retention(SOURCE)
@Target({METHOD,CONSTRUCTOR,TYPE})
@Target({METHOD,CONSTRUCTOR,TYPE,PARAMETER})
public @interface AnyThread {
public @interface AnyThread {
}
}
+2 −1
Original line number Original line Diff line number Diff line
@@ -20,6 +20,7 @@ import java.lang.annotation.Target;


import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.SOURCE;
import static java.lang.annotation.RetentionPolicy.SOURCE;


@@ -37,6 +38,6 @@ import static java.lang.annotation.RetentionPolicy.SOURCE;
 * {@hide}
 * {@hide}
 */
 */
@Retention(SOURCE)
@Retention(SOURCE)
@Target({METHOD,CONSTRUCTOR,TYPE})
@Target({METHOD,CONSTRUCTOR,TYPE,PARAMETER})
public @interface BinderThread {
public @interface BinderThread {
}
}
 No newline at end of file
+2 −1
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@ package android.annotation;


import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.SOURCE;
import static java.lang.annotation.RetentionPolicy.SOURCE;


@@ -44,6 +45,6 @@ import java.lang.annotation.Target;
 * @hide
 * @hide
 */
 */
@Retention(SOURCE)
@Retention(SOURCE)
@Target({METHOD,CONSTRUCTOR,TYPE})
@Target({METHOD,CONSTRUCTOR,TYPE,PARAMETER})
public @interface MainThread {
public @interface MainThread {
}
}
+2 −1
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@ package android.annotation;


import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.SOURCE;
import static java.lang.annotation.RetentionPolicy.SOURCE;


@@ -45,6 +46,6 @@ import java.lang.annotation.Target;
 * @hide
 * @hide
 */
 */
@Retention(SOURCE)
@Retention(SOURCE)
@Target({METHOD,CONSTRUCTOR,TYPE})
@Target({METHOD,CONSTRUCTOR,TYPE,PARAMETER})
public @interface UiThread {
public @interface UiThread {
}
}
+2 −1
Original line number Original line Diff line number Diff line
@@ -20,6 +20,7 @@ import java.lang.annotation.Target;


import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.SOURCE;
import static java.lang.annotation.RetentionPolicy.SOURCE;


@@ -42,6 +43,6 @@ import static java.lang.annotation.RetentionPolicy.SOURCE;
 * @hide
 * @hide
 */
 */
@Retention(SOURCE)
@Retention(SOURCE)
@Target({METHOD,CONSTRUCTOR,TYPE})
@Target({METHOD,CONSTRUCTOR,TYPE,PARAMETER})
public @interface WorkerThread {
public @interface WorkerThread {
}
}