123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516 |
- /*
- * Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
- *
- * SPDX-License-Identifier: BSD-2-Clause
- */
- #pragma once
- #include <AK/FlyString.h>
- #include <LibJS/Forward.h>
- #include <LibJS/Runtime/PropertyName.h>
- namespace JS {
- #define ENUMERATE_STANDARD_PROPERTY_NAMES(P) \
- P(__proto__) \
- P(__defineGetter__) \
- P(__defineSetter__) \
- P(__lookupGetter__) \
- P(__lookupSetter__) \
- P(Atomics) \
- P(BYTES_PER_ELEMENT) \
- P(BigInt) \
- P(Boolean) \
- P(E) \
- P(EPSILON) \
- P(Function) \
- P(Infinity) \
- P(Intl) \
- P(JSON) \
- P(LN10) \
- P(LN2) \
- P(LOG10E) \
- P(LOG2E) \
- P(MAX_SAFE_INTEGER) \
- P(MAX_VALUE) \
- P(MIN_SAFE_INTEGER) \
- P(MIN_VALUE) \
- P(Math) \
- P(NEGATIVE_INFINITY) \
- P(NaN) \
- P(Now) \
- P(Number) \
- P(PI) \
- P(POSITIVE_INFINITY) \
- P(Proxy) \
- P(Reflect) \
- P(RegExp) \
- P(SQRT1_2) \
- P(SQRT2) \
- P(String) \
- P(Symbol) \
- P(Temporal) \
- P(UTC) \
- P(abs) \
- P(acos) \
- P(acosh) \
- P(add) \
- P(all) \
- P(allSettled) \
- P(anchor) \
- P(any) \
- P(apply) \
- P(arguments) \
- P(asIntN) \
- P(asUintN) \
- P(asin) \
- P(asinh) \
- P(assert) \
- P(assign) \
- P(at) \
- P(atan) \
- P(atan2) \
- P(atanh) \
- P(baseName) \
- P(big) \
- P(bind) \
- P(blank) \
- P(blink) \
- P(bold) \
- P(buffer) \
- P(byteLength) \
- P(byteOffset) \
- P(calendar) \
- P(calendarName) \
- P(call) \
- P(callee) \
- P(caller) \
- P(caseFirst) \
- P(cause) \
- P(cbrt) \
- P(ceil) \
- P(charAt) \
- P(charCodeAt) \
- P(cleanupSome) \
- P(clear) \
- P(clz32) \
- P(codePointAt) \
- P(collation) \
- P(compactDisplay) \
- P(compareExchange) \
- P(compile) \
- P(concat) \
- P(configurable) \
- P(console) \
- P(construct) \
- P(constructor) \
- P(compare) \
- P(copyWithin) \
- P(cos) \
- P(cosh) \
- P(count) \
- P(countReset) \
- P(create) \
- P(currency) \
- P(currencyDisplay) \
- P(currencySign) \
- P(dateAdd) \
- P(dateFromFields) \
- P(dateUntil) \
- P(day) \
- P(dayOfWeek) \
- P(dayOfYear) \
- P(days) \
- P(daysInMonth) \
- P(daysInWeek) \
- P(daysInYear) \
- P(debug) \
- P(decodeURI) \
- P(decodeURIComponent) \
- P(defineProperties) \
- P(defineProperty) \
- P(deleteProperty) \
- P(deref) \
- P(description) \
- P(done) \
- P(dotAll) \
- P(encodeURI) \
- P(encodeURIComponent) \
- P(endsWith) \
- P(entries) \
- P(enumerable) \
- P(epochMicroseconds) \
- P(epochMilliseconds) \
- P(epochNanoseconds) \
- P(epochSeconds) \
- P(equals) \
- P(era) \
- P(eraYear) \
- P(error) \
- P(errors) \
- P(escape) \
- P(eval) \
- P(evaluate) \
- P(every) \
- P(exchange) \
- P(exec) \
- P(exp) \
- P(expm1) \
- P(fallback) \
- P(fields) \
- P(fill) \
- P(filter) \
- P(finally) \
- P(find) \
- P(findLast) \
- P(findLastIndex) \
- P(findIndex) \
- P(fixed) \
- P(flags) \
- P(flat) \
- P(flatMap) \
- P(floor) \
- P(fontcolor) \
- P(fontsize) \
- P(forEach) \
- P(format) \
- P(formatToParts) \
- P(fractionalSecondDigits) \
- P(freeze) \
- P(from) \
- P(fromCharCode) \
- P(fromCodePoint) \
- P(fromEntries) \
- P(fromEpochMicroseconds) \
- P(fromEpochMilliseconds) \
- P(fromEpochNanoseconds) \
- P(fromEpochSeconds) \
- P(fround) \
- P(gc) \
- P(get) \
- P(getBigInt64) \
- P(getBigUint64) \
- P(getCanonicalLocales) \
- P(getDate) \
- P(getDay) \
- P(getFloat32) \
- P(getFloat64) \
- P(getFullYear) \
- P(getHours) \
- P(getInt8) \
- P(getInt16) \
- P(getInt32) \
- P(getISOFields) \
- P(getMilliseconds) \
- P(getMinutes) \
- P(getMonth) \
- P(getOffsetNanosecondsFor) \
- P(getOffsetStringFor) \
- P(getOwnPropertyDescriptor) \
- P(getOwnPropertyDescriptors) \
- P(getOwnPropertyNames) \
- P(getOwnPropertySymbols) \
- P(getPlainDateTimeFor) \
- P(getPrototypeOf) \
- P(getSeconds) \
- P(getTime) \
- P(getTimezoneOffset) \
- P(getUint8) \
- P(getUint16) \
- P(getUint32) \
- P(getUTCDate) \
- P(getUTCDay) \
- P(getUTCFullYear) \
- P(getUTCHours) \
- P(getUTCMilliseconds) \
- P(getUTCMinutes) \
- P(getUTCMonth) \
- P(getUTCSeconds) \
- P(getYear) \
- P(global) \
- P(globalThis) \
- P(groups) \
- P(has) \
- P(hasIndices) \
- P(hasOwn) \
- P(hasOwnProperty) \
- P(hour) \
- P(hourCycle) \
- P(hours) \
- P(hypot) \
- P(id) \
- P(ignoreCase) \
- P(imul) \
- P(importValue) \
- P(includes) \
- P(index) \
- P(indexOf) \
- P(indices) \
- P(info) \
- P(inLeapYear) \
- P(input) \
- P(instant) \
- P(is) \
- P(isArray) \
- P(isExtensible) \
- P(isFinite) \
- P(isFrozen) \
- P(isInteger) \
- P(isLockFree) \
- P(isNaN) \
- P(isPrototypeOf) \
- P(isSafeInteger) \
- P(isSealed) \
- P(isView) \
- P(isoDay) \
- P(isoHour) \
- P(isoMicrosecond) \
- P(isoMillisecond) \
- P(isoMinute) \
- P(isoMonth) \
- P(isoNanosecond) \
- P(isoSecond) \
- P(isoYear) \
- P(italics) \
- P(join) \
- P(keyFor) \
- P(keys) \
- P(language) \
- P(largestUnit) \
- P(lastIndex) \
- P(lastIndexOf) \
- P(length) \
- P(link) \
- P(load) \
- P(locale) \
- P(localeCompare) \
- P(localeMatcher) \
- P(log) \
- P(log1p) \
- P(log2) \
- P(log10) \
- P(map) \
- P(max) \
- P(maximize) \
- P(mergeFields) \
- P(message) \
- P(microsecond) \
- P(microseconds) \
- P(millisecond) \
- P(milliseconds) \
- P(min) \
- P(minimize) \
- P(maximumFractionDigits) \
- P(maximumSignificantDigits) \
- P(minimumFractionDigits) \
- P(minimumIntegerDigits) \
- P(minimumSignificantDigits) \
- P(minute) \
- P(minutes) \
- P(month) \
- P(monthCode) \
- P(monthDayFromFields) \
- P(months) \
- P(monthsInYear) \
- P(multiline) \
- P(name) \
- P(nanosecond) \
- P(nanoseconds) \
- P(negated) \
- P(next) \
- P(notation) \
- P(now) \
- P(numberingSystem) \
- P(numeric) \
- P(of) \
- P(offset) \
- P(offsetNanoseconds) \
- P(overflow) \
- P(ownKeys) \
- P(padEnd) \
- P(padStart) \
- P(parse) \
- P(parseFloat) \
- P(parseInt) \
- P(plainDate) \
- P(plainDateISO) \
- P(plainDateTime) \
- P(plainDateTimeISO) \
- P(plainTimeISO) \
- P(pop) \
- P(pow) \
- P(preventExtensions) \
- P(propertyIsEnumerable) \
- P(prototype) \
- P(proxy) \
- P(push) \
- P(race) \
- P(random) \
- P(raw) \
- P(reason) \
- P(reduce) \
- P(reduceRight) \
- P(region) \
- P(reject) \
- P(repeat) \
- P(resolve) \
- P(resolvedOptions) \
- P(reverse) \
- P(revocable) \
- P(revoke) \
- P(round) \
- P(roundingIncrement) \
- P(roundingMode) \
- P(script) \
- P(seal) \
- P(second) \
- P(seconds) \
- P(set) \
- P(setBigInt64) \
- P(setBigUint64) \
- P(setDate) \
- P(setFloat32) \
- P(setFloat64) \
- P(setFullYear) \
- P(setHours) \
- P(setInt8) \
- P(setInt16) \
- P(setInt32) \
- P(setMilliseconds) \
- P(setMinutes) \
- P(setMonth) \
- P(setPrototypeOf) \
- P(setSeconds) \
- P(setTime) \
- P(setUint8) \
- P(setUint16) \
- P(setUint32) \
- P(setUTCDate) \
- P(setUTCFullYear) \
- P(setUTCHours) \
- P(setUTCMilliseconds) \
- P(setUTCMinutes) \
- P(setUTCMonth) \
- P(setUTCSeconds) \
- P(setYear) \
- P(shift) \
- P(sign) \
- P(signDisplay) \
- P(sin) \
- P(since) \
- P(sinh) \
- P(size) \
- P(slice) \
- P(small) \
- P(smallestUnit) \
- P(some) \
- P(sort) \
- P(source) \
- P(splice) \
- P(sqrt) \
- P(startsWith) \
- P(status) \
- P(sticky) \
- P(store) \
- P(strike) \
- P(stringify) \
- P(style) \
- P(sub) \
- P(subarray) \
- P(substr) \
- P(substring) \
- P(subtract) \
- P(sup) \
- P(supportedLocalesOf) \
- P(tan) \
- P(tanh) \
- P(test) \
- P(then) \
- P(timeZone) \
- P(toDateString) \
- P(toFixed) \
- P(toGMTString) \
- P(toInstant) \
- P(toISOString) \
- P(toJSON) \
- P(toLocaleDateString) \
- P(toLocaleLowerCase) \
- P(toLocaleString) \
- P(toLocaleTimeString) \
- P(toLocaleUpperCase) \
- P(toLowerCase) \
- P(toPlainDate) \
- P(toPlainDateTime) \
- P(toPlainMonthDay) \
- P(toPlainTime) \
- P(toPlainYearMonth) \
- P(toString) \
- P(toTemporalInstant) \
- P(toTimeString) \
- P(toUpperCase) \
- P(toUTCString) \
- P(toZonedDateTime) \
- P(toZonedDateTimeISO) \
- P(trace) \
- P(trim) \
- P(trimEnd) \
- P(trimLeft) \
- P(trimRight) \
- P(trimStart) \
- P(trunc) \
- P(type) \
- P(undefined) \
- P(unescape) \
- P(unicode) \
- P(unit) \
- P(unitDisplay) \
- P(until) \
- P(unregister) \
- P(unshift) \
- P(useGrouping) \
- P(value) \
- P(valueOf) \
- P(values) \
- P(warn) \
- P(weekOfYear) \
- P(weeks) \
- P(with) \
- P(withCalendar) \
- P(withPlainDate) \
- P(withPlainTime) \
- P(writable) \
- P(year) \
- P(yearMonthFromFields) \
- P(years) \
- P(zonedDateTime) \
- P(zonedDateTimeISO)
- struct CommonPropertyNames {
- PropertyName and_ { "and", PropertyName::StringMayBeNumber::No };
- PropertyName catch_ { "catch", PropertyName::StringMayBeNumber::No };
- PropertyName delete_ { "delete", PropertyName::StringMayBeNumber::No };
- PropertyName for_ { "for", PropertyName::StringMayBeNumber::No };
- PropertyName or_ { "or", PropertyName::StringMayBeNumber::No };
- PropertyName register_ { "register", PropertyName::StringMayBeNumber::No };
- PropertyName return_ { "return", PropertyName::StringMayBeNumber::No };
- PropertyName throw_ { "throw", PropertyName::StringMayBeNumber::No };
- PropertyName xor_ { "xor", PropertyName::StringMayBeNumber::No };
- #define __ENUMERATE(x) PropertyName x { #x, PropertyName::StringMayBeNumber::No };
- ENUMERATE_STANDARD_PROPERTY_NAMES(__ENUMERATE)
- #undef __ENUMERATE
- #define __JS_ENUMERATE(x, a, b, c, t) PropertyName x { #x, PropertyName::StringMayBeNumber::No };
- JS_ENUMERATE_BUILTIN_TYPES
- #undef __JS_ENUMERATE
- #define __JS_ENUMERATE(x, a, b, c) PropertyName x { #x, PropertyName::StringMayBeNumber::No };
- JS_ENUMERATE_INTL_OBJECTS
- #undef __JS_ENUMERATE
- #define __JS_ENUMERATE(x, a, b, c) PropertyName x { #x, PropertyName::StringMayBeNumber::No };
- JS_ENUMERATE_TEMPORAL_OBJECTS
- #undef __JS_ENUMERATE
- #define __JS_ENUMERATE(x, a) PropertyName x { #x, PropertyName::StringMayBeNumber::No };
- JS_ENUMERATE_WELL_KNOWN_SYMBOLS
- #undef __JS_ENUMERATE
- };
- }
|