OSDN Git Service

Don't emit multiple copies of annotations when merging dex files.
authorJesse Wilson <jessewilson@google.com>
Wed, 16 Mar 2011 21:22:51 +0000 (14:22 -0700)
committerJesse Wilson <jessewilson@google.com>
Thu, 17 Mar 2011 00:47:38 +0000 (17:47 -0700)
commitbd3dba4346223593ac6033a3d2a7d8ec6f20738b
tree173c2479689385298ff6fd1e05038d5f784e1387
parent1b4822ecb93021e6273c92093f78dcb6ccc0cf91
Don't emit multiple copies of annotations when merging dex files.

This change requires all annotations to be loaded into memory
so they can be sorted. There does not appear to be a required
order to the annotations in .dex files. Loading annotations also
requires loading encoded values, which makes this into a large
refactoring.

Change-Id: Ib7e2656c595018be4e9936eb84a22f1c1de56750
http://b/4090053
21 files changed:
dx/src/com/android/dx/command/findusages/FindUsages.java
dx/src/com/android/dx/dex/file/DebugInfoDecoder.java
dx/src/com/android/dx/io/Annotation.java [new file with mode: 0644]
dx/src/com/android/dx/io/Code.java
dx/src/com/android/dx/io/DexBuffer.java
dx/src/com/android/dx/io/EncodedValue.java [new file with mode: 0644]
dx/src/com/android/dx/io/EncodedValueReader.java
dx/src/com/android/dx/io/FieldId.java
dx/src/com/android/dx/io/MethodId.java
dx/src/com/android/dx/merge/DexMerger.java
dx/src/com/android/dx/merge/EncodedValueTransformer.java [deleted file]
dx/src/com/android/dx/merge/IndexMap.java
dx/src/com/android/dx/util/ByteArrayAnnotatedOutput.java
dx/src/com/android/dx/util/ByteArrayByteInput.java [new file with mode: 0644]
dx/src/com/android/dx/util/ByteInput.java [new file with mode: 0644]
dx/src/com/android/dx/util/ByteOutput.java [new file with mode: 0644]
dx/src/com/android/dx/util/Leb128Utils.java
dx/src/com/android/dx/util/Mutf8.java
dx/src/com/android/dx/util/Output.java
dx/tests/116-leb128/com/android/dx/util/Leb128UtilsTest.java
dx/tests/117-modified-utf8/com/android/dx/util/Mutf8Test.java