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
6425990b23
Convert SignedClassUtils to Kotlin
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
3b88d5f10e
Convert SourcedIntValue to Kotlin
5 years ago
Graham
e319493e81
Convert PrefixRemapper to Kotlin
5 years ago
Graham
44d7b3703f
Convert ArgRef 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
72db700534
Remove capitalize() method
...
Kotlin already has a capitalize() method - we don't need to define our
own.
5 years ago
Graham
db971f6b2b
Convert indefiniteArticle() to an extension 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
27c0b997b9
Share list of bundler transformers
5 years ago
Graham
135a2891d1
Reduce MAX_TRACKED_VALUES to 1
5 years ago
Graham
8eac1c1ce3
Skip merging logic in IntInterpreter if value1 and value2 are equal
...
This fixes a problem where dummy arguments that already had more than 8
possible values in their set (because the dummy argument is used in a
greater or less than condition) were not removed, as we'd replace the
IntValue with an unknown value when two branches (where the dummy
argument is not modified) are merged back together.
It should also improve performance, as we'll be doing less memory
allocation.
5 years ago
Graham
a7c1ae3597
Remove recursive dummy arguments
5 years ago
Graham
8ecbe7bb82
Remove unused openrs2.root property
5 years ago
Graham
6520c15795
Remove redundant final modifiers
5 years ago
Graham
49a4cb3084
Remove macOS-specific resize logic from the client
...
Our custom jaggl natives update the OpenGL context upon resizing, unlike the
original natives.
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
46ab5111e6
Add isMethodImmutable method to TypedRemapper
...
I'm going to use this in a new Transformer.
5 years ago
Graham
b7347b2632
Move ArgRef to the top level
...
I'm going to use it in another Transformer.
5 years ago
Graham
bb2f72c4f0
Add ConstSourceInterpreter
...
It is akin to SourceInterpreter, but more efficient as it only tracks
the sources of integer constants and it doesn't track sources through
copy instructions.
5 years ago
Graham
f426f16d72
Simplify DummyLocalTransformer
...
The obfuscated client only contains dummy locals of type int.
5 years ago
Graham
261cc87125
Add CachePathTransformer
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
b97294457a
Make ClassNamePrefixer more similar to TypedRemapper
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
c6d184c5c5
Convert OriginalNameTransformer to a standard Transformer
5 years ago
Graham
318f906ab5
Make DummyLocalTransformer type-sensitive
...
This catches a few more dummy locals than the previous code.
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
3242356c80
Remove unused throws declarations
5 years ago