Ben Gruver
07dc76c03f
Switch to jprante's jflex plugin
2016-07-09 13:42:15 -07:00
Ben Gruver
6c6b9f0845
Upgrade to gradle 2.14
2016-07-09 13:41:30 -07:00
Ben Gruver
93100e57b2
Improve how the instance-of + if-eqz/if-nez type propagation works
...
We now perform the type propagation while analyzing the if-eqz/if-nez
instruction. Additionally, AnalyzedInstruction.setsRegister now has
special case logic to check for this case, so we don't incorrectly
propagate the original type past the if-eqz/if-nez
2016-04-23 14:01:36 -07:00
Ben Gruver
9802cf3428
Propagate the narrowed type for an if-nez after an instance-of
2016-04-23 11:08:21 -07:00
Ben Gruver
7fd5f88caf
Merge pull request #391 from allight/new-dex-version
...
Dex version 37 support
2016-04-04 11:11:49 -07:00
Alex Light
40bbf5c347
Dex version 37 support
...
Make dexlib able to read and write version 37 dex files.
Bug: 27809626
Change-Id: I3d0ca6201c7abe7763d2fb925e9ee1edbef24230
2016-04-04 11:00:02 -07:00
Ben Gruver
87d10dac27
Add more programmatic-friendly entry points for smali/baksmali
...
This adds entry points that are more friendly to programmatic usage. E.g.
no calls to System.exit()
2016-02-28 12:19:27 -08:00
Ben Gruver
a198b46e20
Fix issue with parameter list parsing
...
This fixes an issue that was initially introduced in the smalidea branch
2016-02-28 12:15:22 -08:00
Ben Gruver
11d179bfdb
Get rid of the default 6 thread maximum thing
2016-02-28 11:22:16 -08:00
Ben Gruver
616a0738dd
Fix the release task for smalidea
2016-02-27 20:11:39 -08:00
Ben Gruver
81e0309ed6
Keep the since/until IDEA versions specified in the plugin.xml
2016-02-27 20:06:20 -08:00
Ben Gruver
5a8a2a47b6
Fix an NPE in SmaliPositionManager.createPrepareRequest
2016-02-27 18:32:53 -08:00
Ben Gruver
d018443797
Return an empty list from SmaliClass.getVisibleSignatures()
...
Don't return null from a @NotNull method, silly.
2016-02-27 17:42:47 -08:00
Ben Gruver
4d8aeebc07
Fix how SmaliPositionManager gets the current class
2016-02-27 17:39:25 -08:00
Ben Gruver
37fbbe8e15
Submit issues to the smalidea-issues repo
...
Let's not spam the nice people who watch the smali repo. (I'm looking
at you jcase)
2016-02-27 17:39:03 -08:00
Ben Gruver
82f031210e
Add support for java inner classes
...
It's now possible to reference java inner classes based on what their
name would be in smali
2016-02-27 13:00:19 -08:00
Ben Gruver
66892009f5
Fix a possible NPE in SmaliCodeFragmentFactory
2016-02-27 12:51:26 -08:00
Ben Gruver
3bdedd6380
Fix up the sandbox directory for smalidea tests
2016-02-27 12:50:54 -08:00
Ben Gruver
29d714f71f
Conditionally add the smalidea project to the root project
...
The smalidea project is only added when you're actually in the
smalidea directory
2016-02-26 22:09:08 -08:00
Ben Gruver
ff4c85c5e4
Provide better register type information
2016-02-26 21:13:29 -08:00
Ben Gruver
6417e812e1
Refactor ClassPath to take ClassProviders
...
This allows for a more general mechanism for providing defined classes
2016-02-26 21:13:29 -08:00
Ben Gruver
aebb205aeb
Add better support for conditional expressions for breakpoints
2016-02-20 12:04:48 -08:00
Ben Gruver
1df3869a30
Don't add tools.jar when building the idea project files
2016-02-20 12:04:48 -08:00
Ben Gruver
7b387e06c5
Gracefully handle analysis errors
2016-02-20 12:04:47 -08:00
Ben Gruver
5b2943d89b
Check for switch offset validity in the MethodAnalyzer
2016-02-20 12:04:47 -08:00
Ben Gruver
6429b3daa9
Clean up the jar naming
...
The previous naming was interfering with 'gr install' installing the
artifacts locally.
2016-02-20 12:04:47 -08:00
Ben Gruver
4b337cc04d
Allow local search scopes when searching class usages
2016-02-20 12:00:05 -08:00
Ben Gruver
f16ea398a1
Don't require an active debugging session when making a code fragment
...
This is needed, e.g. when editing a conditional statement in the
breakpoint window.
2016-02-20 12:00:05 -08:00
Ben Gruver
92f8ec50c5
Add the ideadirs task for smalidea
2016-02-14 12:53:56 -08:00
Ben Gruver
df4e74e41c
Make smalidea a separate gradle/idea project
2016-02-14 12:53:56 -08:00
Ben Gruver
6e788c8a8e
Move META-INF/plugin.xml under resources
2016-02-14 12:50:31 -08:00
Ben Gruver
2e7fe1b8fe
Fix the tests that require a real jdk
2016-02-14 12:50:31 -08:00
Ben Gruver
327957ae66
Update for new MethodAnalyzer signature
2016-02-14 12:50:31 -08:00
Ben Gruver
1b00e0a155
Add the .tokens files to the binary jar
2016-02-14 12:50:31 -08:00
Ben Gruver
0be7264eb3
Bump gradle up to 2.11
2016-02-14 12:50:31 -08:00
Ben Gruver
5bdb7ee520
Bump the version to 2.1.2
2016-02-14 12:50:31 -08:00
Ben Gruver
8533ab7429
Merge branch 'master' into smalidea
2016-02-13 15:43:37 -08:00
Ben Gruver
b12d4e9ec8
Bump the version number to 2.1.1
2016-01-10 11:24:31 -08:00
Ben Gruver
73bd8ce9d4
Add a speculative fix for unicode filename errors on Mac
2015-12-04 12:00:27 -08:00
Ben Gruver
3e265038f5
Implement support for adding new labels to a MutableMethodImplementation
2015-10-18 13:24:34 -07:00
Ben Gruver
b8e255f389
Add support for 64-bit oat files
2015-10-17 14:47:10 -07:00
Ben Gruver
e202aeede5
Pass in the Opcodes to use for SyntheticAccessorFSM
2015-10-17 13:50:26 -07:00
Ben Gruver
4c66761aea
Minor javadoc fix for AnalyzedInstruction.setPostRegisterType
2015-10-17 13:48:54 -07:00
Ben Gruver
da58cc8991
Only use the instance-of/if-eqz type info if we're getting more information
...
We should only use the type info from an instance-of/if-eqz combo if we're
going from an interface to a class, or going from a class to a subtype
of that class -- otherwise, we're actually losing information.
2015-10-17 13:18:55 -07:00
Ben Gruver
3124e94d4b
Add support for static volatile opcodes in OdexedFieldInstructionMapper
...
This fixes a regression introduced in 2.1
2015-10-16 19:07:50 -07:00
Ben Gruver
37d14becd1
Fix register propagation when overriding a register type from a predecessor
2015-10-14 21:57:23 -07:00
Ben Gruver
398630dde5
Infer the register type based on the result of an instance-of instruction
...
In oat files, it's possible that a check-cast is removed based on the
register being provably of the type being cast to, based on the result
of an instance-of check.
Supporting this in general would require more sophisticated static analysis
than is currently done. Instead, this adds a special-case specifically
for the case of an instance-of followed immediately by an if-eqz
2015-10-13 21:59:47 -07:00
Ben Gruver
d6b17b9935
Don't add an empty .param annotation when not writing debug info
2015-10-13 18:46:13 -07:00
Ben Gruver
ccf087b0dd
Bump up MAX_OAT_VERSION to 71
2015-10-01 22:51:10 -07:00
Ben Gruver
7844089286
Add support for alternate field ordering starting at oat version 67
2015-10-01 22:50:35 -07:00