Search in sources :

Example 1 with MathObject

use of com.github.anba.es6draft.runtime.objects.number.MathObject in project es6draft by anba.

the class Realm method initializeStandardObjects.

/**
     * <h1>19.3, 19.4, 19.5, 20, 21, 22.1, 24.3</h1>
     * 
     * Standard built-in objects
     * 
     * @param realm
     *            the realm instance
     */
private static void initializeStandardObjects(Realm realm) {
    EnumMap<Intrinsics, OrdinaryObject> intrinsics = realm.intrinsics;
    // allocation phase
    ArrayConstructor arrayConstructor = new ArrayConstructor(realm);
    ArrayPrototype arrayPrototype = new ArrayPrototype(realm);
    ArrayIteratorPrototype arrayIteratorPrototype = new ArrayIteratorPrototype(realm);
    StringConstructor stringConstructor = new StringConstructor(realm);
    StringPrototype stringPrototype = new StringPrototype(realm);
    StringIteratorPrototype stringIteratorPrototype = new StringIteratorPrototype(realm);
    SymbolConstructor symbolConstructor = new SymbolConstructor(realm);
    SymbolPrototype symbolPrototype = new SymbolPrototype(realm);
    BooleanConstructor booleanConstructor = new BooleanConstructor(realm);
    BooleanPrototype booleanPrototype = new BooleanPrototype(realm);
    NumberConstructor numberConstructor = new NumberConstructor(realm);
    NumberPrototype numberPrototype = new NumberPrototype(realm);
    MathObject mathObject = new MathObject(realm);
    DateConstructor dateConstructor = new DateConstructor(realm);
    DatePrototype datePrototype = new DatePrototype(realm);
    RegExpConstructor regExpConstructor = new RegExpConstructor(realm);
    RegExpPrototype regExpPrototype = new RegExpPrototype(realm);
    ErrorConstructor errorConstructor = new ErrorConstructor(realm);
    ErrorPrototype errorPrototype = new ErrorPrototype(realm);
    JSONObject jsonObject = new JSONObject(realm);
    IteratorPrototype iteratorPrototype = new IteratorPrototype(realm);
    // registration phase
    intrinsics.put(Intrinsics.Array, arrayConstructor);
    intrinsics.put(Intrinsics.ArrayPrototype, arrayPrototype);
    intrinsics.put(Intrinsics.ArrayIteratorPrototype, arrayIteratorPrototype);
    intrinsics.put(Intrinsics.String, stringConstructor);
    intrinsics.put(Intrinsics.StringPrototype, stringPrototype);
    intrinsics.put(Intrinsics.StringIteratorPrototype, stringIteratorPrototype);
    intrinsics.put(Intrinsics.Symbol, symbolConstructor);
    intrinsics.put(Intrinsics.SymbolPrototype, symbolPrototype);
    intrinsics.put(Intrinsics.Boolean, booleanConstructor);
    intrinsics.put(Intrinsics.BooleanPrototype, booleanPrototype);
    intrinsics.put(Intrinsics.Number, numberConstructor);
    intrinsics.put(Intrinsics.NumberPrototype, numberPrototype);
    intrinsics.put(Intrinsics.Math, mathObject);
    intrinsics.put(Intrinsics.Date, dateConstructor);
    intrinsics.put(Intrinsics.DatePrototype, datePrototype);
    intrinsics.put(Intrinsics.RegExp, regExpConstructor);
    intrinsics.put(Intrinsics.RegExpPrototype, regExpPrototype);
    intrinsics.put(Intrinsics.Error, errorConstructor);
    intrinsics.put(Intrinsics.ErrorPrototype, errorPrototype);
    intrinsics.put(Intrinsics.JSON, jsonObject);
    intrinsics.put(Intrinsics.IteratorPrototype, iteratorPrototype);
    // initialization phase
    arrayConstructor.initialize(realm);
    arrayPrototype.initialize(realm);
    arrayIteratorPrototype.initialize(realm);
    stringConstructor.initialize(realm);
    stringPrototype.initialize(realm);
    stringIteratorPrototype.initialize(realm);
    symbolConstructor.initialize(realm);
    symbolPrototype.initialize(realm);
    booleanConstructor.initialize(realm);
    booleanPrototype.initialize(realm);
    numberConstructor.initialize(realm);
    numberPrototype.initialize(realm);
    mathObject.initialize(realm);
    dateConstructor.initialize(realm);
    datePrototype.initialize(realm);
    regExpConstructor.initialize(realm);
    regExpPrototype.initialize(realm);
    errorConstructor.initialize(realm);
    errorPrototype.initialize(realm);
    jsonObject.initialize(realm);
    iteratorPrototype.initialize(realm);
    // Array.prototype.values is also an intrinsic
    Object arrayPrototypeValues = arrayPrototype.lookupOwnProperty("values").getValue();
    intrinsics.put(Intrinsics.ArrayProto_values, (OrdinaryObject) arrayPrototypeValues);
    if (realm.isEnabled(CompatibilityOption.StringMatchAll)) {
        RegExpStringIteratorPrototype regExpStringIteratorPrototype = new RegExpStringIteratorPrototype(realm);
        intrinsics.put(Intrinsics.RegExpStringIteratorPrototype, regExpStringIteratorPrototype);
        regExpStringIteratorPrototype.initialize(realm);
    }
}
Also used : NumberPrototype(com.github.anba.es6draft.runtime.objects.number.NumberPrototype) TypedArrayPrototype(com.github.anba.es6draft.runtime.objects.binary.TypedArrayPrototype) DatePrototype(com.github.anba.es6draft.runtime.objects.date.DatePrototype) DateConstructor(com.github.anba.es6draft.runtime.objects.date.DateConstructor) StringConstructor(com.github.anba.es6draft.runtime.objects.text.StringConstructor) RegExpConstructor(com.github.anba.es6draft.runtime.objects.text.RegExpConstructor) StringIteratorPrototype(com.github.anba.es6draft.runtime.objects.text.StringIteratorPrototype) AsyncIteratorPrototype(com.github.anba.es6draft.runtime.objects.async.iteration.AsyncIteratorPrototype) RegExpStringIteratorPrototype(com.github.anba.es6draft.runtime.objects.text.RegExpStringIteratorPrototype) IteratorPrototype(com.github.anba.es6draft.runtime.objects.iteration.IteratorPrototype) OrdinaryObject(com.github.anba.es6draft.runtime.types.builtins.OrdinaryObject) StringIteratorPrototype(com.github.anba.es6draft.runtime.objects.text.StringIteratorPrototype) RegExpStringIteratorPrototype(com.github.anba.es6draft.runtime.objects.text.RegExpStringIteratorPrototype) NumberConstructor(com.github.anba.es6draft.runtime.objects.number.NumberConstructor) TypedArrayConstructor(com.github.anba.es6draft.runtime.objects.binary.TypedArrayConstructor) StringPrototype(com.github.anba.es6draft.runtime.objects.text.StringPrototype) RegExpPrototype(com.github.anba.es6draft.runtime.objects.text.RegExpPrototype) Intrinsics(com.github.anba.es6draft.runtime.types.Intrinsics) ScriptObject(com.github.anba.es6draft.runtime.types.ScriptObject) SystemObject(com.github.anba.es6draft.runtime.objects.reflect.SystemObject) AtomicsObject(com.github.anba.es6draft.runtime.objects.atomics.AtomicsObject) MathObject(com.github.anba.es6draft.runtime.objects.number.MathObject) ReflectObject(com.github.anba.es6draft.runtime.objects.reflect.ReflectObject) IntlObject(com.github.anba.es6draft.runtime.objects.intl.IntlObject) OrdinaryObject(com.github.anba.es6draft.runtime.types.builtins.OrdinaryObject) ArrayObject(com.github.anba.es6draft.runtime.types.builtins.ArrayObject) RealmObject(com.github.anba.es6draft.runtime.objects.reflect.RealmObject) MathObject(com.github.anba.es6draft.runtime.objects.number.MathObject) RegExpStringIteratorPrototype(com.github.anba.es6draft.runtime.objects.text.RegExpStringIteratorPrototype)

Aggregations

AsyncIteratorPrototype (com.github.anba.es6draft.runtime.objects.async.iteration.AsyncIteratorPrototype)1 AtomicsObject (com.github.anba.es6draft.runtime.objects.atomics.AtomicsObject)1 TypedArrayConstructor (com.github.anba.es6draft.runtime.objects.binary.TypedArrayConstructor)1 TypedArrayPrototype (com.github.anba.es6draft.runtime.objects.binary.TypedArrayPrototype)1 DateConstructor (com.github.anba.es6draft.runtime.objects.date.DateConstructor)1 DatePrototype (com.github.anba.es6draft.runtime.objects.date.DatePrototype)1 IntlObject (com.github.anba.es6draft.runtime.objects.intl.IntlObject)1 IteratorPrototype (com.github.anba.es6draft.runtime.objects.iteration.IteratorPrototype)1 MathObject (com.github.anba.es6draft.runtime.objects.number.MathObject)1 NumberConstructor (com.github.anba.es6draft.runtime.objects.number.NumberConstructor)1 NumberPrototype (com.github.anba.es6draft.runtime.objects.number.NumberPrototype)1 RealmObject (com.github.anba.es6draft.runtime.objects.reflect.RealmObject)1 ReflectObject (com.github.anba.es6draft.runtime.objects.reflect.ReflectObject)1 SystemObject (com.github.anba.es6draft.runtime.objects.reflect.SystemObject)1 RegExpConstructor (com.github.anba.es6draft.runtime.objects.text.RegExpConstructor)1 RegExpPrototype (com.github.anba.es6draft.runtime.objects.text.RegExpPrototype)1 RegExpStringIteratorPrototype (com.github.anba.es6draft.runtime.objects.text.RegExpStringIteratorPrototype)1 StringConstructor (com.github.anba.es6draft.runtime.objects.text.StringConstructor)1 StringIteratorPrototype (com.github.anba.es6draft.runtime.objects.text.StringIteratorPrototype)1 StringPrototype (com.github.anba.es6draft.runtime.objects.text.StringPrototype)1