diff options
author | Ying Wang <wangying@google.com> | 2012-02-27 18:34:24 -0800 |
---|---|---|
committer | Ying Wang <wangying@google.com> | 2012-02-27 18:34:24 -0800 |
commit | 9f606f95f03a75961498803e24bee6799a7c0885 (patch) | |
tree | a45f4d74feda9b76277a0c9ced55ad15d82248a1 /src/proguard/SeedPrinter.java | |
parent | cfead78069f3dc32998dc118ee08cab3867acea2 (diff) | |
download | proguard-9f606f95f03a75961498803e24bee6799a7c0885.tar.gz |
Revert "Upgrade from Progaurd 4.4 to 4.7."android-sdk-support_r11android-cts-4.2_r2android-cts-4.1_r4android-cts-4.1_r2android-cts-4.1_r1tools_r22tools_r21jb-mr1.1-dev-plus-aospjb-mr1.1-devjb-mr1-dev-plus-aospjb-mr1-devjb-dev
This reverts commit cfead78069f3dc32998dc118ee08cab3867acea2.
Bug: 6079915
Diffstat (limited to 'src/proguard/SeedPrinter.java')
-rw-r--r-- | src/proguard/SeedPrinter.java | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/src/proguard/SeedPrinter.java b/src/proguard/SeedPrinter.java deleted file mode 100644 index aee8f60..0000000 --- a/src/proguard/SeedPrinter.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * ProGuard -- shrinking, optimization, obfuscation, and preverification - * of Java bytecode. - * - * Copyright (c) 2002-2011 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 - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -package proguard; - -import proguard.classfile.ClassPool; -import proguard.classfile.attribute.visitor.AllAttributeVisitor; -import proguard.classfile.constant.visitor.AllConstantVisitor; -import proguard.classfile.instruction.visitor.AllInstructionVisitor; -import proguard.classfile.util.*; -import proguard.classfile.visitor.*; -import proguard.optimize.*; -import proguard.util.*; - -import java.io.*; -import java.util.*; - -/** - * This class prints out the seeds specified by keep options. - * - * @author Eric Lafortune - */ -public class SeedPrinter -{ - private final PrintStream ps; - - - /** - * Creates a new ConfigurationWriter for the given PrintStream. - */ - public SeedPrinter(PrintStream ps) throws IOException - { - this.ps = ps; - } - - - /** - * Prints out the seeds for the classes in the given program class pool. - * @param configuration the configuration containing the keep options. - * @throws IOException if an IO error occurs while writing the configuration. - */ - public void write(Configuration configuration, - ClassPool programClassPool, - ClassPool libraryClassPool) throws IOException - { - // Check if we have at least some keep commands. - if (configuration.keep == null) - { - throw new IOException("You have to specify '-keep' options for the shrinking step."); - } - - // Clean up any old visitor info. - programClassPool.classesAccept(new ClassCleaner()); - libraryClassPool.classesAccept(new ClassCleaner()); - - // Create a visitor for printing out the seeds. We're printing out - // the program elements that are preserved against shrinking, - // optimization, or obfuscation. - KeepMarker keepMarker = new KeepMarker(); - ClassPoolVisitor classPoolvisitor = - ClassSpecificationVisitorFactory.createClassPoolVisitor(configuration.keep, - keepMarker, - keepMarker, - true, - true, - true); - // Mark the seeds. - programClassPool.accept(classPoolvisitor); - libraryClassPool.accept(classPoolvisitor); - - // Print out the seeds. - SimpleClassPrinter printer = new SimpleClassPrinter(false, ps); - programClassPool.classesAcceptAlphabetically(new MultiClassVisitor( - new ClassVisitor[] - { - new KeptClassFilter(printer), - new AllMemberVisitor(new KeptMemberFilter(printer)) - })); - } -}
\ No newline at end of file |