diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2017-11-08 16:51:23 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-11-08 16:51:23 +0000 |
commit | 1d26864a6bcd6b810f4fbde934dd19664d357514 (patch) | |
tree | 4831d90636bfbe2ebab1f463c8823d92bad1f99d | |
parent | 9700f8e20d651d69bbce5a6b4ecbf706c8d58777 (diff) | |
parent | ed1d5eefe5d9116610905a81bece87621b555baa (diff) |
Merge "Annotate java.lang.reflect return types with NonNull information"
-rw-r--r-- | annotated_java_files.bp | 16 | ||||
-rw-r--r-- | annotations/ojluni.jaif | 263 |
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 |