LibJS: Alphabetically sort property keys and error types

And make ErrorType definitions use a better hanging-indent style, to
make it easier to maintain going forward.

i.e. instead of:

    M(VeryLongErrorNameHere, "very long error "
                             "message across multiple "
                             "lines"

We now have:

    M(VeryLongErrorNameHere,
        "very long error message across multiple "
        "lines")
This commit is contained in:
Timothy Flynn 2024-11-26 09:33:52 -05:00 committed by Tim Flynn
commit a93d32a306
Notes: github-actions[bot] 2024-11-26 16:36:17 +00:00
2 changed files with 335 additions and 335 deletions

View file

@ -13,11 +13,11 @@
namespace JS { namespace JS {
#define ENUMERATE_STANDARD_PROPERTY_NAMES(P) \ #define ENUMERATE_STANDARD_PROPERTY_NAMES(P) \
P(__proto__) \
P(__defineGetter__) \ P(__defineGetter__) \
P(__defineSetter__) \ P(__defineSetter__) \
P(__lookupGetter__) \ P(__lookupGetter__) \
P(__lookupSetter__) \ P(__lookupSetter__) \
P(__proto__) \
P($1) \ P($1) \
P($2) \ P($2) \
P($3) \ P($3) \
@ -27,40 +27,6 @@ namespace JS {
P($7) \ P($7) \
P($8) \ P($8) \
P($9) \ P($9) \
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(abs) \
P(acos) \ P(acos) \
P(acosh) \ P(acosh) \
@ -73,25 +39,29 @@ namespace JS {
P(any) \ P(any) \
P(apply) \ P(apply) \
P(arguments) \ P(arguments) \
P(asIntN) \
P(asUintN) \
P(asin) \ P(asin) \
P(asinh) \ P(asinh) \
P(asIntN) \
P(assert) \ P(assert) \
P(assign) \ P(assign) \
P(asUintN) \
P(at) \ P(at) \
P(atan) \ P(atan) \
P(atan2) \ P(atan2) \
P(atanh) \ P(atanh) \
P(Atomics) \
P(baseName) \ P(baseName) \
P(big) \ P(big) \
P(BigInt) \
P(bind) \ P(bind) \
P(blank) \ P(blank) \
P(blink) \ P(blink) \
P(bold) \ P(bold) \
P(Boolean) \
P(buffer) \ P(buffer) \
P(byteLength) \ P(byteLength) \
P(byteOffset) \ P(byteOffset) \
P(BYTES_PER_ELEMENT) \
P(calendar) \ P(calendar) \
P(calendarId) \ P(calendarId) \
P(calendarName) \ P(calendarName) \
@ -110,6 +80,7 @@ namespace JS {
P(codePointAt) \ P(codePointAt) \
P(collation) \ P(collation) \
P(compactDisplay) \ P(compactDisplay) \
P(compare) \
P(compareExchange) \ P(compareExchange) \
P(compile) \ P(compile) \
P(composite) \ P(composite) \
@ -120,7 +91,6 @@ namespace JS {
P(construct) \ P(construct) \
P(constructor) \ P(constructor) \
P(containing) \ P(containing) \
P(compare) \
P(copyWithin) \ P(copyWithin) \
P(cos) \ P(cos) \
P(cosh) \ P(cosh) \
@ -158,6 +128,7 @@ namespace JS {
P(done) \ P(done) \
P(dotAll) \ P(dotAll) \
P(drop) \ P(drop) \
P(E) \
P(easing) \ P(easing) \
P(encodeURI) \ P(encodeURI) \
P(encodeURIComponent) \ P(encodeURIComponent) \
@ -166,6 +137,7 @@ namespace JS {
P(enumerable) \ P(enumerable) \
P(epochMilliseconds) \ P(epochMilliseconds) \
P(epochNanoseconds) \ P(epochNanoseconds) \
P(EPSILON) \
P(equals) \ P(equals) \
P(era) \ P(era) \
P(eraYear) \ P(eraYear) \
@ -179,14 +151,15 @@ namespace JS {
P(exec) \ P(exec) \
P(exp) \ P(exp) \
P(expm1) \ P(expm1) \
P(f16round) \
P(fallback) \ P(fallback) \
P(fill) \ P(fill) \
P(filter) \ P(filter) \
P(finally) \ P(finally) \
P(find) \ P(find) \
P(findIndex) \
P(findLast) \ P(findLast) \
P(findLastIndex) \ P(findLastIndex) \
P(findIndex) \
P(firstDay) \ P(firstDay) \
P(firstDayOfWeek) \ P(firstDayOfWeek) \
P(fixed) \ P(fixed) \
@ -215,7 +188,7 @@ namespace JS {
P(fromEpochNanoseconds) \ P(fromEpochNanoseconds) \
P(fromHex) \ P(fromHex) \
P(fround) \ P(fround) \
P(f16round) \ P(Function) \
P(gc) \ P(gc) \
P(get) \ P(get) \
P(getBigInt64) \ P(getBigInt64) \
@ -284,17 +257,19 @@ namespace JS {
P(id) \ P(id) \
P(ignoreCase) \ P(ignoreCase) \
P(ignorePunctuation) \ P(ignorePunctuation) \
P(imul) \
P(importValue) \ P(importValue) \
P(imul) \
P(includes) \ P(includes) \
P(index) \ P(index) \
P(indexOf) \ P(indexOf) \
P(indices) \ P(indices) \
P(Infinity) \
P(info) \ P(info) \
P(inLeapYear) \ P(inLeapYear) \
P(input) \ P(input) \
P(instant) \ P(instant) \
P(intersection) \ P(intersection) \
P(Intl) \
P(is) \ P(is) \
P(isArray) \ P(isArray) \
P(isDisjointFrom) \ P(isDisjointFrom) \
@ -315,6 +290,7 @@ namespace JS {
P(isWordLike) \ P(isWordLike) \
P(italics) \ P(italics) \
P(join) \ P(join) \
P(JSON) \
P(keyFor) \ P(keyFor) \
P(keys) \ P(keys) \
P(language) \ P(language) \
@ -323,23 +299,32 @@ namespace JS {
P(lastChunkHandling) \ P(lastChunkHandling) \
P(lastIndex) \ P(lastIndex) \
P(lastIndexOf) \ P(lastIndexOf) \
P(lastMatch) \
P(lastParen) \
P(leftContext) \
P(length) \ P(length) \
P(link) \ P(link) \
P(LN10) \
P(LN2) \
P(load) \ P(load) \
P(locale) \ P(locale) \
P(localeCompare) \ P(localeCompare) \
P(localeMatcher) \ P(localeMatcher) \
P(log) \ P(log) \
P(log10) \
P(LOG10E) \
P(log1p) \ P(log1p) \
P(log2) \ P(log2) \
P(log10) \ P(LOG2E) \
P(lastMatch) \
P(lastParen) \
P(leftContext) \
P(map) \ P(map) \
P(Math) \
P(max) \ P(max) \
P(MAX_SAFE_INTEGER) \
P(MAX_VALUE) \
P(maxByteLength) \ P(maxByteLength) \
P(maximize) \ P(maximize) \
P(maximumFractionDigits) \
P(maximumSignificantDigits) \
P(message) \ P(message) \
P(microsecond) \ P(microsecond) \
P(microseconds) \ P(microseconds) \
@ -348,10 +333,10 @@ namespace JS {
P(milliseconds) \ P(milliseconds) \
P(millisecondsDisplay) \ P(millisecondsDisplay) \
P(min) \ P(min) \
P(MIN_SAFE_INTEGER) \
P(MIN_VALUE) \
P(minimalDays) \ P(minimalDays) \
P(minimize) \ P(minimize) \
P(maximumFractionDigits) \
P(maximumSignificantDigits) \
P(minimumFractionDigits) \ P(minimumFractionDigits) \
P(minimumIntegerDigits) \ P(minimumIntegerDigits) \
P(minimumSignificantDigits) \ P(minimumSignificantDigits) \
@ -366,15 +351,19 @@ namespace JS {
P(move) \ P(move) \
P(multiline) \ P(multiline) \
P(name) \ P(name) \
P(NaN) \
P(nanosecond) \ P(nanosecond) \
P(nanoseconds) \ P(nanoseconds) \
P(nanosecondsDisplay) \ P(nanosecondsDisplay) \
P(negated) \ P(negated) \
P(NEGATIVE_INFINITY) \
P(next) \ P(next) \
P(normalize) \ P(normalize) \
P(notation) \ P(notation) \
P(notify) \ P(notify) \
P(Now) \
P(now) \ P(now) \
P(Number) \
P(numberingSystem) \ P(numberingSystem) \
P(numeric) \ P(numeric) \
P(of) \ P(of) \
@ -389,17 +378,20 @@ namespace JS {
P(parseFloat) \ P(parseFloat) \
P(parseInt) \ P(parseInt) \
P(pause) \ P(pause) \
P(PI) \
P(plainDateISO) \ P(plainDateISO) \
P(plainDateTimeISO) \ P(plainDateTimeISO) \
P(plainTime) \ P(plainTime) \
P(plainTimeISO) \ P(plainTimeISO) \
P(pluralCategories) \ P(pluralCategories) \
P(pop) \ P(pop) \
P(POSITIVE_INFINITY) \
P(pow) \ P(pow) \
P(preventExtensions) \ P(preventExtensions) \
P(promise) \ P(promise) \
P(propertyIsEnumerable) \ P(propertyIsEnumerable) \
P(prototype) \ P(prototype) \
P(Proxy) \
P(proxy) \ P(proxy) \
P(push) \ P(push) \
P(race) \ P(race) \
@ -409,6 +401,8 @@ namespace JS {
P(reason) \ P(reason) \
P(reduce) \ P(reduce) \
P(reduceRight) \ P(reduceRight) \
P(Reflect) \
P(RegExp) \
P(region) \ P(region) \
P(reject) \ P(reject) \
P(relativeTo) \ P(relativeTo) \
@ -420,11 +414,11 @@ namespace JS {
P(reverse) \ P(reverse) \
P(revocable) \ P(revocable) \
P(revoke) \ P(revoke) \
P(rightContext) \
P(round) \ P(round) \
P(roundingIncrement) \ P(roundingIncrement) \
P(roundingMode) \ P(roundingMode) \
P(roundingPriority) \ P(roundingPriority) \
P(rightContext) \
P(script) \ P(script) \
P(seal) \ P(seal) \
P(second) \ P(second) \
@ -480,6 +474,8 @@ namespace JS {
P(source) \ P(source) \
P(splice) \ P(splice) \
P(sqrt) \ P(sqrt) \
P(SQRT1_2) \
P(SQRT2) \
P(stack) \ P(stack) \
P(startOfDay) \ P(startOfDay) \
P(startsWith) \ P(startsWith) \
@ -487,6 +483,7 @@ namespace JS {
P(sticky) \ P(sticky) \
P(store) \ P(store) \
P(strike) \ P(strike) \
P(String) \
P(stringify) \ P(stringify) \
P(style) \ P(style) \
P(sub) \ P(sub) \
@ -495,14 +492,16 @@ namespace JS {
P(substring) \ P(substring) \
P(subtract) \ P(subtract) \
P(sup) \ P(sup) \
P(suppressed) \
P(supportedLocalesOf) \ P(supportedLocalesOf) \
P(supportedValuesOf) \ P(supportedValuesOf) \
P(suppressed) \
P(Symbol) \
P(symmetricDifference) \ P(symmetricDifference) \
P(table) \ P(table) \
P(take) \ P(take) \
P(tan) \ P(tan) \
P(tanh) \ P(tanh) \
P(Temporal) \
P(test) \ P(test) \
P(then) \ P(then) \
P(time) \ P(time) \
@ -568,15 +567,16 @@ namespace JS {
P(usage) \ P(usage) \
P(use) \ P(use) \
P(useGrouping) \ P(useGrouping) \
P(UTC) \
P(value) \ P(value) \
P(valueOf) \ P(valueOf) \
P(values) \ P(values) \
P(wait) \ P(wait) \
P(waitAsync) \ P(waitAsync) \
P(warn) \ P(warn) \
P(weekOfYear) \
P(weekday) \ P(weekday) \
P(weekend) \ P(weekend) \
P(weekOfYear) \
P(weeks) \ P(weeks) \
P(weeksDisplay) \ P(weeksDisplay) \
P(with) \ P(with) \

View file

@ -8,291 +8,291 @@
#include <AK/StringView.h> #include <AK/StringView.h>
#define JS_ENUMERATE_ERROR_TYPES(M) \ #define JS_ENUMERATE_ERROR_TYPES(M) \
M(ArrayMaxSize, "Maximum array size exceeded") \ M(AccessorBadField, "Accessor descriptor's '{}' field must be a function or undefined") \
M(AccessorBadField, "Accessor descriptor's '{}' field must be a function or undefined") \ M(AccessorValueOrWritable, "Accessor property descriptor cannot specify a value or writable key") \
M(AccessorValueOrWritable, "Accessor property descriptor cannot specify a value or writable key") \ M(AgentCannotSuspend, "Agent is not allowed to suspend") \
M(AgentCannotSuspend, "Agent is not allowed to suspend") \ M(ArrayMaxSize, "Maximum array size exceeded") \
M(BigIntBadOperator, "Cannot use {} operator with BigInt") \ M(BadArgCountMany, "{}() needs {} arguments") \
M(BigIntBadOperatorOtherType, "Cannot use {} operator with BigInt and other type") \ M(BadArgCountOne, "{}() needs one argument") \
M(BigIntFromNonIntegral, "Cannot convert non-integral number to BigInt") \ M(BigIntBadOperator, "Cannot use {} operator with BigInt") \
M(BigIntInvalidValue, "Invalid value for BigInt: {}") \ M(BigIntBadOperatorOtherType, "Cannot use {} operator with BigInt and other type") \
M(BindingNotInitialized, "Binding {} is not initialized") \ M(BigIntFromNonIntegral, "Cannot convert non-integral number to BigInt") \
M(BufferOutOfBounds, "{} contains a property which references a value at an index not contained within its buffer's bounds") \ M(BigIntInvalidValue, "Invalid value for BigInt: {}") \
M(ByteLengthExceedsMaxByteLength, "ArrayBuffer byte length of {} exceeds the max byte length of {}") \ M(BindingNotInitialized, "Binding {} is not initialized") \
M(CallStackSizeExceeded, "Call stack size limit exceeded") \ M(BufferOutOfBounds, "{} contains a property which references a value at an index not contained within its buffer's bounds") \
M(CannotDeclareGlobalFunction, "Cannot declare global function of name '{}'") \ M(ByteLengthExceedsMaxByteLength, "ArrayBuffer byte length of {} exceeds the max byte length of {}") \
M(CannotDeclareGlobalVariable, "Cannot declare global variable of name '{}'") \ M(CallStackSizeExceeded, "Call stack size limit exceeded") \
M(CannotBeHeldWeakly, "{} cannot be held weakly") \ M(CannotBeHeldWeakly, "{} cannot be held weakly") \
M(ClassConstructorWithoutNew, "Class constructor {} must be called with 'new'") \ M(CannotDeclareGlobalFunction, "Cannot declare global function of name '{}'") \
M(ClassExtendsValueNotAConstructorOrNull, "Class extends value {} is not a constructor or null") \ M(CannotDeclareGlobalVariable, "Cannot declare global variable of name '{}'") \
M(ClassExtendsValueInvalidPrototype, "Class extends value has an invalid prototype {}") \ M(ClassConstructorWithoutNew, "Class constructor {} must be called with 'new'") \
M(ClassIsAbstract, "Abstract class {} cannot be constructed directly") \ M(ClassExtendsValueInvalidPrototype, "Class extends value has an invalid prototype {}") \
M(ConstructorWithoutNew, "{} constructor must be called with 'new'") \ M(ClassExtendsValueNotAConstructorOrNull, "Class extends value {} is not a constructor or null") \
M(Convert, "Cannot convert {} to {}") \ M(ClassIsAbstract, "Abstract class {} cannot be constructed directly") \
M(DataViewOutOfRangeByteOffset, "Data view byte offset {} is out of range for buffer with length {}") \ M(ConstructorWithoutNew, "{} constructor must be called with 'new'") \
M(DerivedConstructorReturningInvalidValue, "Derived constructor return invalid value") \ M(Convert, "Cannot convert {} to {}") \
M(DescWriteNonWritable, "Cannot write to non-writable property '{}'") \ M(DataViewOutOfRangeByteOffset, "Data view byte offset {} is out of range for buffer with length {}") \
M(DetachedArrayBuffer, "ArrayBuffer is detached") \ M(DerivedConstructorReturningInvalidValue, "Derived constructor return invalid value") \
M(DetachKeyMismatch, "Provided detach key {} does not match the ArrayBuffer's detach key {}") \ M(DescWriteNonWritable, "Cannot write to non-writable property '{}'") \
M(DisposableStackAlreadyDisposed, "DisposableStack already disposed values") \ M(DetachedArrayBuffer, "ArrayBuffer is detached") \
M(DivisionByZero, "Division by zero") \ M(DetachKeyMismatch, "Provided detach key {} does not match the ArrayBuffer's detach key {}") \
M(DynamicImportNotAllowed, "Dynamic Imports are not allowed") \ M(DisposableStackAlreadyDisposed, "DisposableStack already disposed values") \
M(FinalizationRegistrySameTargetAndValue, "Target and held value must not be the same") \ M(DivisionByZero, "Division by zero") \
M(FixedArrayBuffer, "ArrayBuffer is not resizable") \ M(DynamicImportNotAllowed, "Dynamic Imports are not allowed") \
M(GetCapabilitiesExecutorCalledMultipleTimes, "GetCapabilitiesExecutor was called multiple times") \ M(FinalizationRegistrySameTargetAndValue, "Target and held value must not be the same") \
M(GeneratorAlreadyExecuting, "Generator is already executing") \ M(FixedArrayBuffer, "ArrayBuffer is not resizable") \
M(GeneratorBrandMismatch, "Generator brand '{}' does not match generator brand '{}')") \ M(GeneratorAlreadyExecuting, "Generator is already executing") \
M(GlobalEnvironmentAlreadyHasBinding, "Global environment already has binding '{}'") \ M(GeneratorBrandMismatch, "Generator brand '{}' does not match generator brand '{}')") \
M(IndexOutOfRange, "Index {} is out of range of array length {}") \ M(GetCapabilitiesExecutorCalledMultipleTimes, "GetCapabilitiesExecutor was called multiple times") \
M(InOperatorWithObject, "'in' operator must be used on an object") \ M(GetLegacyRegExpStaticPropertyThisValueMismatch, \
M(InstanceOfOperatorBadPrototype, "'prototype' property of {} is not an object") \ "Legacy RegExp static property getter must be called with the RegExp constructor for the this value") \
M(IntlFractionalUnitFollowedByNonFractionalUnit, "Non-fractional unit {} is not allowed after a fractional unit") \ M(GetLegacyRegExpStaticPropertyValueEmpty, "Legacy RegExp static property getter value is empty") \
M(IntlFractionalUnitsMixedWithAlwaysDisplay, "Fractional unit {} may not be used with {} value of 'always'") \ M(GlobalEnvironmentAlreadyHasBinding, "Global environment already has binding '{}'") \
M(IntlInvalidDateTimeFormatOption, "Option {} cannot be set when also providing {}") \ M(IndexOutOfRange, "Index {} is out of range of array length {}") \
M(IntlInvalidKey, "{} is not a valid key") \ M(InOperatorWithObject, "'in' operator must be used on an object") \
M(IntlInvalidLanguageTag, "{} is not a structurally valid language tag") \ M(InstanceOfOperatorBadPrototype, "'prototype' property of {} is not an object") \
M(IntlInvalidRoundingIncrement, "{} is not a valid rounding increment") \ M(IntlFractionalUnitFollowedByNonFractionalUnit, "Non-fractional unit {} is not allowed after a fractional unit") \
M(IntlInvalidRoundingIncrementForFractionDigits, "{} is not a valid rounding increment for inequal min/max fraction digits") \ M(IntlFractionalUnitsMixedWithAlwaysDisplay, "Fractional unit {} may not be used with {} value of 'always'") \
M(IntlInvalidRoundingIncrementForRoundingType, "{} is not a valid rounding increment for rounding type {}") \ M(IntlInvalidDateTimeFormatOption, "Option {} cannot be set when also providing {}") \
M(IntlInvalidTime, "Time value must be between -8.64E15 and 8.64E15") \ M(IntlInvalidKey, "{} is not a valid key") \
M(IntlInvalidUnit, "Unit {} is not a valid time unit") \ M(IntlInvalidLanguageTag, "{} is not a structurally valid language tag") \
M(IntlMinimumExceedsMaximum, "Minimum value {} is larger than maximum value {}") \ M(IntlInvalidRoundingIncrement, "{} is not a valid rounding increment") \
M(IntlNumberIsNaNOrOutOfRange, "Value {} is NaN or is not between {} and {}") \ M(IntlInvalidRoundingIncrementForFractionDigits, "{} is not a valid rounding increment for inequal min/max fraction digits") \
M(IntlOptionUndefined, "Option {} must be defined when option {} is {}") \ M(IntlInvalidRoundingIncrementForRoundingType, "{} is not a valid rounding increment for rounding type {}") \
M(IntlNonNumericOr2DigitAfterNumericOr2Digit, "Styles other than 'fractional', numeric', or '2-digit' may not be used in smaller " \ M(IntlInvalidTime, "Time value must be between -8.64E15 and 8.64E15") \
"units after being used in larger units") \ M(IntlInvalidUnit, "Unit {} is not a valid time unit") \
M(InvalidAssignToConst, "Invalid assignment to const variable") \ M(IntlMinimumExceedsMaximum, "Minimum value {} is larger than maximum value {}") \
M(InvalidCodePoint, "Invalid code point {}, must be an integer no less than 0 and no greater than 0x10FFFF") \ M(IntlNonNumericOr2DigitAfterNumericOr2Digit, \
M(InvalidFractionDigits, "Fraction Digits must be an integer no less than 0, and no greater than 100") \ "Styles other than 'fractional', numeric', or '2-digit' may not be used in smaller units after being used in larger units") \
M(InvalidHint, "Invalid hint: \"{}\"") \ M(IntlNumberIsNaNOrOutOfRange, "Value {} is NaN or is not between {} and {}") \
M(InvalidIndex, "Index must be a positive integer") \ M(IntlOptionUndefined, "Option {} must be defined when option {} is {}") \
M(InvalidLeftHandAssignment, "Invalid left-hand side in assignment") \ M(InvalidAssignToConst, "Invalid assignment to const variable") \
M(InvalidLength, "Invalid {} length") \ M(InvalidCodePoint, "Invalid code point {}, must be an integer no less than 0 and no greater than 0x10FFFF") \
M(InvalidOrAmbiguousExportEntry, "Invalid or ambiguous export entry '{}'") \ M(InvalidEnumerationValue, "Invalid value '{}' for enumeration type '{}'") \
M(InvalidPrecision, "Precision must be an integer no less than 1, and no greater than 100") \ M(InvalidFractionDigits, "Fraction Digits must be an integer no less than 0, and no greater than 100") \
M(InvalidRestrictedFloatingPointParameter, "Expected {} to be a finite floating-point number") \ M(InvalidHint, "Invalid hint: \"{}\"") \
M(InvalidTimeValue, "Invalid time value") \ M(InvalidIndex, "Index must be a positive integer") \
M(InvalidRadix, "Radix must be an integer no less than 2, and no greater than 36") \ M(InvalidLeftHandAssignment, "Invalid left-hand side in assignment") \
M(IsNotA, "{} is not a {}") \ M(InvalidLength, "Invalid {} length") \
M(IsNotAn, "{} is not an {}") \ M(InvalidNormalizationForm, "The normalization form must be one of NFC, NFD, NFKC, NFKD. Got '{}'") \
M(IsNotAEvaluatedFrom, "{} is not a {} (evaluated from '{}')") \ M(InvalidOrAmbiguousExportEntry, "Invalid or ambiguous export entry '{}'") \
M(IsUndefined, "{} is undefined") \ M(InvalidPrecision, "Precision must be an integer no less than 1, and no greater than 100") \
M(IterableNextBadReturn, "iterator.next() returned a non-object value") \ M(InvalidRadix, "Radix must be an integer no less than 2, and no greater than 36") \
M(IterableReturnBadReturn, "iterator.return() returned a non-object value") \ M(InvalidRestrictedFloatingPointParameter, "Expected {} to be a finite floating-point number") \
M(JsonBigInt, "Cannot serialize BigInt value to JSON") \ M(InvalidTimeValue, "Invalid time value") \
M(JsonCircular, "Cannot stringify circular object") \ M(IsNotA, "{} is not a {}") \
M(JsonMalformed, "Malformed JSON string") \ M(IsNotAEvaluatedFrom, "{} is not a {} (evaluated from '{}')") \
M(MissingRequiredProperty, "Required property {} is missing or undefined") \ M(IsNotAn, "{} is not an {}") \
M(ModuleNoEnvironment, "Cannot find module environment for imported binding") \ M(IsUndefined, "{} is undefined") \
M(ModuleNotFound, "Cannot find/open module: '{}'") \ M(IterableNextBadReturn, "iterator.next() returned a non-object value") \
M(NegativeExponent, "Exponent must be positive") \ M(IterableReturnBadReturn, "iterator.return() returned a non-object value") \
M(NoDisposeMethod, "{} does not have dispose method") \ M(JsonBigInt, "Cannot serialize BigInt value to JSON") \
M(NotAConstructor, "{} is not a constructor") \ M(JsonCircular, "Cannot stringify circular object") \
M(NotAFunction, "{} is not a function") \ M(JsonMalformed, "Malformed JSON string") \
M(NotAnIntegerOrUndefined, "{} is neither an integer nor undefined") \ M(MissingRequiredProperty, "Required property {} is missing or undefined") \
M(NotAnObject, "{} is not an object") \ M(ModuleNoEnvironment, "Cannot find module environment for imported binding") \
M(NotAnObjectOfType, "Not an object of type {}") \ M(ModuleNotFound, "Cannot find/open module: '{}'") \
M(NotAnObjectOrNull, "{} is neither an object nor null") \ M(NegativeExponent, "Exponent must be positive") \
M(NotAnObjectOrString, "{} is neither an object nor a string") \ M(NoDisposeMethod, "{} does not have dispose method") \
M(NotASharedArrayBuffer, "The array buffer object must be a SharedArrayBuffer") \ M(NotAConstructor, "{} is not a constructor") \
M(NotAString, "{} is not a string") \ M(NotAFunction, "{} is not a function") \
M(NotASymbol, "{} is not a symbol") \ M(NotAnIntegerOrUndefined, "{} is neither an integer nor undefined") \
M(NotImplemented, "TODO({} is not implemented in LibJS)") \ M(NotAnObject, "{} is not an object") \
M(NotIterable, "{} is not iterable") \ M(NotAnObjectOfType, "Not an object of type {}") \
M(NotObjectCoercible, "{} cannot be converted to an object") \ M(NotAnObjectOrNull, "{} is neither an object nor null") \
M(NotUndefined, "{} is not undefined") \ M(NotAnObjectOrString, "{} is neither an object nor a string") \
M(NumberIsNaN, "{} must not be NaN") \ M(NotASharedArrayBuffer, "The array buffer object must be a SharedArrayBuffer") \
M(NumberIsNaNOrInfinity, "Number must not be NaN or Infinity") \ M(NotAString, "{} is not a string") \
M(NumberIsNegative, "{} must not be negative") \ M(NotASymbol, "{} is not a symbol") \
M(ObjectDefineOwnPropertyReturnedFalse, "Object's [[DefineOwnProperty]] method returned false") \ M(NotEnoughMemoryToAllocate, "Not enough memory to allocate {} bytes") \
M(ObjectDeleteReturnedFalse, "Object's [[Delete]] method returned false") \ M(NotImplemented, "TODO({} is not implemented in LibJS)") \
M(ObjectFreezeFailed, "Could not freeze object") \ M(NotIterable, "{} is not iterable") \
M(ObjectSealFailed, "Could not seal object") \ M(NotObjectCoercible, "{} cannot be converted to an object") \
M(ObjectSetReturnedFalse, "Object's [[Set]] method returned false") \ M(NotUndefined, "{} is not undefined") \
M(ObjectSetPrototypeOfReturnedFalse, "Object's [[SetPrototypeOf]] method returned false") \ M(NumberIsNaN, "{} must not be NaN") \
M(ObjectPreventExtensionsReturnedFalse, "Object's [[PreventExtensions]] method returned false") \ M(NumberIsNaNOrInfinity, "Number must not be NaN or Infinity") \
M(ObjectPrototypeWrongType, "Prototype must be an object or null") \ M(NumberIsNegative, "{} must not be negative") \
M(OptionIsNotValidValue, "{} is not a valid value for option {}") \ M(ObjectDefineOwnPropertyReturnedFalse, "Object's [[DefineOwnProperty]] method returned false") \
M(OutOfMemory, "Out of memory") \ M(ObjectDeleteReturnedFalse, "Object's [[Delete]] method returned false") \
M(OverloadResolutionFailed, "Overload resolution failed") \ M(ObjectFreezeFailed, "Could not freeze object") \
M(PrivateFieldAlreadyDeclared, "Private field '{}' has already been declared") \ M(ObjectPreventExtensionsReturnedFalse, "Object's [[PreventExtensions]] method returned false") \
M(PrivateFieldDoesNotExistOnObject, "Private field '{}' does not exist on object") \ M(ObjectPrototypeWrongType, "Prototype must be an object or null") \
M(PrivateFieldGetAccessorWithoutGetter, "Cannot get private field '{}' as accessor without getter") \ M(ObjectSealFailed, "Could not seal object") \
M(PrivateFieldSetAccessorWithoutSetter, "Cannot set private field '{}' as accessor without setter") \ M(ObjectSetPrototypeOfReturnedFalse, "Object's [[SetPrototypeOf]] method returned false") \
M(PrivateFieldSetMethod, "Cannot set private method '{}'") \ M(ObjectSetReturnedFalse, "Object's [[Set]] method returned false") \
M(PromiseExecutorNotAFunction, "Promise executor must be a function") \ M(OptionIsNotValidValue, "{} is not a valid value for option {}") \
M(ProxyConstructBadReturnType, "Proxy handler's construct trap violates invariant: must return " \ M(OutOfMemory, "Out of memory") \
"an object") \ M(OverloadResolutionFailed, "Overload resolution failed") \
M(ProxyConstructorBadType, "Expected {} argument of Proxy constructor to be object, got {}") \ M(PrivateFieldAlreadyDeclared, "Private field '{}' has already been declared") \
M(ProxyDefinePropExistingConfigurable, "Proxy handler's defineProperty trap violates " \ M(PrivateFieldDoesNotExistOnObject, "Private field '{}' does not exist on object") \
"invariant: a property cannot be defined as non-configurable if it already exists on the " \ M(PrivateFieldGetAccessorWithoutGetter, "Cannot get private field '{}' as accessor without getter") \
"target object as a configurable property") \ M(PrivateFieldSetAccessorWithoutSetter, "Cannot set private field '{}' as accessor without setter") \
M(ProxyDefinePropIncompatibleDescriptor, "Proxy handler's defineProperty trap violates " \ M(PrivateFieldSetMethod, "Cannot set private method '{}'") \
"invariant: the new descriptor is not compatible with the existing descriptor of the " \ M(PromiseExecutorNotAFunction, "Promise executor must be a function") \
"property on the target") \ M(ProxyConstructBadReturnType, "Proxy handler's construct trap violates invariant: must return an object") \
M(ProxyDefinePropNonConfigurableNonExisting, "Proxy handler's defineProperty trap " \ M(ProxyConstructorBadType, "Expected {} argument of Proxy constructor to be object, got {}") \
"violates invariant: a property cannot be defined as non-configurable if it does not " \ M(ProxyDefinePropExistingConfigurable, \
"already exist on the target object") \ "Proxy handler's defineProperty trap violates invariant: a property cannot be defined as non-configurable if it " \
M(ProxyDefinePropNonWritable, "Proxy handler's defineProperty trap violates invariant: a non-configurable property cannot be " \ "already exists on the target object as a configurable property") \
"non-writable, unless there exists a corresponding non-configurable, non-writable own property of " \ M(ProxyDefinePropIncompatibleDescriptor, \
"the target object") \ "Proxy handler's defineProperty trap violates invariant: the new descriptor is not compatible with the existing " \
M(ProxyDefinePropNonExtensible, "Proxy handler's defineProperty trap violates invariant: " \ "descriptor of the property on the target") \
"a property cannot be reported as being defined if the property does not exist on " \ M(ProxyDefinePropNonConfigurableNonExisting, \
"the target and the target is non-extensible") \ "Proxy handler's defineProperty trap violates invariant: a property cannot be defined as non-configurable if it " \
M(ProxyDeleteNonConfigurable, "Proxy handler's deleteProperty trap violates invariant: " \ "does not already exist on the target object") \
"cannot report a non-configurable own property of the target as deleted") \ M(ProxyDefinePropNonExtensible, \
M(ProxyDeleteNonExtensible, "Proxy handler's deleteProperty trap violates invariant: " \ "Proxy handler's defineProperty trap violates invariant: a property cannot be reported as being defined if the " \
"a property cannot be reported as deleted, if it exists as an own property of the target object and " \ "property does not exist on the target and the target is non-extensible") \
"the target object is non-extensible. ") \ M(ProxyDefinePropNonWritable, \
M(ProxyGetImmutableDataProperty, "Proxy handler's get trap violates invariant: the " \ "Proxy handler's defineProperty trap violates invariant: a non-configurable property cannot be non-writable, " \
"returned value must match the value on the target if the property exists on the " \ "unless there exists a corresponding non-configurable, non-writable own property of the target object") \
"target as a non-writable, non-configurable own data property") \ M(ProxyDeleteNonConfigurable, \
M(ProxyGetNonConfigurableAccessor, "Proxy handler's get trap violates invariant: the " \ "Proxy handler's deleteProperty trap violates invariant: cannot report a non-configurable own property of the " \
"returned value must be undefined if the property exists on the target as a " \ "target as deleted") \
"non-configurable accessor property with an undefined get attribute") \ M(ProxyDeleteNonExtensible, \
M(ProxyGetOwnDescriptorInvalidDescriptor, "Proxy handler's getOwnPropertyDescriptor trap " \ "Proxy handler's deleteProperty trap violates invariant: a property cannot be reported as deleted, if it exists " \
"violates invariant: invalid property descriptor for existing property on the target") \ "as an own property of the target object and the target object is non-extensible. ") \
M(ProxyGetOwnDescriptorInvalidNonConfig, "Proxy handler's getOwnPropertyDescriptor trap " \ M(ProxyGetImmutableDataProperty, \
"violates invariant: cannot report target's property as non-configurable if the " \ "Proxy handler's get trap violates invariant: the returned value must match the value on the target if the " \
"property does not exist, or if it is configurable") \ "property exists on the target as a non-writable, non-configurable own data property") \
M(ProxyGetOwnDescriptorNonConfigurable, "Proxy handler's getOwnPropertyDescriptor trap " \ M(ProxyGetNonConfigurableAccessor, \
"violates invariant: cannot return undefined for a property on the target which is " \ "Proxy handler's get trap violates invariant: the returned value must be undefined if the property exists on the " \
"a non-configurable property") \ "target as a non-configurable accessor property with an undefined get attribute") \
M(ProxyGetOwnDescriptorNonConfigurableNonWritable, "Proxy handler's getOwnPropertyDescriptor trap " \ M(ProxyGetOwnDescriptorInvalidDescriptor, \
"violates invariant: cannot a property as both non-configurable and " \ "Proxy handler's getOwnPropertyDescriptor trap violates invariant: invalid property descriptor for existing " \
"non-writable, unless it exists as a non-configurable, non-writable own " \ "property on the target") \
"property of the target object") \ M(ProxyGetOwnDescriptorInvalidNonConfig, \
M(ProxyGetOwnDescriptorReturn, "Proxy handler's getOwnPropertyDescriptor trap violates " \ "Proxy handler's getOwnPropertyDescriptor trap violates invariant: cannot report target's property as " \
"invariant: must return an object or undefined") \ "non-configurable if the property does not exist, or if it is configurable") \
M(ProxyGetOwnDescriptorUndefinedReturn, "Proxy handler's getOwnPropertyDescriptor trap " \ M(ProxyGetOwnDescriptorNonConfigurable, \
"violates invariant: cannot report a property as being undefined if it exists as an " \ "Proxy handler's getOwnPropertyDescriptor trap violates invariant: cannot return undefined for a property on the " \
"own property of the target and the target is non-extensible") \ "target which is a non-configurable property") \
M(ProxyGetPrototypeOfNonExtensible, "Proxy handler's getPrototypeOf trap violates " \ M(ProxyGetOwnDescriptorNonConfigurableNonWritable, \
"invariant: cannot return a different prototype object for a non-extensible target") \ "Proxy handler's getOwnPropertyDescriptor trap violates invariant: cannot a property as both non-configurable and " \
M(ProxyGetPrototypeOfReturn, "Proxy handler's getPrototypeOf trap violates invariant: " \ "non-writable, unless it exists as a non-configurable, non-writable own property of the target object") \
"must return an object or null") \ M(ProxyGetOwnDescriptorReturn, \
M(ProxyHasExistingNonConfigurable, "Proxy handler's has trap violates invariant: a " \ "Proxy handler's getOwnPropertyDescriptor trap violates invariant: must return an object or undefined") \
"property cannot be reported as non-existent if it exists on the target as a " \ M(ProxyGetOwnDescriptorUndefinedReturn, \
"non-configurable property") \ "Proxy handler's getOwnPropertyDescriptor trap violates invariant: cannot report a property as being undefined " \
M(ProxyHasExistingNonExtensible, "Proxy handler's has trap violates invariant: a property " \ "if it exists as an own property of the target and the target is non-extensible") \
"cannot be reported as non-existent if it exists on the target and the target is " \ M(ProxyGetPrototypeOfNonExtensible, \
"non-extensible") \ "Proxy handler's getPrototypeOf trap violates invariant: cannot return a different prototype object for a " \
M(ProxyIsExtensibleReturn, "Proxy handler's isExtensible trap violates invariant: " \ "non-extensible target") \
"return value must match the target's extensibility") \ M(ProxyGetPrototypeOfReturn, "Proxy handler's getPrototypeOf trap violates invariant: must return an object or null") \
M(ProxyOwnPropertyKeysNotStringOrSymbol, "Proxy handler's ownKeys trap violates invariant: " \ M(ProxyHasExistingNonConfigurable, \
"the type of each result list element is either String or Symbol") \ "Proxy handler's has trap violates invariant: a property cannot be reported as non-existent if it exists on the " \
M(ProxyOwnPropertyKeysDuplicates, "Proxy handler's ownKeys trap violates invariant: " \ "target as a non-configurable property") \
"the result list may not contain duplicate elements") \ M(ProxyHasExistingNonExtensible, \
M(ProxyOwnPropertyKeysSkippedNonconfigurableProperty, "Proxy handler's ownKeys trap violates invariant: " \ "Proxy handler's has trap violates invariant: a property cannot be reported as non-existent if it exists on the " \
"cannot skip non-configurable property '{}'") \ "target and the target is non-extensible") \
M(ProxyOwnPropertyKeysNonExtensibleSkippedProperty, "Proxy handler's ownKeys trap violates invariant: " \ M(ProxyIsExtensibleReturn, \
"cannot skip property '{}' of non-extensible object") \ "Proxy handler's isExtensible trap violates invariant: return value must match the target's extensibility") \
M(ProxyOwnPropertyKeysNonExtensibleNewProperty, "Proxy handler's ownKeys trap violates invariant: " \ M(ProxyOwnPropertyKeysDuplicates, \
"cannot report new property '{}' of non-extensible object") \ "Proxy handler's ownKeys trap violates invariant: the result list may not contain duplicate elements") \
M(ProxyPreventExtensionsReturn, "Proxy handler's preventExtensions trap violates " \ M(ProxyOwnPropertyKeysNonExtensibleNewProperty, \
"invariant: cannot return true if the target object is extensible") \ "Proxy handler's ownKeys trap violates invariant: cannot report new property '{}' of non-extensible object") \
M(ProxyRevoked, "An operation was performed on a revoked Proxy object") \ M(ProxyOwnPropertyKeysNonExtensibleSkippedProperty, \
M(ProxySetImmutableDataProperty, "Proxy handler's set trap violates invariant: cannot " \ "Proxy handler's ownKeys trap violates invariant: cannot skip property '{}' of non-extensible object") \
"return true for a property on the target which is a non-configurable, non-writable " \ M(ProxyOwnPropertyKeysNotStringOrSymbol, \
"own data property") \ "Proxy handler's ownKeys trap violates invariant: the type of each result list element is either String or Symbol") \
M(ProxySetNonConfigurableAccessor, "Proxy handler's set trap violates invariant: cannot " \ M(ProxyOwnPropertyKeysSkippedNonconfigurableProperty, \
"return true for a property on the target which is a non-configurable own accessor " \ "Proxy handler's ownKeys trap violates invariant: cannot skip non-configurable property '{}'") \
"property with an undefined set attribute") \ M(ProxyPreventExtensionsReturn, \
M(ProxySetPrototypeOfNonExtensible, "Proxy handler's setPrototypeOf trap violates " \ "Proxy handler's preventExtensions trap violates invariant: cannot return true if the target object is extensible") \
"invariant: the argument must match the prototype of the target if the " \ M(ProxyRevoked, "An operation was performed on a revoked Proxy object") \
"target is non-extensible") \ M(ProxySetImmutableDataProperty, \
M(ReduceNoInitial, "Reduce of empty array with no initial value") \ "Proxy handler's set trap violates invariant: cannot return true for a property on the target which is a " \
M(ReferenceNullishDeleteProperty, "Cannot delete property '{}' of {}") \ "non-configurable, non-writable own data property") \
M(ReferenceNullishSetProperty, "Cannot set property '{}' of {}") \ M(ProxySetNonConfigurableAccessor, \
M(ReferencePrimitiveSetProperty, "Cannot set property '{}' of {} '{}'") \ "Proxy handler's set trap violates invariant: cannot return true for a property on the target which is a " \
M(ReferenceUnresolvable, "Unresolvable reference") \ "non-configurable own accessor property with an undefined set attribute") \
M(RegExpCompileError, "RegExp compile error: {}") \ M(ProxySetPrototypeOfNonExtensible, \
M(RegExpObjectBadFlag, "Invalid RegExp flag '{}'") \ "Proxy handler's setPrototypeOf trap violates invariant: the argument must match the prototype of the target if " \
M(RegExpObjectRepeatedFlag, "Repeated RegExp flag '{}'") \ "the target is non-extensible") \
M(RegExpObjectIncompatibleFlags, "RegExp flag '{}' is incompatible with flag '{}'") \ M(ReduceNoInitial, "Reduce of empty array with no initial value") \
M(RestrictedFunctionPropertiesAccess, "Restricted function properties like 'callee', 'caller' and 'arguments' may " \ M(ReferenceNullishDeleteProperty, "Cannot delete property '{}' of {}") \
"not be accessed in strict mode") \ M(ReferenceNullishSetProperty, "Cannot set property '{}' of {}") \
M(RestrictedGlobalProperty, "Cannot declare global property '{}'") \ M(ReferencePrimitiveSetProperty, "Cannot set property '{}' of {} '{}'") \
M(ShadowRealmEvaluateAbruptCompletion, "The evaluated script did not complete normally") \ M(ReferenceUnresolvable, "Unresolvable reference") \
M(ShadowRealmWrappedValueNonFunctionObject, "Wrapped value must be primitive or a function object, got {}") \ M(RegExpCompileError, "RegExp compile error: {}") \
M(SharedArrayBuffer, "The array buffer object cannot be a SharedArrayBuffer") \ M(RegExpObjectBadFlag, "Invalid RegExp flag '{}'") \
M(SpeciesConstructorDidNotCreate, "Species constructor did not create {}") \ M(RegExpObjectIncompatibleFlags, "RegExp flag '{}' is incompatible with flag '{}'") \
M(SpeciesConstructorReturned, "Species constructor returned {}") \ M(RegExpObjectRepeatedFlag, "Repeated RegExp flag '{}'") \
M(StringNonGlobalRegExp, "RegExp argument is non-global") \ M(RestrictedFunctionPropertiesAccess, \
M(StringRepeatCountMustBe, "repeat count must be a {} number") \ "Restricted function properties like 'callee', 'caller' and 'arguments' may not be accessed in strict mode") \
M(StringRepeatCountMustNotOverflow, "repeat count must not overflow") \ M(RestrictedGlobalProperty, "Cannot declare global property '{}'") \
M(TemporalDifferentCalendars, "Cannot compare dates from two different calendars") \ M(SetLegacyRegExpStaticPropertyThisValueMismatch, \
M(TemporalDifferentTimeZones, "Cannot compare dates from two different time zones") \ "Legacy RegExp static property setter must be called with the RegExp constructor for the this value") \
M(TemporalDisambiguatePossibleEpochNSRejectMoreThanOne, "Cannot disambiguate two or more possible epoch nanoseconds") \ M(ShadowRealmEvaluateAbruptCompletion, "The evaluated script did not complete normally") \
M(TemporalDisambiguatePossibleEpochNSRejectZero, "Cannot disambiguate zero possible epoch nanoseconds") \ M(ShadowRealmWrappedValueNonFunctionObject, "Wrapped value must be primitive or a function object, got {}") \
M(TemporalInvalidCalendar, "Invalid calendar") \ M(SharedArrayBuffer, "The array buffer object cannot be a SharedArrayBuffer") \
M(TemporalInvalidCalendarFieldName, "Invalid calendar field '{}'") \ M(SpeciesConstructorDidNotCreate, "Species constructor did not create {}") \
M(TemporalInvalidCalendarIdentifier, "Invalid calendar identifier '{}'") \ M(SpeciesConstructorReturned, "Species constructor returned {}") \
M(TemporalInvalidCalendarString, "Invalid calendar string '{}'") \ M(StringNonGlobalRegExp, "RegExp argument is non-global") \
M(TemporalInvalidCriticalAnnotation, "Invalid critical annotation: '{}={}'") \ M(StringRepeatCountMustBe, "repeat count must be a {} number") \
M(TemporalInvalidDuration, "Invalid duration") \ M(StringRepeatCountMustNotOverflow, "repeat count must not overflow") \
M(TemporalInvalidDurationLikeObject, "Invalid duration-like object") \ M(TemporalDifferentCalendars, "Cannot compare dates from two different calendars") \
M(TemporalInvalidDurationPropertyValueNonIntegral, "Invalid value for duration property '{}': must be an integer, got {}") \ M(TemporalDifferentTimeZones, "Cannot compare dates from two different time zones") \
M(TemporalInvalidDurationString, "Invalid duration string '{}'") \ M(TemporalDisambiguatePossibleEpochNSRejectMoreThanOne, "Cannot disambiguate two or more possible epoch nanoseconds") \
M(TemporalInvalidEpochNanoseconds, "Invalid epoch nanoseconds value, must be in range -86400 * 10^17 to 86400 * 10^17") \ M(TemporalDisambiguatePossibleEpochNSRejectZero, "Cannot disambiguate zero possible epoch nanoseconds") \
M(TemporalInvalidInstantString, "Invalid instant string '{}'") \ M(TemporalInvalidCalendar, "Invalid calendar") \
M(TemporalInvalidISODate, "Invalid ISO date") \ M(TemporalInvalidCalendarFieldName, "Invalid calendar field '{}'") \
M(TemporalInvalidISODateTime, "Invalid ISO date time") \ M(TemporalInvalidCalendarIdentifier, "Invalid calendar identifier '{}'") \
M(TemporalInvalidLargestUnit, "Largest unit must not be {}") \ M(TemporalInvalidCalendarString, "Invalid calendar string '{}'") \
M(TemporalInvalidMonthCode, "Invalid month code") \ M(TemporalInvalidCriticalAnnotation, "Invalid critical annotation: '{}={}'") \
M(TemporalInvalidPlainDate, "Invalid plain date") \ M(TemporalInvalidDuration, "Invalid duration") \
M(TemporalInvalidPlainDateTime, "Invalid plain date time") \ M(TemporalInvalidDurationLikeObject, "Invalid duration-like object") \
M(TemporalInvalidPlainMonthDay, "Invalid plain month day") \ M(TemporalInvalidDurationPropertyValueNonIntegral, "Invalid value for duration property '{}': must be an integer, got {}") \
M(TemporalInvalidPlainTime, "Invalid plain time") \ M(TemporalInvalidDurationString, "Invalid duration string '{}'") \
M(TemporalInvalidPlainYearMonth, "Invalid plain year month") \ M(TemporalInvalidEpochNanoseconds, "Invalid epoch nanoseconds value, must be in range -86400 * 10^17 to 86400 * 10^17") \
M(TemporalInvalidTime, "Invalid time") \ M(TemporalInvalidInstantString, "Invalid instant string '{}'") \
M(TemporalInvalidTimeLikeField, "Invalid value {} for time field '{}'") \ M(TemporalInvalidISODate, "Invalid ISO date") \
M(TemporalInvalidTimeZoneName, "Invalid time zone name '{}'") \ M(TemporalInvalidISODateTime, "Invalid ISO date time") \
M(TemporalInvalidTimeZoneString, "Invalid time zone string '{}'") \ M(TemporalInvalidLargestUnit, "Largest unit must not be {}") \
M(TemporalInvalidUnitRange, "Invalid unit range, {} is larger than {}") \ M(TemporalInvalidMonthCode, "Invalid month code") \
M(TemporalInvalidZonedDateTimeOffset, "Invalid offset for the provided date and time in the current time zone") \ M(TemporalInvalidPlainDate, "Invalid plain date") \
M(TemporalInvalidZonedDateTimeString, "Invalid zoned date time string '{}'") \ M(TemporalInvalidPlainDateTime, "Invalid plain date time") \
M(TemporalMissingOptionsObject, "Required options object is missing or undefined") \ M(TemporalInvalidPlainMonthDay, "Invalid plain month day") \
M(TemporalMissingStartingPoint, "A starting point is required for comparing {}") \ M(TemporalInvalidPlainTime, "Invalid plain time") \
M(TemporalMissingUnits, "One or both of smallestUnit or largestUnit is required") \ M(TemporalInvalidPlainYearMonth, "Invalid plain year month") \
M(TemporalObjectMustBePartialTemporalObject, "Object must be a partial Temporal object") \ M(TemporalInvalidTime, "Invalid time") \
M(ThisHasNotBeenInitialized, "|this| has not been initialized") \ M(TemporalInvalidTimeLikeField, "Invalid value {} for time field '{}'") \
M(ThisIsAlreadyInitialized, "|this| is already initialized") \ M(TemporalInvalidTimeZoneName, "Invalid time zone name '{}'") \
M(ToObjectNullOrUndefined, "ToObject on null or undefined") \ M(TemporalInvalidTimeZoneString, "Invalid time zone string '{}'") \
M(ToObjectNullOrUndefinedWithName, "\"{}\" is {}") \ M(TemporalInvalidUnitRange, "Invalid unit range, {} is larger than {}") \
M(ToObjectNullOrUndefinedWithProperty, "Cannot access property \"{}\" on {} object") \ M(TemporalInvalidZonedDateTimeOffset, "Invalid offset for the provided date and time in the current time zone") \
M(ToObjectNullOrUndefinedWithPropertyAndName, "Cannot access property \"{}\" on {} object \"{}\"") \ M(TemporalInvalidZonedDateTimeString, "Invalid zoned date time string '{}'") \
M(TopLevelVariableAlreadyDeclared, "Redeclaration of top level variable '{}'") \ M(TemporalMissingOptionsObject, "Required options object is missing or undefined") \
M(ToPrimitiveReturnedObject, "Can't convert {} to primitive with hint \"{}\", its @@toPrimitive method returned an object") \ M(TemporalMissingStartingPoint, "A starting point is required for comparing {}") \
M(TypedArrayContentTypeMismatch, "Can't create {} from {}") \ M(TemporalMissingUnits, "One or both of smallestUnit or largestUnit is required") \
M(TypedArrayInvalidBufferLength, "Invalid buffer length for {}: must be a multiple of {}, got {}") \ M(TemporalObjectMustBePartialTemporalObject, "Object must be a partial Temporal object") \
M(TypedArrayInvalidByteOffset, "Invalid byte offset for {}: must be a multiple of {}, got {}") \ M(ThisHasNotBeenInitialized, "|this| has not been initialized") \
M(TypedArrayInvalidCopy, "Copy between arrays of different content types ({} and {}) is prohibited") \ M(ThisIsAlreadyInitialized, "|this| is already initialized") \
M(TypedArrayInvalidIntegerIndex, "Invalid integer index: {}") \ M(ToObjectNullOrUndefined, "ToObject on null or undefined") \
M(TypedArrayInvalidTargetOffset, "Invalid target offset: must be {}") \ M(ToObjectNullOrUndefinedWithName, "\"{}\" is {}") \
M(TypedArrayOutOfRangeByteOffset, "Typed array byte offset {} is out of range for buffer with length {}") \ M(ToObjectNullOrUndefinedWithProperty, "Cannot access property \"{}\" on {} object") \
M(TypedArrayOutOfRangeByteOffsetOrLength, "Typed array range {}:{} is out of range for buffer with length {}") \ M(ToObjectNullOrUndefinedWithPropertyAndName, "Cannot access property \"{}\" on {} object \"{}\"") \
M(TypedArrayOverflow, "Overflow in {}") \ M(TopLevelVariableAlreadyDeclared, "Redeclaration of top level variable '{}'") \
M(TypedArrayOverflowOrOutOfBounds, "Overflow or out of bounds in {}") \ M(ToPrimitiveReturnedObject, "Can't convert {} to primitive with hint \"{}\", its @@toPrimitive method returned an object") \
M(TypedArrayPrototypeOneArg, "TypedArray.prototype.{}() requires at least one argument") \ M(TypedArrayContentTypeMismatch, "Can't create {} from {}") \
M(TypedArrayTypeIsNot, "Typed array {} element type is not {}") \ M(TypedArrayInvalidBufferLength, "Invalid buffer length for {}: must be a multiple of {}, got {}") \
M(UnknownIdentifier, "'{}' is not defined") \ M(TypedArrayInvalidByteOffset, "Invalid byte offset for {}: must be a multiple of {}, got {}") \
M(UnsupportedDeleteSuperProperty, "Can't delete a property on 'super'") \ M(TypedArrayInvalidCopy, "Copy between arrays of different content types ({} and {}) is prohibited") \
M(WrappedFunctionCallThrowCompletion, "Call of wrapped target function did not complete normally") \ M(TypedArrayInvalidIntegerIndex, "Invalid integer index: {}") \
M(WrappedFunctionCopyNameAndLengthThrowCompletion, "Trying to copy target name and length did not complete normally") \ M(TypedArrayInvalidTargetOffset, "Invalid target offset: must be {}") \
M(YieldFromIteratorMissingThrowMethod, "yield* protocol violation: iterator must have a throw method") \ M(TypedArrayOutOfRangeByteOffset, "Typed array byte offset {} is out of range for buffer with length {}") \
M(URIMalformed, "URI malformed") /* LibWeb bindings */ \ M(TypedArrayOutOfRangeByteOffsetOrLength, "Typed array range {}:{} is out of range for buffer with length {}") \
M(BadArgCountOne, "{}() needs one argument") \ M(TypedArrayOverflow, "Overflow in {}") \
M(BadArgCountMany, "{}() needs {} arguments") \ M(TypedArrayOverflowOrOutOfBounds, "Overflow or out of bounds in {}") \
M(NotEnoughMemoryToAllocate, "Not enough memory to allocate {} bytes") \ M(TypedArrayPrototypeOneArg, "TypedArray.prototype.{}() requires at least one argument") \
M(InvalidEnumerationValue, "Invalid value '{}' for enumeration type '{}'") \ M(TypedArrayTypeIsNot, "Typed array {} element type is not {}") \
M(InvalidNormalizationForm, "The normalization form must be one of NFC, NFD, NFKC, NFKD. Got '{}'") \ M(UnknownIdentifier, "'{}' is not defined") \
M(SetLegacyRegExpStaticPropertyThisValueMismatch, "Legacy RegExp static property setter " \ M(UnsupportedDeleteSuperProperty, "Can't delete a property on 'super'") \
"must be called with the RegExp constructor for the this value") \ M(URIMalformed, "URI malformed") /* LibWeb bindings */ \
M(GetLegacyRegExpStaticPropertyThisValueMismatch, "Legacy RegExp static property getter " \ M(WrappedFunctionCallThrowCompletion, "Call of wrapped target function did not complete normally") \
"must be called with the RegExp constructor for the this value") \ M(WrappedFunctionCopyNameAndLengthThrowCompletion, "Trying to copy target name and length did not complete normally") \
M(GetLegacyRegExpStaticPropertyValueEmpty, "Legacy RegExp static property getter value is empty") M(YieldFromIteratorMissingThrowMethod, "yield* protocol violation: iterator must have a throw method")
namespace JS { namespace JS {