// ECMA 13.2.2 [[Construct]] ConstructType JSFunction::getConstructData(JSCell* cell, ConstructData& constructData) { JSFunction* thisObject = jsCast<JSFunction*>(cell); if (thisObject->isBuiltinFunction()) return ConstructTypeNone; if (thisObject->isHostFunction()) { constructData.native.function = thisObject->nativeConstructor(); return ConstructTypeHost; } constructData.js.functionExecutable = thisObject->jsExecutable(); constructData.js.scope = thisObject->scope(); return ConstructTypeJS; }