text: var BUGNUMBER = 924672;
  var summary = 'Method Definitions - Generators'
  
  //print(BUGNUMBER + ": " + summary);
  
  // Function definitions.
  function syntaxError (script) {
      try {
          Function(script);
      } catch (e) {
          if (e instanceof SyntaxError) {
              return;
          }
      }
      throw new Error('Expected syntax error: ' + script);
  }
  
  
  // Tests begin.
  
  syntaxError("{*a(){}}");
  syntaxError("b = {*(){}");
  syntaxError("b = {*{}");
  syntaxError("b = {*){}");
  syntaxError("b = {*({}");
  syntaxError("b = {*(){");
  syntaxError("b = {*()}");
  syntaxError("b = {*a(");
  syntaxError("b = {*a)");
  syntaxError("b = {*a(}");
  syntaxError("b = {*a)}");
  syntaxError("b = {*a()");
  syntaxError("b = {*a()}");
  syntaxError("b = {*a(){}");
  syntaxError("b = {*a){}");
  syntaxError("b = {*a}}");
  syntaxError("b = {*a{}}");
  syntaxError("b = {*a({}}");
  syntaxError("b = {*a@(){}}");
  syntaxError("b = {*@(){}}");
  syntaxError("b = {*get a(){}}");
  syntaxError("b = {get *a(){}}");
  syntaxError("b = {get a*(){}}");
  syntaxError("b = {*set a(c){}}");
  syntaxError("b = {set *a(c){}}");
  syntaxError("b = {set a*(c){}}");
  syntaxError("b = {*a : 1}");
  syntaxError("b = {a* : 1}");
  syntaxError("b = {a :* 1}");
  syntaxError("b = {a*(){}}");
  
  // Generator methods.
  b = { * g() {
      var a = { [yield 1]: 2, [yield 2]: 3};
      return a;
  } }
  var it = b.g();
  var next = it.next();
  assertEq(next.done, false);
  assertEq(next.value, 1);
  next = it.next("hello");
  assertEq(next.done, false);
  assertEq(next.value, 2);
  next = it.next("world");
  assertEq(next.done, true);
  assertEq(next.value.hello, 2);
  assertEq(next.value.world, 3);
  
  // prototype property
  assertEq(b.g.hasOwnProperty("prototype"), true);
  
  // Strict mode
  a = {*b(c){"use strict";yield c;}};
  assertEq(a.b(1).next().value, 1);
  a = {*["b"](c){"use strict";return c;}};
  assertEq(a.b(1).next().value, 1);
  
  // Generators should not have [[Construct]]
  a = {*g() { yield 1; }}
  assertThrowsInstanceOf(() => { new a.g }, TypeError);
  
  if (typeof reportCompare === 'function')
      reportCompare(0, 0, "ok");
  