diff options
author | Brian Carlstrom <bdc@google.com> | 2015-01-08 08:24:06 -0800 |
---|---|---|
committer | Brian Carlstrom <bdc@google.com> | 2015-01-08 10:29:11 -0800 |
commit | cd9e071098d0539dda3a4a5d3f45cfd8814de4ed (patch) | |
tree | 9ac962825d41c4fb8ad1ec0fc2e8b441b42d3869 /src/proguard/shrink/SignatureUsageMarker.java | |
parent | 9961286c06c25cd03464d3e2b00bd9b9dedf96ba (diff) | |
download | proguard-cd9e071098d0539dda3a4a5d3f45cfd8814de4ed.tar.gz |
Upgrade Proguard to 5.1.
Downloaded from:
http://sourceforge.net/projects/proguard/files/proguard/5.1/
Bug: 17550647
(cherry picked from commit 2270795fbe0b277bfd49f40950ecaa78583175cc)
Change-Id: I4d4c6b4f11aca8d5595b7f285c675bc5873d5e24
Diffstat (limited to 'src/proguard/shrink/SignatureUsageMarker.java')
-rw-r--r-- | src/proguard/shrink/SignatureUsageMarker.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/proguard/shrink/SignatureUsageMarker.java b/src/proguard/shrink/SignatureUsageMarker.java index 9c5cd4d..91bfcdd 100644 --- a/src/proguard/shrink/SignatureUsageMarker.java +++ b/src/proguard/shrink/SignatureUsageMarker.java @@ -2,7 +2,7 @@ * ProGuard -- shrinking, optimization, obfuscation, and preverification * of Java bytecode. * - * Copyright (c) 2002-2013 Eric Lafortune (eric@graphics.cornell.edu) + * Copyright (c) 2002-2014 Eric Lafortune (eric@graphics.cornell.edu) * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free @@ -23,8 +23,8 @@ package proguard.shrink; import proguard.classfile.*; import proguard.classfile.attribute.*; -import proguard.classfile.attribute.visitor.*; -import proguard.classfile.constant.*; +import proguard.classfile.attribute.visitor.AttributeVisitor; +import proguard.classfile.constant.Constant; import proguard.classfile.constant.visitor.ConstantVisitor; import proguard.classfile.util.SimplifiedVisitor; import proguard.classfile.visitor.ClassVisitor; @@ -67,8 +67,8 @@ implements AttributeVisitor, public void visitSignatureAttribute(Clazz clazz, SignatureAttribute signatureAttribute) { - // Only keep the signature if all of its classes are used. - attributeUsed = true; + // Only keep the signature if any of its classes are used. + attributeUsed = false; signatureAttribute.referencedClassesAccept(this); if (attributeUsed) @@ -84,15 +84,18 @@ implements AttributeVisitor, // Implementations for ClassVisitor. - public void visitLibraryClass(LibraryClass libraryClass) {} + public void visitLibraryClass(LibraryClass libraryClass) + { + attributeUsed = true; + } public void visitProgramClass(ProgramClass programClass) { // Don't keep the signature if one of its classes is not used. - if (!usageMarker.isUsed(programClass)) + if (usageMarker.isUsed(programClass)) { - attributeUsed = false; + attributeUsed = true; } } |