[Laszlo-dev] DeclareEvent(s) going away

Benjamin Shine ben at laszlosystems.com
Mon Nov 5 10:55:01 PST 2007


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