1 /* 2 * ProGuard -- shrinking, optimization, obfuscation, and preverification 3 * of Java bytecode. 4 * 5 * Copyright (c) 2002-2014 Eric Lafortune (eric@graphics.cornell.edu) 6 * 7 * This program is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License as published by the Free 9 * Software Foundation; either version 2 of the License, or (at your option) 10 * any later version. 11 * 12 * This program is distributed in the hope that it will be useful, but WITHOUT 13 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 14 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 15 * more details. 16 * 17 * You should have received a copy of the GNU General Public License along 18 * with this program; if not, write to the Free Software Foundation, Inc., 19 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 */ 21 package proguard.classfile.visitor; 22 23 import proguard.classfile.*; 24 25 /** 26 * This interface specifies the methods for a visitor of method parameters or 27 * field types (which can be considered parameters when storing values). The 28 * parameters do not include or count the 'this' parameter or the method return 29 * value. 30 * 31 * @author Eric Lafortune 32 */ 33 public interface ParameterVisitor 34 { 35 /** 36 * Visits the given parameter. 37 * @param clazz the class of the method. 38 * @param member the field or method of the parameter. 39 * @param parameterIndex the index of the parameter. 40 * @param parameterCount the total number of parameters. 41 * @param parameterOffset the offset of the parameter, accounting for 42 * longs and doubles taking up two entries. 43 * @param parameterSize the total size of the parameters, accounting for 44 * longs and doubles taking up two entries. 45 * @param parameterType the parameter type. 46 * @param referencedClass the class contained in the parameter type, if any. 47 */ visitParameter(Clazz clazz, Member member, int parameterIndex, int parameterCount, int parameterOffset, int parameterSize, String parameterType, Clazz referencedClass)48 public void visitParameter(Clazz clazz, 49 Member member, 50 int parameterIndex, 51 int parameterCount, 52 int parameterOffset, 53 int parameterSize, 54 String parameterType, 55 Clazz referencedClass); 56 } 57