Planned features of a classfile context object

Brian Goetz brian.goetz at oracle.com
Fri May 26 15:21:22 UTC 2023


Thanks Adam.  I'll have a look.

As a quick observation, for purposes of discussion and review, I might 
consider separating out the option refactor from the Classfile context 
refactor; the two seem almost completely orthogonal.

On 5/26/2023 11:18 AM, Adam Sotona wrote:
>
> This is a raw prototype of Classfile.Context implementation and the 
> new options:
>
> https://github.com/openjdk/jdk/pull/14180/files
>
> https://github.com/openjdk/jdk/blob/4456ca78bc67138930dc313f71aba58ef1cf5f13/src/java.base/share/classes/jdk/internal/classfile/Classfile.java
>
> It is far from finished, however before going further I would 
> appreciate your comments (mainly on options naming).
>
> Thanks,
>
> Adam
>
> *From: *Brian Goetz <brian.goetz at oracle.com>
> *Date: *Thursday, 25 May 2023 20:31
> *To: *Adam Sotona <adam.sotona at oracle.com>, liangchenblue at gmail.com 
> <liangchenblue at gmail.com>, classfile-api-dev 
> <classfile-api-dev at openjdk.org>
> *Subject: *Re: Planned features of a classfile context object
>
> A model created within a context can retain a reference to its 
> creating context.  (We do a lot of this sort of thing already, where 
> MethodModel retains a reference to ClassModel, and where CPBuilder 
> retains a reference to Options.)  So for operations that require a 
> context, a model derived from a classfile can use the context that 
> created it.
>
> Methods like parse/build/transform will be moved to the classfile 
> context object.
>
> On 5/25/2023 2:02 PM, Adam Sotona wrote:
>
>     I’m trying to figure out how the context will be passed down to
>     the models (if it suppose to be detached from the models).
>
>     Do we plan to enforce another CC argument to all models methods
>     requiring context?
>
>     Or do we plan to strip down all context-sensitive methods from all
>     models and attach them to a kind of context-wrappers?
>
>     For example codeModel.forEach(Classfile.Context.of(…), …) or
>     Classfile.Context.of(…).forEach(codeModel, …) ?
>
>     Thanks,
>
>     Adam
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/classfile-api-dev/attachments/20230526/4012865b/attachment.htm>


More information about the classfile-api-dev mailing list