internal ObjectConstructor(LenientFunctionPrototype parent, LenientObjectPrototype prototypeProp) : base(parent, "Object", 1)
 {
     this.originalPrototype = prototypeProp;
     prototypeProp.constructor = this;
     base.proto = prototypeProp;
     base.noExpando = false;
 }
 internal ObjectConstructor(LenientFunctionPrototype parent, LenientObjectPrototype prototypeProp) : base(parent, "Object", 1)
 {
     this.originalPrototype    = prototypeProp;
     prototypeProp.constructor = this;
     base.proto     = prototypeProp;
     base.noExpando = false;
 }
 internal LenientBooleanPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent) : base(parent, typeof(LenientBooleanPrototype))
 {
     base.noExpando = false;
     Type type = typeof(BooleanPrototype);
     this.toString = new BuiltinFunction("toString", this, type.GetMethod("toString"), funcprot);
     this.valueOf = new BuiltinFunction("valueOf", this, type.GetMethod("valueOf"), funcprot);
 }
 internal LenientBooleanPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
   : base(parent, typeof(LenientBooleanPrototype)) {
   this.noExpando = false;
   //this.constructor is given a value by the proper constructor class
   Type super = typeof(BooleanPrototype);
   this.toString = new BuiltinFunction("toString", this, super.GetMethod("toString"), funcprot);
   this.valueOf = new BuiltinFunction("valueOf", this, super.GetMethod("valueOf"), funcprot);
 }
        internal LenientBooleanPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent) : base(parent, typeof(LenientBooleanPrototype))
        {
            base.noExpando = false;
            Type type = typeof(BooleanPrototype);

            this.toString = new BuiltinFunction("toString", this, type.GetMethod("toString"), funcprot);
            this.valueOf  = new BuiltinFunction("valueOf", this, type.GetMethod("valueOf"), funcprot);
        }
 internal LenientRegExpPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent) : base(parent)
 {
     base.noExpando = false;
     Type type = typeof(RegExpPrototype);
     this.compile = new BuiltinFunction("compile", this, type.GetMethod("compile"), funcprot);
     this.exec = new BuiltinFunction("exec", this, type.GetMethod("exec"), funcprot);
     this.test = new BuiltinFunction("test", this, type.GetMethod("test"), funcprot);
     this.toString = new BuiltinFunction("toString", this, type.GetMethod("toString"), funcprot);
 }
 internal LenientEnumeratorPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent) : base(parent)
 {
     base.noExpando = false;
     Type type = typeof(EnumeratorPrototype);
     this.atEnd = new BuiltinFunction("atEnd", this, type.GetMethod("atEnd"), funcprot);
     this.item = new BuiltinFunction("item", this, type.GetMethod("item"), funcprot);
     this.moveFirst = new BuiltinFunction("moveFirst", this, type.GetMethod("moveFirst"), funcprot);
     this.moveNext = new BuiltinFunction("moveNext", this, type.GetMethod("moveNext"), funcprot);
 }
 internal LenientEnumeratorPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
   : base(parent) {
   this.noExpando = false;
   //this.constructor is given a value by the constructor class
   Type super = typeof(EnumeratorPrototype);
   this.atEnd = new BuiltinFunction("atEnd", this, super.GetMethod("atEnd"), funcprot);
   this.item = new BuiltinFunction("item", this, super.GetMethod("item"), funcprot);
   this.moveFirst = new BuiltinFunction("moveFirst", this, super.GetMethod("moveFirst"), funcprot);
   this.moveNext = new BuiltinFunction("moveNext", this, super.GetMethod("moveNext"), funcprot);
 }
Exemple #9
0
        internal LenientBooleanPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
            : base(parent, typeof(LenientBooleanPrototype))
        {
            this.noExpando = false;
            //this.constructor is given a value by the proper constructor class
            Type super = typeof(BooleanPrototype);

            this.toString = new BuiltinFunction("toString", this, super.GetMethod("toString"), funcprot);
            this.valueOf  = new BuiltinFunction("valueOf", this, super.GetMethod("valueOf"), funcprot);
        }
        internal LenientEnumeratorPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent) : base(parent)
        {
            base.noExpando = false;
            Type type = typeof(EnumeratorPrototype);

            this.atEnd     = new BuiltinFunction("atEnd", this, type.GetMethod("atEnd"), funcprot);
            this.item      = new BuiltinFunction("item", this, type.GetMethod("item"), funcprot);
            this.moveFirst = new BuiltinFunction("moveFirst", this, type.GetMethod("moveFirst"), funcprot);
            this.moveNext  = new BuiltinFunction("moveNext", this, type.GetMethod("moveNext"), funcprot);
        }
 internal LenientVBArrayPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent) : base(funcprot, parent)
 {
     base.noExpando = false;
     Type type = typeof(VBArrayPrototype);
     this.dimensions = new BuiltinFunction("dimensions", this, type.GetMethod("dimensions"), funcprot);
     this.getItem = new BuiltinFunction("getItem", this, type.GetMethod("getItem"), funcprot);
     this.lbound = new BuiltinFunction("lbound", this, type.GetMethod("lbound"), funcprot);
     this.toArray = new BuiltinFunction("toArray", this, type.GetMethod("toArray"), funcprot);
     this.ubound = new BuiltinFunction("ubound", this, type.GetMethod("ubound"), funcprot);
 }
Exemple #12
0
        internal LenientRegExpPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent) : base(parent)
        {
            base.noExpando = false;
            Type type = typeof(RegExpPrototype);

            this.compile  = new BuiltinFunction("compile", this, type.GetMethod("compile"), funcprot);
            this.exec     = new BuiltinFunction("exec", this, type.GetMethod("exec"), funcprot);
            this.test     = new BuiltinFunction("test", this, type.GetMethod("test"), funcprot);
            this.toString = new BuiltinFunction("toString", this, type.GetMethod("toString"), funcprot);
        }
 internal LenientRegExpPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
   : base(parent) {
   this.noExpando = false;
   //this.constructor is given a value by the proper constructor class
   Type super = typeof(RegExpPrototype);
   this.compile = new BuiltinFunction("compile", this, super.GetMethod("compile"), funcprot);
   this.exec = new BuiltinFunction("exec", this, super.GetMethod("exec"), funcprot);
   this.test = new BuiltinFunction("test", this, super.GetMethod("test"), funcprot);
   this.toString = new BuiltinFunction("toString", this, super.GetMethod("toString"), funcprot);
 }
 internal LenientVBArrayPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
   : base(funcprot, parent) {
   this.noExpando = false;
   //this.constructor is given a value by the constructor class
   Type super = typeof(VBArrayPrototype);
   this.dimensions = new BuiltinFunction("dimensions", this, super.GetMethod("dimensions"), funcprot);
   this.getItem = new BuiltinFunction("getItem", this, super.GetMethod("getItem"), funcprot);
   this.lbound = new BuiltinFunction("lbound", this, super.GetMethod("lbound"), funcprot);
   this.toArray = new BuiltinFunction("toArray", this, super.GetMethod("toArray"), funcprot);
   this.ubound = new BuiltinFunction("ubound", this, super.GetMethod("ubound"), funcprot);
 }
Exemple #15
0
        internal LenientDatePrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
            : base(parent)
        {
            this.noExpando = false;

            //this.constructor is given a value by the proper constructor class
            Type super = typeof(DatePrototype);

            this.getTime            = new BuiltinFunction("getTime", this, super.GetMethod("getTime"), funcprot);
            this.getYear            = new BuiltinFunction("getYear", this, super.GetMethod("getYear"), funcprot);
            this.getFullYear        = new BuiltinFunction("getFullYear", this, super.GetMethod("getFullYear"), funcprot);
            this.getUTCFullYear     = new BuiltinFunction("getUTCFullYear", this, super.GetMethod("getUTCFullYear"), funcprot);
            this.getMonth           = new BuiltinFunction("getMonth", this, super.GetMethod("getMonth"), funcprot);
            this.getUTCMonth        = new BuiltinFunction("getUTCMonth", this, super.GetMethod("getUTCMonth"), funcprot);
            this.getDate            = new BuiltinFunction("getDate", this, super.GetMethod("getDate"), funcprot);
            this.getUTCDate         = new BuiltinFunction("getUTCDate", this, super.GetMethod("getUTCDate"), funcprot);
            this.getDay             = new BuiltinFunction("getDay", this, super.GetMethod("getDay"), funcprot);
            this.getUTCDay          = new BuiltinFunction("getUTCDay", this, super.GetMethod("getUTCDay"), funcprot);
            this.getHours           = new BuiltinFunction("getHours", this, super.GetMethod("getHours"), funcprot);
            this.getUTCHours        = new BuiltinFunction("getUTCHours", this, super.GetMethod("getUTCHours"), funcprot);
            this.getMinutes         = new BuiltinFunction("getMinutes", this, super.GetMethod("getMinutes"), funcprot);
            this.getUTCMinutes      = new BuiltinFunction("getUTCMinutes", this, super.GetMethod("getUTCMinutes"), funcprot);
            this.getSeconds         = new BuiltinFunction("getSeconds", this, super.GetMethod("getSeconds"), funcprot);
            this.getUTCSeconds      = new BuiltinFunction("getUTCSeconds", this, super.GetMethod("getUTCSeconds"), funcprot);
            this.getMilliseconds    = new BuiltinFunction("getMilliseconds", this, super.GetMethod("getMilliseconds"), funcprot);
            this.getUTCMilliseconds = new BuiltinFunction("getUTCMilliseconds", this, super.GetMethod("getUTCMilliseconds"), funcprot);
            this.getVarDate         = new BuiltinFunction("getVarDate", this, super.GetMethod("getVarDate"), funcprot);
            this.getTimezoneOffset  = new BuiltinFunction("getTimezoneOffset", this, super.GetMethod("getTimezoneOffset"), funcprot);
            this.setTime            = new BuiltinFunction("setTime", this, super.GetMethod("setTime"), funcprot);
            this.setMilliseconds    = new BuiltinFunction("setMilliseconds", this, super.GetMethod("setMilliseconds"), funcprot);
            this.setUTCMilliseconds = new BuiltinFunction("setUTCMilliseconds", this, super.GetMethod("setUTCMilliseconds"), funcprot);
            this.setSeconds         = new BuiltinFunction("setSeconds", this, super.GetMethod("setSeconds"), funcprot);
            this.setUTCSeconds      = new BuiltinFunction("setUTCSeconds", this, super.GetMethod("setUTCSeconds"), funcprot);
            this.setMinutes         = new BuiltinFunction("setMinutes", this, super.GetMethod("setMinutes"), funcprot);
            this.setUTCMinutes      = new BuiltinFunction("setUTCMinutes", this, super.GetMethod("setUTCMinutes"), funcprot);
            this.setHours           = new BuiltinFunction("setHours", this, super.GetMethod("setHours"), funcprot);
            this.setUTCHours        = new BuiltinFunction("setUTCHours", this, super.GetMethod("setUTCHours"), funcprot);
            this.setDate            = new BuiltinFunction("setDate", this, super.GetMethod("setDate"), funcprot);
            this.setUTCDate         = new BuiltinFunction("setUTCDate", this, super.GetMethod("setUTCDate"), funcprot);
            this.setMonth           = new BuiltinFunction("setMonth", this, super.GetMethod("setMonth"), funcprot);
            this.setUTCMonth        = new BuiltinFunction("setUTCMonth", this, super.GetMethod("setUTCMonth"), funcprot);
            this.setFullYear        = new BuiltinFunction("setFullYear", this, super.GetMethod("setFullYear"), funcprot);
            this.setUTCFullYear     = new BuiltinFunction("setUTCFullYear", this, super.GetMethod("setUTCFullYear"), funcprot);
            this.setYear            = new BuiltinFunction("setYear", this, super.GetMethod("setYear"), funcprot);
            this.toDateString       = new BuiltinFunction("toDateString", this, super.GetMethod("toDateString"), funcprot);
            this.toLocaleDateString = new BuiltinFunction("toLocaleDateString", this, super.GetMethod("toLocaleDateString"), funcprot);
            this.toLocaleString     = new BuiltinFunction("toLocaleString", this, super.GetMethod("toLocaleString"), funcprot);
            this.toLocaleTimeString = new BuiltinFunction("toLocaleTimeString", this, super.GetMethod("toLocaleTimeString"), funcprot);
            this.toGMTString        = new BuiltinFunction("toUTCString", this, super.GetMethod("toUTCString"), funcprot);
            this.toString           = new BuiltinFunction("toString", this, super.GetMethod("toString"), funcprot);
            this.toTimeString       = new BuiltinFunction("toTimeString", this, super.GetMethod("toTimeString"), funcprot);
            this.toUTCString        = new BuiltinFunction("toUTCString", this, super.GetMethod("toUTCString"), funcprot);
            this.valueOf            = new BuiltinFunction("valueOf", this, super.GetMethod("valueOf"), funcprot);
        }
        internal LenientVBArrayPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent) : base(funcprot, parent)
        {
            base.noExpando = false;
            Type type = typeof(VBArrayPrototype);

            this.dimensions = new BuiltinFunction("dimensions", this, type.GetMethod("dimensions"), funcprot);
            this.getItem    = new BuiltinFunction("getItem", this, type.GetMethod("getItem"), funcprot);
            this.lbound     = new BuiltinFunction("lbound", this, type.GetMethod("lbound"), funcprot);
            this.toArray    = new BuiltinFunction("toArray", this, type.GetMethod("toArray"), funcprot);
            this.ubound     = new BuiltinFunction("ubound", this, type.GetMethod("ubound"), funcprot);
        }
 internal LenientNumberPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent) : base(parent)
 {
     base.noExpando = false;
     Type type = typeof(NumberPrototype);
     this.toExponential = new BuiltinFunction("toExponential", this, type.GetMethod("toExponential"), funcprot);
     this.toFixed = new BuiltinFunction("toFixed", this, type.GetMethod("toFixed"), funcprot);
     this.toLocaleString = new BuiltinFunction("toLocaleString", this, type.GetMethod("toLocaleString"), funcprot);
     this.toPrecision = new BuiltinFunction("toPrecision", this, type.GetMethod("toPrecision"), funcprot);
     this.toString = new BuiltinFunction("toString", this, type.GetMethod("toString"), funcprot);
     this.valueOf = new BuiltinFunction("valueOf", this, type.GetMethod("valueOf"), funcprot);
 }
        internal LenientEnumeratorPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
            : base(parent)
        {
            this.noExpando = false;
            //this.constructor is given a value by the constructor class
            Type super = typeof(EnumeratorPrototype);

            this.atEnd     = new BuiltinFunction("atEnd", this, super.GetMethod("atEnd"), funcprot);
            this.item      = new BuiltinFunction("item", this, super.GetMethod("item"), funcprot);
            this.moveFirst = new BuiltinFunction("moveFirst", this, super.GetMethod("moveFirst"), funcprot);
            this.moveNext  = new BuiltinFunction("moveNext", this, super.GetMethod("moveNext"), funcprot);
        }
 internal LenientNumberPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
   : base(parent) {
   this.noExpando = false;
   //this.constructor is given a value by the proper constructor class
   Type super = typeof(NumberPrototype);
   this.toExponential = new BuiltinFunction("toExponential", this, super.GetMethod("toExponential"), funcprot);
   this.toFixed = new BuiltinFunction("toFixed", this, super.GetMethod("toFixed"), funcprot);
   this.toLocaleString = new BuiltinFunction("toLocaleString", this, super.GetMethod("toLocaleString"), funcprot);
   this.toPrecision = new BuiltinFunction("toPrecision", this, super.GetMethod("toPrecision"), funcprot);
   this.toString = new BuiltinFunction("toString", this, super.GetMethod("toString"), funcprot);
   this.valueOf = new BuiltinFunction("valueOf", this, super.GetMethod("valueOf"), funcprot);
 }
        internal LenientNumberPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent) : base(parent)
        {
            base.noExpando = false;
            Type type = typeof(NumberPrototype);

            this.toExponential  = new BuiltinFunction("toExponential", this, type.GetMethod("toExponential"), funcprot);
            this.toFixed        = new BuiltinFunction("toFixed", this, type.GetMethod("toFixed"), funcprot);
            this.toLocaleString = new BuiltinFunction("toLocaleString", this, type.GetMethod("toLocaleString"), funcprot);
            this.toPrecision    = new BuiltinFunction("toPrecision", this, type.GetMethod("toPrecision"), funcprot);
            this.toString       = new BuiltinFunction("toString", this, type.GetMethod("toString"), funcprot);
            this.valueOf        = new BuiltinFunction("valueOf", this, type.GetMethod("valueOf"), funcprot);
        }
Exemple #21
0
        internal LenientRegExpPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
            : base(parent)
        {
            this.noExpando = false;
            //this.constructor is given a value by the proper constructor class
            Type super = typeof(RegExpPrototype);

            this.compile  = new BuiltinFunction("compile", this, super.GetMethod("compile"), funcprot);
            this.exec     = new BuiltinFunction("exec", this, super.GetMethod("exec"), funcprot);
            this.test     = new BuiltinFunction("test", this, super.GetMethod("test"), funcprot);
            this.toString = new BuiltinFunction("toString", this, super.GetMethod("toString"), funcprot);
        }
   internal LenientDatePrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
     : base(parent) {
     this.noExpando = false;
 
     //this.constructor is given a value by the proper constructor class
     Type super = typeof(DatePrototype);
     this.getTime = new BuiltinFunction("getTime", this, super.GetMethod("getTime"), funcprot);
     this.getYear = new BuiltinFunction("getYear", this, super.GetMethod("getYear"), funcprot);
     this.getFullYear = new BuiltinFunction("getFullYear", this, super.GetMethod("getFullYear"), funcprot);
     this.getUTCFullYear = new BuiltinFunction("getUTCFullYear", this, super.GetMethod("getUTCFullYear"), funcprot);
     this.getMonth = new BuiltinFunction("getMonth", this, super.GetMethod("getMonth"), funcprot);
     this.getUTCMonth = new BuiltinFunction("getUTCMonth", this, super.GetMethod("getUTCMonth"), funcprot);
     this.getDate = new BuiltinFunction("getDate", this, super.GetMethod("getDate"), funcprot);
     this.getUTCDate = new BuiltinFunction("getUTCDate", this, super.GetMethod("getUTCDate"), funcprot);
     this.getDay = new BuiltinFunction("getDay", this, super.GetMethod("getDay"), funcprot);
     this.getUTCDay = new BuiltinFunction("getUTCDay", this, super.GetMethod("getUTCDay"), funcprot);
     this.getHours = new BuiltinFunction("getHours", this, super.GetMethod("getHours"), funcprot);
     this.getUTCHours = new BuiltinFunction("getUTCHours", this, super.GetMethod("getUTCHours"), funcprot);
     this.getMinutes = new BuiltinFunction("getMinutes", this, super.GetMethod("getMinutes"), funcprot);
     this.getUTCMinutes = new BuiltinFunction("getUTCMinutes", this, super.GetMethod("getUTCMinutes"), funcprot);
     this.getSeconds = new BuiltinFunction("getSeconds", this, super.GetMethod("getSeconds"), funcprot);
     this.getUTCSeconds = new BuiltinFunction("getUTCSeconds", this, super.GetMethod("getUTCSeconds"), funcprot);
     this.getMilliseconds = new BuiltinFunction("getMilliseconds", this, super.GetMethod("getMilliseconds"), funcprot);
     this.getUTCMilliseconds = new BuiltinFunction("getUTCMilliseconds", this, super.GetMethod("getUTCMilliseconds"), funcprot);
     this.getVarDate = new BuiltinFunction("getVarDate", this, super.GetMethod("getVarDate"), funcprot);
     this.getTimezoneOffset = new BuiltinFunction("getTimezoneOffset", this, super.GetMethod("getTimezoneOffset"), funcprot);
     this.setTime = new BuiltinFunction("setTime", this, super.GetMethod("setTime"), funcprot);
     this.setMilliseconds = new BuiltinFunction("setMilliseconds", this, super.GetMethod("setMilliseconds"), funcprot);
     this.setUTCMilliseconds = new BuiltinFunction("setUTCMilliseconds", this, super.GetMethod("setUTCMilliseconds"), funcprot);
     this.setSeconds = new BuiltinFunction("setSeconds", this, super.GetMethod("setSeconds"), funcprot);
     this.setUTCSeconds = new BuiltinFunction("setUTCSeconds", this, super.GetMethod("setUTCSeconds"), funcprot);
     this.setMinutes = new BuiltinFunction("setMinutes", this, super.GetMethod("setMinutes"), funcprot);
     this.setUTCMinutes = new BuiltinFunction("setUTCMinutes", this, super.GetMethod("setUTCMinutes"), funcprot);
     this.setHours = new BuiltinFunction("setHours", this, super.GetMethod("setHours"), funcprot);
     this.setUTCHours = new BuiltinFunction("setUTCHours", this, super.GetMethod("setUTCHours"), funcprot);
     this.setDate = new BuiltinFunction("setDate", this, super.GetMethod("setDate"), funcprot);
     this.setUTCDate = new BuiltinFunction("setUTCDate", this, super.GetMethod("setUTCDate"), funcprot);
     this.setMonth = new BuiltinFunction("setMonth", this, super.GetMethod("setMonth"), funcprot);
     this.setUTCMonth = new BuiltinFunction("setUTCMonth", this, super.GetMethod("setUTCMonth"), funcprot);
     this.setFullYear = new BuiltinFunction("setFullYear", this, super.GetMethod("setFullYear"), funcprot);
     this.setUTCFullYear = new BuiltinFunction("setUTCFullYear", this, super.GetMethod("setUTCFullYear"), funcprot);
     this.setYear = new BuiltinFunction("setYear", this, super.GetMethod("setYear"), funcprot);
     this.toDateString = new BuiltinFunction("toDateString", this, super.GetMethod("toDateString"), funcprot);
     this.toLocaleDateString = new BuiltinFunction("toLocaleDateString", this, super.GetMethod("toLocaleDateString"), funcprot);
     this.toLocaleString = new BuiltinFunction("toLocaleString", this, super.GetMethod("toLocaleString"), funcprot);
     this.toLocaleTimeString = new BuiltinFunction("toLocaleTimeString", this, super.GetMethod("toLocaleTimeString"), funcprot);
     this.toGMTString = new BuiltinFunction("toUTCString", this, super.GetMethod("toUTCString"), funcprot);
     this.toString = new BuiltinFunction("toString", this, super.GetMethod("toString"), funcprot);
     this.toTimeString = new BuiltinFunction("toTimeString", this, super.GetMethod("toTimeString"), funcprot);
     this.toUTCString = new BuiltinFunction("toUTCString", this, super.GetMethod("toUTCString"), funcprot);
     this.valueOf = new BuiltinFunction("valueOf", this, super.GetMethod("valueOf"), funcprot);
   }
        internal LenientVBArrayPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
            : base(funcprot, parent)
        {
            this.noExpando = false;
            //this.constructor is given a value by the constructor class
            Type super = typeof(VBArrayPrototype);

            this.dimensions = new BuiltinFunction("dimensions", this, super.GetMethod("dimensions"), funcprot);
            this.getItem    = new BuiltinFunction("getItem", this, super.GetMethod("getItem"), funcprot);
            this.lbound     = new BuiltinFunction("lbound", this, super.GetMethod("lbound"), funcprot);
            this.toArray    = new BuiltinFunction("toArray", this, super.GetMethod("toArray"), funcprot);
            this.ubound     = new BuiltinFunction("ubound", this, super.GetMethod("ubound"), funcprot);
        }
        internal LenientNumberPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
            : base(parent)
        {
            this.noExpando = false;
            //this.constructor is given a value by the proper constructor class
            Type super = typeof(NumberPrototype);

            this.toExponential  = new BuiltinFunction("toExponential", this, super.GetMethod("toExponential"), funcprot);
            this.toFixed        = new BuiltinFunction("toFixed", this, super.GetMethod("toFixed"), funcprot);
            this.toLocaleString = new BuiltinFunction("toLocaleString", this, super.GetMethod("toLocaleString"), funcprot);
            this.toPrecision    = new BuiltinFunction("toPrecision", this, super.GetMethod("toPrecision"), funcprot);
            this.toString       = new BuiltinFunction("toString", this, super.GetMethod("toString"), funcprot);
            this.valueOf        = new BuiltinFunction("valueOf", this, super.GetMethod("valueOf"), funcprot);
        }
        internal LenientStringPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
            : base(funcprot, parent)
        {
            this.noExpando = false;

            //this.constructor is given a value by the proper constructor class
            Type super = typeof(StringPrototype);

            this.anchor            = new BuiltinFunction("anchor", this, super.GetMethod("anchor"), funcprot);
            this.big               = new BuiltinFunction("big", this, super.GetMethod("big"), funcprot);
            this.blink             = new BuiltinFunction("blink", this, super.GetMethod("blink"), funcprot);
            this.bold              = new BuiltinFunction("bold", this, super.GetMethod("bold"), funcprot);
            this.charAt            = new BuiltinFunction("charAt", this, super.GetMethod("charAt"), funcprot);
            this.charCodeAt        = new BuiltinFunction("charCodeAt", this, super.GetMethod("charCodeAt"), funcprot);
            this.concat            = new BuiltinFunction("concat", this, super.GetMethod("concat"), funcprot);
            this.@fixed            = new BuiltinFunction("fixed", this, super.GetMethod("fixed"), funcprot);
            this.fontcolor         = new BuiltinFunction("fontcolor", this, super.GetMethod("fontcolor"), funcprot);
            this.fontsize          = new BuiltinFunction("fontsize", this, super.GetMethod("fontsize"), funcprot);
            this.indexOf           = new BuiltinFunction("indexOf", this, super.GetMethod("indexOf"), funcprot);
            this.italics           = new BuiltinFunction("italics", this, super.GetMethod("italics"), funcprot);
            this.lastIndexOf       = new BuiltinFunction("lastIndexOf", this, super.GetMethod("lastIndexOf"), funcprot);
            this.link              = new BuiltinFunction("link", this, super.GetMethod("link"), funcprot);
            this.localeCompare     = new BuiltinFunction("localeCompare", this, super.GetMethod("localeCompare"), funcprot);
            this.match             = new BuiltinFunction("match", this, super.GetMethod("match"), funcprot);
            this.replace           = new BuiltinFunction("replace", this, super.GetMethod("replace"), funcprot);
            this.search            = new BuiltinFunction("search", this, super.GetMethod("search"), funcprot);
            this.slice             = new BuiltinFunction("slice", this, super.GetMethod("slice"), funcprot);
            this.small             = new BuiltinFunction("small", this, super.GetMethod("small"), funcprot);
            this.split             = new BuiltinFunction("split", this, super.GetMethod("split"), funcprot);
            this.strike            = new BuiltinFunction("strike", this, super.GetMethod("strike"), funcprot);
            this.sub               = new BuiltinFunction("sub", this, super.GetMethod("sub"), funcprot);
            this.substr            = new BuiltinFunction("substr", this, super.GetMethod("substr"), funcprot);
            this.substring         = new BuiltinFunction("substring", this, super.GetMethod("substring"), funcprot);
            this.sup               = new BuiltinFunction("sup", this, super.GetMethod("sup"), funcprot);
            this.toLocaleLowerCase = new BuiltinFunction("toLocaleLowerCase", this, super.GetMethod("toLocaleLowerCase"), funcprot);
            this.toLocaleUpperCase = new BuiltinFunction("toLocaleUpperCase", this, super.GetMethod("toLocaleUpperCase"), funcprot);
            this.toLowerCase       = new BuiltinFunction("toLowerCase", this, super.GetMethod("toLowerCase"), funcprot);
            this.toString          = new BuiltinFunction("toString", this, super.GetMethod("toString"), funcprot);
            this.toUpperCase       = new BuiltinFunction("toUpperCase", this, super.GetMethod("toUpperCase"), funcprot);
            this.valueOf           = new BuiltinFunction("valueOf", this, super.GetMethod("valueOf"), funcprot);
        }
 internal LenientStringPrototype(LenientFunctionPrototype funcprot, LenientObjectPrototype parent)
   : base(funcprot, parent) {
   this.noExpando = false;
   
   //this.constructor is given a value by the proper constructor class
   Type super = typeof(StringPrototype);
   this.anchor = new BuiltinFunction("anchor", this, super.GetMethod("anchor"), funcprot);
   this.big = new BuiltinFunction("big", this, super.GetMethod("big"), funcprot);
   this.blink = new BuiltinFunction("blink", this, super.GetMethod("blink"), funcprot);
   this.bold = new BuiltinFunction("bold", this, super.GetMethod("bold"), funcprot);
   this.charAt = new BuiltinFunction("charAt", this, super.GetMethod("charAt"), funcprot);
   this.charCodeAt = new BuiltinFunction("charCodeAt", this, super.GetMethod("charCodeAt"), funcprot);
   this.concat = new BuiltinFunction("concat", this, super.GetMethod("concat"), funcprot);
   this.@fixed = new BuiltinFunction("fixed", this, super.GetMethod("fixed"), funcprot);
   this.fontcolor = new BuiltinFunction("fontcolor", this, super.GetMethod("fontcolor"), funcprot);
   this.fontsize = new BuiltinFunction("fontsize", this, super.GetMethod("fontsize"), funcprot);
   this.indexOf = new BuiltinFunction("indexOf", this, super.GetMethod("indexOf"), funcprot);
   this.italics = new BuiltinFunction("italics", this, super.GetMethod("italics"), funcprot);
   this.lastIndexOf = new BuiltinFunction("lastIndexOf", this, super.GetMethod("lastIndexOf"), funcprot);
   this.link = new BuiltinFunction("link", this, super.GetMethod("link"), funcprot);
   this.localeCompare = new BuiltinFunction("localeCompare", this, super.GetMethod("localeCompare"), funcprot);
   this.match = new BuiltinFunction("match", this, super.GetMethod("match"), funcprot);
   this.replace = new BuiltinFunction("replace", this, super.GetMethod("replace"), funcprot);
   this.search = new BuiltinFunction("search", this, super.GetMethod("search"), funcprot);
   this.slice = new BuiltinFunction("slice", this, super.GetMethod("slice"), funcprot);
   this.small = new BuiltinFunction("small", this, super.GetMethod("small"), funcprot);
   this.split = new BuiltinFunction("split", this, super.GetMethod("split"), funcprot);
   this.strike = new BuiltinFunction("strike", this, super.GetMethod("strike"), funcprot);
   this.sub = new BuiltinFunction("sub", this, super.GetMethod("sub"), funcprot);
   this.substr = new BuiltinFunction("substr", this, super.GetMethod("substr"), funcprot);
   this.substring = new BuiltinFunction("substring", this, super.GetMethod("substring"), funcprot);
   this.sup = new BuiltinFunction("sup", this, super.GetMethod("sup"), funcprot);
   this.toLocaleLowerCase = new BuiltinFunction("toLocaleLowerCase", this, super.GetMethod("toLocaleLowerCase"), funcprot);
   this.toLocaleUpperCase = new BuiltinFunction("toLocaleUpperCase", this, super.GetMethod("toLocaleUpperCase"), funcprot);
   this.toLowerCase = new BuiltinFunction("toLowerCase", this, super.GetMethod("toLowerCase"), funcprot);
   this.toString = new BuiltinFunction("toString", this, super.GetMethod("toString"), funcprot);
   this.toUpperCase = new BuiltinFunction("toUpperCase", this, super.GetMethod("toUpperCase"), funcprot);
   this.valueOf = new BuiltinFunction("valueOf", this, super.GetMethod("valueOf"), funcprot);
 }