public static FunctionConstructor CreateFunctionConstructor(Engine engine) { var obj = new FunctionConstructor(engine); obj.Extensible = true; // The initial value of Function.prototype is the standard built-in Function prototype object obj.PrototypeObject = FunctionPrototype.CreatePrototypeObject(engine); // The value of the [[Prototype]] internal property of the Function constructor is the standard built-in Function prototype object obj.Prototype = obj.PrototypeObject; obj.FastAddProperty("prototype", obj.PrototypeObject, false, false, false); obj.FastAddProperty("length", 1, false, false, false); return obj; }
public static FunctionConstructor CreateFunctionConstructor(Engine engine) { var obj = new FunctionConstructor(engine) { PrototypeObject = FunctionPrototype.CreatePrototypeObject(engine) }; // The initial value of Function.prototype is the standard built-in Function prototype object // The value of the [[Prototype]] internal property of the Function constructor is the standard built-in Function prototype object obj._prototype = obj.PrototypeObject; obj._prototypeDescriptor = new PropertyDescriptor(obj.PrototypeObject, PropertyFlag.AllForbidden); obj._length = new PropertyDescriptor(JsNumber.One, PropertyFlag.Configurable); return(obj); }
public static FunctionConstructor CreateFunctionConstructor(Engine engine) { var obj = new FunctionConstructor(engine); obj.Extensible = true; // The initial value of Function.prototype is the standard built-in Function prototype object obj.PrototypeObject = FunctionPrototype.CreatePrototypeObject(engine); // The value of the [[Prototype]] internal property of the Function constructor is the standard built-in Function prototype object obj.Prototype = obj.PrototypeObject; obj.SetOwnProperty("prototype", new PropertyDescriptor(obj.PrototypeObject, PropertyFlag.AllForbidden)); obj.SetOwnProperty("length", new PropertyDescriptor(1, PropertyFlag.AllForbidden)); return(obj); }
public static FunctionConstructor CreateFunctionConstructor(Engine engine) { var obj = new FunctionConstructor(engine); obj.Extensible = true; // The initial value of Function.prototype is the standard built-in Function prototype object obj.PrototypeObject = FunctionPrototype.CreatePrototypeObject(engine); // The value of the [[Prototype]] internal property of the Function constructor is the standard built-in Function prototype object obj.Prototype = obj.PrototypeObject; obj.FastAddProperty("prototype", obj.PrototypeObject, false, false, false); obj.FastAddProperty("length", 1, false, false, false); return(obj); }