1355 Commits

Author SHA1 Message Date
JesusFreke@JesusFreke.com
928790f293 remove the "disable interning" functionality in dexlib
- rename the getInterned* methods to intern*
- add a lookup* method to a few item types that performs the same function, except that
it returns null if the item isn't found, instead of interning it

git-svn-id: https://smali.googlecode.com/svn/trunk@632 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 00:55:50 +00:00
JesusFreke@JesusFreke.com
f5defb97c0 Allow additional bootclasspath files to be added to the default, by prepending the bootclasspath value with a :
git-svn-id: https://smali.googlecode.com/svn/trunk@630 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-15 02:01:08 +00:00
JesusFreke@JesusFreke.com
3f7739cd09 Add support for specifying a base dir for the BOOTCLASSPATH files
git-svn-id: https://smali.googlecode.com/svn/trunk@629 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-15 02:00:58 +00:00
JesusFreke@JesusFreke.com
2e2a187734 Don't output register information on switch/array data structures
git-svn-id: https://smali.googlecode.com/svn/trunk@628 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 21:57:48 +00:00
JesusFreke@JesusFreke.com
20cfe7aa0f After analyzing a method, change any "Unknown" registers to "Uninit"
git-svn-id: https://smali.googlecode.com/svn/trunk@627 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 21:57:38 +00:00
JesusFreke@JesusFreke.com
eac512ae67 Add support for the "Uninit" register type
git-svn-id: https://smali.googlecode.com/svn/trunk@626 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 21:57:27 +00:00
JesusFreke@JesusFreke.com
1c56c7e750 Add finer grained control of what register information is printed out
git-svn-id: https://smali.googlecode.com/svn/trunk@625 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 20:04:59 +00:00
JesusFreke@JesusFreke.com
da69b22d6f Use a double instead of an int as the sort value for method items
git-svn-id: https://smali.googlecode.com/svn/trunk@624 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 20:04:39 +00:00
JesusFreke@JesusFreke.com
db385ec3fd Don't load the instructions in a code item when loading the BOOTCLASSPATH dex files
git-svn-id: https://smali.googlecode.com/svn/trunk@623 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 20:04:20 +00:00
JesusFreke@JesusFreke.com
1ed567427b Add support for unresolved types. This isn't fatal in all cases
git-svn-id: https://smali.googlecode.com/svn/trunk@622 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 20:04:03 +00:00
JesusFreke@JesusFreke.com
c9be5e1303 Tons of fixes related to getting "verbose register info"/type analysis to work
git-svn-id: https://smali.googlecode.com/svn/trunk@621 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-11 00:58:02 +00:00
JesusFreke@JesusFreke.com
7e24a9f010 Preliminary implementation of "verbose register info" functionality
git-svn-id: https://smali.googlecode.com/svn/trunk@620 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:28:37 +00:00
JesusFreke@JesusFreke.com
caea37a7d2 Implemented verification for the literal binary operation instructions
git-svn-id: https://smali.googlecode.com/svn/trunk@619 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:28:24 +00:00
JesusFreke@JesusFreke.com
122eba5cec Implemented verification for the 2-register binary operation instructions
git-svn-id: https://smali.googlecode.com/svn/trunk@618 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:28:18 +00:00
JesusFreke@JesusFreke.com
195e1a1071 Implemented verification for binary operation instructions
git-svn-id: https://smali.googlecode.com/svn/trunk@617 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:28:12 +00:00
JesusFreke@JesusFreke.com
1483cc8e68 Implemented verification for unary operation instructions
git-svn-id: https://smali.googlecode.com/svn/trunk@616 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:28:07 +00:00
JesusFreke@JesusFreke.com
85e17ca30a refactor the validation for source register types
git-svn-id: https://smali.googlecode.com/svn/trunk@615 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:28:01 +00:00
JesusFreke@JesusFreke.com
ee7ca05c81 Change the return value of analyzeInstruction and all the handle* methods from bool to void
git-svn-id: https://smali.googlecode.com/svn/trunk@614 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:55 +00:00
JesusFreke@JesusFreke.com
89e1413ef3 Implemented verification for invoke instructions
git-svn-id: https://smali.googlecode.com/svn/trunk@613 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:49 +00:00
JesusFreke@JesusFreke.com
300ad56aa3 Add the logic to iterate over all the instructions as the register information for them is updated
git-svn-id: https://smali.googlecode.com/svn/trunk@612 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:42 +00:00
JesusFreke@JesusFreke.com
fa323d30a0 When merging register types, an Unknown type and a known type should merge to the known type
git-svn-id: https://smali.googlecode.com/svn/trunk@611 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:36 +00:00
JesusFreke@JesusFreke.com
a0314c265e Handle uninitialized referenced appropriately
git-svn-id: https://smali.googlecode.com/svn/trunk@610 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:30 +00:00
JesusFreke@JesusFreke.com
b615ba6f51 Add concrete implementations of RegisterIterator for Format35c and Format3rc
git-svn-id: https://smali.googlecode.com/svn/trunk@609 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:23 +00:00
JesusFreke@JesusFreke.com
6192896f88 Add pastEnd() method to RegisterIterator
git-svn-id: https://smali.googlecode.com/svn/trunk@608 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:18 +00:00
JesusFreke@JesusFreke.com
06d1aacf61 Add getCount() method to RegisterIterator
git-svn-id: https://smali.googlecode.com/svn/trunk@607 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:12 +00:00
JesusFreke@JesusFreke.com
6d11e9062d Fix the register check for the source register in handleIputObject, and add misc TODO
git-svn-id: https://smali.googlecode.com/svn/trunk@606 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 07:09:38 +00:00
JesusFreke@JesusFreke.com
51cec00885 Implemented verification for sput-object
git-svn-id: https://smali.googlecode.com/svn/trunk@605 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 07:09:32 +00:00
JesusFreke@JesusFreke.com
f08a9e1c2c Implemented verification for sput-wide
git-svn-id: https://smali.googlecode.com/svn/trunk@604 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 07:09:26 +00:00
JesusFreke@JesusFreke.com
9d45d563fe Implemented verification for sput/sput-boolean/sput-byte/sput-char/sput-short
git-svn-id: https://smali.googlecode.com/svn/trunk@603 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 06:22:11 +00:00
JesusFreke@JesusFreke.com
2d6d6eb22c Implemented verification for sget-object
git-svn-id: https://smali.googlecode.com/svn/trunk@602 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 04:56:23 +00:00
JesusFreke@JesusFreke.com
2f233fefd9 Implemented verification for sget-wide
git-svn-id: https://smali.googlecode.com/svn/trunk@601 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 04:54:00 +00:00
JesusFreke@JesusFreke.com
bd215cd95b Clean up handle32BitPrimitiveSget a bit
git-svn-id: https://smali.googlecode.com/svn/trunk@600 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 04:53:53 +00:00
JesusFreke@JesusFreke.com
052f4890ab Implemented verification for sget/sget-boolean/sget-byte/sget-char/sget-short
git-svn-id: https://smali.googlecode.com/svn/trunk@599 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 04:37:16 +00:00
JesusFreke@JesusFreke.com
50ff624741 Implemented verification for iput-object
git-svn-id: https://smali.googlecode.com/svn/trunk@598 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 03:14:25 +00:00
JesusFreke@JesusFreke.com
92616c9f60 Implemented verification for iput-wide
git-svn-id: https://smali.googlecode.com/svn/trunk@597 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 02:44:59 +00:00
JesusFreke@JesusFreke.com
9971346f4c Implemented verification for iput/iput-boolean/iput-byte/iput-char/iput-short
git-svn-id: https://smali.googlecode.com/svn/trunk@596 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 02:16:59 +00:00
JesusFreke@JesusFreke.com
7a58f2434a Implemented verification for iget-object
git-svn-id: https://smali.googlecode.com/svn/trunk@595 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 02:16:52 +00:00
JesusFreke@JesusFreke.com
9d92fd3748 Implemented verification for iget-wide
git-svn-id: https://smali.googlecode.com/svn/trunk@594 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 01:53:53 +00:00
JesusFreke@JesusFreke.com
4f84e8f9e9 Implemented verification for iget/iget-boolean/iget-byte/iget-char/iget-short
git-svn-id: https://smali.googlecode.com/svn/trunk@593 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-26 03:17:42 +00:00
JesusFreke@JesusFreke.com
898e750048 Implemented verification for aput-object
git-svn-id: https://smali.googlecode.com/svn/trunk@592 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-25 02:18:24 +00:00
JesusFreke@JesusFreke.com
55d43e36eb Implemented verification for aput-wide
git-svn-id: https://smali.googlecode.com/svn/trunk@591 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-25 01:55:07 +00:00
JesusFreke@JesusFreke.com
c849236be2 Implemented verification for aput/aput-boolean/aput-byte/aput-char/aput-short
git-svn-id: https://smali.googlecode.com/svn/trunk@590 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-25 01:42:45 +00:00
JesusFreke@JesusFreke.com
461a797324 Implemented verification for aget-object
git-svn-id: https://smali.googlecode.com/svn/trunk@589 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-25 01:05:15 +00:00
JesusFreke@JesusFreke.com
c308b24b62 Implemented verification for aget-wide
git-svn-id: https://smali.googlecode.com/svn/trunk@588 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-25 00:36:52 +00:00
JesusFreke@JesusFreke.com
b239745290 Implemented verification for aget/aget-boolean/aget-byte/aget-char/aget-short
git-svn-id: https://smali.googlecode.com/svn/trunk@587 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-25 00:20:56 +00:00
JesusFreke@JesusFreke.com
16a709ba04 Implemented verification for if-ltz/gez/gtz/lez
git-svn-id: https://smali.googlecode.com/svn/trunk@586 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-24 20:44:05 +00:00
JesusFreke@JesusFreke.com
cb00252b6a Implemented verification for if-eqz/nez
git-svn-id: https://smali.googlecode.com/svn/trunk@585 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-24 20:43:59 +00:00
JesusFreke@JesusFreke.com
150acd9db9 Implemented verification for if-lt/ge/gt/le
git-svn-id: https://smali.googlecode.com/svn/trunk@584 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-24 20:43:52 +00:00
JesusFreke@JesusFreke.com
aba6bb0bbd Implemented verification for if-eq and if-ne
git-svn-id: https://smali.googlecode.com/svn/trunk@583 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-24 20:14:53 +00:00
JesusFreke@JesusFreke.com
f1a74cea19 Implemented verification for float/double/long comparison instructions
git-svn-id: https://smali.googlecode.com/svn/trunk@582 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-24 19:54:01 +00:00