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
5fd2488988
Fix right clicking on modern versions of Java
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
ec53c74aaa
Replace if with string switch
5 years ago
Graham
e647588f67
Switch to Apache Harmony's pack200 implementation
...
The built-in pack200 implementation is deprecated.
5 years ago
Graham
93692f497d
Document that CGL lacks extensions in getExtensionsString
5 years ago
Graham
c17f4922c6
Return empty string if wglGetExtensionsStringEXT is not supported
5 years ago
Graham
3e7c27010c
Disable int to void pointer cast warning
5 years ago
Graham
2454bebc96
Add initial Mac OS X jaggl support
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
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
578927d2f7
Use the Fluido skin
5 years ago
Graham
dba4189016
Add mac profile
...
It is similar to the existing unix profile. However, it doesn't include
the -fPIC flag, which the NAR plugin already includes on OS X. It also
uses -x to accept Objective-C code even though the file extension is .c
instead of .m.
5 years ago
Graham
4acf1e5b17
Disable unix profile on Mac OS X
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
f90b959210
Rename 'Deobfuscator' to 'Bytecode Deobfuscator'
5 years ago
Graham
b6007c070b
Add PLUS operator support to BinaryExprOrderTransformer
5 years ago
Graham
85891fc532
Use a local patched copy of JavaParser
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
Graham
fef902c176
Fix dependency order in pom.xml
5 years ago
Graham
271d2126c0
Use InsnList's iterator instead of getFirst()/getNext()
5 years ago
Graham
24ce226e5c
Replace int with var for consistency
5 years ago
Graham
8613763520
Inline bitwise AND/OR/XOR methods
5 years ago
Graham
95c4741229
Remove all-null parameter arrays from the constArgs map
5 years ago
Graham
1cec2c3739
Remove ILOAD inlining
...
This causes Fernflower to output invalid Java in some cases. Need to
think about how exactly to replace it.
5 years ago
Graham
766b544fc1
Track multiple values in IntInterpreter
...
This helps us catch a few more cases in DummyTransformer.
5 years ago
Graham
3c1ec9f210
Add initial DummyTransformer
5 years ago
Graham
55646c8384
Add newParameterValue() implementation to IntInterpreter
5 years ago
Graham
fc95d5086c
Add {pre,post}Pass methods to Transformer
5 years ago
Graham
a4c6c4774a
Add toString() to IntValue
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
c9acb16e62
Add bundler module
5 years ago
Graham
115486b12e
Remove unused fernflower formatting scope
5 years ago
Graham
cb49b5aa56
Add description, url and inceptionYear to pom.xml
5 years ago
Graham
60d762c0fe
Add missing unsupported platform branch
5 years ago