Let me clarify some more;

It happens when one Mixin is abstract, and inadvertently inherits the
Activatable interface, but has no implementation for it.

So, what is the implementation to do when the mixin class implements
one of the internal classes (Activatable, Initializable and
Lifecycle), but doesn't provide an implementation?

I think; Generate a NoOp method, instead of the delegation to the
TransientInstance is what is needed.

So by modifying the code generation part of the missing method, so
that IF it is an internal Qi4j method, then simply generate RETURN.

if( isInternalQi4jMethod( method, baseClass ) )
{
    // generate a NoOp method...
    // All methods has no parameters and no return values.
    mv.visitInsn( RETURN );
}
else
{
     // The regular code generation stuff...


Well, with this change, my problem is solved and all existing
testcases are still working.


HOWEVER; When coming to the Swing Tools (Envisage) build, the build
system ran out of memory (OoME), which it didn't without this change.
Does this indicate some kind of leak that is happening. Is it
something need to worry about?


Cheers
-- 
Niclas Hedhman, Software Developer
http://www.qi4j.org - New Energy for Java

I live here; http://tinyurl.com/3xugrbk
I work here; http://tinyurl.com/24svnvk
I relax here; http://tinyurl.com/2cgsug

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to