The confusion is my fault. I used the informal term "signature", but I really should have used the more formal term
method descriptor. It's the "method descriptor" for a called method that is stored in the client class files. A method descriptor is a
String including a pair of parentheses containing descriptions of a method's arguments, followed by a description of its return type. In the present example, the original method's descriptor is "()V", while the revised method's descriptor is "()LMyClass;" .
The
signature of a method isn't anything as concrete as a String; it's just a concept.