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);
}
}
Aggregations