/** * Copyright (c) 2012-2016 André Bargull * Alle Rechte vorbehalten / All Rights Reserved. Use is subject to license terms. * * <https://github.com/anba/es6draft> */ package com.github.anba.es6draft.runtime.types; /** * <h1>6 ECMAScript Data Types and Values</h1><br> * <h2>6.1 ECMAScript Language Types</h2><br> * <h3>6.1.7 The Object Type</h3> * <ul> * <li>6.1.7.4 Well-Known Intrinsic Objects * </ul> */ public enum Intrinsics {/* @formatter:off */ /** Intrinsic: <code>%Array%</code> */ Array, /** Intrinsic: <code>%ArrayBuffer%</code> */ ArrayBuffer, /** Intrinsic: <code>%ArrayBufferPrototype%</code> */ ArrayBufferPrototype, /** Intrinsic: <code>%ArrayIteratorPrototype%</code> */ ArrayIteratorPrototype, /** Intrinsic: <code>%ArrayPrototype%</code> */ ArrayPrototype, /** Intrinsic: <code>%ArrayProto_values%</code> */ ArrayProto_values, /** Intrinsic: <code>%Boolean%</code> */ Boolean, /** Intrinsic: <code>%BooleanPrototype%</code> */ BooleanPrototype, /** Intrinsic: <code>%DataView%</code> */ DataView, /** Intrinsic: <code>%DataViewPrototype%</code> */ DataViewPrototype, /** Intrinsic: <code>%Date%</code> */ Date, /** Intrinsic: <code>%DatePrototype%</code> */ DatePrototype, /** Intrinsic: <code>%decodeURI%</code> */ decodeURI, /** Intrinsic: <code>%decodeURIComponent%</code> */ decodeURIComponent, /** Intrinsic: <code>%encodeURI%</code> */ encodeURI, /** Intrinsic: <code>%encodeURIComponent%</code> */ encodeURIComponent, /** Intrinsic: <code>%Error%</code> */ Error, /** Intrinsic: <code>%ErrorPrototype%</code> */ ErrorPrototype, /** Intrinsic: <code>%escape%</code> */ escape, /** Intrinsic: <code>%eval%</code> */ eval, /** Intrinsic: <code>%EvalError%</code> */ EvalError, /** Intrinsic: <code>%EvalErrorPrototype%</code> */ EvalErrorPrototype, /** Intrinsic: <code>%Float32Array%</code> */ Float32Array, /** Intrinsic: <code>%Float32ArrayPrototype%</code> */ Float32ArrayPrototype, /** Intrinsic: <code>%Float64Array%</code> */ Float64Array, /** Intrinsic: <code>%Float64ArrayPrototype%</code> */ Float64ArrayPrototype, /** Intrinsic: <code>%Function%</code> */ Function, /** Intrinsic: <code>%FunctionPrototype%</code> */ FunctionPrototype, /** Intrinsic: <code>%Generator%</code> */ Generator, /** Intrinsic: <code>%GeneratorFunction%</code> */ GeneratorFunction, /** Intrinsic: <code>%GeneratorPrototype%</code> */ GeneratorPrototype, /** Intrinsic: <code>%Int8Array%</code> */ Int8Array, /** Intrinsic: <code>%Int8ArrayPrototype%</code> */ Int8ArrayPrototype, /** Intrinsic: <code>%Int16Array%</code> */ Int16Array, /** Intrinsic: <code>%Int16ArrayPrototype%</code> */ Int16ArrayPrototype, /** Intrinsic: <code>%Int32Array%</code> */ Int32Array, /** Intrinsic: <code>%Int32ArrayPrototype%</code> */ Int32ArrayPrototype, /** Intrinsic: <code>%isFinite%</code> */ isFinite, /** Intrinsic: <code>%isNaN%</code> */ isNaN, /** Intrinsic: <code>%IteratorPrototype%</code> */ IteratorPrototype, /** Intrinsic: <code>%JSON%</code> */ JSON, /** Intrinsic: <code>%Map%</code> */ Map, /** Intrinsic: <code>%MapPrototype%</code> */ MapPrototype, /** Intrinsic: <code>%MapIteratorPrototype%</code> */ MapIteratorPrototype, /** Intrinsic: <code>%Math%</code> */ Math, /** Intrinsic: <code>%Number%</code> */ Number, /** Intrinsic: <code>%NumberPrototype%</code> */ NumberPrototype, /** Intrinsic: <code>%Object%</code> */ Object, /** Intrinsic: <code>%ObjectPrototype%</code> */ ObjectPrototype, /** Intrinsic: <code>%ObjProto_toString%</code> */ ObjProto_toString, /** Intrinsic: <code>%parseFloat%</code> */ parseFloat, /** Intrinsic: <code>%parseInt%</code> */ parseInt, /** Intrinsic: <code>%Promise%</code> */ Promise, /** Intrinsic: <code>%PromisePrototype%</code> */ PromisePrototype, /** Intrinsic: <code>%Proxy%</code> */ Proxy, /** Intrinsic: <code>%RangeError%</code> */ RangeError, /** Intrinsic: <code>%RangeErrorPrototype%</code> */ RangeErrorPrototype, /** Intrinsic: <code>%ReferenceError%</code> */ ReferenceError, /** Intrinsic: <code>%ReferenceErrorPrototype%</code> */ ReferenceErrorPrototype, /** Intrinsic: <code>%Reflect%</code> */ Reflect, /** Intrinsic: <code>%RegExp%</code> */ RegExp, /** Intrinsic: <code>%RegExpPrototype%</code> */ RegExpPrototype, /** Intrinsic: <code>%Set%</code> */ Set, /** Intrinsic: <code>%SetIteratorPrototype%</code> */ SetIteratorPrototype, /** Intrinsic: <code>%SetPrototype%</code> */ SetPrototype, /** Intrinsic: <code>%String%</code> */ String, /** Intrinsic: <code>%StringIteratorPrototype%</code> */ StringIteratorPrototype, /** Intrinsic: <code>%StringPrototype%</code> */ StringPrototype, /** Intrinsic: <code>%Symbol%</code> */ Symbol, /** Intrinsic: <code>%SymbolPrototype%</code> */ SymbolPrototype, /** Intrinsic: <code>%SyntaxError%</code> */ SyntaxError, /** Intrinsic: <code>%SyntaxErrorPrototype%</code> */ SyntaxErrorPrototype, /** Intrinsic: <code>%ThrowTypeError%</code> */ ThrowTypeError, /** Intrinsic: <code>%TypedArray%</code> */ TypedArray, /** Intrinsic: <code>%TypedArrayPrototype%</code> */ TypedArrayPrototype, /** Intrinsic: <code>%TypeError%</code> */ TypeError, /** Intrinsic: <code>%TypeErrorPrototype%</code> */ TypeErrorPrototype, /** Intrinsic: <code>%Uint8Array%</code> */ Uint8Array, /** Intrinsic: <code>%Uint8ArrayPrototype%</code> */ Uint8ArrayPrototype, /** Intrinsic: <code>%Uint8ClampedArray%</code> */ Uint8ClampedArray, /** Intrinsic: <code>%Uint8ClampedArrayPrototype%</code> */ Uint8ClampedArrayPrototype, /** Intrinsic: <code>%Uint16Array%</code> */ Uint16Array, /** Intrinsic: <code>%Uint16ArrayPrototype%</code> */ Uint16ArrayPrototype, /** Intrinsic: <code>%Uint32Array%</code> */ Uint32Array, /** Intrinsic: <code>%Uint32ArrayPrototype%</code> */ Uint32ArrayPrototype, /** Intrinsic: <code>%unescape%</code> */ unescape, /** Intrinsic: <code>%URIError%</code> */ URIError, /** Intrinsic: <code>%URIErrorPrototype%</code> */ URIErrorPrototype, /** Intrinsic: <code>%WeakMap%</code> */ WeakMap, /** Intrinsic: <code>%WeakMapPrototype%</code> */ WeakMapPrototype, /** Intrinsic: <code>%WeakSet%</code> */ WeakSet, /** Intrinsic: <code>%WeakSetPrototype%</code> */ WeakSetPrototype, // Internationalization API /** Intrinsic: <code>%Intl%</code> */ Intl, /** Intrinsic: <code>%Intl_Collator%</code> */ Intl_Collator, /** Intrinsic: <code>%Intl_CollatorPrototype%</code> */ Intl_CollatorPrototype, /** Intrinsic: <code>%Intl_NumberFormat%</code> */ Intl_NumberFormat, /** Intrinsic: <code>%Intl_NumberFormatPrototype%</code> */ Intl_NumberFormatPrototype, /** Intrinsic: <code>%Intl_DateTimeFormat%</code> */ Intl_DateTimeFormat, /** Intrinsic: <code>%Intl_DateTimeFormatPrototype%</code> */ Intl_DateTimeFormatPrototype, /** Intrinsic: <code>%Intl_PluralRules%</code> */ Intl_PluralRules, /** Intrinsic: <code>%Intl_PluralRulesPrototype%</code> */ Intl_PluralRulesPrototype, // internal /** Intrinsic: <code>%InternalError%</code> */ InternalError, /** Intrinsic: <code>%InternalErrorPrototype%</code> */ InternalErrorPrototype, // legacy /** Intrinsic: <code>%LegacyGeneratorPrototype%</code> */ LegacyGeneratorPrototype, // Extension: Async Function Definitions /** Intrinsic: <code>%AsyncFunction%</code> */ AsyncFunction, /** Intrinsic: <code>%AsyncFunctionPrototype%</code> */ AsyncFunctionPrototype, // Extension: Async Generator Function Definitions /** Intrinsic: <code>%AsyncGenerator%</code> */ AsyncGenerator, /** Intrinsic: <code>%AsyncGeneratorFunction%</code> */ AsyncGeneratorFunction, /** Intrinsic: <code>%AsyncGeneratorPrototype%</code> */ AsyncGeneratorPrototype, /** Intrinsic: <code>%AsyncIteratorPrototype%</code> */ AsyncIteratorPrototype, // Extension: Realm Objects /** Intrinsic: <code>%Realm%</code> */ Realm, /** Intrinsic: <code>%RealmPrototype%</code> */ RealmPrototype, // Extension: Loader /** Intrinsic: <code>%Loader%</code> */ Loader, /** Intrinsic: <code>%LoaderPrototype%</code> */ LoaderPrototype, /** Intrinsic: <code>%LoaderIteratorPrototype%</code> */ LoaderIteratorPrototype, /** Intrinsic: <code>%System%</code> */ System, // Extension: String.prototype.matchAll RegExpStringIteratorPrototype, // Extension: SIMD /** Intrinsic: %SIMD% */ SIMD, /** Intrinsic: %SIMD_Float32x4% */ SIMD_Float32x4, /** Intrinsic: %SIMD_Float32x4Prototype% */ SIMD_Float32x4Prototype, /** Intrinsic: %SIMD_Int32x4% */ SIMD_Int32x4, /** Intrinsic: %SIMD_Int32x4Prototype% */ SIMD_Int32x4Prototype, /** Intrinsic: %SIMD_Int16x8% */ SIMD_Int16x8, /** Intrinsic: %SIMD_Int16x8Prototype% */ SIMD_Int16x8Prototype, /** Intrinsic: %SIMD_Int8x16% */ SIMD_Int8x16, /** Intrinsic: %SIMD_Int8x16Prototype% */ SIMD_Int8x16Prototype, /** Intrinsic: %SIMD_Uint32x4% */ SIMD_Uint32x4, /** Intrinsic: %SIMD_Uint32x4Prototype% */ SIMD_Uint32x4Prototype, /** Intrinsic: %SIMD_Uint16x8% */ SIMD_Uint16x8, /** Intrinsic: %SIMD_Uint16x8Prototype% */ SIMD_Uint16x8Prototype, /** Intrinsic: %SIMD_Uint8x16% */ SIMD_Uint8x16, /** Intrinsic: %SIMD_Uint8x16Prototype% */ SIMD_Uint8x16Prototype, /** Intrinsic: %SIMD_Bool32x4% */ SIMD_Bool32x4, /** Intrinsic: %SIMD_Bool32x4Prototype% */ SIMD_Bool32x4Prototype, /** Intrinsic: %SIMD_Bool16x8% */ SIMD_Bool16x8, /** Intrinsic: %SIMD_Bool16x8Prototype% */ SIMD_Bool16x8Prototype, /** Intrinsic: %SIMD_Bool8x16% */ SIMD_Bool8x16, /** Intrinsic: %SIMD_Bool8x16Prototype% */ SIMD_Bool8x16Prototype, // Extension: SIMD.Float64x2, SIMD.Bool64x2 /** Intrinsic: %SIMD_Float64x2% */ SIMD_Float64x2, /** Intrinsic: %SIMD_Float64x2Prototype% */ SIMD_Float64x2Prototype, /** Intrinsic: %SIMD_Bool64x2% */ SIMD_Bool64x2, /** Intrinsic: %SIMD_Bool64x2Prototype% */ SIMD_Bool64x2Prototype, // Extension: Observable /** Intrinsic: %Observable% */ Observable, /** Intrinsic: %ObservablePrototype% */ ObservablePrototype, /** Intrinsic: %SubscriptionPrototype% */ SubscriptionPrototype, /** Intrinsic: %SubscriptionObserverPrototype% */ SubscriptionObserverPrototype, // Extension: Shared Memory and Atomics /** Intrinsic: <code>%Atomics%</code> */ Atomics, /** Intrinsic: <code>%SharedArrayBuffer%</code> */ SharedArrayBuffer, /** Intrinsic: <code>%SharedArrayBufferPrototype%</code> */ SharedArrayBufferPrototype, /* @formatter:on */ ; /** * Returns the intrinsic key. * * @return the intrinsic key */ public String getKey() { return name(); } /** * Returns {@code true} if the intrinsic is internal. * * @return {@code true} if internal intrinsic */ public boolean isInternal() { switch (this) { case InternalError: case InternalErrorPrototype: case LegacyGeneratorPrototype: return true; default: return false; } } }