/** * Copyright (c) 2012-2016 André Bargull * Alle Rechte vorbehalten / All Rights Reserved. Use is subject to license terms. * * <https://github.com/anba/es6draft> */ package com.github.anba.es6draft.runtime.types; import com.github.anba.es6draft.runtime.ExecutionContext; /** * <h1>6 ECMAScript Data Types and Values</h1><br> * <h2>6.1 ECMAScript Language Types</h2><br> * <h3>6.1.7 The Object Type</h3> * <ul> * <li>6.1.7.2 Object Internal Methods and Internal Slots * </ul> * <p> * Internal Method: [[Construct]] */ public interface Constructor extends ScriptObject, Callable { /** * [[Construct]] * * @param callerContext * the caller's execution context * @param args * the constructor function arguments * @return the new script object */ default ScriptObject construct(ExecutionContext callerContext, Object... args) { return construct(callerContext, this, args); } /** * [[Construct]] * * @param callerContext * the caller's execution context * @param newTarget * the constructor to which the {@code new} operator was initially applied * @param args * the constructor function arguments * @return the new script object */ ScriptObject construct(ExecutionContext callerContext, Constructor newTarget, Object... args); }