[Laszlo-dev] DeclareEvent(s) going away

P T Withington ptw at openlaszlo.org
Mon Nov 5 08:17:51 PST 2007


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