Thanks for the update Alex. I assume from this description (and please don't take this the wrong way) that you are happy to be left alone to work on this for the moment, rather than it be read as a call for help?
Keep up the good work. Tim Alex Blewitt wrote: > I'm still lurking around in the background, but I'm busier than ever > what with having to keep posting at EclipseZone where I'm editor now > ... but I'm still managing to plod along with the Pack200 code. The > last patch (1994, IIRC) went down pretty badly; the subclipse plugin > didn't seem to capture all the newly created classes that I had put > together for a bit of refactoring that I did. It's also a nightmare > submitting newly created files; once they've been uploaded to JIRA > into the patch queue, I effectively have to stop work until they're > applied, because there's no way of getting SVN to figure out that the > file called ClassFile.java is the same as the ClassFile.java that's > been added by someone else on my behalf, and I have to overwrite my > local copy to update. Kinda prevents doing any sensible work on newly > created files between submission and application to be honest. > > Instead, I plan to sprint (well, jog, at least) to the next stable > point, and then upload a whole wodge of code and leave it for a week > or two to be applied before picking up again. I'm fairly close to > being at that stage, but not quite. Where I am at is being able to > generate (abstract) methods with exceptions and fields with constant > (integer) values, so a bit further forward than last time. On the one > hand, it means that I understand what needs to be done (no mean feat!) > but on the other hand, there's still a fair bit to go. For a start, > I'm going to need to process the actual bytecode for non-abstract > methods (or indeed, any classes) before there's any point in it trying > to be used for real, and there's still a few missing bits (Longs, > Doubles, Floats) from the constant pools. I'm pretty sure Strings > would work, but I've not tried them yet. > > Unfortunately, the code is really awful. The Segment.java is getting > on for 1500 lines of code in a single class; and the attribute parsing > contains both duplicated code and isn't as generic as it needs to be > to handle other attributes; and the (in)visible annotations like > @Overrides and similar are going to be a bit of a nightmare ... > > My plan is to get the code to a stage where it can start to be useful > for extracting simple classes from a pack file, and then start > generating test data which can be used for regressions. (There's a bit > there at the moment, but it's not exactly a large coverage.) Once I've > done that, I'll start tackling some of the refactoring which will > result in less duplicated code and hopefully something that will be > easier to look after in the future. > > Anyway, excuse the long rambling but I've been a bit quiet for a while > and wanted to let people know I was still alive and kicking the code > :-) > > Alex. > -- Tim Ellison ([EMAIL PROTECTED]) IBM Java technology centre, UK.