Graham
e4fe120bf7
Convert MemberDesc and MemberRef to Kotlin
5 years ago
Graham
eec9279a2c
Add hasCode() method
5 years ago
Graham
3f1d2dc4a3
Convert Transformer to Kotlin
5 years ago
Graham
0cb0658f61
Add shorthand MemberDesc constructors
5 years ago
Graham
0a5901cde4
Add shorthand MemberRef constructors
5 years ago
Graham
bccdf75b37
Move openrs2-natives-all and pack200 to dependencyManagement
5 years ago
Graham
a26efcb30c
Use for-each to iterate over InsnLists
5 years ago
Graham
70ccdfa526
Add removeDeadCode method
5 years ago
Graham
8ecbe7bb82
Remove unused openrs2.root property
5 years ago
Graham
3926f7735e
Add FCONST and DCONST groups to InsnMatcher
5 years ago
Graham
d20e3997b4
Split transformMethod into {pre,post}TransformMethod
5 years ago
Graham
145ed6b1ee
Add classPath and library arguments to all Transformer methods
5 years ago
Graham
4788f8314e
Clear ClassPath cache after remapping
5 years ago
Graham
6e750b008f
Replace hard-coded 2 with GZIP_HEADER.length
5 years ago
Graham
23a85fd820
Add method for deleting MethodNode arguments
5 years ago
Graham
46f908bdb0
Replace ClassForNameTransformer
...
This commit stops ClassForNameTransformer from extending Transformer and
renames it. I think this makes sense, as we don't use it like a normal
Transformer.
5 years ago
Graham
1319295d77
Separate remapping from the write{Pack,Jar} methods
...
This is a prerequisite for removing dummy arguments - before the methods
are remapped, removing an argument might cause the method to conflict
with another method with the same name and descriptor as the replacement
descriptor.
5 years ago
Graham
1216812c8a
Add InsnNodeUtils.toString() method
...
Useful for debugging.
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
7747fe457a
Remove dummy local variables
5 years ago
Graham
f1c6f074a1
Add virtual instruction support to hasSideEffects() and StackMetadata
5 years ago
Graham
8c1f2c7b2f
Add hasSideEffects() function to InsnNodeUtils
5 years ago
Graham
176b109688
Add StackMetadata
...
I'm not yet sure if I'm going to need to use this, but I want to get it
in the repository so I have a copy of it for the future (this is already
the second time I've written something similar to it!)
5 years ago
Graham
003b7ecfef
Improve <description> wrapping
5 years ago
Graham
405c33c1a1
Format *.xml files with IDEA's code style
5 years ago
Graham
e647588f67
Switch to Apache Harmony's pack200 implementation
...
The built-in pack200 implementation is deprecated.
5 years ago
Graham
eec8990481
Add description to all modules
5 years ago
Graham
517032959e
Use immutable collections types from Guava
5 years ago
Graham
271d2126c0
Use InsnList's iterator instead of getFirst()/getNext()
5 years ago
Graham
fc95d5086c
Add {pre,post}Pass methods to Transformer
5 years ago
Graham
6ca8da1cd4
Mark the transform method as final
5 years ago
Graham
9b9bdeae63
Add multi-pass Transformer support
5 years ago
Graham
d293176959
Replace maven.multiModuleProjectDirectory with openrs2.root
...
openrs2.root works correctly even if the root of the reactor is a child
project, at the expense of having to re-define the property in each
module.
5 years ago
Graham
12293bb3b1
Refactor package structure of the asm module
5 years ago
Graham
0c8d0f9cc3
Add initial support for whole program analysis in transformers
5 years ago
Graham
406feb72f0
Move classpath package to the asm module
...
This is in preparation for Transformers taking an entire ClassPath
instead of a single Library at a time, which is in turn required for
dummy argument removal (a whole program analysis).
5 years ago
Graham
3978ee9ea0
Allow Transformers to throw AnalyzerException
5 years ago
Graham
751ae183c1
Add IntInterpreter and IntValue
...
I'm planning to use these to remove dummies.
5 years ago
Graham
2cde631fca
Add BitShiftTransformer
5 years ago
Graham
48f8c68500
Format code
5 years ago
Graham
2367ba7ae4
Preserve original class and member names with @OriginalName
5 years ago
Graham
2e39ca26fd
Improve naming and typing in Member{Desc,Ref}.equals() methods
5 years ago
Graham
c1358f6105
Add renamer to the deobfuscator
5 years ago
Graham
7e4dee02d0
Rename FieldRef to MemberRef
5 years ago
Graham
c0568f1373
Make empty Library constructor public
5 years ago
Graham
0007da4729
Add OpaquePredicateTransformer and initial deobfuscator infrastructure
5 years ago
Graham
d001488424
Add logging to Library read/write methods
5 years ago
Graham
f0cb9d40e2
Add constructor for cloning a Library
5 years ago
Graham
3366156d92
Simplify writeJar
5 years ago
Graham
8966d7b531
Add abstract Transformer class
5 years ago