incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Newman <Capta...@unFocus.com>
Subject Re: FalconJS "Demo" checked in
Date Wed, 28 Nov 2012 20:32:45 GMT
It looks like adobe.js is using the constructor method as a kind of 
marker function, and compiling the actual constructor into the 'init' 
method (which is weird IMHO, since you can inherit from the parent 
constructor, and protect the prototype chain without calling the 
constructor via other means - and many AS3 classes may already 
legitimately be using an init method for other purposes, creating a 
collision).

So, the adobe.extend( 'name', SuperRef ) - the SuperRef is the marker 
function, and when you call extend it should be invoking the super 
constructor (line 88 in adobe.js).

For methods, if a method name exists on parent, and also exists on 
child, the extend method is adding a closure, which will preserve, and 
then invoke the parent's method in _super() (line 75 in adobe.js).

I didn't notice any place in the example code where super was invoked 
directly, so I'm not sure how Falcon handles that.

 From a quick look anyway.

Kevin N.


On 11/28/12 2:54 PM, Daniel Wasilewski wrote:
> Can any JS savvy person here tell me how according to adobe.js module 
> pattern call super? I just lost my head..., got 3 classes extending 
> each other and the only top one call init(); I am preparing those 
> performance tests for comparison.
>
> Dan


Mime
View raw message