js: Pretty-print custom error types

This commit is contained in:
Idan Horowitz 2021-11-23 22:56:21 +02:00 committed by Linus Groh
parent 11d1950e74
commit 15fafdc645
Notes: sideshowbarker 2024-07-18 00:43:26 +09:00

View file

@ -742,6 +742,13 @@ static void print_value(JS::Value value, HashTable<JS::Object*>& seen_objects)
return print_date(object, seen_objects); return print_date(object, seen_objects);
if (is<JS::Error>(object)) if (is<JS::Error>(object))
return print_error(object, seen_objects); return print_error(object, seen_objects);
auto prototype_or_error = object.internal_get_prototype_of();
if (prototype_or_error.has_value() && prototype_or_error.value() == object.global_object().error_prototype())
return print_error(object, seen_objects);
vm->clear_exception();
vm->stop_unwind();
if (is<JS::RegExpObject>(object)) if (is<JS::RegExpObject>(object))
return print_regexp_object(object, seen_objects); return print_regexp_object(object, seen_objects);
if (is<JS::Map>(object)) if (is<JS::Map>(object))