On Thu, Jul 23, 2009 at 6:37 PM, Alen Vrecko <[email protected]> wrote:

> I am thinking that the TypeOracleClassLoader would define the client
> classes minus the client classes of the generator. In the example the
> special CL would include FooModule and MyInjector but not @GinModules
> since it is part of the generator. Should by any chance @GinModules be
> loaded in the TOCL and returned by MyInjector the Generator would fail
> with ClassCastException since it is expecting @GinModules loaded from
> SystemCL. At least this is to my understanding of CL.



> Besides
> reloading parts of the generator code, this includes the generator
> client code, I think that we agree is better to leave it out.
>

1) A generator uses the SystemCL.  Not recommended because it won't see
changes in client code unless hot-replace is working.

2) A generator uses TypeOracle.  Recommended; changes are picked up on
refresh.

3) A generator uses the TypeOracleClassLoader.  Useful for interacting with
reflection-based code, changes are picked up on refresh.

I see no reason to support #1 in any way, or worry about mixed-use for #1
and #3.


> Besides
> reloading parts of the generator code, this includes the generator
> client code, I think that we agree is better to leave it out.
>

Let's make sure we can separate the two different issues we've discussed in
this thread..

A) Changing the code of a generator doesn't pick up changes on refresh.

B) Generators reflecting on client code don't see changes to client code on
refresh.

We're talking here about how to solve B with no regard for A.

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to