On Thu, 23 May 2024 09:05:09 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:

>> Alternatively, if a utility method is overkill, we can inline these to 
>> `Executable`:
>> 
>> public Class<?>[] getParameterTypes() {
>>     var shared = getSharedParameterTypes();
>>     return shared.length == 0 ? shared : shared.clone();
>> }
>> 
>> And the overrides in `Method` and `Constructor` will simply call super; the 
>> declarations are kept to preserve the API documentation.
>
> I had to read JLS to confirm that changing the `abstract` method to 
> non-abstract one does not break compatibility. 
> 
> I am still thinking that we are overthinking this: the 
> readability/maintainability benefits for introducing a one-liner utility 
> method are slim at best. I believe we are spending the disproportionate time 
> on this. So if we cannot agree where to put the utility method -- which 
> implies there is no good place for it -- let's not do it at all. Inline the 
> ternary selector in 4 affected places, and be done with it.

I've reverted to ternary logic.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19327#discussion_r1611628951

Reply via email to