with corrections below:

On Jun 20, 2011, at 9:09 AM, Allen Wirfs-Brock wrote:

> I actually have a solution in mind for this.
> 
> Under the current proposal, a method containing super is "statically bound" 
> to a specific object that provides the [[Prototype]] base for the "super" 
> property lookup.  This is normally done by defining the method in the context 
> of an object literal or class declaration.  If you want to define a method 
> containing super outside such a context you still need to provide the 
> necessary binding.
> 
> What I have in mind is adding a reflection function for doing that:
> 
> let f= function () {return "sub-"+super.f()};
> f();  //TypeError -- super unbound
> 
> let sup = {foo() {return "super hello"}};
> let sub = sup <| {};
> 
> Object.defineMethod(sub,"foo",f);   //adds f as property named "foo" of sub.  
> binds super for f
> 
> sub.f(); // sub-super hello
> 
> 
> 
> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to