Exemple #1
0
 internal SetPrototype(
     Engine engine,
     Realm realm,
     SetConstructor setConstructor,
     ObjectPrototype objectPrototype) : base(engine, realm)
 {
     _prototype   = objectPrototype;
     _constructor = setConstructor;
 }
        public static SetPrototype CreatePrototypeObject(Engine engine, SetConstructor mapConstructor)
        {
            var obj = new SetPrototype(engine)
            {
                _prototype      = engine.Object.PrototypeObject,
                _mapConstructor = mapConstructor
            };

            return(obj);
        }
Exemple #3
0
        public static SetConstructor CreateSetConstructorTemplate(string name, Engine engine)
        {
            var ctr = new SetConstructor(engine, name);

            ctr.Extensible = true;

            // The value of the [[Prototype]] internal property of the Set constructor is the Function prototype object
            ctr.Prototype       = engine.Function.PrototypeObject;
            ctr.PrototypeObject = SetPrototype.CreatePrototypeObject(engine, ctr);

            ctr.SetOwnProperty("length", new PropertyDescriptor(0, PropertyFlag.Configurable));
            return(ctr);
        }
Exemple #4
0
        public static SetPrototype CreatePrototypeObject(Engine engine, SetConstructor mapConstructor)
        {
            var obj = new SetPrototype(engine)
            {
                Extensible = true,
                Prototype  = engine.Object.PrototypeObject
            };

            obj.SetOwnProperty("length", new PropertyDescriptor(0, PropertyFlag.Configurable));
            obj.SetOwnProperty("constructor", new PropertyDescriptor(mapConstructor, PropertyFlag.NonEnumerable));

            return(obj);
        }
        public static SetConstructor CreateSetConstructor(Engine engine)
        {
            var obj = new SetConstructor(engine)
            {
                _prototype = engine.Function.PrototypeObject
            };

            // The value of the [[Prototype]] internal property of the Set constructor is the Function prototype object
            obj.PrototypeObject = SetPrototype.CreatePrototypeObject(engine, obj);

            obj._length = new PropertyDescriptor(0, PropertyFlag.Configurable);

            // The initial value of Set.prototype is the Set prototype object
            obj._prototypeDescriptor = new PropertyDescriptor(obj.PrototypeObject, PropertyFlag.AllForbidden);

            return(obj);
        }