as_value number_ctor(const fn_call& fn) { double val = 0; if (fn.nargs > 0) { val = toNumber(fn.arg(0), getVM(fn)); } if (!fn.isInstantiation()) { return as_value(val); } fn.this_ptr->setRelay(new Number_as(val)); return as_value(); }