public static RegExpPrototype CreatePrototypeObject(Engine engine, RegExpConstructor regExpConstructor) { var obj = new RegExpPrototype(engine); obj.Prototype = engine.Object.PrototypeObject; obj.Extensible = true; obj.FastAddProperty("constructor", regExpConstructor, true, false, true); return obj; }
public static RegExpConstructor CreateRegExpConstructor(Engine engine) { var obj = new RegExpConstructor(engine); obj.Extensible = true; // The value of the [[Prototype]] internal property of the RegExp constructor is the Function prototype object obj.Prototype = engine.Function.PrototypeObject; obj.PrototypeObject = RegExpPrototype.CreatePrototypeObject(engine, obj); obj.FastAddProperty("length", 2, false, false, false); // The initial value of RegExp.prototype is the RegExp prototype object obj.FastAddProperty("prototype", obj.PrototypeObject, false, false, false); return obj; }
public static RegExpConstructor CreateRegExpConstructor(Engine engine) { var obj = new RegExpConstructor(engine) { _prototype = engine.Function.PrototypeObject }; // The value of the [[Prototype]] internal property of the RegExp constructor is the Function prototype object obj.PrototypeObject = RegExpPrototype.CreatePrototypeObject(engine, obj); obj._length = new PropertyDescriptor(2, PropertyFlag.AllForbidden); // The initial value of RegExp.prototype is the RegExp prototype object obj._prototypeDescriptor = new PropertyDescriptor(obj.PrototypeObject, PropertyFlag.AllForbidden); return(obj); }
public static RegExpConstructor CreateRegExpConstructor(Engine engine) { var obj = new RegExpConstructor(engine); obj.Extensible = true; // The value of the [[Prototype]] internal property of the RegExp constructor is the Function prototype object obj.Prototype = engine.Function.PrototypeObject; obj.PrototypeObject = RegExpPrototype.CreatePrototypeObject(engine, obj); obj.FastAddProperty("length", 2, false, false, false); // The initial value of RegExp.prototype is the RegExp prototype object obj.FastAddProperty("prototype", obj.PrototypeObject, false, false, false); return(obj); }
public static RegExpConstructor CreateRegExpConstructor(Engine engine) { var obj = new RegExpConstructor(engine); obj.Extensible = true; // The value of the [[Prototype]] internal property of the RegExp constructor is the Function prototype object obj.Prototype = engine.Function.PrototypeObject; obj.PrototypeObject = RegExpPrototype.CreatePrototypeObject(engine, obj); obj.SetOwnProperty("length", new PropertyDescriptor(2, PropertyFlag.AllForbidden)); // The initial value of RegExp.prototype is the RegExp prototype object obj.SetOwnProperty("prototype", new PropertyDescriptor(obj.PrototypeObject, PropertyFlag.AllForbidden)); return(obj); }