Clement Cherlin
Clement Cherlin
@cpovirk I wonder when we hit diminishing returns on finer and finer-grained single-purpose annotations and increasing returns on `@Contract` (or something like it). Regarding the difference between `contains` and null-check...
Would it be possible to add overloads for the FROM(), WHERE() and various JOIN() methods that accept an SQL object parameter, and an optional alias? Then the parent SQL could...
Static analysis tools should definitely be aware that passing null to this method will always result in throwing `NumberFormatException`. Users may also want to annotate their own methods that throw...
> > Static analysis tools should definitely be aware that passing null to this method will always result in throwing `NumberFormatException`. > > This is assertion without argument, so it...
Neither `null` nor `"abc"` are valid parameters. JSpecify doesn't have a `@NoABCString` annotation, so that's not particularly relevant. Plenty of methods throw on null and also throw on other invalid...
@jasonab The user guide goes on to say > In this example, the parameter `x` can be null, so `print(null)` is a valid method call. The body of the `print`...
I think A. is unambiguous and simple, both of which are good, and by that logic `parseInt` is nullable. The problem I have with B. is that nullability annotations only...
I agree with all of https://github.com/jspecify/jspecify/issues/309#issuecomment-1312222519, but unfortunately that doesn't resolve the issue of `parseInt`. The [JavaDoc](https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/lang/Integer.html#parseInt(java.lang.String)) says: > public static int parseInt(String s) throws NumberFormatException > Parses the string...
I think there's far too much fretting in this project about the impossibility of creating "one size fits all" solutions for tough problems, while at the same time dismissing as...
I don't see any option but 1. as being viable without a way to statically distinguish between a null-safe zero-length array argument and a null-unsafe positive-length array. If you want...