1// Copyright 2013-2015 the V8 project authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5(function(global, utils) { 6 7'use strict'; 8 9%CheckIsBootstrapping(); 10 11// ------------------------------------------------------------------- 12// Imports 13 14var GlobalReflect = global.Reflect; 15var MakeTypeError; 16var ReflectApply = utils.ImportNow("reflect_apply"); 17var ReflectConstruct = utils.ImportNow("reflect_construct"); 18 19utils.Import(function(from) { 20 MakeTypeError = from.MakeTypeError; 21}); 22 23// ------------------------------------------------------------------- 24 25function ReflectEnumerate(obj) { 26 if (!IS_RECEIVER(obj)) 27 throw MakeTypeError(kCalledOnNonObject, "Reflect.enumerate") 28 return (function* () { for (var x in obj) yield x })(); 29} 30 31utils.InstallFunctions(GlobalReflect, DONT_ENUM, [ 32 "apply", ReflectApply, 33 "construct", ReflectConstruct, 34 "enumerate", ReflectEnumerate 35]); 36 37}) 38