diff options
author | Jesse Wilson <jessewilson@google.com> | 2011-09-15 15:49:25 -0400 |
---|---|---|
committer | Brian Carlstrom <bdc@google.com> | 2013-04-29 18:21:55 -0700 |
commit | 7e85b634fbafa4a3b927c80665dea6fac337d886 (patch) | |
tree | 51197d2d020fb9a69962542ae59e5810ed0b5f89 /dx/src/com/android/dx/ssa | |
parent | 33a977ec6a12deb22bcc87f8c294439b3aba16ab (diff) | |
download | android_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