Henry has found a small change we can make in LibraryWriter that will solve the 
immediate problem.

I'm going to add that to my patch, do some tests and will re-submit for review.

For now, "The Cavalry" can stand down (and get back to their real tasks).

Thanks for your help!

On 2011-01-27, at 12:39, Donald Anderson wrote:

> I can look also, if it makes sense for both of us to check.
> 
> On Jan 27, 2011, at 11:57 AM, Henry Minsky wrote:
> 
>> I will take a look. 
>> 
>> 
>> On Thu, Jan 27, 2011 at 11:14 AM, P T Withington <[email protected]> wrote:
>> I have a change that is very close to solving the LZO problem, but is still 
>> failing the lzo regression test in `ant lztest`. I could use some help, 
>> because I have banged my head against this for 2 days with no progress.
>> 
>> The symptom is:
>> 
>>>     [exec] js: "test/lztest/lztest-lzo-main.js", line 547: uncaught 
>>> JavaScript runtime exception: ReferenceError: "$lzc$class_lzomixin" is not 
>>> defined.
>> 
>> There is an interstitial class being created that implements the `lzomixin` 
>> class.  I've put in print statements and can see that the compiler is 
>> compiling the `lzomixin` class before the interstitial class, yet in the 
>> resulting .js file, it is textually later!?!?! and as a result, bombs 
>> because it is not defined before used.
>> 
>> I'm pulling my hair out trying to figure out how the stuff could end up in 
>> the output file in a different order than how the Schema compiler writes it. 
>>  I fooled myself thinking that the script compiler re-ordered classes when 
>> it wrote them, but I can't find any such code anywhere.
>> 
>> Any chance you guys could take a look at this change and see if you can 
>> track it 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: Only emit mixins as interfaces when linking
>> 
>> 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)
>> 
>> Details:
>> 
>>   Mixins eventually 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 we can't write them into an LZO.  Instead, we have to notice
>>   when we are linking and write them out then.
>> 
>> Tests:
>>   ant lztest
>> 
>> Files:
>> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ClassModel.java
>> 
>> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/ptw-20110127-5Th.tar
>> 
>> 
>> 
>> -- 
>> Henry Minsky
>> Software Architect
>> [email protected]
>> 
>> 
> 
> 
> --
> 
> Don Anderson
> Java/C/C++, Berkeley DB, systems consultant
> 
> voice: 617-306-2057
> email: [email protected]
> www: http://www.ddanderson.com
> blog: http://libdb.wordpress.com
> 
> 
> 
> 
> 


Reply via email to