Gary Guo (2016-02-18T00:19:27.000Z)
nbdd0121 at hotmail.com (2016-02-18T00:22:08.504Z)
The strawman looks very old, so I've created a new one. Repo: https://github.com/nbdd0121/es-error-stack I've collected many information about current implementation from IE, Edge, Chrome and Firefox, but missing Safari's. Many thanks if some one can collect these info and create a pull request. I haven't write anything for API part, as you will see from the "concerns" part, there are many edge cases to be considered: cross-realm, native, global, eval, new Function, anonymous and tail call. All of these need to be resolved before we can trying to design an object representation of stack frame. Personally I suggest "(global code)" for global, "(eval code)" for eval, "(Function code)" for new Function, "(anonymous function)" for anonymous function/lambda. For native call, we can simply replace filename & line & column by "(native)". For tail call I suggest add "(tail)" some where. I also suggest adding "(other realm)" or something alike to indicate realm boundary is crossed. For object representation, I hope something like ``` { name: 'string', // (global code), etc for special case, with parenthesis source: 'url', // (native) for native code, with parenthesis line: 'integer', column: 'integer', isTail: 'boolean' } ``` And null entry indicating crossing realm. BTW, shall we add reference to function in the object representation? Gary Guo