summaryrefslogtreecommitdiff
path: root/src/arguments/default/cls-expr-gen-meth.template
blob: 28073d5a198fedf7012189c8b1dff5b5f1a1c80d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Copyright (C) 2017 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
path: language/arguments-object/cls-expr-gen-meth-
name: class expression generator method
esid: sec-arguments-exotic-objects
info: |
    9.4.4 Arguments Exotic Objects

    Most ECMAScript functions make an arguments object available to their code. Depending upon the
    characteristics of the function definition, its arguments object is either an ordinary object
    or an arguments exotic object.
features: [generators]
---*/

var callCount = 0;
var C = class {
  *method() {
    /*{ body }*/
    callCount = callCount + 1;
  }
};

C.prototype.method(/*{ args }*/).next();

// Stores a reference `ref` for case evaluation
var ref = C.prototype.method;

assert.sameValue(callCount, 1, 'method invoked exactly once');