blob: be0a2cb7c66ce4db97314479cd513978f05ad5fd [file] [log] [blame]
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +01001//
2// Copyright (C) 2017 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16// This file specifies additional annotations that are applied to libcore
17// code before generating android stubs and documentation. This data
18// is human-maintained and is based on jdk annotations shipped in Android
19// Studio.
20
Colin Crossfb7218e2017-10-27 17:50:42 +000021// If this file is changed, please update libcore/annotated_java_files.bp file by running:
22// libcore/annotations/generate_annotated_java_files.py libcore/annotations/ojluni.jaif > libcore/annotated_java_files.bp
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +000023//
24// For arrray syntax, please see https://checkerframework.org/jsr308/specification/java-annotation-design.html#array-syntax
25// @Nullable String @NonNull[] <- Non-null array of nullable strings can be expressed as:
26//
27// type: @libcore.util.NonNull
28// inner-type 0, 0: @libcore.util.Nullable
29
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +010030package libcore.util:
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +000031annotation @NonNull: @java.lang.annotation.Retention(value=SOURCE) @java.lang.annotation.Target(value={TYPE_USE})
Przemyslaw Szczepaniakadbfe6e2017-11-08 18:20:13 +000032 int from
33 int to
34annotation @Nullable: @java.lang.annotation.Retention(value=SOURCE) @java.lang.annotation.Target(value={TYPE_USE})
35 int from
36 int to
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +000037annotation @NullFromTypeParam: @java.lang.annotation.Retention(value=SOURCE) @java.lang.annotation.Target(value={TYPE_USE})
38 int from
39 int to
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +010040
41package java.lang:
Przemyslaw Szczepaniak903eedd2018-02-22 14:31:52 +000042class Appendable:
43 method append(Ljava/lang/CharSequence;)Ljava/lang/Appendable;:
44 parameter #0:
45 type: @libcore.util.Nullable
46 // Is expected to return self
47 return: @libcore.util.NonNull
48
49 method append(Ljava/lang/CharSequence;II)Ljava/lang/Appendable;:
50 parameter #0:
51 type: @libcore.util.Nullable
52 // Is expected to return self
53 return: @libcore.util.NonNull
54
55 method append(C)Ljava/lang/Appendable;:
56 // Is expected to return self
57 return: @libcore.util.NonNull
Przemyslaw Szczepaniak9cc7c2d2018-02-15 16:05:02 +000058
59class Boolean:
60 method <init>(Ljava/lang/String;)V:
61 // In contrast to other type classes, doesn't NPE on null, but sets value to false
62 parameter #0:
63 type: @libcore.util.Nullable
64
65 method parseBoolean(Ljava/lang/String;)Z:
66 // In contrast to other type classes, doesn't NPE on null, but sets value to false
67 parameter #0:
68 type: @libcore.util.Nullable
69
70 method valueOf(Z)Ljava/lang/Boolean;:
71 // Always return value
72 return: @libcore.util.NonNull
73
74 method valueOf(Ljava/lang/String;)Ljava/lang/Boolean;:
75 // Null == false
76 parameter #0:
77 type: @libcore.util.Nullable
78 // Always return value
79 return: @libcore.util.NonNull
80
81 method toString(Z)Ljava/lang/String;:
82 // Always return value
83 return: @libcore.util.NonNull
84
85 method toString()Ljava/lang/String;:
86 // Always return value
87 return: @libcore.util.NonNull
88
89 method equals(Ljava/lang/Object;)Z:
90 // Can be null
91 parameter #0:
92 type: @libcore.util.Nullable
93
94 method getBoolean(Ljava/lang/String;)Z:
95 // Throws NPE on null
96 parameter #0:
97 type: @libcore.util.NonNull
98 // Returns null in case of failure
99 return: @libcore.util.Nullable
100
101 method compareTo(Ljava/lang/Boolean;)I:
102 // NPE on null
103 parameter #0:
104 type: @libcore.util.NonNull
105
Przemyslaw Szczepaniak841f8532018-02-06 19:28:13 +0000106class Byte:
107 method toString(B)Ljava/lang/String;:
108 // Always returns an instance
109 return: @libcore.util.NonNull
110
111 method valueOf(B)Ljava/lang/Byte;:
112 // Always returns an instance
113 return: @libcore.util.NonNull
114
115 method parseByte(Ljava/lang/String;I)B:
116 // Throws NPE on null
117 parameter #0:
118 type: @libcore.util.NonNull
119
120 method parseByte(Ljava/lang/String;)B:
121 // Throws NPE on null
122 parameter #0:
123 type: @libcore.util.NonNull
124
125 method valueOf(Ljava/lang/String;I)Ljava/lang/Byte;:
126 // Throws NPE on null
127 parameter #0:
128 type: @libcore.util.NonNull
129 // Always returns an instance
130 return: @libcore.util.NonNull
131
132 method valueOf(Ljava/lang/String;)Ljava/lang/Byte;:
133 // Throws NPE on null
134 parameter #0:
135 type: @libcore.util.NonNull
136 // Always returns an instance
137 return: @libcore.util.NonNull
138
139 method decode(Ljava/lang/String;)Ljava/lang/Byte;:
140 // Throws NPE on null
141 parameter #0:
142 type: @libcore.util.NonNull
143 return:
144 // Always returns an instance
145 return: @libcore.util.NonNull
146
147 method <init>(Ljava/lang/String;)V:
148 // Throws NPE on null
149 parameter #0:
150 type: @libcore.util.NonNull
151
152 method toString()Ljava/lang/String;:
153 // Always returns an instance
154 return: @libcore.util.NonNull
155
156 method equals(Ljava/lang/Object;)Z:
157 // Can be null
158 parameter #0:
159 type: @libcore.util.Nullable
160
161 method compareTo(Ljava/lang/Byte;)I:
162 // Throws NPE on null
163 parameter #0:
164 type: @libcore.util.NonNull
165
166 method toHexString(BZ)Ljava/lang/String;:
167 // Always returns an instance
168 return: @libcore.util.NonNull
169
170class Character:
171 method valueOf(C)Ljava/lang/Character;:
172 // Always returns an instance
173 return: @libcore.util.NonNull
174
175 method equals(Ljava/lang/Object;)Z:
176 // Can be null
177 parameter #0:
178 type: @libcore.util.Nullable
179
180 method toString()Ljava/lang/String;:
181 // Always returns an instance
182 return: @libcore.util.NonNull
183
184 method toString(C)Ljava/lang/String;:
185 // Always returns an instance
186 return: @libcore.util.NonNull
187
188 method codePointAt(Ljava/lang/CharSequence;I)I:
189 // throws NPE
190 parameter #0:
191 type: @libcore.util.NonNull
192
193 method codePointAt([CI)I:
194 // throws NPE
195 parameter #0:
196 type: @libcore.util.NonNull
197
198 method codePointAt([CII)I:
199 // throws NPE
200 parameter #0:
201 type: @libcore.util.NonNull
202
203 method codePointBefore(Ljava/lang/CharSequence;I)I:
204 // throws NPE
205 parameter #0:
206 type: @libcore.util.NonNull
207
208 method codePointBefore([CI)I:
209 // throws NPE
210 parameter #0:
211 type: @libcore.util.NonNull
212
213 method codePointBefore([CII)I:
214 // throws NPE
215 parameter #0:
216 type: @libcore.util.NonNull
217
218 method toChars(I[CI)I:
219 // throws NPE
220 parameter #1:
221 type: @libcore.util.NonNull
222
223 method toChars(I)[C:
224 // Always returns an instance
225 return: @libcore.util.NonNull
226
227 method codePointCount(Ljava/lang/CharSequence;II)I:
228 // throws NPE
229 parameter #0:
230 type: @libcore.util.NonNull
231
232 method codePointCount([CII)I:
233 // throws NPE
234 parameter #0:
235 type: @libcore.util.NonNull
236
237 method offsetByCodePoints(Ljava/lang/CharSequence;II)I:
238 // throws NPE
239 parameter #0:
240 type: @libcore.util.NonNull
241
242 method offsetByCodePoints([CIIII)I:
243 // throws NPE
244 parameter #0:
245 type: @libcore.util.NonNull
246
247 method compareTo(Ljava/lang/Character;)I:
248 // Throws NPE on null
249 parameter #0:
250 type: @libcore.util.NonNull
251
252 method getName(I)Ljava/lang/String;:
253 // Null is a valid return value
254 return: @libcore.util.Nullable
255
256class Character$Subset:
257 method <init>(Ljava/lang/String;)V:
258 // Throws NPE on null
259 parameter #0:
260 type: @libcore.util.NonNull
261
262 method equals(Ljava/lang/Object;)Z:
263 // Can be null
264 parameter #0:
265 type: @libcore.util.Nullable
266
267 method hashCode()I:
268 return:
269
270 method toString()Ljava/lang/String;:
271 // Always returns an instance
272 return: @libcore.util.NonNull
273
274class Character$UnicodeBlock:
275 method of(C)Ljava/lang/Character$UnicodeBlock;:
276 // Null is valid return value
277 return: @libcore.util.Nullable
278
279 method of(I)Ljava/lang/Character$UnicodeBlock;:
280 // Null is valid return value
281 return: @libcore.util.Nullable
282
283 method forName(Ljava/lang/String;)Ljava/lang/Character$UnicodeBlock;:
284 // Throws NPE on null
285 parameter #0:
286 type: @libcore.util.NonNull
287 // Always returns an instance
288 return: @libcore.util.NonNull
289
290class Character$UnicodeScript:
291 method of(I)Ljava/lang/Character$UnicodeScript;:
292 // Always returns an instance
293 return: @libcore.util.NonNull
294
295 method forName(Ljava/lang/String;)Ljava/lang/Character$UnicodeScript;:
296 // Throws NPE on null
297 parameter #0:
298 type: @libcore.util.NonNull
299 // Always returns an instance
300 return: @libcore.util.NonNull
301
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100302class CharSequence:
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000303 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100304 method toString()Ljava/lang/String;:
305 return: @libcore.util.NonNull
306
307class Enum:
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000308 // Always returns an instance or throws
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100309 method valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;:
310 return: @libcore.util.NonNull
311
312class Iterable:
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000313 // Always returns an instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100314 method iterator()Ljava/util/Iterator;:
315 return: @libcore.util.NonNull
Przemyslaw Szczepaniak12e09182018-01-30 10:47:05 +0000316
317class Integer:
318 method toString(II)Ljava/lang/String;:
319 // Always returns an instance
320 return: @libcore.util.NonNull
321
322 method toUnsignedString(II)Ljava/lang/String;:
323 // Always returns an instance
324 return: @libcore.util.NonNull
325
326 method toHexString(I)Ljava/lang/String;:
327 // Always returns an instance
328 return: @libcore.util.NonNull
329
330 method toOctalString(I)Ljava/lang/String;:
331 // Always returns an instance
332 return: @libcore.util.NonNull
333
334 method toBinaryString(I)Ljava/lang/String;:
335 // Always returns an instance
336 return: @libcore.util.NonNull
337
338 method toString(I)Ljava/lang/String;:
339 // Always returns an instance
340 return: @libcore.util.NonNull
341
342 method toUnsignedString(I)Ljava/lang/String;:
343 // Always returns an instance
344 return: @libcore.util.NonNull
345
346 method parseInt(Ljava/lang/String;I)I:
347 // Throws NPE on null
348 parameter #0:
349 type: @libcore.util.NonNull
350
351 method parseInt(Ljava/lang/String;)I:
352 // Throws NPE on null
353 parameter #0:
354 type: @libcore.util.NonNull
355
356 method parseUnsignedInt(Ljava/lang/String;I)I:
357 // Throws NPE on null
358 parameter #0:
359 type: @libcore.util.NonNull
360
361 method parseUnsignedInt(Ljava/lang/String;)I:
362 // Throws NPE on null
363 parameter #0:
364 type: @libcore.util.NonNull
365
366 method valueOf(Ljava/lang/String;I)Ljava/lang/Integer;:
367 // Throws NPE on null
368 parameter #0:
369 type: @libcore.util.NonNull
370 // Always returns an instance
371 return: @libcore.util.NonNull
372
373 method valueOf(Ljava/lang/String;)Ljava/lang/Integer;:
374 // Throws NPE on null
375 parameter #0:
376 type: @libcore.util.NonNull
377 // Always returns an instance
378 return: @libcore.util.NonNull
379
380 method valueOf(I)Ljava/lang/Integer;:
381 // Always returns an instance
382 return: @libcore.util.NonNull
383
384 method <init>(Ljava/lang/String;)V:
385 // Throws NPE on null
386 parameter #0:
387 type: @libcore.util.NonNull
388
389 method toString()Ljava/lang/String;:
390 // Always returns an instance
391 return: @libcore.util.NonNull
392
393 method equals(Ljava/lang/Object;)Z:
394 // Can be null
395 parameter #0:
396 type: @libcore.util.Nullable
397
398 method getInteger(Ljava/lang/String;)Ljava/lang/Integer;:
399 // Throws NPE on null
400 parameter #0:
401 type: @libcore.util.NonNull
402 // Returns null in case of failure
403 return: @libcore.util.Nullable
404
405 method getInteger(Ljava/lang/String;I)Ljava/lang/Integer;:
406 // Throws NPE on null
407 parameter #0:
408 type: @libcore.util.NonNull
409 // Returns null in case of failure
410 return: @libcore.util.Nullable
411
412 method getInteger(Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer;:
413 // Throws NPE on null
414 parameter #0:
415 type: @libcore.util.NonNull
416 // Can be null
417 parameter #1:
418 type: @libcore.util.Nullable
419 // Returns null in case of failure
420 return: @libcore.util.Nullable
421
422 method decode(Ljava/lang/String;)Ljava/lang/Integer;:
423 // Throws NPE on null
424 parameter #0:
425 type: @libcore.util.NonNull
426 return:
427 // Always returns an instance
428 return: @libcore.util.NonNull
429
430 method compareTo(Ljava/lang/Integer;)I:
431 // Throws NPE on null
432 parameter #0:
433 type: @libcore.util.NonNull
434
Przemyslaw Szczepaniak93bd76f2018-01-31 14:03:08 +0000435class Float:
436 method toString(F)Ljava/lang/String;:
437 // Always returns an instance
438 return: @libcore.util.NonNull
439
440 method toHexString(F)Ljava/lang/String;:
441 // Always returns an instance
442 return: @libcore.util.NonNull
443
444 method valueOf(Ljava/lang/String;)Ljava/lang/Float;:
445 // Throws NPE on null
446 parameter #0:
447 type: @libcore.util.NonNull
448 // Always returns an instance
449 return: @libcore.util.NonNull
450
451 method valueOf(F)Ljava/lang/Float;:
452 // Always returns an instance
453 return: @libcore.util.NonNull
454
455 method parseFloat(Ljava/lang/String;)F:
456 // Throws NPE on null
457 parameter #0:
458 type: @libcore.util.NonNull
459
460 method <init>(Ljava/lang/String;)V:
461 // Throws NPE on null
462 parameter #0:
463 type: @libcore.util.NonNull
464
465 method toString()Ljava/lang/String;:
466 // Always returns an instance
467 return: @libcore.util.NonNull
468
469 method equals(Ljava/lang/Object;)Z:
470 // Can be null
471 parameter #0:
472 type: @libcore.util.Nullable
473
474 method compareTo(Ljava/lang/Float;)I:
475 // Throws NPE on null
476 parameter #0:
477 type: @libcore.util.NonNull
478
479class Double:
480 method toString(D)Ljava/lang/String;:
481 // Always returns an instance
482 return: @libcore.util.NonNull
483
484 method toHexString(D)Ljava/lang/String;:
485 // Always returns an instance
486 return: @libcore.util.NonNull
487
488 method valueOf(Ljava/lang/String;)Ljava/lang/Double;:
489 // Throws NPE on null
490 parameter #0:
491 type: @libcore.util.NonNull
492 // Always returns an instance
493 return: @libcore.util.NonNull
494
495 method valueOf(D)Ljava/lang/Double;:
496 // Always returns an instance
497 return: @libcore.util.NonNull
498
499 method parseDouble(Ljava/lang/String;)D:
500 // Throws NPE on null
501 parameter #0:
502 type: @libcore.util.NonNull
503
504 method <init>(Ljava/lang/String;)V:
505 // Throws NPE on null
506 parameter #0:
507 type: @libcore.util.NonNull
508
509 method toString()Ljava/lang/String;:
510 // Always returns an instance
511 return: @libcore.util.NonNull
512
513 method equals(Ljava/lang/Object;)Z:
514 // Can be null
515 parameter #0:
516 type: @libcore.util.Nullable
517
518 method compareTo(Ljava/lang/Double;)I:
519 // Throws NPE on null
520 parameter #0:
521 type: @libcore.util.NonNull
522
Przemyslaw Szczepaniak6b94d712018-01-31 11:55:06 +0000523class Long:
524 method toString(JI)Ljava/lang/String;:
525 // Always returns an instance
526 return: @libcore.util.NonNull
527
528 method toUnsignedString(JI)Ljava/lang/String;:
529 // Always returns an instance
530 return: @libcore.util.NonNull
531
532 method toHexString(J)Ljava/lang/String;:
533 // Always returns an instance
534 return: @libcore.util.NonNull
535
536 method toOctalString(J)Ljava/lang/String;:
537 // Always returns an instance
538 return: @libcore.util.NonNull
539
540 method toBinaryString(J)Ljava/lang/String;:
541 // Always returns an instance
542 return: @libcore.util.NonNull
543
544 method toString(J)Ljava/lang/String;:
545 // Always returns an instance
546 return: @libcore.util.NonNull
547
548 method toUnsignedString(J)Ljava/lang/String;:
549 // Always returns an instance
550 return: @libcore.util.NonNull
551
552 method parseLong(Ljava/lang/String;I)J:
553 // Throws NPE on null
554 parameter #0:
555 type: @libcore.util.NonNull
556
557 method parseLong(Ljava/lang/String;)J:
558 // Throws NPE on null
559 parameter #0:
560 type: @libcore.util.NonNull
561
562 method parseUnsignedLong(Ljava/lang/String;I)J:
563 // Throws NPE on null
564 parameter #0:
565 type: @libcore.util.NonNull
566
567 method parseUnsignedLong(Ljava/lang/String;)J:
568 // Throws NPE on null
569 parameter #0:
570 type: @libcore.util.NonNull
571
572 method valueOf(Ljava/lang/String;I)Ljava/lang/Long;:
573 // Throws NPE on null
574 parameter #0:
575 type: @libcore.util.NonNull
576 // Always returns an instance
577 return: @libcore.util.NonNull
578
579 method valueOf(Ljava/lang/String;)Ljava/lang/Long;:
580 // Throws NPE on null
581 parameter #0:
582 type: @libcore.util.NonNull
583 // Always returns an instance
584 return: @libcore.util.NonNull
585
586 method valueOf(J)Ljava/lang/Long;:
587 // Always returns an instance
588 return: @libcore.util.NonNull
Przemyslaw Szczepaniak6b94d712018-01-31 11:55:06 +0000589
590 method decode(Ljava/lang/String;)Ljava/lang/Long;:
591 // Throws NPE on null
592 parameter #0:
593 type: @libcore.util.NonNull
594 return:
595 // Always returns an instance
596 return: @libcore.util.NonNull
597
598 method <init>(Ljava/lang/String;)V:
599 // Throws NPE on null
600 parameter #0:
601 type: @libcore.util.NonNull
602
603 method toString()Ljava/lang/String;:
604 // Always returns an instance
605 return: @libcore.util.NonNull
606
607 method equals(Ljava/lang/Object;)Z:
608 // Can be null
609 parameter #0:
610 type: @libcore.util.Nullable
611
612 method getLong(Ljava/lang/String;)Ljava/lang/Long;:
613 // Throws NPE on null
614 parameter #0:
615 type: @libcore.util.NonNull
616 // Returns null in case of failure
617 return: @libcore.util.Nullable
618
619 method getLong(Ljava/lang/String;J)Ljava/lang/Long;:
620 // Throws NPE on null
621 parameter #0:
622 type: @libcore.util.NonNull
623 // Returns null in case of failure
624 return: @libcore.util.Nullable
625
626 method getLong(Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long;:
627 // Throws NPE on null
628 parameter #0:
629 type: @libcore.util.NonNull
630 // Can be null
631 parameter #1:
632 type: @libcore.util.Nullable
633 // Returns null in case of failure
634 return: @libcore.util.Nullable
635
636 method compareTo(Ljava/lang/Long;)I:
637 // Throws NPE on null
638 parameter #0:
639 type: @libcore.util.NonNull
Przemyslaw Szczepaniak12e09182018-01-30 10:47:05 +0000640
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100641class String:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000642 method <init>(Ljava/lang/String;)V:
643 parameter #0:
644 type: @libcore.util.NonNull
645 return:
646 method <init>([C)V:
647 parameter #0:
648 type: @libcore.util.NonNull
649 return:
650 method <init>([CII)V:
651 parameter #0:
652 type: @libcore.util.NonNull
653 return:
654 method <init>([III)V:
655 parameter #0:
656 type: @libcore.util.NonNull
657 return:
658 method <init>([BIII)V:
659 parameter #0:
660 type: @libcore.util.NonNull
661 return:
662 method <init>([BI)V:
663 parameter #0:
664 type: @libcore.util.NonNull
665 return:
666 method <init>([BIILjava/lang/String;)V:
667 parameter #0:
668 type: @libcore.util.NonNull
669 parameter #3:
670 type: @libcore.util.NonNull
671 return:
672 method <init>([BIILjava/nio/charset/Charset;)V:
673 parameter #0:
674 type: @libcore.util.NonNull
675 parameter #3:
676 type: @libcore.util.NonNull
677 return:
678 method <init>([BLjava/lang/String;)V:
679 parameter #0:
680 type: @libcore.util.NonNull
681 parameter #1:
682 type: @libcore.util.NonNull
683 return:
684 method <init>([BLjava/nio/charset/Charset;)V:
685 parameter #0:
686 type: @libcore.util.NonNull
687 parameter #1:
688 type: @libcore.util.NonNull
689 return:
690 method <init>([BII)V:
691 parameter #0:
692 type: @libcore.util.NonNull
693 return:
694 method <init>([B)V:
695 parameter #0:
696 type: @libcore.util.NonNull
697 return:
698 method <init>(Ljava/lang/StringBuffer;)V:
699 parameter #0:
700 type: @libcore.util.NonNull
701 return:
702 method <init>(Ljava/lang/StringBuilder;)V:
703 parameter #0:
704 type: @libcore.util.NonNull
705 return:
706 method <init>(II[C)V:
707 parameter #2:
708 type: @libcore.util.NonNull
709 return:
710 method getChars(II[CI)V:
711 parameter #2:
712 type: @libcore.util.NonNull
713 return:
714
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000715 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100716 method toString()Ljava/lang/String;:
717 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000718
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000719 method getBytes(II[BI)V:
720 parameter #2:
721 type: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000722 // Empty array in worst case
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100723 method getBytes(Ljava/lang/String;)[B:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000724 parameter #0:
725 type: @libcore.util.NonNull
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100726 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000727 // Empty array in worst case
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100728 method getBytes(Ljava/nio/charset/Charset;)[B:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000729 parameter #0:
730 type: @libcore.util.NonNull
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100731 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000732 // Empty array in worst case (or throws)
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100733 method getBytes(Ljava/lang/String;)[B:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000734 parameter #0:
735 type: @libcore.util.NonNull
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100736 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000737 // Empty array in worst case
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100738 method getBytes()[B:
739 return: @libcore.util.NonNull
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000740 method equals(Ljava/lang/Object;)Z:
741 parameter #0:
742 type: @libcore.util.Nullable
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000743 // Empty array in worst case
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100744 method toCharArray()[C:
745 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000746 // Empty char sequence in worst case
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100747 method subSequence(II)Ljava/lang/CharSequence;:
748 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000749 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100750 method concat(Ljava/lang/String;)Ljava/lang/String;:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000751 parameter #0:
752 type: @libcore.util.NonNull
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100753 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000754 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100755 method copyValueOf([CII)Ljava/lang/String;:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000756 parameter #0:
757 type: @libcore.util.NonNull
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100758 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000759 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100760 method copyValueOf([C)Ljava/lang/String;:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000761 parameter #0:
762 type: @libcore.util.NonNull
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100763 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000764 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100765 method intern()Ljava/lang/String;:
766 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000767 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100768 method replace(CC)Ljava/lang/String;:
769 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000770 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100771 method substring(I)Ljava/lang/String;:
772 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000773 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100774 method substring(II)Ljava/lang/String;:
775 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000776 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100777 method toLowerCase(Ljava/util/Locale;)Ljava/lang/String;:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000778 parameter #0:
779 type: @libcore.util.NonNull
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100780 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000781 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100782 method toLowerCase()Ljava/lang/String;:
783 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000784 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100785 method toUpperCase(Ljava/util/Locale;)Ljava/lang/String;:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000786 parameter #0:
787 type: @libcore.util.NonNull
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100788 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000789 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100790 method toUpperCase()Ljava/lang/String;:
791 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000792 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100793 method trim()Ljava/lang/String;:
794 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000795 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100796 method valueOf(Z)Ljava/lang/String;:
797 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000798 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100799 method valueOf(C)Ljava/lang/String;:
800 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000801 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100802 method valueOf(I)Ljava/lang/String;:
803 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000804 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100805 method valueOf(J)Ljava/lang/String;:
806 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000807 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100808 method valueOf(F)Ljava/lang/String;:
809 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000810 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100811 method valueOf(D)Ljava/lang/String;:
812 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000813 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100814 method valueOf(Ljava/lang/Object;)Ljava/lang/String;:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000815 parameter #0:
816 type: @libcore.util.Nullable
817 return:@libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000818 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100819 method valueOf([C)Ljava/lang/String;:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000820 parameter #0:
821 type: @libcore.util.NonNull
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100822 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000823 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100824 method valueOf([CII)Ljava/lang/String;:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000825 parameter #0:
826 type: @libcore.util.NonNull
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100827 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000828 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100829 method split(Ljava/lang/String;I)[Ljava/lang/String;:
830 return: @libcore.util.NonNull
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000831 inner-type 0, 0: @libcore.util.NonNull
832 parameter #0:
833 type: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000834 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100835 method split(Ljava/lang/String;)[Ljava/lang/String;:
836 return: @libcore.util.NonNull
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000837 inner-type 0, 0: @libcore.util.NonNull
838 parameter #0:
839 type: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000840 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100841 method join(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;:
842 return: @libcore.util.NonNull
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000843 parameter #0:
844 type: @libcore.util.NonNull
845 parameter #1:
846 type: @libcore.util.NonNull
847 inner-type 0, 0: @libcore.util.Nullable
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000848 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100849 method join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000850 parameter #0:
851 type: @libcore.util.NonNull
852 parameter #1:
853 type: @libcore.util.NonNull
854 inner-type 3, 0, 2, 0: @libcore.util.Nullable
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100855 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000856 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100857 method replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000858 parameter #0:
859 type: @libcore.util.NonNull
860 parameter #1:
861 type: @libcore.util.NonNull
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100862 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +0000863 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100864 method replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;:
Przemyslaw Szczepaniak6f08d602017-11-22 15:42:32 +0000865 parameter #0:
866 type: @libcore.util.NonNull
867 parameter #1:
868 type: @libcore.util.NonNull
869 return: @libcore.util.NonNull
870 method replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;:
871 parameter #0:
872 type: @libcore.util.NonNull
873 parameter #1:
874 type: @libcore.util.NonNull
875 return: @libcore.util.NonNull
876 method contentEquals(Ljava/lang/StringBuffer;)Z:
877 parameter #0:
878 type: @libcore.util.NonNull
879 method contentEquals(Ljava/lang/CharSequence;)Z:
880 parameter #0:
881 type: @libcore.util.NonNull
882 method equalsIgnoreCase(Ljava/lang/String;)Z:
883 parameter #0:
884 type: @libcore.util.Nullable
885 method compareTo(Ljava/lang/String;)I:
886 parameter #0:
887 type: @libcore.util.NonNull
888 method compareToIgnoreCase(Ljava/lang/String;)I:
889 parameter #0:
890 type: @libcore.util.NonNull
891 method regionMatches(ILjava/lang/String;II)Z:
892 parameter #1:
893 type: @libcore.util.NonNull
894 method regionMatches(ZILjava/lang/String;II)Z:
895 parameter #2:
896 type: @libcore.util.NonNull
897 method startsWith(Ljava/lang/String;I)Z:
898 parameter #0:
899 type: @libcore.util.NonNull
900 method startsWith(Ljava/lang/String;)Z:
901 parameter #0:
902 type: @libcore.util.NonNull
903 method endsWith(Ljava/lang/String;)Z:
904 parameter #0:
905 type: @libcore.util.NonNull
906 method indexOf(Ljava/lang/String;)I:
907 parameter #0:
908 type: @libcore.util.NonNull
909 method indexOf(Ljava/lang/String;I)I:
910 parameter #0:
911 type: @libcore.util.NonNull
912 method lastIndexOf(Ljava/lang/String;)I:
913 parameter #0:
914 type: @libcore.util.NonNull
915 method lastIndexOf(Ljava/lang/String;I)I:
916 parameter #0:
917 type: @libcore.util.NonNull
918 method matches(Ljava/lang/String;)Z:
919 parameter #0:
920 type: @libcore.util.NonNull
921 method contains(Ljava/lang/CharSequence;)Z:
922 parameter #0:
923 type: @libcore.util.NonNull
924 method format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;:
925 parameter #0:
926 type: @libcore.util.NonNull
927 parameter #1:
928 type: @libcore.util.NonNull
929 inner-type 0, 0: @libcore.util.Nullable
930 return: @libcore.util.NonNull
931 method format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;:
932 parameter #0:
933 type: @libcore.util.NonNull
934 parameter #1:
935 type: @libcore.util.NonNull
936 parameter #2:
937 type: @libcore.util.NonNull
938 inner-type 0, 0: @libcore.util.Nullable
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +0100939 return: @libcore.util.NonNull
940
Przemyslaw Szczepaniakb37d9962018-02-15 11:56:34 +0000941class System:
942 // Ideally, in should be made NonNull - but it IS possible to make this final field
943 // a null using setIn(null). It makes sense to leave this field as a platform
944 // type for convenience reasons - no one sane should expect this to be null,
945 // but it's nice to have kotlin check it.
946 field in:
947
948 // Same as in "in" field
949 field out:
950
951 // Same as in "in" field
952 field err:
953
954
955 method setIn(Ljava/io/InputStream;)V:
956 // While it makes little sense, it's possible to set System.in to null.
957 parameter #0:
958 type: @libcore.util.Nullable
959
960 method setOut(Ljava/io/PrintStream;)V:
961 // While it makes little sense, it's possible to set System.out to null.
962 parameter #0:
963 type: @libcore.util.Nullable
964
965 method setErr(Ljava/io/PrintStream;)V:
966 // While it makes little sense, it's possible to set System.err to null.
967 parameter #0:
968 type: @libcore.util.Nullable
969
970 method console()Ljava/io/Console;:
971 // Always returns an instance
972 return: @libcore.util.Nullable
973
974 method inheritedChannel()Ljava/nio/channels/Channel;:
975 // Null if there's no inherited channel
976 return: @libcore.util.Nullable
977
978 method setSecurityManager(Ljava/lang/SecurityManager;)V:
979 // Null is a valid argument.
980 parameter #0:
981 type: @libcore.util.Nullable
982
983 method getSecurityManager()Ljava/lang/SecurityManager;:
984 // Null is valid return value.
985 return: @libcore.util.Nullable
986
987 method arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V:
988 // NPE on null src
989 parameter #0:
990 type: @libcore.util.NonNull
991 // NPE on null dst
992 parameter #1:
993 type: @libcore.util.NonNull
994
995 method identityHashCode(Ljava/lang/Object;)I:
996 // Null is a valid argument.
997 parameter #0:
998 type: @libcore.util.Nullable
999
1000 method getProperties()Ljava/util/Properties;:
1001 // There's always a properties object
1002 return: @libcore.util.NonNull
1003
1004 method lineSeparator()Ljava/lang/String;:
1005 // There's always a line separator string (empty in worst case)
1006 return: @libcore.util.NonNull
1007
1008 method setProperties(Ljava/util/Properties;)V:
1009 // Null is a valid argument (will reset to defaults)
1010 parameter #0:
1011 type: @libcore.util.Nullable
1012
1013 method getProperty(Ljava/lang/String;)Ljava/lang/String;:
1014 // Property key can't be null
1015 parameter #0:
1016 type: @libcore.util.NonNull
1017 // Null is valid return value
1018 return: @libcore.util.Nullable
1019
1020 method getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;:
1021 // Property key can't be null
1022 parameter #0:
1023 type: @libcore.util.NonNull
1024 // Property value can be null
1025 parameter #1:
1026 type: @libcore.util.Nullable
1027 // Null is valid return value
1028 return: @libcore.util.Nullable
1029
1030 method setProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;:
1031 // Property key can't be null
1032 parameter #0:
1033 type: @libcore.util.NonNull
1034 // Property value can be null
1035 parameter #1:
1036 type: @libcore.util.Nullable
1037 // Null is valid return value
1038 return: @libcore.util.Nullable
1039
1040 method clearProperty(Ljava/lang/String;)Ljava/lang/String;:
1041 // Property key can't be null
1042 parameter #0:
1043 type: @libcore.util.NonNull
1044 // Null is valid return value
1045 return: @libcore.util.Nullable
1046
1047 method getenv(Ljava/lang/String;)Ljava/lang/String;:
1048 // Name can't be null
1049 parameter #0:
1050 type: @libcore.util.NonNull
1051 // Null is valid return value
1052 return: @libcore.util.Nullable
1053
1054 method getenv()Ljava/util/Map;:
1055 // Never null
1056 return: @libcore.util.NonNull
1057
1058 method load(Ljava/lang/String;)V:
1059 // Filename can't be null
1060 parameter #0:
1061 type: @libcore.util.NonNull
1062
1063 method loadLibrary(Ljava/lang/String;)V:
1064 // Libname can't be null
1065 parameter #0:
1066 type: @libcore.util.NonNull
1067
1068 method mapLibraryName(Ljava/lang/String;)Ljava/lang/String;:
1069 // Libname can't be null
1070 parameter #0:
1071 type: @libcore.util.NonNull
1072 // Never null
1073 return: @libcore.util.NonNull
1074
Przemyslaw Szczepaniak90e68972018-02-19 15:27:44 +00001075class StringBuffer:
1076 method <init>(Ljava/lang/String;)V:
1077 // NPE on null argument
1078 parameter #0:
1079 type: @libcore.util.NonNull
1080
1081 method <init>(Ljava/lang/CharSequence;)V:
1082 // NPE on null argument
1083 parameter #0:
1084 type: @libcore.util.NonNull
1085
1086 method getChars(II[CI)V:
1087 // NPE on null argument
1088 parameter #2:
1089 type: @libcore.util.NonNull
1090
1091 method append(Ljava/lang/Object;)Ljava/lang/StringBuffer;:
1092 // null -> "null"
1093 parameter #0:
1094 type: @libcore.util.Nullable
1095 // returns self
1096 return: @libcore.util.NonNull
1097
1098 method append(Ljava/lang/String;)Ljava/lang/StringBuffer;:
1099 // null -> "null"
1100 parameter #0:
1101 type: @libcore.util.Nullable
1102 // returns self
1103 return: @libcore.util.NonNull
1104
1105 method append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;:
1106 // null -> "null"
1107 parameter #0:
1108 type: @libcore.util.Nullable
1109 // Returns self
1110 return: @libcore.util.NonNull
1111
1112 method append(Ljava/lang/AbstractStringBuilder;)Ljava/lang/StringBuffer;:
1113 // null -> "null"
1114 parameter #0:
1115 type: @libcore.util.Nullable
1116 // Returns self
1117 return: @libcore.util.NonNull
1118
1119 method append(Ljava/lang/CharSequence;)Ljava/lang/StringBuffer;:
1120 // null -> "null"
1121 parameter #0:
1122 type: @libcore.util.Nullable
1123 // Returns self
1124 return: @libcore.util.NonNull
1125
1126 method append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuffer;:
1127 // null -> "null"
1128 parameter #0:
1129 type: @libcore.util.Nullable
1130 // Returns self
1131 return: @libcore.util.NonNull
1132
1133 method append([C)Ljava/lang/StringBuffer;:
1134 // Null for char[] methods result in NPE
1135 parameter #0:
1136 type: @libcore.util.NonNull
1137 // Returns self
1138 return: @libcore.util.NonNull
1139
1140 method append([CII)Ljava/lang/StringBuffer;:
1141 // Null for char[] methods result in NPE
1142 parameter #0:
1143 type: @libcore.util.NonNull
1144 // Returns self
1145 return: @libcore.util.NonNull
1146
1147 method append(Z)Ljava/lang/StringBuffer;:
1148 // Returns self
1149 return: @libcore.util.NonNull
1150
1151 method append(C)Ljava/lang/StringBuffer;:
1152 // Returns self
1153 return: @libcore.util.NonNull
1154
1155 method append(I)Ljava/lang/StringBuffer;:
1156 // Returns self
1157 return: @libcore.util.NonNull
1158
1159 method appendCodePoint(I)Ljava/lang/StringBuffer;:
1160 // Returns self
1161 return: @libcore.util.NonNull
1162
1163 method append(J)Ljava/lang/StringBuffer;:
1164 // Returns self
1165 return: @libcore.util.NonNull
1166
1167 method append(F)Ljava/lang/StringBuffer;:
1168 // Returns self
1169 return: @libcore.util.NonNull
1170
1171 method append(D)Ljava/lang/StringBuffer;:
1172 // Returns self
1173 return: @libcore.util.NonNull
1174
1175 method delete(II)Ljava/lang/StringBuffer;:
1176 // Returns self
1177 return: @libcore.util.NonNull
1178
1179 method deleteCharAt(I)Ljava/lang/StringBuffer;:
1180 // Returns self
1181 return: @libcore.util.NonNull
1182
1183 method replace(IILjava/lang/String;)Ljava/lang/StringBuffer;:
1184 // NPE from null
1185 parameter #2:
1186 type: @libcore.util.NonNull
1187 // Returns self
1188 return: @libcore.util.NonNull
1189
1190 method substring(I)Ljava/lang/String;:
1191 // Never null
1192 return: @libcore.util.NonNull
1193
1194 method subSequence(II)Ljava/lang/CharSequence;:
1195 // Never null
1196 return: @libcore.util.NonNull
1197
1198 method substring(II)Ljava/lang/String;:
1199 // Never null
1200 return: @libcore.util.NonNull
1201
1202 method insert(I[CII)Ljava/lang/StringBuffer;:
1203 // Null for char[] methods result in NPE
1204 parameter #1:
1205 type: @libcore.util.NonNull
1206 // Returns self
1207 return: @libcore.util.NonNull
1208
1209 method insert(ILjava/lang/Object;)Ljava/lang/StringBuffer;:
1210 // null -> "null"
1211 parameter #1:
1212 type: @libcore.util.Nullable
1213 // Returns self
1214 return: @libcore.util.NonNull
1215
1216 method insert(ILjava/lang/String;)Ljava/lang/StringBuffer;:
1217 // null -> "null"
1218 parameter #1:
1219 type: @libcore.util.Nullable
1220 // Returns self
1221 return: @libcore.util.NonNull
1222
1223 method insert(I[C)Ljava/lang/StringBuffer;:
1224 // Null for char[] methods result in NPE
1225 parameter #1:
1226 type: @libcore.util.NonNull
1227 // Returns self
1228 return: @libcore.util.NonNull
1229
1230 method insert(ILjava/lang/CharSequence;)Ljava/lang/StringBuffer;:
1231 // null -> "null"
1232 parameter #1:
1233 type: @libcore.util.Nullable
1234 // Returns self
1235 return: @libcore.util.NonNull
1236
1237 method insert(ILjava/lang/CharSequence;II)Ljava/lang/StringBuffer;:
1238 // null -> "null"
1239 parameter #1:
1240 type: @libcore.util.Nullable
1241 // Returns self
1242 return: @libcore.util.NonNull
1243
1244 method insert(IZ)Ljava/lang/StringBuffer;:
1245 // Returns self
1246 return: @libcore.util.NonNull
1247
1248 method insert(IC)Ljava/lang/StringBuffer;:
1249 // Returns self
1250 return: @libcore.util.NonNull
1251
1252 method insert(II)Ljava/lang/StringBuffer;:
1253 // Returns self
1254 return: @libcore.util.NonNull
1255
1256 method insert(IJ)Ljava/lang/StringBuffer;:
1257 // Returns self
1258 return: @libcore.util.NonNull
1259
1260 method insert(IF)Ljava/lang/StringBuffer;:
1261 // Returns self
1262 return: @libcore.util.NonNull
1263
1264 method insert(ID)Ljava/lang/StringBuffer;:
1265 // Returns self
1266 return: @libcore.util.NonNull
1267
1268 method indexOf(Ljava/lang/String;)I:
1269 parameter #0:
1270 type: @libcore.util.NonNull
1271
1272 method indexOf(Ljava/lang/String;I)I:
1273 // NPE on null
1274 parameter #0:
1275 type: @libcore.util.NonNull
1276
1277 method lastIndexOf(Ljava/lang/String;)I:
1278 // NPE on null
1279 parameter #0:
1280 type: @libcore.util.NonNull
1281
1282 method lastIndexOf(Ljava/lang/String;I)I:
1283 // NPE on null
1284 parameter #0:
1285 type: @libcore.util.NonNull
1286
1287 method reverse()Ljava/lang/StringBuffer;:
1288 // Never null
1289 return: @libcore.util.NonNull
1290
1291 method toString()Ljava/lang/String;:
1292 // Never null
1293 return: @libcore.util.NonNull
1294
Przemyslaw Szczepaniak903eedd2018-02-22 14:31:52 +00001295class StringBuilder:
1296
1297 method <init>(Ljava/lang/String;)V:
1298 // NPE on null argument
1299 parameter #0:
1300 type: @libcore.util.NonNull
1301
1302 method <init>(Ljava/lang/CharSequence;)V:
1303 // NPE on null argument
1304 parameter #0:
1305 type: @libcore.util.NonNull
1306
1307 method append(Ljava/lang/Object;)Ljava/lang/StringBuilder;:
1308 // null -> "null"
1309 parameter #0:
1310 type: @libcore.util.Nullable
1311 // returns self
1312 return: @libcore.util.NonNull
1313
1314 method append(Ljava/lang/String;)Ljava/lang/StringBuilder;:
1315 // null -> "null"
1316 parameter #0:
1317 type: @libcore.util.Nullable
1318 // returns self
1319 return: @libcore.util.NonNull
1320
1321 method append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuilder;:
1322 // null -> "null"
1323 parameter #0:
1324 type: @libcore.util.Nullable
1325 // Returns self
1326 return: @libcore.util.NonNull
1327
1328 method append(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;:
1329 // null -> "null"
1330 parameter #0:
1331 type: @libcore.util.Nullable
1332 // Returns self
1333 return: @libcore.util.NonNull
1334
1335 method append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;:
1336 // null -> "null"
1337 parameter #0:
1338 type: @libcore.util.Nullable
1339 // Returns self
1340 return: @libcore.util.NonNull
1341
1342 method append([C)Ljava/lang/StringBuilder;:
1343 // Null for char[] methods result in NPE
1344 parameter #0:
1345 type: @libcore.util.NonNull
1346 // Returns self
1347 return: @libcore.util.NonNull
1348
1349 method append([CII)Ljava/lang/StringBuilder;:
1350 // Null for char[] methods result in NPE
1351 parameter #0:
1352 type: @libcore.util.NonNull
1353 // Returns self
1354 return: @libcore.util.NonNull
1355
1356 method append(Z)Ljava/lang/StringBuilder;:
1357 // Returns self
1358 return: @libcore.util.NonNull
1359
1360 method append(C)Ljava/lang/StringBuilder;:
1361 // Returns self
1362 return: @libcore.util.NonNull
1363
1364 method append(I)Ljava/lang/StringBuilder;:
1365 // Returns self
1366 return: @libcore.util.NonNull
1367
1368 method append(J)Ljava/lang/StringBuilder;:
1369 // Returns self
1370 return: @libcore.util.NonNull
1371
1372 method append(F)Ljava/lang/StringBuilder;:
1373 // Returns self
1374 return: @libcore.util.NonNull
1375
1376 method append(D)Ljava/lang/StringBuilder;:
1377 // Returns self
1378 return: @libcore.util.NonNull
1379
1380 method appendCodePoint(I)Ljava/lang/StringBuilder;:
1381 // Returns self
1382 return: @libcore.util.NonNull
1383
1384 method delete(II)Ljava/lang/StringBuilder;:
1385 // Returns self
1386 return: @libcore.util.NonNull
1387
1388 method deleteCharAt(I)Ljava/lang/StringBuilder;:
1389 // Returns self
1390 return: @libcore.util.NonNull
1391
1392 method replace(IILjava/lang/String;)Ljava/lang/StringBuilder;:
1393 // NPE from null
1394 parameter #2:
1395 type: @libcore.util.NonNull
1396 // Returns self
1397 return: @libcore.util.NonNull
1398
1399 method insert(I[CII)Ljava/lang/StringBuilder;:
1400 // Null for char[] methods result in NPE
1401 parameter #1:
1402 type: @libcore.util.NonNull
1403 // Returns self
1404 return: @libcore.util.NonNull
1405
1406 method insert(ILjava/lang/Object;)Ljava/lang/StringBuilder;:
1407 // null -> "null"
1408 parameter #1:
1409 type: @libcore.util.Nullable
1410 // Returns self
1411 return: @libcore.util.NonNull
1412
1413 method insert(ILjava/lang/String;)Ljava/lang/StringBuilder;:
1414 // null -> "null"
1415 parameter #1:
1416 type: @libcore.util.Nullable
1417 // Returns self
1418 return: @libcore.util.NonNull
1419
1420 method insert(I[C)Ljava/lang/StringBuilder;:
1421 // Null for char[] methods result in NPE
1422 parameter #1:
1423 type: @libcore.util.NonNull
1424 // Returns self
1425 return: @libcore.util.NonNull
1426
1427 method insert(ILjava/lang/CharSequence;)Ljava/lang/StringBuilder;:
1428 // null -> "null"
1429 parameter #1:
1430 type: @libcore.util.Nullable
1431 // Returns self
1432 return: @libcore.util.NonNull
1433
1434 method insert(ILjava/lang/CharSequence;II)Ljava/lang/StringBuilder;:
1435 // null -> "null"
1436 parameter #1:
1437 type: @libcore.util.Nullable
1438 // Returns self
1439 return: @libcore.util.NonNull
1440
1441 method insert(IZ)Ljava/lang/StringBuilder;:
1442 // Returns self
1443 return: @libcore.util.NonNull
1444
1445 method insert(IC)Ljava/lang/StringBuilder;:
1446 // Returns self
1447 return: @libcore.util.NonNull
1448
1449 method insert(II)Ljava/lang/StringBuilder;:
1450 // Returns self
1451 return: @libcore.util.NonNull
1452
1453 method insert(IJ)Ljava/lang/StringBuilder;:
1454 // Returns self
1455 return: @libcore.util.NonNull
1456
1457 method insert(IF)Ljava/lang/StringBuilder;:
1458 // Returns self
1459 return: @libcore.util.NonNull
1460
1461 method insert(ID)Ljava/lang/StringBuilder;:
1462 // Returns self
1463 return: @libcore.util.NonNull
1464
1465 method indexOf(Ljava/lang/String;)I:
1466 // NPE on null
1467 parameter #0:
1468 type: @libcore.util.NonNull
1469
1470 method indexOf(Ljava/lang/String;I)I:
1471 // NPE on null
1472 parameter #0:
1473 type: @libcore.util.NonNull
1474
1475 method lastIndexOf(Ljava/lang/String;)I:
1476 // NPE on null
1477 parameter #0:
1478 type: @libcore.util.NonNull
1479
1480 method lastIndexOf(Ljava/lang/String;I)I:
1481 // NPE on null
1482 parameter #0:
1483 type: @libcore.util.NonNull
1484
1485 method reverse()Ljava/lang/StringBuilder;:
1486 // Never null
1487 return: @libcore.util.NonNull
1488
1489 method toString()Ljava/lang/String;:
1490 // Never null
1491 return: @libcore.util.NonNull
1492
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +01001493class Thread:
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001494 // Always returns a string instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +01001495 method toString()Ljava/lang/String;:
1496 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001497 // Always return an instance
Przemyslaw Szczepaniak0f22ea52017-09-12 16:45:34 +01001498 method currentThread()Ljava/lang/Thread;:
1499 return: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001500
Przemyslaw Szczepaniak7fd86ef2018-02-15 16:40:34 +00001501// It would be nice to use @NullFromTypeParam in ThreadLocal
1502// everywhere its <T> is used, buy sadly the code below makes it impossible:
1503//
1504// ThreadLocal<@NonNull Object> foo = new ThreadLocal<>();
1505// assertNull(foo.get())
1506//
1507// Hence @Nullable T is used heavily
1508class ThreadLocal:
1509 method withInitial(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;:
1510 // NPE on null supplier
1511 parameter #0:
1512 type: @libcore.util.NonNull
1513 // Always returns instance
1514 return: @libcore.util.NonNull
1515
1516 method initialValue()Ljava/lang/Object;:
1517 // Returns null by default
1518 return: @libcore.util.Nullable
1519
1520 method get()Ljava/lang/Object;:
1521 // May return null
1522 return: @libcore.util.Nullable
1523
1524 method set(Ljava/lang/Object;)V:
1525 // Depends on type param
1526 parameter #0:
1527 type: @libcore.util.NullFromTypeParam
1528
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001529package java.lang.reflect:
1530
1531class AccessibleObject:
1532 // Empty array in the worst case
1533 method getAnnotations()[Ljava/lang/annotation/Annotation;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001534 return: @libcore.util.NonNull
1535 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001536 // Empty array in the worst case
1537 method getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001538 return: @libcore.util.NonNull
1539 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001540
1541class AnnotatedElement:
1542 // Empty array in the worst case
1543 method getAnnotations()[Ljava/lang/annotation/Annotation;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001544 return: @libcore.util.NonNull
1545 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001546 // Empty array in the worst case
1547 method getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001548 return: @libcore.util.NonNull
1549 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001550
1551class Array:
1552 // Returns instance or throws
1553 method newInstance(Ljava/lang/Class;I)Ljava/lang/Object;:
1554 return: @libcore.util.NonNull
1555 // Returns instance or throws
1556 method newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;:
1557 return: @libcore.util.NonNull
1558
1559class Constructor:
1560 // Always returns an instance
1561 method toString()Ljava/lang/String;:
1562 return: @libcore.util.NonNull
1563 // Always returns an instance
1564 method toGenericString()Ljava/lang/String;:
1565 return: @libcore.util.NonNull
1566 // Always returns an instance
1567 method getName()Ljava/lang/String;:
1568 return: @libcore.util.NonNull
1569 // There's always a declaring class
1570 method getDeclaringClass()Ljava/lang/Class;:
1571 return: @libcore.util.NonNull
1572 // Empty array in the worst case
1573 method getParameterTypes()[Ljava/lang/Class;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001574 return: @libcore.util.NonNull
1575 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001576 // Returns instance or throws
1577 method newInstance([Ljava/lang/Object;)Ljava/lang/Object;:
1578 return: @libcore.util.NonNull
1579
1580class Executable:
1581 // There's always a declaring class
1582 method getDeclaringClass()Ljava/lang/Class;:
1583 return: @libcore.util.NonNull
1584 // Always returns an instance
1585 method getName()Ljava/lang/String;:
1586 return: @libcore.util.NonNull
1587 // Empty array in the worst case
1588 method getParameterTypes()[Ljava/lang/Class;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001589 return: @libcore.util.NonNull
1590 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001591 // Empty array in the worst case
1592 method getTypeParameters()[Ljava/lang/reflect/TypeVariable;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001593 return: @libcore.util.NonNull
1594 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001595 // Empty array in the worst case
1596 method getGenericParameterTypes()[Ljava/lang/reflect/Type;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001597 return: @libcore.util.NonNull
1598 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001599 // Empty array in the worst case
1600 method getParameters()[Ljava/lang/reflect/Parameter;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001601 return: @libcore.util.NonNull
1602 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001603 // Empty array in the worst case
1604 method getExceptionTypes()[Ljava/lang/Class;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001605 return: @libcore.util.NonNull
1606 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001607 // Empty array in the worst case
1608 method getGenericExceptionTypes()[Ljava/lang/reflect/Type;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001609 return: @libcore.util.NonNull
1610 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001611 // Always returns an instance
1612 method toGenericString()Ljava/lang/String;:
1613 return: @libcore.util.NonNull
1614 // Empty array in the worst case
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001615 method getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001616 return: @libcore.util.NonNull
1617 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001618 // Empty array in the worst case
1619 method getParameterAnnotations()[[Ljava/lang/annotation/Annotation;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001620 return: @libcore.util.NonNull
1621 inner-type 0, 0: @libcore.util.NonNull
1622 inner-type 0, 0, 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001623
1624class Field:
1625 // Always returns an instance
1626 method getName()Ljava/lang/String;:
1627 return: @libcore.util.NonNull
1628 // There's always a type of a field
1629 method getType()Ljava/lang/Class;:
1630 return: @libcore.util.NonNull
1631 // Always returns an instance
1632 method toString()Ljava/lang/String;:
1633 return: @libcore.util.NonNull
1634 // Always returns an instance
1635 method toGenericString()Ljava/lang/String;:
1636 return: @libcore.util.NonNull
1637
1638class GenericArrayType:
1639 // There's always a type for array
1640 method getGenericComponentType()Ljava/lang/reflect/Type;:
1641 return: @libcore.util.NonNull
1642
1643class GenericDeclaration:
1644 // Empty array in the worst case
1645 method getTypeParameters()[Ljava/lang/reflect/TypeVariable;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001646 return: @libcore.util.NonNull
1647 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001648
1649class Member:
1650 method getDeclaringClass()Ljava/lang/Class;:
1651 return: @libcore.util.NonNull
1652 // Always returns an instance
1653 method getName()Ljava/lang/String;:
1654 return: @libcore.util.NonNull
1655
1656class Method:
1657 // There's always a declaring class
1658 method getDeclaringClass()Ljava/lang/Class;:
1659 return: @libcore.util.NonNull
1660 // Empty array in the worst case
1661 method getTypeParameters()[Ljava/lang/reflect/TypeVariable;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001662 return: @libcore.util.NonNull
1663 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001664 // There's always a return type (such as Void.class)
1665 method getReturnType()Ljava/lang/Class;:
1666 return: @libcore.util.NonNull
1667 // There's always a return type (such as Void.class)
1668 method getGenericReturnType()Ljava/lang/reflect/Type;:
1669 return: @libcore.util.NonNull
1670 // Empty array in the worst case
1671 method getParameterTypes()[Ljava/lang/Class;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001672 return: @libcore.util.NonNull
1673 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001674 // Empty array in the worst case
1675 method getGenericParameterTypes()[Ljava/lang/reflect/Type;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001676 return: @libcore.util.NonNull
1677 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001678 // Empty array in the worst case
1679 method getExceptionTypes()[Ljava/lang/Class;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001680 return: @libcore.util.NonNull
1681 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001682 // Empty array in the worst case
1683 method getGenericExceptionTypes()[Ljava/lang/reflect/Type;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001684 return: @libcore.util.NonNull
1685 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001686 // Always returns an instance
1687 method toString()Ljava/lang/String;:
1688 return: @libcore.util.NonNull
1689 // Always returns an instance
1690 method toGenericString()Ljava/lang/String;:
1691 return: @libcore.util.NonNull
1692 // Empty array in the worst case
1693 method getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001694 return: @libcore.util.NonNull
1695 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001696 // Empty array in the worst case
1697 method getParameterAnnotations()[[Ljava/lang/annotation/Annotation;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001698 return: @libcore.util.NonNull
1699 inner-type 0, 0: @libcore.util.NonNull
1700 inner-type 0, 0, 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001701
1702
1703class ParameterizedType:
1704 // Empty array in the worst case
1705 method getActualTypeArguments()[Ljava/lang/reflect/Type;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001706 return: @libcore.util.NonNull
1707 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001708 // Always returns an instance
1709 method getRawType()Ljava/lang/reflect/Type;:
1710 return: @libcore.util.NonNull
1711
1712class Parameter:
1713 // Always returns an instance
1714 method toString()Ljava/lang/String;:
1715 return: @libcore.util.NonNull
1716 // There's always a declaring executable
1717 method getDeclaringExecutable()Ljava/lang/reflect/Executable;:
1718 return: @libcore.util.NonNull
1719 // Always returns an instance
1720 method getRealName()Ljava/lang/String;:
1721 return: @libcore.util.NonNull
1722 // There's always a type
1723 method getParameterizedType()Ljava/lang/reflect/Type;:
1724 return: @libcore.util.NonNull
1725 // There's always a type
1726 method getType()Ljava/lang/Class;:
1727 return: @libcore.util.NonNull
1728 // Empty array in the worst case
1729 method getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001730 return: @libcore.util.NonNull
1731 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001732 // Empty array in the worst case
1733 method getAnnotations()[Ljava/lang/annotation/Annotation;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001734 return: @libcore.util.NonNull
1735 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001736
1737class Proxy:
1738 // Always returns an instance (or throws)
1739 method getProxyClass(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;:
1740 return: @libcore.util.NonNull
1741 // Always returns an instance (or throws)
1742 method newProxyInstance(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;:
1743 return: @libcore.util.NonNull
1744 // Always returns an instance (or throws)
1745 method getInvocationHandler(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;:
1746 return: @libcore.util.NonNull
1747
1748class Type:
1749 // Always returns an instance
1750 method getTypeName()Ljava/lang/String;:
1751 return: @libcore.util.NonNull
1752
1753class TypeVariable:
1754 // Empty array in the worst case
1755 method getBounds()[Ljava/lang/reflect/Type;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001756 return: @libcore.util.NonNull
1757 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001758 // Always returns an instance
1759 method getGenericDeclaration()Ljava/lang/reflect/GenericDeclaration;:
1760 return: @libcore.util.NonNull
1761 // Always returns an instance
1762 method getName()Ljava/lang/String;:
1763 return: @libcore.util.NonNull
1764
1765class WildcardType:
1766 // Empty array in the worst case
1767 method getUpperBounds()[Ljava/lang/reflect/Type;:
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001768 return: @libcore.util.NonNull
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001769 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniaked1d5ee2017-10-31 13:58:24 +00001770 // Empty array in the worst case
1771 method getLowerBounds()[Ljava/lang/reflect/Type;:
Przemyslaw Szczepaniak3c9f2952017-11-24 13:44:25 +00001772 return: @libcore.util.NonNull
1773 inner-type 0, 0: @libcore.util.NonNull
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001774
1775package java.util:
1776
1777class List:
1778 method contains(Ljava/lang/Object;)Z:
1779 // May be null
1780 parameter #0:
1781 type: @libcore.util.Nullable
1782 return:
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001783
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001784 method iterator()Ljava/util/Iterator;:
1785 // Javadoc doesn't mention possiblity of a null result
1786 return: @libcore.util.NonNull
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001787
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001788 method toArray()[Ljava/lang/Object;:
1789 // Never returns null
1790 return: @libcore.util.NonNull
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001791
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001792 method toArray([Ljava/lang/Object;)[Ljava/lang/Object;:
1793 // Javadoc mention NPE for param #0
1794 parameter #0:
1795 type: @libcore.util.NonNull
1796 // Never returns null
1797 return: @libcore.util.NonNull
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001798
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001799 method add(Ljava/lang/Object;)Z:
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001800 // Nullness depends on type parameter nullness
1801 parameter #0:
1802 type: @libcore.util.NullFromTypeParam
1803
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001804 method remove(Ljava/lang/Object;)Z:
1805 // param #0 has to allow nulls
1806 parameter #0:
1807 type: @libcore.util.Nullable
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001808
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001809 method containsAll(Ljava/util/Collection;)Z:
1810 // Javadoc mention NPE for null param #0
1811 parameter #0:
1812 type: @libcore.util.NonNull
1813 inner-type 3, 0: @libcore.util.Nullable
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001814
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001815 method addAll(Ljava/util/Collection;)Z:
1816 // Javadoc mention NPE for null param #0
1817 parameter #0:
1818 type: @libcore.util.NonNull
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001819 // boolean addAll(Collection<? extends E> c);
1820 // Nullness depends on type parameter nullness
1821 inner-type 3, 0: @libcore.util.NullFromTypeParam
1822
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001823 method addAll(ILjava/util/Collection;)Z:
1824 // Javadoc mention NPE for null param #1
1825 parameter #1:
1826 type: @libcore.util.NonNull
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001827 // boolean addAll(int, Collection<? extends E> c);
1828 inner-type 3, 0: @libcore.util.NullFromTypeParam
1829
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001830 method removeAll(Ljava/util/Collection;)Z:
1831 // Javadoc mention NPE for null param #0
1832 parameter #0:
1833 type: @libcore.util.NonNull
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001834
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001835 method retainAll(Ljava/util/Collection;)Z:
1836 // Javadoc mention NPE for null param #0
1837 parameter #0:
1838 type: @libcore.util.NonNull
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001839
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001840 method replaceAll(Ljava/util/function/UnaryOperator;)V:
1841 // Javadoc mention NPE for null param #0
1842 parameter #0:
1843 type: @libcore.util.NonNull
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001844
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001845 method sort(Ljava/util/Comparator;)V:
1846 // Javadoc mention null as valid param #0
1847 parameter #0:
1848 type: @libcore.util.Nullable
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001849
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001850 method equals(Ljava/lang/Object;)Z:
1851 // Null is valid argument #0
1852 parameter #0:
1853 type: @libcore.util.Nullable
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001854
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001855 method get(I)Ljava/lang/Object;:
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001856 // Nullness depends on type parameter nullness
1857 // E get(int index);
1858 return: @libcore.util.NullFromTypeParam
1859
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001860 method set(ILjava/lang/Object;)Ljava/lang/Object;:
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001861 // Nullness depends on type parameter nullness
1862 // E set(int index, E element);
1863 parameter #0:
1864 type: @libcore.util.NullFromTypeParam
1865 return: @libcore.util.NullFromTypeParam
1866
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001867 method add(ILjava/lang/Object;)V:
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001868 // Nullness depends on type parameter nullness
1869 // void add(int index, E element);
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001870 parameter #1:
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001871 type: @libcore.util.NullFromTypeParam
1872
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001873 method remove(I)Ljava/lang/Object;:
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001874 // Nullness depends on type parameter nullness
1875 // E remove(int index);
1876 return: @libcore.util.NullFromTypeParam
1877
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001878 method indexOf(Ljava/lang/Object;)I:
1879 // Null is valid argument
1880 parameter #0:
1881 type: @libcore.util.Nullable
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001882
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001883 method lastIndexOf(Ljava/lang/Object;)I:
1884 // Null is valid argument
1885 parameter #0:
1886 type: @libcore.util.Nullable
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001887
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001888 method listIterator()Ljava/util/ListIterator;:
1889 // Javadoc doesn't mention possiblity of a null result
1890 return: @libcore.util.NonNull
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001891
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001892 method listIterator(I)Ljava/util/ListIterator;:
1893 // Javadoc doesn't mention possiblity of a null result
1894 return: @libcore.util.NonNull
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001895
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001896 method subList(II)Ljava/util/List;:
1897 // Javadoc doesn't mention possiblity of a null result
1898 return: @libcore.util.NonNull
Przemyslaw Szczepaniak4080a992018-02-02 10:25:52 +00001899
Przemyslaw Szczepaniakb53e0692017-11-24 15:19:49 +00001900 method spliterator()Ljava/util/Spliterator;:
1901 // Javadoc doesn't mention possiblity of a null result
1902 return: @libcore.util.NonNull