[I am going to check this in and start a build for Yuwen to test against. I've verified that lztest passes and that I can lzo-compile future/lzmail/main.lzx, which is where it was failing for Yuwen previously. Obviously there is more testing to be done on his part to verify things function correctly. Henry, I'd still like your technical review; and thanks for the help in tracking this down!]
Change ptw-20110127-5Th by [email protected] on 2011-01-27 11:03:43 EST in /Users/ptw/OpenLaszlo/trunk-3 for http://svn.openlaszlo.org/openlaszlo/trunk Summary: Record compilation of mixin to interface in an LZO in the LZO schema Bugs Fixed: LPP-9691 Child nodes not created for instance classes when created in LZO Technical Reviewer: [email protected] (pending) QA Reviewer: [email protected] (pending) Overview: Mixins have to be written out as 'interfaces' so that all the interstitials that implement them can refer to them in their 'implements' clause, but we can't have more than one copy, so when we write them into and LZO, we need some way to communicate that to the linker. The solution implemented here is to write out to the LZO schema the mixin as a mixin (so clients of the LZO can compute interstitials) and also as an interface, to indicate that the interface is already in the LZO script and should not be re-emitted at link time. Details: Transformer: Checkpointing some experimental work done while debugging this issue for future use. GenericVisitor: Improve assertion ViewSchema: An interface that duplicates a mixin indicates the mixin has already been compiled. ClassModel: For mixins, output both the mixin and the corresponding interface to LZO's. Always compile mixins to (script) interfaces. Tests: ant lztest, Jade compile: (cd client; ant -Drelease.id=999 build-libraries; cd future/lzmail; lzc --debug main.lzx) Files: M WEB-INF/lps/server/src/org/openlaszlo/sc/Transformer.java M WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java M WEB-INF/lps/server/src/org/openlaszlo/sc/GenericVisitor.java M WEB-INF/lps/server/src/org/openlaszlo/compiler/ViewSchema.java M WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassModel.java Changeset: http://svn.openlaszlo.org/openlaszlo/patches/ptw-20110127-5Th.tar
