On Tue, 8 Sep 2026 16:07:10 GMT, Pavel Rappo <[email protected]> wrote:

>> Right. No good way to express `--inverse ===> (--package || --require || 
>> --regex)` but `(--package || --require || --regex) =/=> --inverse` without 
>> some convoluted wording. I guess `must` is good enough. I see you fixed the 
>> `directly and indirectly` wording in the man page too.
>
>>  I see you fixed the directly and indirectly wording in the man page too.
> 
> I changed "directly and indirectly" to "directly or indirectly" where 
> applicable throughout the jdeps documentation.
> 
> English is not my L1, but I believe that in technical (and maybe general) 
> writing words OR and AND mean pretty much the same as their math 
> counterparts: OR is for union, AND is for intersection.
> 
> If we want to state that something is true whether the dependence is direct 
> or indirect, we use OR. If we want to state that something is true if 
> dependence is both direct and indirect we use AND.
> 
> Now, I can't recall off the top of my head if there are cases like that, but 
> I would be surprised if something in Java modules was only true when 
> dependence is both direct and indirect. That might not be the case for other 
> constructs. For example, compare with this wording for annotations:
> 
>      * If annotations of
>      * the annotation type {@code annotationClass} are found to be both
>      * directly and indirectly present, then {@link
>      * #getDeclaredAnnotations()} will get called to determine the
>      * order of the elements in the returned array.
> 
> Note that the above sentence uses "both" to be extra clear.
> 
> The point is "or" is the correct word here.

FWIW, jmod has the same issues regarding AND/OR, but I didn't touch it in this 
PR.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/32701#discussion_r3959929708

Reply via email to