Hello Matthias and All!

>> Of course, it's good to remember that this code exists only because of
>> the lack of a good in memory compiler. This could change.

mecc> Class org.eclipse.jdt.internal.compiler.Compiler in combination with
mecc> org.apache.cocoon.components.language.programming.java.EclipseJavaCompiler
mecc> provide a load-from-context-classloader compiler, independent of the
mecc> filesystem. The latter can be easily turned into an ant CompilerAdapter.

mecc> I've once briefly browsed the javac source, that one couldn't even easily
mecc> be adapted.

What if we:

Create a special classloader. Teach this classloader not to
delegate loading of java.io to its parent classloader.

Load java.io except for 
  File, FileInputStream, FileOutputStream
directly from rt.jar.

Load our own implementations of
  File, FileInputStream, FileOutputStream
to create own own "virtual" fs.

Load tools.jar with this classloader too.

This way we may fool javac and use it as an
in-process load-from-context-classloader compiler.

We may use for instance a ThreadLocal variable
to short-circuit our in-house reiplementations
of File* to the classloader and a sink accepting
compiled classes.

The only question I have: does sun licsense allow
us to legimately do this?

Anton


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to