MDN wants to talk to developers like you:

Return the source code of the script or the function.


JSString *
JS_DecompileScript(JSContext *cx, JS::Handle<JSScript*> script,
                   const char *name, unsigned indent);
Name Type Description
cx JSContext * The context to use to decompile the script. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
script JS::Handle<JSScript*> Script or function to decompile.
name const char * Not used.
indent unsigned Passed to JS_DecompileFunction.


JS_DecompileScript returns the source code of script. If script is a function, it calls JS_DecompileFunction. Otherwise, it returns the original source code of the script. If the script is not cached, it tries to load the source from file, and returns nullptr if an error happened while loading.

If successful, JS_DecompileScript returns a string containing the source code of the script. Otherwise, it returns a string containing "[no source]".

From SpiderMonkey 17, this does not actually decompile the script, but returns the original source code (bug 761723).

See Also

Document Tags and Contributors

 Contributors to this page: kscarfone, arai, fscholz, Jorend, Clochix2, Nickolay, ComputerJy, Dria, MMondor
 Last updated by: kscarfone,