commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luc Maisonobe <>
Subject Re: [weaver]/[bcel] WAS [privilizer] promotion plan
Date Wed, 05 Dec 2012 10:16:51 GMT
Hi all,

Le 04/12/2012 23:54, Matt Benson a écrit :
> Well, it looks like the most comfortable avenue for everyone is Commons
> [weaver].  IMO [weaver] would look like a framework for implementing any
> kind of code weaving, so the most important decision is the look of the
> API, and it would seem that eating our own dog food would be appropriate in
> Commons.  Thus I would propose that [weaver] be built on top of [BCEL], and
> I would think it likely that we might provide a nice (fluent?) API for
> common code modifications.
> Firstly, does anyone object to using [BCEL] as [weaver]'s foundation?;
> secondly, can anyone tell me what (Java 7?) features [BCEL] currently
> lacks?; thirdly, does any of us already have the expertise to add these?

The [nabla] project also needs bytecode engineering. I don't know if it
would fit within [weaver] API as it is really specific. It creates
completely new classes using exisitng classes as templates, and the new
classes generated methods contain deep modifications of the original
methods (data flow analysis, types change, signatures changed, binding
between generated and original methods and fields ...). Long ago, when
[nabla] was only a personal project not yet contributed to commons, I
used [BCEL] as the underlying bytecode engineering library. I finally
switched to ASM as the [BCEL] API  was not sufficient for some of my
needs, whereas ASM was a perfect fit.

Once again, I'm not sure if [nabla] could benefit from [weaver], so this
comment may not be relevant in the discussion.

best regards,

> Thanks,
> Matt
> On Fri, Nov 30, 2012 at 6:35 AM, Emmanuel Bourg <> wrote:
>> Le 29/11/2012 19:12, Matt Benson a écrit :
>>> This would go back to the idea of something like a BCEL library
>>> (notwithstanding the fact that the existing privilizer code does not use
>>> BCEL).
>> For such a component BCEL would be an implementation detail, so I don't
>> think it should be a sub part of BCEL.
>> If an annotation equivalent to @SwingInvokeLater can be added to the
>> project I would be highly interested in using it.
>> As for the name of the component, what about Commons Weaver ?
>> Emmanuel Bourg

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message