Java Method Signature Name Mangling

As with any modern programming language that supports method overloading, Java uses name mangling to distinguish methods that share the same name, but only differ in their parameters. Now, actually figuring out the exact algorithm used by javac by googling the Internet turned out to be quite tricky. Eventually, I dug up the following description, which at least serves as a starting point:

P.S.: This would not even have been an issue if HTC would open-source their proprietary code for the HTC Desireā€¦