.lzo's are just zip archives of partially-compiled lzx. You can "open" them with zip. If you compile them with the --debug flag, the javascript code will be less obfuscated, which can make it easier to debug compiler bugs.
The format of the archive is an LZX interface specification followed by the compressed javascript implementation of that interface, and if you have compiled for a particular runtime, the runtime-specific linkable library of that. Your particular bug here sounds like an over-zealous compiler warning. The interface spec looks just like a normal LZX module with classes, but all the methods will be empty. They must be declared so the final link/compile knows the API's of the Javascript implementation. I suspect there is an empty setter declaration that is meant to be an interface. If the compiler is checking for a body in the setter in the parsing phase rather than the compilation phase, I could see how this error could occur. The compiler should only check when it is actually asked to compile the setter (which should be never, in an lzo -- the setter should already exist in the javascript. Sorry for the long-winded description. Hope that helps you pinpoint the bug. On 2011-11-15, at 02:57, Raju Bitter wrote: > I have a complex application I'm working on. When I compile the app > without LZOs, the compilation works just fine. > > Here's the directory structure: > > canvas.lzx > ./components > ./components/library.lzx > ./components/mixins/library.lzx > ./components/classes/library.lzx > > I wan to compile " ./components/classes/library.lzx" into an LZO. The > classes in folder " ./components/classes/" use some mixins in the > folder "./components/mixins/". So my idea was to > > 1) first compile the mixins into an LZO > lzc -c --runtime=swf10,dhtml ./components/mixins/library.lzx > Generates library.lzo into folder ./components/mixins/ > If I recompile canvas.lzx with the mixins LZO, the compiler does not > show any warning. > > 2) then compile the classes library into an LZO > lzc -c --runtime=swf10,dhtml ./components/classes/library.lzx > The library.lzx includes > <include href="../mixins/library.lzx" /> > > The LZO file is compiled, by now when I compile the canvas.lzx, I get > the following compiler warnings > ./components/classes/library.lzo:1599:25: Refusing to compile an empty setter > > How can I debug this? Can I "look" into the LZO to find what happened?
