[Laszlo-dev] DeclareEvent(s) going away

Benjamin Shine ben at laszlosystems.com
Mon Nov 5 11:54:55 PST 2007


Well, the part that requires cygwin is the script to invoke firefox.  
By running bash in os x, you get around the cygwin requirement.  
Clever and also disturbing.


On Nov 5, 2007, at 11:45 AM, P T Withington wrote:

> Well, I ran it.
>
> Bizarrely, it launched Firefox in Parallels, and ran all the  
> browser tests there.
>
> It passed.  So, I think we are ok.
>
> [But, it sure is amusing that you can't run the tests because you  
> are on Windows and when I run the tests they run in Windows, even  
> though I am on a Mac!]
>
> On 2007-11-05, at 14:27 EST, Philip Romanik wrote:
>
>> Hi Ben,
>>
>> It's not such a massive change. I can't run runlzunit because my  
>> development platform is native Windows. Perhaps you can give it a  
>> whack.
>>
>> Thanks!
>>
>> Phil
>>
>>
>>
>>>
>>> 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