On Wed, 8 May 2024 08:59:18 GMT, Pavel Rappo <[email protected]> wrote:
>> src/java.base/share/classes/java/io/Console.java line 192:
>>
>>> 190: *
>>> 191: * @param prompt
>>> 192: * A prompt string.
>>
>> Hello Pavel, should this specify whether `prompt` can be null?
>
> If we specify that, it would be very much unlike all other `Console` methods
> that are covered by this:
>
> * Unless otherwise specified, passing a {@code null} argument to any
> method
> * in this class will cause a {@link NullPointerException} to be thrown.
I haven't given it a try, but a brief look at the code suggests that if the
console implementation backed by JLine gets used, then a `null` prompt may not
generate a `NullPointerException` (since JLine appears to allow `null`) whereas
if the internal JDK console implementation gets used then a
`NullPointerException` will get thrown. If the expectation is to disallow a
`null` prompt, then perhaps `Objects.requireNonNull(prompt)` before we hand off
to the underlying console implementations might be required.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19112#discussion_r1593809280