diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2018-01-10 08:24:53 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-01-10 08:24:53 +0000 |
commit | 9eb7ed9554f0c797ef474249e8c3fd19ff91264a (patch) | |
tree | 61a3b7248024bbf31d1f180e9c2477696f042517 /src/proguard/InputReader.java | |
parent | af893cdc1242e4cfbeeb10e2323f9a689a825177 (diff) | |
parent | 45e52b5ab37a26149ce031caa44bb167da217667 (diff) | |
download | proguard-9eb7ed9554f0c797ef474249e8c3fd19ff91264a.tar.gz |
Snap for 4535700 from 45e52b5ab37a26149ce031caa44bb167da217667 to pi-releaseandroid-vts-9.0_r9android-vts-9.0_r8android-vts-9.0_r7android-vts-9.0_r6android-vts-9.0_r5android-vts-9.0_r4android-vts-9.0_r19android-vts-9.0_r18android-vts-9.0_r17android-vts-9.0_r16android-vts-9.0_r15android-vts-9.0_r14android-vts-9.0_r13android-vts-9.0_r12android-vts-9.0_r11android-vts-9.0_r10android-security-9.0.0_r76android-security-9.0.0_r75android-security-9.0.0_r74android-security-9.0.0_r73android-security-9.0.0_r72android-security-9.0.0_r71android-security-9.0.0_r70android-security-9.0.0_r69android-security-9.0.0_r68android-security-9.0.0_r67android-security-9.0.0_r66android-security-9.0.0_r65android-security-9.0.0_r64android-security-9.0.0_r63android-security-9.0.0_r62android-p-preview-5android-p-preview-4android-p-preview-1android-cts-9.0_r9android-cts-9.0_r8android-cts-9.0_r7android-cts-9.0_r6android-cts-9.0_r5android-cts-9.0_r4android-cts-9.0_r3android-cts-9.0_r20android-cts-9.0_r2android-cts-9.0_r19android-cts-9.0_r18android-cts-9.0_r17android-cts-9.0_r16android-cts-9.0_r15android-cts-9.0_r14android-cts-9.0_r13android-cts-9.0_r12android-cts-9.0_r11android-cts-9.0_r10android-cts-9.0_r1android-9.0.0_r9android-9.0.0_r8android-9.0.0_r7android-9.0.0_r61android-9.0.0_r60android-9.0.0_r6android-9.0.0_r59android-9.0.0_r58android-9.0.0_r57android-9.0.0_r56android-9.0.0_r55android-9.0.0_r54android-9.0.0_r53android-9.0.0_r52android-9.0.0_r51android-9.0.0_r50android-9.0.0_r5android-9.0.0_r49android-9.0.0_r48android-9.0.0_r3android-9.0.0_r2android-9.0.0_r18android-9.0.0_r17android-9.0.0_r10android-9.0.0_r1security-pi-releasepie-vts-releasepie-security-releasepie-s2-releasepie-release-2pie-releasepie-r2-s2-releasepie-r2-s1-releasepie-r2-releasepie-platform-releasepie-gsipie-cuttlefish-testingpie-cts-releasepie-arcp-preview-1
Change-Id: Iabe0625a36e352c7df9ee77952a9071fb0d18a2d
Diffstat (limited to 'src/proguard/InputReader.java')
-rw-r--r-- | src/proguard/InputReader.java | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/proguard/InputReader.java b/src/proguard/InputReader.java index 503ce7e..488b6ff 100644 --- a/src/proguard/InputReader.java +++ b/src/proguard/InputReader.java @@ -59,6 +59,28 @@ public class InputReader DuplicateClassPrinter duplicateClassPrinter = new DuplicateClassPrinter(notePrinter); + // Android-added: Read the classes from the systemjars. + // These are read into the library ClassPool before the programjars so that any duplicates + // between these are programjars will result in the classes in the programjars being + // ignored. + // Read the system class files, if any. + if (configuration.systemJars != null) + { + // Prepare a data entry reader to filter all classes, + // which are then decoded to classes by a class reader, + // which are then filtered by removing any that already exist in the libraryClassPool. + // which are then put in the class pool by a class pool filler. + readInput("Reading system ", + configuration.systemJars, + new ClassFilter( + new ClassReader(true /* isLibrary */, + configuration.skipNonPublicLibraryClasses, + configuration.skipNonPublicLibraryClassMembers, + warningPrinter, + new ClassPresenceFilter(libraryClassPool, duplicateClassPrinter, + new ClassPoolFiller(libraryClassPool))))); + } + // Read the program class files. // Prepare a data entry reader to filter all classes, // which are then decoded to classes by a class reader, @@ -71,7 +93,9 @@ public class InputReader configuration.skipNonPublicLibraryClassMembers, warningPrinter, new ClassPresenceFilter(programClassPool, duplicateClassPrinter, - new ClassPoolFiller(programClassPool))))); + // Android-changed: Filter out classes already read from systemjars. + new ClassPresenceFilter(libraryClassPool, duplicateClassPrinter, + new ClassPoolFiller(programClassPool)))))); // Check if we have at least some input classes. if (programClassPool.size() == 0) |