All Reflect functions specified in ECMAScript 2016 are implemented, and
most share Duktape/C helpers with their ES5 twins from Object.
* Reflect.apply()
* Reflect.construct()
* Reflect.defineProperty()
* Reflect.deleteProperty()
* Reflect.get()
* Reflect.getOwnPropertyDescriptor()
* Reflect.getPrototypeOf()
* Reflect.has()
* Reflect.isExtensible()
* Reflect.ownKeys()
* Reflect.preventExtensions()
* Reflect.set()
* Reflect.setPrototypeOf()
Presence of the Reflect object is controlled by DUK_USE_REFLECT_BUILTIN
and enabled by default in the standard configuration.
note: Reflect.enumerate() was retroactively removed in ES7, so it will
not be implemented in Duktape.
Add TextEncoder and TextDecoder built-ins, which allow Ecmascript code
to read and write text stored in ArrayBuffers. Based on the WHATWG
Encoding Living Standard:
https://encoding.spec.whatwg.org/#api
When applied to a function declaration the __attribute__ ((unused)
declaration indicates a function may be unused so that the compiler
won't warn about it if it actually is. This reduces harmless warnings
when a function is unused due to a specific config option combination.
Apply to all Clang versions and GCC >= 3.1.1; GCC 3.1.1 manual confirms
__attribute__ ((unused)) is supported.
- Disable ES6 Proxy and coroutines by default
- Enable unsafe API call convention to reduce footprint
- Disable source code support for non-BMP source files (not required by ES)