Major
5fa9e9a621
Remove spurious toCollection calls
...
Signed-off-by: Major <major@emulate.rs>
4 years ago
Graham
400a10f8d2
Add live variable analysis
4 years ago
Graham
f0eabb0619
Add generic data flow analysis framework
4 years ago
Graham
fee7cf82cd
Add Analyzer for creating control flow graphs
4 years ago
Graham
89b274077f
Use infix union operator
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
4 years ago
Graham
84f18c4d10
Convert ConstSourceValue to a sealed class
4 years ago
Graham
8aa3a79166
Replace Guava's ImmutableSet with Kotlin's Set type
4 years ago
Graham
e05653cdcc
Rename util to common
4 years ago
Graham
dd88e3ca2c
Improve positions of line breaks in ConstSourceInterpreter
4 years ago
Graham
1864b6b630
Convert IntInterpreter to Kotlin
4 years ago
Graham
fdd1835fdd
Convert ConstSourceInterpreter to Kotlin
4 years ago
Graham
8020ac98ab
Convert InsnNodeUtils to Kotlin
4 years ago
Graham
3b88d5f10e
Convert SourcedIntValue to Kotlin
4 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
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
3242356c80
Remove unused throws declarations
5 years ago
Graham
517032959e
Use immutable collections types from Guava
5 years ago
Graham
766b544fc1
Track multiple values in IntInterpreter
...
This helps us catch a few more cases in DummyTransformer.
5 years ago
Graham
55646c8384
Add newParameterValue() implementation to IntInterpreter
5 years ago
Graham
a4c6c4774a
Add toString() to IntValue
5 years ago
Graham
751ae183c1
Add IntInterpreter and IntValue
...
I'm planning to use these to remove dummies.
5 years ago