@Documented @Retention(value=CLASS) @Target(value=METHOD) public @interface CheckResult
Example:
public @CheckResult String trim(String s) { return s.trim(); }
...
s.trim(); // this is probably an error
s = s.trim(); // ok
public abstract String suggest
For example, ProcessBuilder has a method named redirectErrorStream()
which sounds like it might redirect the error stream. It does not. It's just
a getter which returns whether the process builder will redirect the error stream,
and to actually set it, you must call redirectErrorStream(boolean)
.
In that case, the method should be defined like this:
@CheckResult(suggest="#redirectErrorStream(boolean)") public boolean redirectErrorStream() { ... }