David Bruant (2013-06-14T19:54:00.000Z)
github at esdiscuss.org (2013-07-12T02:27:36.819Z)
Le 14/06/2013 16:56, Bruno Jouhier a ?crit : > I'm using ES6 generators to implement a little async/await library and > I'm quite pleased with the result so far but I'm lacking one API: a > function to get stack information from a generator object. Ideally it > would return the name of the current generator function, the filename > and the line number where it last yielded. > > If I had this API I 'd be able to provide a complete trace of the > stack of await calls when an exception is caught. ES5 strict mode poisoned .caller and .callee. The reason is that it isn't necessarily a good idea (security, maybe performance reasons as well) to give authority to the runtime to inspect stack frames. It's more of a debugger use case. The Debugger API in Firefox (only available to "Chrome-level" privileged code) has a way to know the function being called, and to navigate across the different frames like the caller frame ("older" property) [1] and some infos that help finding the function name, filename and line number. [1]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/JS_Debugger_API_Reference/Debugger.Frame