blob: 3bf963c490a0018328681a11678c518f38400f12 [file] [edit]
/**
* @license
* Copyright 2020 The Emscripten Authors
* SPDX-License-Identifier: MIT
*/
addToLibrary({
emscripten_get_exported_function__deps: ['$addFunction', '$UTF8ToString'],
emscripten_get_exported_function: (name) => {
name = UTF8ToString(name);
// Wasm backend does not use C name mangling on exports,
// so adjust for that manually.
if (name[0] == '_') name = name.substr(1);
var exportedFunc = wasmExports[name];
if (exportedFunc) {
// Record the created function pointer to each function object,
// so that if the same function pointer is obtained several times,
// the same address will be returned.
if (!exportedFunc.ptr) exportedFunc.ptr = addFunction(exportedFunc);
return exportedFunc.ptr;
}
#if ASSERTIONS
err(`No exported function found by name "{exportedFunc}"`);
#endif
// implicit return 0;
}
});