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
Graham
ccea2f0f8e
Rename DummyTransformer to DummyArgTransformer
5 years ago
Graham
7747fe457a
Remove dummy local variables
5 years ago
Graham
4ad8606b97
License deob-annotations under the LGPL
...
Like the *-natives modules, it needs to be legal to link this code with
the proprietary client code.
5 years ago
Graham
550e201577
Fix typo ('the version 3.0' -> 'version 3.0')
5 years ago
Graham
1b77c5e454
Change GPL v3 -> v3.0
...
This is just to clarify that the intention is that only the original v3
license is acceptable.
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
5d2fd11128
Add jacoco-maven-plugin
5 years ago
Graham
9f49902962
Use ImmutableList in the Deobfuscator class
5 years ago
Graham
e894c331bc
Disable package-private inspection
5 years ago
Graham
ef9e61de33
Add StringUtilsTest
5 years ago
Graham
d2460c68ba
Update TODO in jaggl.c
5 years ago
Graham
003b7ecfef
Improve <description> wrapping
5 years ago
Graham
a5789b6860
Pass -Wno-int-to-void-pointer-cast to gcc on UNIX systems
...
It is triggered on 32-bit systems.
5 years ago
Graham
23e5f2bb29
Add READMEs
5 years ago
Graham
7b04a185e9
Add license
...
I was torn for a long time over whether to license under the GPL or
AGPL. I've settled on the GPL as I think it'd be quite hard to enforce
the AGPL (because of the nature of the RuneScape private server
community), and honest people would be at a disadvantage compared to
people who would ignore the additional provisions of the AGPL.
The *-natives modules are licensed under the LGPL as they are intended
to be linked with the proprietary client software, so the GPL would not
be appropriate.
I've decided to use v3 (and only v3) of the GPL. I don't like the 'or
later' clause as it means placing a great deal of trust in the FSF not
to change the overall intention of the license in future versions.
5 years ago
Graham
fbf6a5f597
Stop building OS-specific modules on all systems
...
They were only built on all systems for the benefit of the site plugin,
but I'm not intending to use that any more.
5 years ago
Graham
d2fb2bf8d8
Remove site descriptor
...
I think I'm going to use a separate static site generator. The Maven
site plugin isn't that great.
5 years ago
Graham
a1f7cf5ce4
Add HostCheckTransformer
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
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