[Laszlo-dev] DeclareEvent(s) going away

Mamye Kratt mamye at laszlosystems.com
Mon Nov 5 13:29:38 PST 2007


Please put the QA request in the bug in the test section.

m
----- Original Message ----- 
From: "Benjamin Shine" <ben at laszlosystems.com>
To: "P T Withington" <ptw at openlaszlo.org>
Cc: "Laszlo-dev bug reporting" <laszlo-dev at openlaszlo.org>
Sent: Monday, November 05, 2007 1:55 PM
Subject: Re: [Laszlo-dev] DeclareEvent(s) going away


> 
> Wow. Massive.
> 
> Phil, I see you're the QA reviewer. Can you please run "ant  
> runlzunit" before checking it in? (That does lztest plus runs a lot  
> of lzunit tests in the browser in both runtimes.)
> 
> Once this is checked in, I think the interactive demos should be  
> given a once-over by QA; this change touches so much code that it is  
> more likely to contain problems, despite the impeccable quality of  
> Tucker's code.
> 
> -ben
> 
> 
> 
> On Nov 5, 2007, at 8:17 AM, P T Withington wrote:
> 
>> I am about to check in a change that removes DeclareEvent and  
>> DeclareEvents.  These were private functions, so no API change  
>> review is needed.  I am removing these to support my fix for  
>> LPP-4997, but also because these functions were dynamically adding  
>> attributes to a class at run time, which impacts performance in  
>> JS2.  If you are working in the LFC or writing a class in <script>  
>> you will no longer say:
>>
>> class ... {
>>   ...
>>   DeclareEvent(prototype, 'onSomething');
>>   ...
>> }
>>
>> Instead you should simply declare the event property like any other  
>> instance variable, but give it a proper initial value:
>>
>> class ... {
>>   ...
>>   var onSomething = LzDeclaredEvent;
>>   ...
>> }
>>
>> Eventually, we will want to give these proper type declarations (as  
>> soon as Don gives us the go-ahead).  Events are a non-nullable  
>> type.  Perhaps we should change the way you specify a null event  
>> though?  Something like:
>>
>> class ... {
>>   ...
>>   var onSomething:LzEvent = LzEvent.nullEvent;
>>   ...
>> }
>>
>> Thoughts?
>>
>> ---
>>
>> Note:  There are no changes to the usage of LZX <event> tag.  The  
>> compiler will automatically translate the <event> tag to the new JS  
>> format.
> 
>


More information about the Laszlo-dev mailing list