groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jochen Theodorou <blackd...@gmx.org>
Subject Re: Determining the registered DGM classes at runtime
Date Sun, 08 Apr 2018 18:16:46 GMT
On 08.04.2018 18:51, C├ędric Champeau wrote:
> 2018-04-06 22:42 GMT+02:00 Jochen Theodorou <blackdrag@gmx.org 
> <mailto:blackdrag@gmx.org>>:
> 
>     ah sorry, I was not explaining right...
> 
>     I was going to suggest something similar to what you probably
>     already have found, which is
>     StaticTypeCheckingSupport.EXTENSION_METHOD_CACHE.getExtensionMethods(ClassLoader)
>     but for some reason I do not understand the constant is protected
>     and the type for it is a private static inner class... which means
>     nobody can use this really. bummer. So maybe patch that and make it
>     public? See GROOVY-8536 for this
> 
> 
> It is private because it was never meant for external consumption. It's 
> much easier to evolve an API/internals if things are kept private.

sure, but then why make EXTENSION_METHOD_CACHE protected? This is 
contradicting

> Look 
> at the nightmare of people using internal APIs in Gradle and you'll 
> understand what I mean: the more the API is open, the bigger the surface 
> is, and the higher the risk to break consumers when you want to change 
> an implementation detail is.
> 
> So we _could_ make this API public, but then it means adding test 
> coverage and making sure we stabilize the API, if it ever makes sense.

for IDE plugins having an infrastructure like there absolutely makes 
sense. I can also see some joint compilation usages for this

bye Jochen



Mime
View raw message