summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--annotated_java_files.bp16
-rw-r--r--annotations/ojluni.jaif263
2 files changed, 277 insertions, 2 deletions
diff --git a/annotated_java_files.bp b/annotated_java_files.bp
index a109a56725..d4aa37de22 100644
--- a/annotated_java_files.bp
+++ b/annotated_java_files.bp
@@ -8,5 +8,21 @@ filegroup {
"ojluni/src/main/java/java/lang/Iterable.java",
"ojluni/src/main/java/java/lang/String.java",
"ojluni/src/main/java/java/lang/Thread.java",
+ "ojluni/src/main/java/java/lang/reflect/AccessibleObject.java",
+ "ojluni/src/main/java/java/lang/reflect/AnnotatedElement.java",
+ "ojluni/src/main/java/java/lang/reflect/Array.java",
+ "ojluni/src/main/java/java/lang/reflect/Constructor.java",
+ "ojluni/src/main/java/java/lang/reflect/Executable.java",
+ "ojluni/src/main/java/java/lang/reflect/Field.java",
+ "ojluni/src/main/java/java/lang/reflect/GenericArrayType.java",
+ "ojluni/src/main/java/java/lang/reflect/GenericDeclaration.java",
+ "ojluni/src/main/java/java/lang/reflect/Member.java",
+ "ojluni/src/main/java/java/lang/reflect/Method.java",
+ "ojluni/src/main/java/java/lang/reflect/Parameter.java",
+ "ojluni/src/main/java/java/lang/reflect/ParameterizedType.java",
+ "ojluni/src/main/java/java/lang/reflect/Proxy.java",
+ "ojluni/src/main/java/java/lang/reflect/Type.java",
+ "ojluni/src/main/java/java/lang/reflect/TypeVariable.java",
+ "ojluni/src/main/java/java/lang/reflect/WildcardType.java",
],
}
diff --git a/annotations/ojluni.jaif b/annotations/ojluni.jaif
index 361442d06b..f11cb17827 100644
--- a/annotations/ojluni.jaif
+++ b/annotations/ojluni.jaif
@@ -22,94 +22,353 @@
// libcore/annotations/generate_annotated_java_files.py libcore/annotations/ojluni.jaif > libcore/annotated_java_files.bp
package libcore.util:
-annotation @NonNull: @java.lang.annotation.Retention(value=CLASS) @java.lang.annotation.Target(value={TYPE_USE})
+annotation @NonNull: @java.lang.annotation.Retention(value=SOURCE) @java.lang.annotation.Target(value={TYPE_USE})
package java.lang:
class CharSequence:
+ // Always returns a string instance
method toString()Ljava/lang/String;:
return: @libcore.util.NonNull
class Enum:
+ // Always returns an instance or throws
method valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;:
return: @libcore.util.NonNull
class Iterable:
+ // Always returns an instance
method iterator()Ljava/util/Iterator;:
return: @libcore.util.NonNull
class String:
+ // Always returns a string instance
method toString()Ljava/lang/String;:
return: @libcore.util.NonNull
+
+ // Empty array in worst case
method getBytes(Ljava/lang/String;)[B:
return: @libcore.util.NonNull
+ // Empty array in worst case
method getBytes(Ljava/nio/charset/Charset;)[B:
return: @libcore.util.NonNull
+ // Empty array in worst case (or throws)
method getBytes(Ljava/lang/String;)[B:
return: @libcore.util.NonNull
+ // Empty array in worst case
method getBytes()[B:
return: @libcore.util.NonNull
+ // Empty array in worst case
method toCharArray()[C:
return: @libcore.util.NonNull
+ // Empty char sequence in worst case
method subSequence(II)Ljava/lang/CharSequence;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method concat(Ljava/lang/String;)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method copyValueOf([CII)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method copyValueOf([C)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method intern()Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method replace(CC)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method substring(I)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method substring(II)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method toLowerCase(Ljava/util/Locale;)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method toLowerCase()Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method toUpperCase(Ljava/util/Locale;)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method toUpperCase()Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method trim()Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method valueOf(Z)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method valueOf(C)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method valueOf(I)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method valueOf(J)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method valueOf(F)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method valueOf(D)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method valueOf(Ljava/lang/Object;)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method valueOf([C)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method valueOf([CII)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method split(Ljava/lang/String;I)[Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method split(Ljava/lang/String;)[Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method join(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always returns a string instance
method replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;:
return: @libcore.util.NonNull
-
class Thread:
+ // Always returns a string instance
method toString()Ljava/lang/String;:
return: @libcore.util.NonNull
+ // Always return an instance
method currentThread()Ljava/lang/Thread;:
return: @libcore.util.NonNull
+
+package java.lang.reflect:
+
+class AccessibleObject:
+ // Empty array in the worst case
+ method getAnnotations()[Ljava/lang/annotation/Annotation;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+
+class AnnotatedElement:
+ // Empty array in the worst case
+ method getAnnotations()[Ljava/lang/annotation/Annotation;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+
+class Array:
+ // Returns instance or throws
+ method newInstance(Ljava/lang/Class;I)Ljava/lang/Object;:
+ return: @libcore.util.NonNull
+ // Returns instance or throws
+ method newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;:
+ return: @libcore.util.NonNull
+
+class Constructor:
+ // Always returns an instance
+ method toString()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+ // Always returns an instance
+ method toGenericString()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+ // Always returns an instance
+ method getName()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+ // There's always a declaring class
+ method getDeclaringClass()Ljava/lang/Class;:
+ return: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getParameterTypes()[Ljava/lang/Class;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Returns instance or throws
+ method newInstance([Ljava/lang/Object;)Ljava/lang/Object;:
+ return: @libcore.util.NonNull
+
+class Executable:
+ // There's always a declaring class
+ method getDeclaringClass()Ljava/lang/Class;:
+ return: @libcore.util.NonNull
+ // Always returns an instance
+ method getName()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getParameterTypes()[Ljava/lang/Class;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getTypeParameters()[Ljava/lang/reflect/TypeVariable;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getGenericParameterTypes()[Ljava/lang/reflect/Type;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getParameters()[Ljava/lang/reflect/Parameter;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getExceptionTypes()[Ljava/lang/Class;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getGenericExceptionTypes()[Ljava/lang/reflect/Type;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Always returns an instance
+ method toGenericString()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getAnnotations()[Ljava/lang/annotation/Annotation;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getParameterAnnotations()[[Ljava/lang/annotation/Annotation;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+
+class Field:
+ // Always returns an instance
+ method getName()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+ // There's always a type of a field
+ method getType()Ljava/lang/Class;:
+ return: @libcore.util.NonNull
+ // Always returns an instance
+ method toString()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+ // Always returns an instance
+ method toGenericString()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+
+class GenericArrayType:
+ // There's always a type for array
+ method getGenericComponentType()Ljava/lang/reflect/Type;:
+ return: @libcore.util.NonNull
+
+class GenericDeclaration:
+ // Empty array in the worst case
+ method getTypeParameters()[Ljava/lang/reflect/TypeVariable;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+
+class Member:
+ method getDeclaringClass()Ljava/lang/Class;:
+ return: @libcore.util.NonNull
+ // Always returns an instance
+ method getName()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+
+class Method:
+ // There's always a declaring class
+ method getDeclaringClass()Ljava/lang/Class;:
+ return: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getTypeParameters()[Ljava/lang/reflect/TypeVariable;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // There's always a return type (such as Void.class)
+ method getReturnType()Ljava/lang/Class;:
+ return: @libcore.util.NonNull
+ // There's always a return type (such as Void.class)
+ method getGenericReturnType()Ljava/lang/reflect/Type;:
+ return: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getParameterTypes()[Ljava/lang/Class;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getGenericParameterTypes()[Ljava/lang/reflect/Type;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getExceptionTypes()[Ljava/lang/Class;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getGenericExceptionTypes()[Ljava/lang/reflect/Type;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Always returns an instance
+ method toString()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+ // Always returns an instance
+ method toGenericString()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getParameterAnnotations()[[Ljava/lang/annotation/Annotation;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+
+
+class ParameterizedType:
+ // Empty array in the worst case
+ method getActualTypeArguments()[Ljava/lang/reflect/Type;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Always returns an instance
+ method getRawType()Ljava/lang/reflect/Type;:
+ return: @libcore.util.NonNull
+
+class Parameter:
+ // Always returns an instance
+ method toString()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+ // There's always a declaring executable
+ method getDeclaringExecutable()Ljava/lang/reflect/Executable;:
+ return: @libcore.util.NonNull
+ // Always returns an instance
+ method getRealName()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+ // There's always a type
+ method getParameterizedType()Ljava/lang/reflect/Type;:
+ return: @libcore.util.NonNull
+ // There's always a type
+ method getType()Ljava/lang/Class;:
+ return: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getAnnotations()[Ljava/lang/annotation/Annotation;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+
+class Proxy:
+ // Always returns an instance (or throws)
+ method getProxyClass(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;:
+ return: @libcore.util.NonNull
+ // Always returns an instance (or throws)
+ method newProxyInstance(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;:
+ return: @libcore.util.NonNull
+ // Always returns an instance (or throws)
+ method getInvocationHandler(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;:
+ return: @libcore.util.NonNull
+
+class Type:
+ // Always returns an instance
+ method getTypeName()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+
+class TypeVariable:
+ // Empty array in the worst case
+ method getBounds()[Ljava/lang/reflect/Type;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Always returns an instance
+ method getGenericDeclaration()Ljava/lang/reflect/GenericDeclaration;:
+ return: @libcore.util.NonNull
+ // Always returns an instance
+ method getName()Ljava/lang/String;:
+ return: @libcore.util.NonNull
+
+class WildcardType:
+ // Empty array in the worst case
+ method getUpperBounds()[Ljava/lang/reflect/Type;:
+ return: inner-type 0, 0: @libcore.util.NonNull
+ // Empty array in the worst case
+ method getLowerBounds()[Ljava/lang/reflect/Type;:
+ return: inner-type 0, 0: @libcore.util.NonNull