Graham
5038d1d671
Replace ByteStreams with Kotlin extension method
4 years ago
Graham
06b8af41e2
Replace Stream with Sequence
4 years ago
Graham
c2809a16f8
Add OverrideTransformer
4 years ago
Graham
e9a9a8f962
Format with ktlint
4 years ago
Graham
0b834fb223
Remove @Throws annotations
...
We don't need them now we have no more Java code left.
4 years ago
Graham
0f78c9582c
Convert IntValue to a sealed class
5 years ago
Graham
84f18c4d10
Convert ConstSourceValue to a sealed class
5 years ago
Graham
8aa3a79166
Replace Guava's ImmutableSet with Kotlin's Set type
5 years ago
Graham
5fa44c9016
Convert DummyArgTransformer to Kotlin
5 years ago
Graham
6ad99645dc
Replace for loop with enhanced for
5 years ago
Graham
0823a0253f
Convert UnusedArgTransformer to Kotlin
5 years ago
Graham
e05653cdcc
Rename util to common
5 years ago
Graham
f56b288663
Convert OpaquePredicateTransformer to Kotlin
5 years ago
Graham
1c2d2f1264
Convert ResetTransformer to Kotlin
5 years ago
Graham
1153165227
Simplify condition in ResetTransformer
5 years ago
Graham
87cbb83fcf
Convert BitwiseOpTransformer to Kotlin
5 years ago
Graham
957c0820a3
Convert CounterTransformer to Kotlin
5 years ago
Graham
00526587b0
Convert DummyLocalTransformer to Kotlin
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
64b8ea5fe7
Reduce method visibility in Transformers
5 years ago
Graham
11050ce735
Convert OriginalNameTransformer to Kotlin
5 years ago
Graham
d7e3799f5c
Convert RemapTransformer to Kotlin
5 years ago
Graham
fb18a7227d
Convert FieldOrderTransformer to Kotlin
5 years ago
Graham
1338c80083
Convert ExceptionTracingTransformer to Kotlin
5 years ago
Graham
a2afcf341b
Convert CanvasTransformer to Kotlin
5 years ago
Graham
77d3489b23
Convert BitShiftTransformer to Kotlin
5 years ago
Graham
368df81bc8
Convert AccessTransformer to Kotlin
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
eec9279a2c
Add hasCode() method
5 years ago
Graham
0cb0658f61
Add shorthand MemberDesc constructors
5 years ago
Graham
0a5901cde4
Add shorthand MemberRef constructors
5 years ago
Graham
6c3d98702c
Remove reset methods
5 years ago
Graham
446a72abc5
Make package-private classes, methods and fields public
...
This will make refactoring the client code into packages easier.
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
6520c15795
Remove redundant final modifiers
5 years ago
Graham
d34b1e7e72
Combine analyze and getFrames
5 years ago
Graham
28369f1d75
Add UnusedArgTransformer
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
b7347b2632
Move ArgRef to the top level
...
I'm going to use it in another Transformer.
5 years ago
Graham
f426f16d72
Simplify DummyLocalTransformer
...
The obfuscated client only contains dummy locals of type int.
5 years ago
Graham
557f2fb504
Move remapping into a RemapTransformer
...
This allows us to run the remapping immediately between
OriginalNameTransformer and DummyArgTransformer.
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
318f906ab5
Make DummyLocalTransformer type-sensitive
...
This catches a few more dummy locals than the previous code.
5 years ago