Effects the renaming of
@SingleJsoImpl
methods from their original
name to their mangled name. Let us call the original method an "unmangled
method" and the new method a "mangled method". There are three steps in this
process:
- Within
@SingleJsoImpl
interfaces rename all unmangled methods to
become mangled methods.
- Within non-JSO classes containing a concrete implementation of an
unmangled method, add a mangled method which is implemented as a simple
trampoline to the unmangled method. (We don't do this in JSO classes here
because the one-and-only trampoline lives in JavaScriptObject$ and is emitted
in
WriteJsoImpl
).
- Update all call sites targeting unmangled methods to target mangled
methods instead, provided the caller is binding to the interface rather than
a concrete type.