Graham
15e9636b79
Replace Guava ImmutableList with Kotlin List in ClassPath
5 years ago
Graham
86fe02f32d
Remove @JvmStatic annotations
...
We only need to keep it on the main() methods for the moment.
5 years ago
Graham
0b834fb223
Remove @Throws annotations
...
We don't need them now we have no more Java code left.
5 years ago
Graham
c10134c1f6
Tidy toPrettyString()
...
I missed this during the initial InsnNodeUtils port.
5 years ago
Graham
e05653cdcc
Rename util to common
5 years ago
Graham
3e0e7824e0
Convert InsnListUtils to Kotlin
5 years ago
Graham
8020ac98ab
Convert InsnNodeUtils to Kotlin
5 years ago
Graham
fdcc5a217f
Rename hasSideEffects() to isPure()
...
Its output has been inverted, as this wouldn't make sense otherwise.
5 years ago
Graham
bfdfc2f211
Simplify ClassPath::get with computeIfAbsent
...
Unfortunately we can't do this in populateInherited{Field,Method} sets,
as they are recursive.
5 years ago
Graham
d2bd8c69f4
Convert ClassPath to Kotlin
5 years ago
Graham
862d4a3504
Convert ReflectionClassMetadata to Kotlin
5 years ago
Graham
3ee6d57ba9
Convert AsmClassMetadata to Kotlin
5 years ago
Graham
e5af454815
Convert ClassMetadata to Kotlin
...
The dependency/interface properties are translated to getDependency and
getInterface. I don't know if it is possible to fix this, but it won't matter
when the rest of the codebase is converted to Kotlin.
5 years ago
Graham
07bb22f795
Convert Library to Kotlin
5 years ago
Graham
b1582ce3a0
Use `//` for single line comments in .kt files
5 years ago
Graham
8b57525c88
Move InsnList-related methods to InsnListUtils
5 years ago
Graham
db785e38d0
Convert MethodNodeUtils to Kotlin
5 years ago
Graham
862c79e31c
Rename deleteArgument() to removeArgument() for consistency
5 years ago
Graham
e68fed7a9e
Convert StackMetadata to Kotlin
5 years ago
Graham
c02fe030fa
Convert ClassForNameRemapper to Kotlin
5 years ago
Graham
0b3f24fed2
Convert InsnMatcher to Kotlin
5 years ago
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
a26efcb30c
Use for-each to iterate over InsnLists
5 years ago
Graham
70ccdfa526
Add removeDeadCode method
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
e647588f67
Switch to Apache Harmony's pack200 implementation
...
The built-in pack200 implementation is deprecated.
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
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