Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

`super` inconstistencies #193

Closed
vendethiel opened this Issue · 3 comments

2 participants

@vendethiel
class A
  b: -> super ...
  "c": -> super ...
  "#d": -> super ...

I think this is by "design" (is that "inconsistency by design" ?), because IIRC this was the reason dynamic keys were removed from coffee
Still, I think #d": -> super ... should compile to

  prototype["" + d] = function(){
    return superclass.prototype["" + d].apply(this, arguments);
  };

or maybe ?

  key$ = "" + d;
  prototype[key$] = function(){
    return superclass.prototype["" + key$].apply(this, arguments);
  };

Is there a special reason for this ? Is something relying on this ?

@satyr
Owner

Is there a special reason for this ?

Lazy me not feeling like implementing caching, is all. Patches welcome.

IIRC this was the reason dynamic keys were removed from coffee

The real reason was more like distaste for general complexity. Coffee doesn't properly handle dynamic cases nonetheless:

$ coffee -bce 'A[f()] = -> super'
TypeError: Cannot read property 'name' of null
    at Scope.exports.Scope.Scope.namedMethod (/usr/local/lib/coffee-script/lib/cof
@vendethiel

I'd gladly do that if I had any understanding of coco's interns.
I thought that it was from this: but I don't know how to cache it. Should this be done in the Obj class ?

      while not scope.get \superclass and scope.fun, scope.=parent
        return \superclass.prototype + Index that .compile o if that.meth
@satyr satyr closed this in 5771465
@vendethiel

Ah, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.