Graham
8b57525c88
Move InsnList-related methods to InsnListUtils
4 years ago
Graham
e68fed7a9e
Convert StackMetadata to Kotlin
4 years ago
Graham
0a5901cde4
Add shorthand MemberRef constructors
5 years ago
Graham
f6f810de2e
Remove mutually-recursive dummy method calls
...
This is a little bit grim and probably not completely safe in all cases,
but it works well enough on the client.
Ideally I think I'd do it with a dominator tree calculated from a call
graph aware of integer constants and conditional calls, but that's quite
complicated (especially given how the existing code in the
DummyArgTransformer works).
5 years ago
Graham
a7c1ae3597
Remove recursive dummy arguments
5 years ago
Graham
d34b1e7e72
Combine analyze and getFrames
5 years ago
Graham
145ed6b1ee
Add classPath and library arguments to all Transformer methods
5 years ago
Graham
b7347b2632
Move ArgRef to the top level
...
I'm going to use it in another Transformer.
5 years ago
Graham
7b3ec975d9
Inline constants in DummyArgTransformer
...
This is a prerequisite for us to be able to remove the constant
arguments.
5 years ago
Graham
4cfb9d9f69
Remove dummy branch expressions instead of inserting POPs
...
This prevents Fernflower from inserting dummy boolean variables.
5 years ago
Graham
ccea2f0f8e
Rename DummyTransformer to DummyArgTransformer
5 years ago
Graham
24ce226e5c
Replace int with var for consistency
5 years ago
Graham
95c4741229
Remove all-null parameter arrays from the constArgs map
5 years ago
Graham
1cec2c3739
Remove ILOAD inlining
...
This causes Fernflower to output invalid Java in some cases. Need to
think about how exactly to replace it.
5 years ago
Graham
766b544fc1
Track multiple values in IntInterpreter
...
This helps us catch a few more cases in DummyTransformer.
5 years ago
Graham
3c1ec9f210
Add initial DummyTransformer
5 years ago