summaryrefslogtreecommitdiffstats
path: root/dx/src/com/android/dx/ssa
diff options
context:
space:
mode:
authorJesse Wilson <jessewilson@google.com>2011-09-15 15:49:25 -0400
committerBrian Carlstrom <bdc@google.com>2013-04-29 18:21:55 -0700
commit7e85b634fbafa4a3b927c80665dea6fac337d886 (patch)
tree51197d2d020fb9a69962542ae59e5810ed0b5f89 /dx/src/com/android/dx/ssa
parent33a977ec6a12deb22bcc87f8c294439b3aba16ab (diff)
downloadandroid_dalvik-7e85b634fbafa4a3b927c80665dea6fac337d886.tar.gz
android_dalvik-7e85b634fbafa4a3b927c80665dea6fac337d886.tar.bz2
android_dalvik-7e85b634fbafa4a3b927c80665dea6fac337d886.zip
Teach dex how to parse encoded values from .dex files.
Previously primitive values were treated as opaque byte arrays. Now the encoded values can be interpreted as their proper types: integers, indices, floats, chars, etc. This gets complicated pretty fast due to the dense packing dx performs when encoding the values. The encoding code is moved from ValueEncoder. The decoding code is ported from C++ to Java from Annotation.cpp. There's a bunch of new tests to make sure the decoding is correct; porting from C++ to Java was tricky because of the '>>' shifts on unsigned values. The test input data is generated by dex! Change-Id: I83b2fc3e16115d667fa94b3dab782d1a9687f3ad (cherry picked from commit 27847605b9255358f0577ffec28886c450263898)
Diffstat (limited to 'dx/src/com/android/dx/ssa')
0 files changed, 0 insertions, 0 deletions