Closed lucas-myx closed 1 month ago
If a chain is used, all arguments are temporarily stored as local variable. This is expected and will likely be ignored by the JIT, nothing to worry about.
If you want to write custom byte code, you can avoid it by implementing your own handler and avoid the chain. There's also some ready made ones.
Thank you for your reply! one more question, Is there such an example: implementing your own handler and avoid the chain? Thank you!
Yes, any other method implements such a handler, the chain method also offers a handler implementation itself. If you look at the source, you will be able to see how this looks like.
@raphw First of all, thank you for your previous response. The issue has been resolved. Thank you!
I found use MemberSubstitution to replace field A.foo access with B.bar() , will add a new field
var2
in the decompiled bytecode file, as follows:MemberSubstitution usage:
open the decompiled A.class bytecode file, as follows:
I don't understand why we need to add a new field
var2
and what its purpose is? (I'm worried that the extra fields may have other additional impacts)I guess it might be due to my incorrect usage, please correct me. Thank you very much!