Constructor.cs 675 B

1234567891011121314151617181920212223
  1. using Jint.Native.Object;
  2. using Jint.Runtime;
  3. namespace Jint.Native;
  4. public abstract class Constructor : Function.Function, IConstructor
  5. {
  6. protected Constructor(Engine engine, string name) : this(engine, engine.Realm, new JsString(name))
  7. {
  8. }
  9. internal Constructor(Engine engine, Realm realm, JsString name) : base(engine, realm, name)
  10. {
  11. }
  12. protected internal override JsValue Call(JsValue thisObject, JsCallArguments arguments)
  13. {
  14. Throw.TypeError(_realm, $"Constructor {_nameDescriptor?.Value} requires 'new'");
  15. return null;
  16. }
  17. public abstract ObjectInstance Construct(JsCallArguments arguments, JsValue newTarget);
  18. }