1253 lines
26 KiB
YAML
1253 lines
26 KiB
YAML
#
|
|
# Built-in strings
|
|
#
|
|
# String data is always quoted for clarity. Codepoints U+0000...U+00FF
|
|
# are identified with bytes 1:1 to allow even invalid UTF-8 strings to
|
|
# be represented. Internal strings are represented as Symbols with a
|
|
# structured markup to avoid exposing the specific internal format (which
|
|
# begins with a 0x82 byte since Duktape 2.2).
|
|
#
|
|
# Built-in strings can be mostly scanned automatically based on what
|
|
# strings built-in objects need, but there are also dependencies on
|
|
# certain built-in strings in C code (DUK_HTHREAD_STRING_XXX()) which
|
|
# are scanned using an external utility src/scan_used_stridx.py.
|
|
# Besides knowing the plain string values, metadata on some strings
|
|
# matters for built-in data generation, e.g. some strings must have
|
|
# an 8-bit string index.
|
|
#
|
|
|
|
strings:
|
|
|
|
# --- Standard built-in object related strings ---
|
|
|
|
# internal class values
|
|
- str: "Undefined" # sort of
|
|
class_name: true
|
|
- str: "Null" # sort of
|
|
class_name: true
|
|
- str: "Object"
|
|
class_name: true
|
|
- str: "Function"
|
|
class_name: true
|
|
- str: "Array"
|
|
class_name: true
|
|
- str: "String"
|
|
class_name: true
|
|
- str: "Symbol"
|
|
class_name: true
|
|
es6: true
|
|
- str: "Boolean"
|
|
class_name: true
|
|
- str: "Number"
|
|
class_name: true
|
|
- str: "Date"
|
|
class_name: true
|
|
- str: "RegExp"
|
|
class_name: true
|
|
- str: "Error"
|
|
class_name: true
|
|
- str: "Math"
|
|
class_name: true
|
|
- str: "JSON"
|
|
class_name: true
|
|
- str: "Arguments"
|
|
class_name: true
|
|
|
|
# built-in object names
|
|
- str: "Object"
|
|
- str: "Function"
|
|
- str: "Array"
|
|
- str: "String"
|
|
- str: "Boolean"
|
|
- str: "Number"
|
|
- str: "Date"
|
|
- str: "RegExp"
|
|
- str: "Error"
|
|
- str: "EvalError"
|
|
- str: "RangeError"
|
|
- str: "ReferenceError"
|
|
- str: "SyntaxError"
|
|
- str: "TypeError"
|
|
- str: "URIError"
|
|
- str: "Math"
|
|
- str: "JSON"
|
|
|
|
# Global object
|
|
- str: "eval"
|
|
- str: "parseInt"
|
|
- str: "parseFloat"
|
|
- str: "isNaN"
|
|
- str: "isFinite"
|
|
- str: "decodeURI"
|
|
- str: "decodeURIComponent"
|
|
- str: "encodeURI"
|
|
- str: "encodeURIComponent"
|
|
- str: "escape"
|
|
- str: "unescape"
|
|
|
|
# Object constructor
|
|
- str: "length"
|
|
- str: "prototype"
|
|
- str: "getPrototypeOf"
|
|
- str: "getOwnPropertyDescriptor"
|
|
- str: "getOwnPropertyNames"
|
|
- str: "create"
|
|
- str: "defineProperty"
|
|
- str: "defineProperties"
|
|
- str: "seal"
|
|
- str: "freeze"
|
|
- str: "preventExtensions"
|
|
- str: "isSealed"
|
|
- str: "isFrozen"
|
|
- str: "isExtensible"
|
|
- str: "keys"
|
|
|
|
# Property descriptors
|
|
- str: "value"
|
|
- str: "writable"
|
|
- str: "configurable"
|
|
- str: "enumerable"
|
|
- str: "get"
|
|
- str: "set"
|
|
|
|
# Object prototype
|
|
- str: "constructor"
|
|
- str: "toString"
|
|
- str: "toLocaleString"
|
|
- str: "valueOf"
|
|
- str: "hasOwnProperty"
|
|
- str: "isPrototypeOf"
|
|
- str: "propertyIsEnumerable"
|
|
|
|
# Object instances - no special properties
|
|
|
|
# Function constructor
|
|
- str: "length"
|
|
- str: "prototype"
|
|
|
|
# Function prototype
|
|
- str: "constructor"
|
|
- str: "toString"
|
|
- str: "apply"
|
|
- str: "call"
|
|
- str: "bind"
|
|
|
|
# Function instances
|
|
- str: "length"
|
|
- str: "prototype"
|
|
- str: "caller" # bind() generated instances
|
|
- str: "arguments" # bind() generated instances
|
|
|
|
# Array constructor
|
|
- str: "length"
|
|
- str: "prototype"
|
|
- str: "isArray"
|
|
|
|
# Array prototype
|
|
- str: "constructor"
|
|
- str: "toString"
|
|
- str: "toLocaleString"
|
|
- str: "concat"
|
|
- str: "join"
|
|
- str: "pop"
|
|
- str: "push"
|
|
- str: "reverse"
|
|
- str: "shift"
|
|
- str: "slice"
|
|
- str: "sort"
|
|
- str: "splice"
|
|
- str: "unshift"
|
|
- str: "indexOf"
|
|
- str: "lastIndexOf"
|
|
- str: "every"
|
|
- str: "some"
|
|
- str: "forEach"
|
|
- str: "map"
|
|
- str: "filter"
|
|
- str: "reduce"
|
|
- str: "reduceRight"
|
|
|
|
# Array instances
|
|
- str: "length"
|
|
|
|
# String constructor
|
|
- str: "length"
|
|
- str: "prototype"
|
|
- str: "fromCharCode"
|
|
|
|
# String prototype
|
|
- str: "constructor"
|
|
- str: "toString"
|
|
- str: "valueOf"
|
|
- str: "charAt"
|
|
- str: "charCodeAt"
|
|
- str: "concat"
|
|
- str: "indexOf"
|
|
- str: "lastIndexOf"
|
|
- str: "localeCompare"
|
|
- str: "match"
|
|
- str: "replace"
|
|
- str: "search"
|
|
- str: "slice"
|
|
- str: "split"
|
|
- str: "substring"
|
|
- str: "toLowerCase"
|
|
- str: "toLocaleLowerCase"
|
|
- str: "toUpperCase"
|
|
- str: "toLocaleUpperCase"
|
|
- str: "trim"
|
|
- str: "substr"
|
|
section_b: true
|
|
|
|
# String instances
|
|
- str: "length"
|
|
|
|
# Boolean constructor
|
|
- str: "length"
|
|
- str: "prototype"
|
|
|
|
# Boolean prototype
|
|
- str: "constructor"
|
|
- str: "toString"
|
|
- str: "valueOf"
|
|
|
|
# Boolean instances - no special properties
|
|
|
|
# Number constructor
|
|
- str: "length"
|
|
- str: "prototype"
|
|
- str: "MAX_VALUE"
|
|
- str: "MIN_VALUE"
|
|
- str: "NaN"
|
|
- str: "NEGATIVE_INFINITY"
|
|
- str: "POSITIVE_INFINITY"
|
|
|
|
# Number prototype
|
|
- str: "constructor"
|
|
- str: "toString"
|
|
- str: "toLocaleString"
|
|
- str: "valueOf"
|
|
- str: "toFixed"
|
|
- str: "toExponential"
|
|
- str: "toPrecision"
|
|
|
|
# Number instances - no special properties
|
|
|
|
# Date constructor
|
|
- str: "length"
|
|
- str: "prototype"
|
|
- str: "parse"
|
|
- str: "UTC"
|
|
- str: "now"
|
|
|
|
# Date prototype
|
|
- str: "constructor"
|
|
- str: "toString"
|
|
- str: "toDateString"
|
|
- str: "toTimeString"
|
|
- str: "toLocaleString"
|
|
- str: "toLocaleDateString"
|
|
- str: "toLocaleTimeString"
|
|
- str: "valueOf"
|
|
- str: "getTime"
|
|
- str: "getFullYear"
|
|
- str: "getUTCFullYear"
|
|
- str: "getMonth"
|
|
- str: "getUTCMonth"
|
|
- str: "getDate"
|
|
- str: "getUTCDate"
|
|
- str: "getDay"
|
|
- str: "getUTCDay"
|
|
- str: "getHours"
|
|
- str: "getUTCHours"
|
|
- str: "getMinutes"
|
|
- str: "getUTCMinutes"
|
|
- str: "getSeconds"
|
|
- str: "getUTCSeconds"
|
|
- str: "getMilliseconds"
|
|
- str: "getUTCMilliseconds"
|
|
- str: "getTimezoneOffset"
|
|
- str: "setTime"
|
|
- str: "setMilliseconds"
|
|
- str: "setUTCMilliseconds"
|
|
- str: "setSeconds"
|
|
- str: "setUTCSeconds"
|
|
- str: "setMinutes"
|
|
- str: "setUTCMinutes"
|
|
- str: "setHours"
|
|
- str: "setUTCHours"
|
|
- str: "setDate"
|
|
- str: "setUTCDate"
|
|
- str: "setMonth"
|
|
- str: "setUTCMonth"
|
|
- str: "setFullYear"
|
|
- str: "setUTCFullYear"
|
|
- str: "toUTCString"
|
|
- str: "toISOString"
|
|
- str: "toJSON"
|
|
- str: "getYear"
|
|
section_b: true
|
|
- str: "setYear"
|
|
section_b: true
|
|
- str: "toGMTString"
|
|
section_b: true
|
|
|
|
# Date instances - no special properties
|
|
|
|
# RegExp constructor
|
|
- str: "length"
|
|
- str: "prototype"
|
|
|
|
# RegExp prototype
|
|
- str: "constructor"
|
|
- str: "exec"
|
|
- str: "test"
|
|
- str: "toString"
|
|
|
|
# RegExp instances
|
|
- str: "source"
|
|
- str: "global"
|
|
- str: "ignoreCase"
|
|
- str: "multiline"
|
|
- str: "lastIndex"
|
|
- str: "flags"
|
|
# - str: "unicode"
|
|
# - str: "sticky"
|
|
|
|
# RegExp exec() results
|
|
- str: "index"
|
|
- str: "input"
|
|
|
|
# Error constructor
|
|
- str: "length"
|
|
- str: "prototype"
|
|
|
|
# Error prototype
|
|
- str: "constructor"
|
|
- str: "name"
|
|
- str: "message"
|
|
- str: "toString"
|
|
|
|
# Error instances - no special properties
|
|
|
|
# Error prototype / error fields (apply to all native errors in the spec)
|
|
- str: "name"
|
|
- str: "message"
|
|
|
|
# Math object
|
|
- str: "E"
|
|
- str: "LN10"
|
|
- str: "LN2"
|
|
- str: "LOG2E"
|
|
- str: "LOG10E"
|
|
- str: "PI"
|
|
- str: "SQRT1_2"
|
|
- str: "SQRT2"
|
|
- str: "abs"
|
|
- str: "acos"
|
|
- str: "asin"
|
|
- str: "atan"
|
|
- str: "atan2"
|
|
- str: "ceil"
|
|
- str: "cos"
|
|
- str: "exp"
|
|
- str: "floor"
|
|
- str: "log"
|
|
- str: "max"
|
|
- str: "min"
|
|
- str: "pow"
|
|
- str: "random"
|
|
- str: "round"
|
|
- str: "sin"
|
|
- str: "sqrt"
|
|
- str: "tan"
|
|
|
|
# JSON object
|
|
- str: "parse"
|
|
- str: "stringify"
|
|
|
|
# --- Other standard related strings ---
|
|
|
|
# typeof - these produce unfortunate naming conflicts like "Object" vs "object"
|
|
- str: "undefined"
|
|
- str: "boolean"
|
|
- str: "number"
|
|
- str: "string"
|
|
- str: "symbol"
|
|
es6: true
|
|
- str: "object" # also returned for typeof null
|
|
- str: "function"
|
|
|
|
# type related
|
|
- str: "undefined"
|
|
- str: "null"
|
|
- str: "true"
|
|
- str: "false"
|
|
|
|
# special values
|
|
- str: "length"
|
|
- str: "NaN"
|
|
- str: "Infinity"
|
|
- str: "+Infinity"
|
|
- str: "-Infinity"
|
|
- str: "0"
|
|
- str: "+0"
|
|
- str: "-0"
|
|
- str: "" # used as a class name for unused/invalid class
|
|
class_name: true
|
|
- str: "," # for array joining
|
|
- str: "\n " # for tracebacks
|
|
- str: "[...]" # for tracebacks
|
|
- str: "Invalid Date" # for invalid Date instances
|
|
|
|
# arguments object (E5 Section 10.6)
|
|
- str: "arguments"
|
|
- str: "callee"
|
|
- str: "caller"
|
|
|
|
# "set" and "get" are strings we need in object literals but they are not
|
|
# ReservedWords.
|
|
- str: "get"
|
|
- str: "set"
|
|
|
|
# --- ES2015 specific strings ---
|
|
|
|
# Proxy
|
|
- str: "Proxy"
|
|
es6: true
|
|
#- str: "revocable"
|
|
# es6: true
|
|
|
|
# Proxy trap names (ES2015 Section 9.5)
|
|
#- str: "getPrototypeOf"
|
|
# es6: true
|
|
#- str: "setPrototypeOf"
|
|
# es6: true
|
|
#- str: "isExtensible"
|
|
# es6: true
|
|
#- str: "preventExtensions"
|
|
# es6: true
|
|
#- str: "getOwnPropertyDescriptor"
|
|
# es6: true
|
|
- str: "has"
|
|
es6: true
|
|
- str: "get"
|
|
es6: true
|
|
- str: "set"
|
|
es6: true
|
|
- str: "deleteProperty"
|
|
es6: true
|
|
#- str: "defineProperty"
|
|
# es6: true
|
|
#- str: "enumerate" # obsoleted in ES2016
|
|
# es6: true
|
|
- str: "ownKeys"
|
|
es6: true
|
|
- str: "apply"
|
|
es6: true
|
|
- str: "construct"
|
|
es6: true
|
|
|
|
- str: "Reflect"
|
|
es6: true
|
|
- str: "apply"
|
|
es6: true
|
|
- str: "construct"
|
|
es6: true
|
|
- str: "defineProperty"
|
|
es6: true
|
|
- str: "deleteProperty"
|
|
es6: true
|
|
- str: "get"
|
|
es6: true
|
|
- str: "getOwnPropertyDescriptor"
|
|
es6: true
|
|
- str: "getPrototypeOf"
|
|
es6: true
|
|
- str: "has"
|
|
es6: true
|
|
- str: "isExtensible"
|
|
es6: true
|
|
- str: "ownKeys"
|
|
es6: true
|
|
- str: "preventExtensions"
|
|
es6: true
|
|
- str: "set"
|
|
es6: true
|
|
- str: "setPrototypeOf"
|
|
es6: true
|
|
|
|
# Well-known symbols
|
|
- str:
|
|
type: symbol
|
|
variant: wellknown
|
|
string: "Symbol.toPrimitive"
|
|
- str:
|
|
type: symbol
|
|
variant: wellknown
|
|
string: "Symbol.hasInstance"
|
|
- str:
|
|
type: symbol
|
|
variant: wellknown
|
|
string: "Symbol.toStringTag"
|
|
- str:
|
|
type: symbol
|
|
variant: wellknown
|
|
string: "Symbol.isConcatSpreadable"
|
|
|
|
# Misc
|
|
- str: "setPrototypeOf"
|
|
es6: true
|
|
- str: "__proto__"
|
|
es6: true
|
|
|
|
# --- Node.js Buffer / TypedArray related strings ---
|
|
|
|
# Node.js class
|
|
- str: "Buffer"
|
|
class_name: true
|
|
nodejs_buffer: true
|
|
|
|
# Node.js Buffer constructor
|
|
- str: "concat"
|
|
nodejs_buffer: true
|
|
- str: "isEncoding"
|
|
nodejs_buffer: true
|
|
- str: "isBuffer"
|
|
nodejs_buffer: true
|
|
- str: "byteLength"
|
|
nodejs_buffer: true
|
|
- str: "compare"
|
|
nodejs_buffer: true
|
|
|
|
# Node.js Buffer prototype
|
|
- str: "toString"
|
|
nodejs_buffer: true
|
|
- str: "toJSON"
|
|
nodejs_buffer: true
|
|
- str: "write"
|
|
nodejs_buffer: true
|
|
- str: "fill"
|
|
nodejs_buffer: true
|
|
- str: "equals"
|
|
nodejs_buffer: true
|
|
- str: "compare"
|
|
nodejs_buffer: true
|
|
- str: "copy"
|
|
nodejs_buffer: true
|
|
- str: "slice"
|
|
nodejs_buffer: true
|
|
- str: "readUInt8"
|
|
nodejs_buffer: true
|
|
- str: "readInt8"
|
|
nodejs_buffer: true
|
|
- str: "readUInt16LE"
|
|
nodejs_buffer: true
|
|
- str: "readUInt16BE"
|
|
nodejs_buffer: true
|
|
- str: "readInt16LE"
|
|
nodejs_buffer: true
|
|
- str: "readInt16BE"
|
|
nodejs_buffer: true
|
|
- str: "readUInt32LE"
|
|
nodejs_buffer: true
|
|
- str: "readUInt32BE"
|
|
nodejs_buffer: true
|
|
- str: "readInt32LE"
|
|
nodejs_buffer: true
|
|
- str: "readInt32BE"
|
|
nodejs_buffer: true
|
|
- str: "readFloatLE"
|
|
nodejs_buffer: true
|
|
- str: "readFloatBE"
|
|
nodejs_buffer: true
|
|
- str: "readDoubleLE"
|
|
nodejs_buffer: true
|
|
- str: "readDoubleBE"
|
|
nodejs_buffer: true
|
|
- str: "readUIntLE"
|
|
nodejs_buffer: true
|
|
- str: "readUIntBE"
|
|
nodejs_buffer: true
|
|
- str: "readIntLE"
|
|
nodejs_buffer: true
|
|
- str: "readIntBE"
|
|
nodejs_buffer: true
|
|
- str: "writeUInt8"
|
|
nodejs_buffer: true
|
|
- str: "writeInt8"
|
|
nodejs_buffer: true
|
|
- str: "writeUInt16LE"
|
|
nodejs_buffer: true
|
|
- str: "writeUInt16BE"
|
|
nodejs_buffer: true
|
|
- str: "writeInt16LE"
|
|
nodejs_buffer: true
|
|
- str: "writeInt16BE"
|
|
nodejs_buffer: true
|
|
- str: "writeUInt32LE"
|
|
nodejs_buffer: true
|
|
- str: "writeUInt32BE"
|
|
nodejs_buffer: true
|
|
- str: "writeInt32LE"
|
|
nodejs_buffer: true
|
|
- str: "writeInt32BE"
|
|
nodejs_buffer: true
|
|
- str: "writeFloatLE"
|
|
nodejs_buffer: true
|
|
- str: "writeFloatBE"
|
|
nodejs_buffer: true
|
|
- str: "writeDoubleLE"
|
|
nodejs_buffer: true
|
|
- str: "writeDoubleBE"
|
|
nodejs_buffer: true
|
|
- str: "writeUIntLE"
|
|
nodejs_buffer: true
|
|
- str: "writeUIntBE"
|
|
nodejs_buffer: true
|
|
- str: "writeIntLE"
|
|
nodejs_buffer: true
|
|
- str: "writeIntBE"
|
|
nodejs_buffer: true
|
|
|
|
# Node.js toJSON()
|
|
- str: "type"
|
|
nodejs_buffer: true
|
|
- str: "data"
|
|
nodejs_buffer: true
|
|
|
|
# TypedArray classes
|
|
- str: "ArrayBuffer"
|
|
class_name: true
|
|
typed_array: true
|
|
- str: "DataView"
|
|
class_name: true
|
|
typed_array: true
|
|
- str: "Int8Array"
|
|
class_name: true
|
|
typed_array: true
|
|
- str: "Uint8Array"
|
|
class_name: true
|
|
typed_array: true
|
|
- str: "Uint8ClampedArray"
|
|
class_name: true
|
|
typed_array: true
|
|
- str: "Int16Array"
|
|
class_name: true
|
|
typed_array: true
|
|
- str: "Uint16Array"
|
|
class_name: true
|
|
typed_array: true
|
|
- str: "Int32Array"
|
|
class_name: true
|
|
typed_array: true
|
|
- str: "Uint32Array"
|
|
class_name: true
|
|
typed_array: true
|
|
- str: "Float32Array"
|
|
class_name: true
|
|
typed_array: true
|
|
- str: "Float64Array"
|
|
class_name: true
|
|
typed_array: true
|
|
|
|
# TypedArray ArrayBuffer constructor
|
|
- str: "isView"
|
|
typed_array: true
|
|
|
|
# TypedArray ArrayBuffer instance
|
|
- str: "slice"
|
|
typed_array: true
|
|
|
|
# TypedArray ArrayBufferView shared
|
|
- str: "buffer"
|
|
typed_array: true
|
|
- str: "length"
|
|
typed_array: true
|
|
#- str: "byteLength"
|
|
# typed_array: true
|
|
#- str: "byteOffset"
|
|
# typed_array: true
|
|
#- str: "BYTES_PER_ELEMENT"
|
|
# typed_array: true
|
|
|
|
# TypedArray TypedArray (e.g. Uint8Array)
|
|
- str: "set"
|
|
typed_array: true
|
|
- str: "subarray"
|
|
typed_array: true
|
|
|
|
# TypedArray DataView
|
|
- str: "getInt8"
|
|
typed_array: true
|
|
- str: "getUint8"
|
|
typed_array: true
|
|
- str: "getInt16"
|
|
typed_array: true
|
|
- str: "getUint16"
|
|
typed_array: true
|
|
- str: "getInt32"
|
|
typed_array: true
|
|
- str: "getUint32"
|
|
typed_array: true
|
|
- str: "getFloat32"
|
|
typed_array: true
|
|
- str: "getFloat64"
|
|
typed_array: true
|
|
- str: "setInt8"
|
|
typed_array: true
|
|
- str: "setUint8"
|
|
typed_array: true
|
|
- str: "setInt16"
|
|
typed_array: true
|
|
- str: "setUint16"
|
|
typed_array: true
|
|
- str: "setInt32"
|
|
typed_array: true
|
|
- str: "setUint32"
|
|
typed_array: true
|
|
- str: "setFloat32"
|
|
typed_array: true
|
|
- str: "setFloat64"
|
|
typed_array: true
|
|
|
|
# --- Duktape specific strings ---
|
|
|
|
# non-standard global properties
|
|
- str: "Duktape"
|
|
duktape: true
|
|
|
|
# non-standard class values
|
|
- str: "global" # implementation specific but shared by e.g. smjs and V8
|
|
duktape: true
|
|
class_name: true
|
|
- str: "ObjEnv"
|
|
duktape: true
|
|
class_name: true
|
|
- str: "DecEnv"
|
|
duktape: true
|
|
class_name: true
|
|
- str: "Buffer"
|
|
duktape: true
|
|
class_name: true
|
|
- str: "Pointer"
|
|
duktape: true
|
|
class_name: true
|
|
- str: "Thread"
|
|
duktape: true
|
|
class_name: true
|
|
|
|
# non-standard built-in object names
|
|
- str: "ThrowTypeError" # implementation specific, matches V8
|
|
duktape: true
|
|
|
|
# non-standard error object (or Error.prototype) properties
|
|
- str: "stack"
|
|
duktape: true
|
|
- str: "pc"
|
|
duktape: true
|
|
- str: "fileName"
|
|
duktape: true
|
|
- str: "lineNumber"
|
|
duktape: true
|
|
#- str: "code"
|
|
# duktape: true
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Tracedata"
|
|
duktape: true
|
|
internal: true
|
|
|
|
# non-standard function instance properties
|
|
- str: "name" # function declaration/expression name (or empty)
|
|
duktape: true
|
|
- str: "fileName" # filename associated with function (shown in tracebacks)
|
|
duktape: true
|
|
|
|
# typeof - these produce unfortunate naming conflicts like "Object" vs "object"
|
|
#- str: "buffer" # no longer used in Duktape 2.x for typeof (typeof plainBuffer -> 'object' instead)
|
|
# duktape: true
|
|
- str: "pointer"
|
|
duktape: true
|
|
|
|
# GETPROPC delayed error, can use any shared hidden Symbol that can never
|
|
# occur in used visible values (which may be thrown and thus trigger special
|
|
# handling). At present, use _Target which is only used by enumerator
|
|
# objects and nothing user visible.
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Target"
|
|
duktape: true
|
|
internal: true
|
|
|
|
# internal property for primitive value (Boolean, Number, String)
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Value"
|
|
duktape: true
|
|
internal: true
|
|
|
|
# internal properties for enumerator objects
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Target"
|
|
duktape: true
|
|
internal: true
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Next"
|
|
duktape: true
|
|
internal: true
|
|
|
|
# internal properties for RegExp instances
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Bytecode"
|
|
duktape: true
|
|
internal: true
|
|
|
|
# internal properties for function objects
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Formals"
|
|
duktape: true
|
|
internal: true
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Varmap"
|
|
duktape: true
|
|
internal: true
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Source"
|
|
duktape: true
|
|
internal: true
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Pc2line"
|
|
duktape: true
|
|
internal: true
|
|
|
|
# internal properties for thread objects
|
|
|
|
# internal properties for argument objects
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Map"
|
|
duktape: true
|
|
internal: true
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Varenv"
|
|
duktape: true
|
|
internal: true
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Callee"
|
|
duktape: true
|
|
internal: true
|
|
|
|
# internal properties for general objects
|
|
#- str:
|
|
# type: symbol
|
|
# variant: hidden
|
|
# string: "Metatable"
|
|
# duktape: true
|
|
# internal: true
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Finalizer"
|
|
duktape: true
|
|
internal: true
|
|
|
|
# internal property used for GETPROPC created error objects to delay
|
|
# their throwing (intentionally reuse an existing property name)
|
|
- str:
|
|
type: symbol
|
|
variant: hidden
|
|
string: "Value"
|
|
duktape: true
|
|
internal: true
|
|
|
|
# fake filename for compiled functions
|
|
- str: "compile" # used as a filename for functions created with Function constructor
|
|
duktape: true
|
|
- str: "input" # used as a filename for eval temp function
|
|
duktape: true
|
|
|
|
# Duktape object
|
|
- str: "errCreate"
|
|
duktape: true
|
|
- str: "errThrow"
|
|
duktape: true
|
|
- str: "env"
|
|
duktape: true
|
|
- str: "version"
|
|
duktape: true
|
|
- str: "info"
|
|
duktape: true
|
|
- str: "act"
|
|
duktape: true
|
|
- str: "gc"
|
|
duktape: true
|
|
- str: "fin"
|
|
duktape: true
|
|
- str: "enc"
|
|
duktape: true
|
|
- str: "dec"
|
|
duktape: true
|
|
- str: "compact"
|
|
duktape: true
|
|
|
|
# enc/dec algorithms
|
|
- str: "hex"
|
|
duktape: true
|
|
- str: "base64"
|
|
duktape: true
|
|
- str: "jx"
|
|
duktape: true
|
|
- str: "jc"
|
|
duktape: true
|
|
|
|
# Buffer constructor
|
|
|
|
# Buffer prototype
|
|
|
|
# Pointer constructor
|
|
|
|
# Pointer prototype
|
|
|
|
# Thread constructor
|
|
- str: "yield"
|
|
duktape: true
|
|
- str: "resume"
|
|
duktape: true
|
|
- str: "current"
|
|
duktape: true
|
|
|
|
# Thread prototype
|
|
|
|
# special literals for custom json encodings
|
|
- str: "{\"_undef\":true}"
|
|
duktape: true
|
|
- str: "{\"_nan\":true}"
|
|
duktape: true
|
|
- str: "{\"_inf\":true}"
|
|
duktape: true
|
|
- str: "{\"_ninf\":true}"
|
|
duktape: true
|
|
- str: "{\"_func\":true}"
|
|
duktape: true
|
|
- str: "{_func:true}"
|
|
duktape: true
|
|
|
|
# --- Standard reserved words (non-strict mode + strict mode) ---
|
|
# Note: order must match DUK_TOK_XXX reserved defines in duk_types.h
|
|
|
|
# E5 Section 7.6.1
|
|
|
|
# Keyword
|
|
|
|
- str: "break"
|
|
reserved_word: true
|
|
- str: "case"
|
|
reserved_word: true
|
|
- str: "catch"
|
|
reserved_word: true
|
|
- str: "continue"
|
|
reserved_word: true
|
|
- str: "debugger"
|
|
reserved_word: true
|
|
- str: "default"
|
|
reserved_word: true
|
|
- str: "delete"
|
|
reserved_word: true
|
|
- str: "do"
|
|
reserved_word: true
|
|
- str: "else"
|
|
reserved_word: true
|
|
- str: "finally"
|
|
reserved_word: true
|
|
- str: "for"
|
|
reserved_word: true
|
|
- str: "function"
|
|
reserved_word: true
|
|
- str: "if"
|
|
reserved_word: true
|
|
- str: "in"
|
|
reserved_word: true
|
|
- str: "instanceof"
|
|
reserved_word: true
|
|
- str: "new"
|
|
reserved_word: true
|
|
- str: "return"
|
|
reserved_word: true
|
|
- str: "switch"
|
|
reserved_word: true
|
|
- str: "this"
|
|
reserved_word: true
|
|
- str: "throw"
|
|
reserved_word: true
|
|
- str: "try"
|
|
reserved_word: true
|
|
- str: "typeof"
|
|
reserved_word: true
|
|
- str: "var"
|
|
reserved_word: true
|
|
- str: "const" # future reserved word in E5.1, now supported by Duktape so moved here
|
|
reserved_word: true
|
|
- str: "void"
|
|
reserved_word: true
|
|
- str: "while"
|
|
reserved_word: true
|
|
- str: "with"
|
|
reserved_word: true
|
|
|
|
# Future reserved word
|
|
|
|
- str: "class"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
- str: "enum"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
- str: "export"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
- str: "extends"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
- str: "import"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
- str: "super"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
|
|
# E5 Section 7.8.1 and 7.8.2: special literals which the lexer
|
|
# basically treats like keywords
|
|
|
|
- str: "null"
|
|
reserved_word: true
|
|
special_literal: true
|
|
- str: "true"
|
|
reserved_word: true
|
|
special_literal: true
|
|
- str: "false"
|
|
reserved_word: true
|
|
special_literal: true
|
|
|
|
# "set" and "get" are *NOT* reserved words and there is even code
|
|
# in the wild with statements like "var set = 1;". They are thus
|
|
# treated as ordinary identifiers and recognized by the compiler
|
|
# as tokens in a special way.
|
|
#- str: "get"
|
|
#- str: "set"
|
|
|
|
# --- Standard reserved words (strict mode only) ---
|
|
# Note: order must match DUK_TOK_XXX reserved defines in duk_types.h
|
|
|
|
# Future reserved word (additionally in strict mode)
|
|
|
|
- str: "implements"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
future_reserved_word_strict: true
|
|
- str: "interface"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
future_reserved_word_strict: true
|
|
- str: "let"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
future_reserved_word_strict: true
|
|
- str: "package"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
future_reserved_word_strict: true
|
|
- str: "private"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
future_reserved_word_strict: true
|
|
- str: "protected"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
future_reserved_word_strict: true
|
|
- str: "public"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
future_reserved_word_strict: true
|
|
- str: "static"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
future_reserved_word_strict: true
|
|
- str: "yield"
|
|
reserved_word: true
|
|
future_reserved_word: true
|
|
future_reserved_word_strict: true
|
|
|
|
# Duktape duk_lexer.h expects these strings to be in this exact order
|
|
# starting from "first reserved word".
|
|
reserved_word_token_order:
|
|
- "break"
|
|
- "case"
|
|
- "catch"
|
|
- "continue"
|
|
- "debugger"
|
|
- "default"
|
|
- "delete"
|
|
- "do"
|
|
- "else"
|
|
- "finally"
|
|
- "for"
|
|
- "function"
|
|
- "if"
|
|
- "in"
|
|
- "instanceof"
|
|
- "new"
|
|
- "return"
|
|
- "switch"
|
|
- "this"
|
|
- "throw"
|
|
- "try"
|
|
- "typeof"
|
|
- "var"
|
|
- "const"
|
|
- "void"
|
|
- "while"
|
|
- "with"
|
|
- "class"
|
|
- "enum"
|
|
- "export"
|
|
- "extends"
|
|
- "import"
|
|
- "super"
|
|
- "null"
|
|
- "true"
|
|
- "false"
|
|
- "implements"
|
|
- "interface"
|
|
- "let"
|
|
- "package"
|
|
- "private"
|
|
- "protected"
|
|
- "public"
|
|
- "static"
|
|
- "yield"
|
|
|
|
# Forced define names for specific strings for which automatic name generation
|
|
# does a bad job.
|
|
special_define_names:
|
|
# "typeof" has name conflicts like "object" and "Object", broken with
|
|
# explicit LC/UC prefix.
|
|
"undefined": "LC_UNDEFINED"
|
|
"Undefined": "UC_UNDEFINED"
|
|
"null": "LC_NULL"
|
|
"Null": "UC_NULL"
|
|
"object": "LC_OBJECT"
|
|
"Object": "UC_OBJECT"
|
|
"boolean": "LC_BOOLEAN"
|
|
"Boolean": "UC_BOOLEAN"
|
|
"number": "LC_NUMBER"
|
|
"Number": "UC_NUMBER"
|
|
"function": "LC_FUNCTION"
|
|
"Function": "UC_FUNCTION"
|
|
"string": "LC_STRING"
|
|
"String": "UC_STRING"
|
|
"array": "LC_ARRAY"
|
|
"Array": "UC_ARRAY"
|
|
"symbol": "LC_SYMBOL"
|
|
"Symbol": "UC_SYMBOL"
|
|
"arguments": "LC_ARGUMENTS"
|
|
"Arguments": "UC_ARGUMENTS"
|
|
"date": "LC_DATE"
|
|
"Date": "UC_DATE"
|
|
"buffer": "LC_BUFFER"
|
|
"Buffer": "UC_BUFFER"
|
|
"pointer": "LC_POINTER"
|
|
"Pointer": "UC_POINTER"
|
|
#"thread": "LC_THREAD"
|
|
"Thread": "UC_THREAD"
|
|
|
|
"error": "LC_ERROR"
|
|
"Error": "UC_ERROR"
|
|
|
|
# log levels
|
|
"trace": "LC_TRACE"
|
|
#"Trace": "UC_TRACE"
|
|
"debug": "LC_DEBUG"
|
|
#"Debug": "UC_DEBUG"
|
|
"info": "LC_INFO"
|
|
#"Info": "UC_INFO"
|
|
"warn": "LC_WARN"
|
|
#"Warn": "UC_WARN"
|
|
#"error": "LC_ERROR" # already above
|
|
#"Error": "UC_ERROR"
|
|
"fatal": "LC_FATAL"
|
|
#"Fatal": "UC_FATAL"
|
|
|
|
"+Infinity": "PLUS_INFINITY"
|
|
"-Infinity": "MINUS_INFINITY"
|
|
"0": "ZERO"
|
|
"+0": "PLUS_ZERO"
|
|
"-0": "MINUS_ZERO"
|
|
"NaN": "NAN"
|
|
"isNaN": "IS_NAN"
|
|
"MIN_VALUE": "MIN_VALUE"
|
|
"MAX_VALUE": "MAX_VALUE"
|
|
"NEGATIVE_INFINITY": "NEGATIVE_INFINITY"
|
|
"POSITIVE_INFINITY": "POSITIVE_INFINITY"
|
|
"Invalid Date": "INVALID_DATE"
|
|
|
|
"decodeURIComponent": "DECODE_URI_COMPONENT"
|
|
"encodeURIComponent": "ENCODE_URI_COMPONENT"
|
|
"getUTCDate": "GET_UTC_DATE"
|
|
"getUTCDay": "GET_UTC_DAY"
|
|
"getUTCFullYear": "GET_UTC_FULL_YEAR"
|
|
"getUTCHours": "GET_UTC_HOURS"
|
|
"getUTCMilliseconds": "GET_UTC_MILLISECONDS"
|
|
"getUTCMinutes": "GET_UTC_MINUTES"
|
|
"getUTCMonth": "GET_UTC_MONTH"
|
|
"getUTCSeconds": "GET_UTC_SECONDS"
|
|
"setUTCDate": "SET_UTC_DATE"
|
|
"setUTCDay": "SET_UTC_DAY"
|
|
"setUTCFullYear": "SET_UTC_FULL_YEAR"
|
|
"setUTCHours": "SET_UTC_HOURS"
|
|
"setUTCMilliseconds": "SET_UTC_MILLISECONDS"
|
|
"setUTCMinutes": "SET_UTC_MINUTES"
|
|
"setUTCMonth": "SET_UTC_MONTH"
|
|
"setUTCSeconds": "SET_UTC_SECONDS"
|
|
"LOG10E": "LOG10E"
|
|
"LOG2E": "LOG2E"
|
|
"toISOString": "TO_ISO_STRING"
|
|
"toUTCString": "TO_UTC_STRING"
|
|
"toGMTString": "TO_GMT_STRING"
|
|
"URIError": "URI_ERROR"
|
|
"Duktape": "DUKTAPE"
|
|
"": "EMPTY_STRING"
|
|
",": "COMMA"
|
|
"\n ": "NEWLINE_4SPACE"
|
|
"[...]": "BRACKETED_ELLIPSIS"
|
|
|
|
"{\"_undef\":true}": "JSON_EXT_UNDEFINED"
|
|
"{\"_nan\":true}": "JSON_EXT_NAN"
|
|
"{\"_inf\":true}": "JSON_EXT_POSINF"
|
|
"{\"_ninf\":true}": "JSON_EXT_NEGINF"
|
|
"{\"_func\":true}": "JSON_EXT_FUNCTION1"
|
|
"{_func:true}": "JSON_EXT_FUNCTION2"
|
|
|
|
"BYTES_PER_ELEMENT": "BYTES_PER_ELEMENT"
|