On Tue, Dec 7, 2010 at 3:11 PM, <[email protected]> wrote: > On 2010/12/07 13:53:13, alexander.mitin wrote: >> >> You cannot build the TypeOracle using the class bytes using the > > classpath only, >> >> because of the re-rooted resources which have no compiled classes near > > the >> >> source file. > > Good point. I'm using this method of getting byteCode just for the > purposes of exercising the TypeOracle build from byteCode that wasn't > generated by JDT. The assumption is we will have to be smart about > finding the resources needed to add to the TypeOracle just as we do > today with source code - that logic isn't a part of this patch.
IHM specifically excluded any super-source class or those containing JSNI from loading from bytecode, and you still have the issue of getting parameter names from interfaces/abstract methods. Also, you should be aware that if the bytecode loaded from the classpath is not from JDT, you will get subtle differences. In particular, synthetic classes/members were an issue, and especially if you refresh you need to make sure to refresh all the class files from the same compilation unit as things break badly if you mix classes from different compilers within a compilation unit. > Our hope is that by using bytecode, we can delegate the work of building > the information we need in the TypeOracle to some process that will run > before DevMode or WebMode is invoked - such as an Eclipse plugin or a > java compiler frontend. This sounds like IHM -- have you looked at the code in that branch? Basically it was working other than running into issues around synthetic code differences between javac/JDT that caused large apps to fail. -- John A. Tamplin Software Engineer (GWT), Google -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
