classversionfilter.java

来自「ProGuard 是一个免费的 Java类文件的压缩」· Java 代码 · 共 73 行

JAVA
73
字号
/* * ProGuard -- shrinking, optimization, obfuscation, and preverification *             of Java bytecode. * * Copyright (c) 2002-2007 Eric Lafortune (eric@graphics.cornell.edu) * * This library 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 library 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 Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software Foundation, * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */package proguard.classfile.visitor;import proguard.classfile.*;/** * This <code>ClassVisitor</code> delegates its visits to program classes to * another given <code>ClassVisitor</code>, but only when the class version * number of the visited program class lies in a given range. * * @author Eric Lafortune */public class ClassVersionFilter implements ClassVisitor{    private int          minimumClassVersion;    private int          maximumClassVersion;    private ClassVisitor classVisitor;    /**     * Creates a new ClassVersionFilter.     * @param minimumClassVersion the minimum class version number.     * @param maximumClassVersion the maximum class version number.     * @param classVisitor        the <code>ClassVisitor</code> to which visits     *                            will be delegated.     */    public ClassVersionFilter(int          minimumClassVersion,                              int          maximumClassVersion,                              ClassVisitor classVisitor)    {        this.minimumClassVersion = minimumClassVersion;        this.maximumClassVersion = maximumClassVersion;        this.classVisitor        = classVisitor;    }    // Implementations for ClassVisitor.    public void visitProgramClass(ProgramClass programClass)    {        if (programClass.u4version >= minimumClassVersion &&            programClass.u4version <= maximumClassVersion)        {            classVisitor.visitProgramClass(programClass);        }    }    public void visitLibraryClass(LibraryClass libraryClass)    {        // Library classes don't have version numbers.    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?