|
@@ -24,6 +24,7 @@
|
|
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
*/
|
|
|
|
|
|
+#include <LibJS/Interpreter.h>
|
|
|
#include <LibJS/Runtime/Exception.h>
|
|
|
|
|
|
namespace JS {
|
|
@@ -31,6 +32,13 @@ namespace JS {
|
|
|
Exception::Exception(Value value)
|
|
|
: m_value(value)
|
|
|
{
|
|
|
+ auto call_stack = interpreter().call_stack();
|
|
|
+ for (ssize_t i = call_stack.size() - 1; i >= 0; --i) {
|
|
|
+ auto function_name = call_stack[i].function_name;
|
|
|
+ if (function_name.is_empty())
|
|
|
+ function_name = "<anonymous>";
|
|
|
+ m_trace.append(function_name);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
Exception::~Exception()
|