Merge branch '1840' into 1840_invocation_prototype_prop_access
This commit is contained in:
commit
8762e37e58
|
@ -141,7 +141,7 @@
|
|||
}), o('Value Accessor', function() {
|
||||
return $1.add($2);
|
||||
}), o('Invocation Accessor', function() {
|
||||
return new Value($1, [$2]);
|
||||
return new Value($1, [].concat($2));
|
||||
}), o('ThisProperty')
|
||||
],
|
||||
Assignable: [
|
||||
|
|
|
@ -140,7 +140,7 @@ case 62:this.$ = new yy.Value($$[$0]);
|
|||
break;
|
||||
case 63:this.$ = $$[$0-1].add($$[$0]);
|
||||
break;
|
||||
case 64:this.$ = new yy.Value($$[$0-1], [$$[$0]]);
|
||||
case 64:this.$ = new yy.Value($$[$0-1], [].concat($$[$0]));
|
||||
break;
|
||||
case 65:this.$ = $$[$0];
|
||||
break;
|
||||
|
|
|
@ -218,7 +218,7 @@ grammar =
|
|||
SimpleAssignable: [
|
||||
o 'Identifier', -> new Value $1
|
||||
o 'Value Accessor', -> $1.add $2
|
||||
o 'Invocation Accessor', -> new Value $1, [$2]
|
||||
o 'Invocation Accessor', -> new Value $1, [].concat $2
|
||||
o 'ThisProperty'
|
||||
]
|
||||
|
||||
|
|
|
@ -506,3 +506,15 @@ test "#1416: don't omit one 'new' when compiling 'new new fn()()'", ->
|
|||
eq obj.prop, nonce
|
||||
eq obj.a, argNonceA
|
||||
eq obj.b, argNonceB
|
||||
|
||||
test "#1840: accessing the `prototype` after function invocation should compile", ->
|
||||
doesNotThrow -> CoffeeScript.compile 'fn()::prop'
|
||||
|
||||
nonce = {}
|
||||
class Test then id: nonce
|
||||
|
||||
dotAccess = -> Test::
|
||||
protoAccess = -> Test
|
||||
|
||||
eq dotAccess().id, nonce
|
||||
eq protoAccess()::id, nonce
|
||||
|
|
Loading…
Reference in New Issue