|
36 | 36 | * <ul>
|
37 | 37 | * <li>For humans: it indicates that the class/interface (and subclasses) is thread-safe
|
38 | 38 | * <li>For machines: it causes the annotated class/interface -- and all of its subtypes -- to be
|
39 |
| - * validated by the {@link com.google.errorprone.bugpatterns.threadsafety.ThreadSafeChecker} |
| 39 | + * validated by the {@code com.google.errorprone.bugpatterns.threadsafety.ThreadSafeChecker} |
40 | 40 | * {@code BugChecker}.
|
41 | 41 | * </ul>
|
42 | 42 | *
|
|
53 | 53 | * keeping it thread-safe is even more so.
|
54 | 54 | *
|
55 | 55 | * <p>The remainder of this javadoc describes the heuristics enforced by {@code ThreadSafeChecker}
|
56 |
| - * and the related {@link com.google.errorprone.bugpatterns.threadsafety.GuardedByChecker} and |
57 |
| - * {@link com.google.errorprone.bugpatterns.threadsafety.ImmutableChecker} on which the former |
| 56 | + * and the related {@code com.google.errorprone.bugpatterns.threadsafety.GuardedByChecker} and |
| 57 | + * {@code com.google.errorprone.bugpatterns.threadsafety.ImmutableChecker} on which the former |
58 | 58 | * relies.
|
59 | 59 | *
|
60 | 60 | * <p>The {@code ThreadSafeChecker} heuristics enforce that every field meets at least one of these
|
|
73 | 73 | * requirement is that it meets at least one of these four conditions:
|
74 | 74 | *
|
75 | 75 | * <ul>
|
76 |
| - * <li>it is listed as a well-known immutable type in {@link |
| 76 | + * <li>it is listed as a well-known immutable type in {@code |
77 | 77 | * com.google.errorprone.bugpatterns.threadsafety.WellKnownMutability} (e.g. a field of type
|
78 | 78 | * {@link String}); and/or
|
79 |
| - * <li>it is listed as a well-known thread-safe type in {@link |
| 79 | + * <li>it is listed as a well-known thread-safe type in {@code |
80 | 80 | * com.google.errorprone.bugpatterns.threadsafety.WellKnownThreadSafety} (e.g. a field of type
|
81 | 81 | * {@link java.util.concurrent.atomic.AtomicBoolean}); and/or
|
82 | 82 | * <li>it is annotated with {@link Immutable}; and/or
|
|
85 | 85 | *
|
86 | 86 | * <p>This first requirement means the type is at least inherently shallowly thread-safe.
|
87 | 87 | *
|
88 |
| - * <p>Fields annotated with {@link javax.annotation.concurrent.GuardedBy} are likely the meat of a |
| 88 | + * <p>Fields annotated with {@code javax.annotation.concurrent.GuardedBy} are likely the meat of a |
89 | 89 | * mutable thread-safe class: these are things that need to be mutated, but should be done so in a
|
90 | 90 | * safe manner -- i.e., (most likely) in critical sections of code that protect their access by
|
91 | 91 | * means of a lock. See more information in that annotation's javadoc.
|
|
0 commit comments