On Thu, Dec 11, 2008 at 5:12 PM, BobV <b...@google.com> wrote: > My original solution to the ClassCircularityError was to implement > an ASM visitor that added or modified a class's static initializer to > call over to CCL.injectJsni(). This ensured that the Class was > fully-reified before any attempt at dispId assignment was attempted. > Even though it is mechanically more complicated than performing > injection from within findClass(), it is conceptually easier to reason > about the timing. >
I think this also fits well with Instant Hosted Mode, though it seems a large enough chunk of work to perhaps wait for higher-priority tasks. I assume this would work for non-OOPHM hosted mode as well, right? > Given that we now require the user to specify all modules to be > loaded on the command-line of hosted mode, it is now feasible to > compute all JSNI code that might be reachable from the entry point. > As long as we're careful not to prematurely trigger class > initialization, we could inject all JSNI in one fell swoop, but at the > cost of injecting more code than we otherwise would into the browser. > That is only true once we abandon GwtShell, right? -- John A. Tamplin Software Engineer (GWT), Google --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---