Handle Symbol values in pretty-printer and debugger
Adds support to the pretty-printer for Symbol values. Symbols can't be converted directly to strings, so previously these may not have printed correctly.
Symbols are pretty-printed, as far as possible, as the source code that would have to be used to create them. That is, global symbols are printed as Symbol.for("...")
, well-known symbols such as Symbol.hasInstance
are printed with those names, and unregistered symbols are printed as Symbol("...")
.
Adds support to the keys
command in the debugger to print out all of the symbol-valued keys of an object as well. Previously, these keys would have been ignored.