Graham
afb52c2e93
Convert Transformer to Kotlin
5 years ago
Graham
ae2e2a0d9d
Add common dependency to deob-ast and game
5 years ago
Graham
bcbf4b6178
Replace newInstance() with getDeclaredConstructor().newInstance()
...
Again, if these are removed from a future JDK we'll need to move this
transform to the bytecode deobfuscator.
5 years ago
Graham
328b122330
Add ValueOfTransformer
...
Might need to move to the bytecode deobfuscator if public boxed type
constructors are removed from future JDKs, but for now it's easier to do
this on the AST level.
5 years ago
Graham
8ecbe7bb82
Remove unused openrs2.root property
5 years ago
Graham
5e46c058cd
Improve structuring of if/else chains ending in a throw or return
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
aa7f90ceb6
Prevent if statements in swapped else blocks from incorrectly chaining
5 years ago
Graham
17d9a51669
Use single line comment in IfElseTransformer
5 years ago
Graham
e2b2a77fd8
Remove unused isNot() method
5 years ago
Graham
f69999679e
Add missing clone() calls to ExprUtils.not()
5 years ago
Graham
81f5fcf6dc
Remove EnclosedExpr support from functions that no longer require it
5 years ago
Graham
4e3c5f3d4d
Remove use of deprecated getChildNodesByType method
5 years ago
Graham
828b130906
Always iterate through the JavaParser tree in POSTORDER
...
I think this is less prone to errors than the default order.
5 years ago
Graham
6742120ab6
Simplify else if chains in POSTORDER
...
This prevents us from missing some nested cases.
5 years ago
Graham
a5e9a788e8
Use var in isIf/getIf
5 years ago
Graham
555620887f
Use same heuristic in TernaryTransformer as IfElseTransformer
5 years ago
Graham
f742aba80d
Replace simple if condition swapping heuristic with a smarter one
...
This allows us to change expressions like `!a && !b` to `a || b`. It
isn't perfect, as we will now flip bitwise flag checks (which was one of
the main motivations for the old heuristic).
5 years ago
Graham
e202c4fcb9
Clone if/else arms before swapping them
...
This fixes a bug where some of the later transforms didn't run on the
swapped arms.
5 years ago
Graham
eec8990481
Add description to all modules
5 years ago
Graham
012d5ed0db
Simplify combined shift/mask operations
5 years ago
Graham
7d959ed135
Remove and later re-add brackets to simplify intermediate transforms
5 years ago
Graham
14354a22f3
Transform `-x + y` to `y - x` unless both have side effects
5 years ago
Graham
fcc053270d
Remove NegateExprVisitor
...
It's actually cleaner to do this without one!
5 years ago
Graham
12d3af48dd
Add TernaryTransformer
5 years ago
Graham
eadea9231c
Add AddSubTransformer
5 years ago
Graham
0b1d46eec4
Rename AddSubTransformer to NegativeLiteralTransformer
5 years ago
Graham
b6007c070b
Add PLUS operator support to BinaryExprOrderTransformer
5 years ago
Graham
e9b2ad6d62
Add initial BinaryExprOrderTransformer
5 years ago
Graham
5e616b2d88
Use Preconditions.checkArgument() in NegateExprVisitor
5 years ago
Graham
27346725e3
Swap if arms if the condition is inverted
5 years ago
Graham
556923559c
Add initial transformer for reducing nesting in long if/else chains
5 years ago
Graham
bf55b0d901
Add initial AST deobfuscator
5 years ago