This commit updates wasmprinter to use quoted identifiers of the form $"foo" when necessary instead of synthesizing identifiers such as $#func4<foo>. This helps produce more readable modules by default when names are synthesized since if a name is unique but otherwise has non-identifier characters then the quoted string form can be used.
While here I've additionally changed the way that non-printable characters in strings are printed to using \u{XXX} syntax instead of \NN syntax. This makes it a bit more obvious in unicode contexts that a single character is present and not multiple.
This commit updates
wasmprinter
to use quoted identifiers of the form$"foo"
when necessary instead of synthesizing identifiers such as$#func4<foo>
. This helps produce more readable modules by default when names are synthesized since if a name is unique but otherwise has non-identifier characters then the quoted string form can be used.While here I've additionally changed the way that non-printable characters in strings are printed to using
\u{XXX}
syntax instead of\NN
syntax. This makes it a bit more obvious in unicode contexts that a single character is present and not multiple.For a module I was looking at the "before" was:
and the "after" is:
Notably
$"initialize(char const*)"
is much nicer to raed