mirror of https://github.com/tc39/test262.git
459 lines
10 KiB
JavaScript
459 lines
10 KiB
JavaScript
// Copyright (C) 2018 the V8 project authors. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
/*---
|
|
description: |
|
|
An Array of all representable Well-Known Intrinsic Objects
|
|
---*/
|
|
|
|
const WellKnownIntrinsicObjects = [
|
|
{
|
|
intrinsicName: "%Array%",
|
|
globalNameOrSource: "Array"
|
|
},
|
|
{
|
|
intrinsicName: "%ArrayBuffer%",
|
|
globalNameOrSource: "ArrayBuffer"
|
|
},
|
|
{
|
|
intrinsicName: "%ArrayBufferPrototype%",
|
|
globalNameOrSource: "ArrayBuffer.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%ArrayIteratorPrototype%",
|
|
globalNameOrSource: "Object.getPrototypeOf([][Symbol.iterator]())"
|
|
},
|
|
{
|
|
intrinsicName: "%ArrayPrototype%",
|
|
globalNameOrSource: "Array.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%ArrayProto_entries%",
|
|
globalNameOrSource: "Array.prototype.entries"
|
|
},
|
|
{
|
|
intrinsicName: "%ArrayProto_forEach%",
|
|
globalNameOrSource: "Array.prototype.forEach"
|
|
},
|
|
{
|
|
intrinsicName: "%ArrayProto_keys%",
|
|
globalNameOrSource: "Array.prototype.keys"
|
|
},
|
|
{
|
|
intrinsicName: "%ArrayProto_values%",
|
|
globalNameOrSource: "Array.prototype.values"
|
|
},
|
|
{
|
|
intrinsicName: "%AsyncFromSyncIteratorPrototype%",
|
|
globalNameOrSource: "undefined"
|
|
},
|
|
{
|
|
intrinsicName: "%AsyncFunction%",
|
|
globalNameOrSource: "(async function() {}).constructor"
|
|
},
|
|
{
|
|
intrinsicName: "%AsyncFunctionPrototype%",
|
|
globalNameOrSource: "(async function() {}).constructor.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%AsyncGenerator%",
|
|
globalNameOrSource: "Object.getPrototypeOf((async function * () {})())"
|
|
},
|
|
{
|
|
intrinsicName: "%AsyncGeneratorFunction%",
|
|
globalNameOrSource: "Object.getPrototypeOf(async function * () {})"
|
|
},
|
|
{
|
|
intrinsicName: "%AsyncGeneratorPrototype%",
|
|
globalNameOrSource: "Object.getPrototypeOf(async function * () {}).prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%AsyncIteratorPrototype%",
|
|
globalNameOrSource: "((async function * () {})())[Symbol.asyncIterator]()"
|
|
},
|
|
{
|
|
intrinsicName: "%Atomics%",
|
|
globalNameOrSource: "Atomics"
|
|
},
|
|
{
|
|
intrinsicName: "%Boolean%",
|
|
globalNameOrSource: "Boolean"
|
|
},
|
|
{
|
|
intrinsicName: "%BooleanPrototype%",
|
|
globalNameOrSource: "Boolean.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%DataView%",
|
|
globalNameOrSource: "DataView"
|
|
},
|
|
{
|
|
intrinsicName: "%DataViewPrototype%",
|
|
globalNameOrSource: "DataView.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Date%",
|
|
globalNameOrSource: "Date"
|
|
},
|
|
{
|
|
intrinsicName: "%DatePrototype%",
|
|
globalNameOrSource: "Date.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%decodeURI%",
|
|
globalNameOrSource: "decodeURI"
|
|
},
|
|
{
|
|
intrinsicName: "%decodeURIComponent%",
|
|
globalNameOrSource: "decodeURIComponent"
|
|
},
|
|
{
|
|
intrinsicName: "%encodeURI%",
|
|
globalNameOrSource: "encodeURI"
|
|
},
|
|
{
|
|
intrinsicName: "%encodeURIComponent%",
|
|
globalNameOrSource: "encodeURIComponent"
|
|
},
|
|
{
|
|
intrinsicName: "%Error%",
|
|
globalNameOrSource: "Error"
|
|
},
|
|
{
|
|
intrinsicName: "%ErrorPrototype%",
|
|
globalNameOrSource: "Error.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%eval%",
|
|
globalNameOrSource: "eval"
|
|
},
|
|
{
|
|
intrinsicName: "%EvalError%",
|
|
globalNameOrSource: "EvalError"
|
|
},
|
|
{
|
|
intrinsicName: "%EvalErrorPrototype%",
|
|
globalNameOrSource: "EvalError.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Float32Array%",
|
|
globalNameOrSource: "Float32Array"
|
|
},
|
|
{
|
|
intrinsicName: "%Float32ArrayPrototype%",
|
|
globalNameOrSource: "Float32Array.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Float64Array%",
|
|
globalNameOrSource: "Float64Array"
|
|
},
|
|
{
|
|
intrinsicName: "%Float64ArrayPrototype%",
|
|
globalNameOrSource: "Float64Array.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Function%",
|
|
globalNameOrSource: "Function"
|
|
},
|
|
{
|
|
intrinsicName: "%FunctionPrototype%",
|
|
globalNameOrSource: "Function.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Generator%",
|
|
globalNameOrSource: "Object.getPrototypeOf((function * () {})())"
|
|
},
|
|
{
|
|
intrinsicName: "%GeneratorFunction%",
|
|
globalNameOrSource: "Object.getPrototypeOf(function * () {})"
|
|
},
|
|
{
|
|
intrinsicName: "%GeneratorPrototype%",
|
|
globalNameOrSource: "Object.getPrototypeOf(function * () {}).prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Int8Array%",
|
|
globalNameOrSource: "Int8Array"
|
|
},
|
|
{
|
|
intrinsicName: "%Int8ArrayPrototype%",
|
|
globalNameOrSource: "Int8Array.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Int16Array%",
|
|
globalNameOrSource: "Int16Array"
|
|
},
|
|
{
|
|
intrinsicName: "%Int16ArrayPrototype%",
|
|
globalNameOrSource: "Int16Array.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Int32Array%",
|
|
globalNameOrSource: "Int32Array"
|
|
},
|
|
{
|
|
intrinsicName: "%Int32ArrayPrototype%",
|
|
globalNameOrSource: "Int32Array.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%isFinite%",
|
|
globalNameOrSource: "isFinite"
|
|
},
|
|
{
|
|
intrinsicName: "%isNaN%",
|
|
globalNameOrSource: "isNaN"
|
|
},
|
|
{
|
|
intrinsicName: "%IteratorPrototype%",
|
|
globalNameOrSource: "Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))"
|
|
},
|
|
{
|
|
intrinsicName: "%JSON%",
|
|
globalNameOrSource: "JSON"
|
|
},
|
|
{
|
|
intrinsicName: "%JSONParse%",
|
|
globalNameOrSource: "JSON.parse"
|
|
},
|
|
{
|
|
intrinsicName: "%Map%",
|
|
globalNameOrSource: "Map"
|
|
},
|
|
{
|
|
intrinsicName: "%MapIteratorPrototype%",
|
|
globalNameOrSource: "Object.getPrototypeOf(new Map()[Symbol.iterator]())"
|
|
},
|
|
{
|
|
intrinsicName: "%MapPrototype%",
|
|
globalNameOrSource: "Map.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Math%",
|
|
globalNameOrSource: "Math"
|
|
},
|
|
{
|
|
intrinsicName: "%Number%",
|
|
globalNameOrSource: "Number"
|
|
},
|
|
{
|
|
intrinsicName: "%NumberPrototype%",
|
|
globalNameOrSource: "Number.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Object%",
|
|
globalNameOrSource: "Object"
|
|
},
|
|
{
|
|
intrinsicName: "%ObjectPrototype%",
|
|
globalNameOrSource: "Object.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%ObjProto_toString%",
|
|
globalNameOrSource: "Object.prototype.toString"
|
|
},
|
|
{
|
|
intrinsicName: "%ObjProto_valueOf%",
|
|
globalNameOrSource: "Object.prototype.valueOf"
|
|
},
|
|
{
|
|
intrinsicName: "%parseFloat%",
|
|
globalNameOrSource: "parseFloat"
|
|
},
|
|
{
|
|
intrinsicName: "%parseInt%",
|
|
globalNameOrSource: "parseInt"
|
|
},
|
|
{
|
|
intrinsicName: "%Promise%",
|
|
globalNameOrSource: "Promise"
|
|
},
|
|
{
|
|
intrinsicName: "%PromisePrototype%",
|
|
globalNameOrSource: "Promise.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%PromiseProto_then%",
|
|
globalNameOrSource: "Promise.prototype.then"
|
|
},
|
|
{
|
|
intrinsicName: "%Promise_all%",
|
|
globalNameOrSource: "Promise.all"
|
|
},
|
|
{
|
|
intrinsicName: "%Promise_reject%",
|
|
globalNameOrSource: "Promise.reject"
|
|
},
|
|
{
|
|
intrinsicName: "%Promise_resolve%",
|
|
globalNameOrSource: "Promise.resolve"
|
|
},
|
|
{
|
|
intrinsicName: "%Proxy%",
|
|
globalNameOrSource: "Proxy"
|
|
},
|
|
{
|
|
intrinsicName: "%RangeError%",
|
|
globalNameOrSource: "RangeError"
|
|
},
|
|
{
|
|
intrinsicName: "%RangeErrorPrototype%",
|
|
globalNameOrSource: "RangeError.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%ReferenceError%",
|
|
globalNameOrSource: "ReferenceError"
|
|
},
|
|
{
|
|
intrinsicName: "%ReferenceErrorPrototype%",
|
|
globalNameOrSource: "ReferenceError.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Reflect%",
|
|
globalNameOrSource: "Reflect"
|
|
},
|
|
{
|
|
intrinsicName: "%RegExp%",
|
|
globalNameOrSource: "RegExp"
|
|
},
|
|
{
|
|
intrinsicName: "%RegExpPrototype%",
|
|
globalNameOrSource: "RegExp.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Set%",
|
|
globalNameOrSource: "Set"
|
|
},
|
|
{
|
|
intrinsicName: "%SetIteratorPrototype%",
|
|
globalNameOrSource: "Object.getPrototypeOf(new Set()[Symbol.iterator]())"
|
|
},
|
|
{
|
|
intrinsicName: "%SetPrototype%",
|
|
globalNameOrSource: "Set.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%SharedArrayBuffer%",
|
|
globalNameOrSource: "SharedArrayBuffer"
|
|
},
|
|
{
|
|
intrinsicName: "%SharedArrayBufferPrototype%",
|
|
globalNameOrSource: "SharedArrayBuffer.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%String%",
|
|
globalNameOrSource: "String"
|
|
},
|
|
{
|
|
intrinsicName: "%StringIteratorPrototype%",
|
|
globalNameOrSource: "Object.getPrototypeOf(new String()[Symbol.iterator]())"
|
|
},
|
|
{
|
|
intrinsicName: "%StringPrototype%",
|
|
globalNameOrSource: "String.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Symbol%",
|
|
globalNameOrSource: "Symbol"
|
|
},
|
|
{
|
|
intrinsicName: "%SymbolPrototype%",
|
|
globalNameOrSource: "Symbol.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%SyntaxError%",
|
|
globalNameOrSource: "SyntaxError"
|
|
},
|
|
{
|
|
intrinsicName: "%SyntaxErrorPrototype%",
|
|
globalNameOrSource: "SyntaxError.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%ThrowTypeError%",
|
|
globalNameOrSource: "(function() { 'use strict'; return Object.getOwnPropertyDescriptor(arguments, 'callee').get })()"
|
|
},
|
|
{
|
|
intrinsicName: "%TypedArray%",
|
|
globalNameOrSource: "Object.getPrototypeOf(Uint8Array)"
|
|
},
|
|
{
|
|
intrinsicName: "%TypedArrayPrototype%",
|
|
globalNameOrSource: "Object.getPrototypeOf(Uint8Array).prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%TypeError%",
|
|
globalNameOrSource: "TypeError"
|
|
},
|
|
{
|
|
intrinsicName: "%TypeErrorPrototype%",
|
|
globalNameOrSource: "TypeError.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Uint8Array%",
|
|
globalNameOrSource: "Uint8Array"
|
|
},
|
|
{
|
|
intrinsicName: "%Uint8ArrayPrototype%",
|
|
globalNameOrSource: "Uint8Array.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Uint8ClampedArray%",
|
|
globalNameOrSource: "Uint8ClampedArray"
|
|
},
|
|
{
|
|
intrinsicName: "%Uint8ClampedArrayPrototype%",
|
|
globalNameOrSource: "Uint8ClampedArray.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Uint16Array%",
|
|
globalNameOrSource: "Uint16Array"
|
|
},
|
|
{
|
|
intrinsicName: "%Uint16ArrayPrototype%",
|
|
globalNameOrSource: "Uint16Array.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%Uint32Array%",
|
|
globalNameOrSource: "Uint32Array"
|
|
},
|
|
{
|
|
intrinsicName: "%Uint32ArrayPrototype%",
|
|
globalNameOrSource: "Uint32Array.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%URIError%",
|
|
globalNameOrSource: "URIError"
|
|
},
|
|
{
|
|
intrinsicName: "%URIErrorPrototype%",
|
|
globalNameOrSource: "URIError.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%WeakMap%",
|
|
globalNameOrSource: "WeakMap"
|
|
},
|
|
{
|
|
intrinsicName: "%WeakMapPrototype%",
|
|
globalNameOrSource: "WeakMap.prototype"
|
|
},
|
|
{
|
|
intrinsicName: "%WeakSet%",
|
|
globalNameOrSource: "WeakSet"
|
|
},
|
|
{
|
|
intrinsicName: "%WeakSetPrototype%",
|
|
globalNameOrSource: "WeakSet.prototype"
|
|
}
|
|
];
|
|
|
|
|
|
WellKnownIntrinsicObjects.forEach(wkio => {
|
|
var actual;
|
|
|
|
try {
|
|
actual = new Function("return " + wkio.globalNameOrSource)();
|
|
} catch (exception) {
|
|
// Nothing to do here.
|
|
}
|
|
|
|
wkio.reference = actual;
|
|
});
|