| // Copyright (C) 2015 the V8 project authors. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| /*--- |
| es6id: 9.5.15 |
| description: > |
| A Proxy exotic object only accepts a constructor call if target is |
| constructor. |
| info: | |
| Proxy ( target, handler ) |
| |
| 7. If IsCallable(target) is true, then |
| b. If target has a [[Construct]] internal method, then |
| i. Set the [[Construct]] internal method of P as specified in |
| 9.5.14. |
| ... |
| |
| 12.3.3.1.1 Runtime Semantics: EvaluateNew(constructProduction, arguments) |
| |
| 8. If IsConstructor (constructor) is false, throw a TypeError exception. |
| ---*/ |
| |
| var p = new Proxy(eval, {}); |
| |
| p(); // the Proxy object is callable |
| |
| assert.throws(TypeError, function() { |
| new p(); |
| }); |