1 /******************************************************************************* 2 * Copyright (c) 2013 Jesper Steen Moeller and others. 3 * 4 * This program and the accompanying materials 5 * are made available under the terms of the Eclipse Public License 2.0 6 * which accompanies this distribution, and is available at 7 * https://www.eclipse.org/legal/epl-2.0/ 8 * 9 * SPDX-License-Identifier: EPL-2.0 10 * 11 * Contributors: 12 * Jesper Steen Moeller - initial API and implementation 13 *******************************************************************************/ 14 package org.eclipse.jdt.core.util; 15 16 /** 17 * Description of a method's parameters names as described in the JVM specifications. 18 * 19 * This interface may be implemented by clients. 20 * 21 * @since 3.10 22 */ 23 public interface IMethodParametersAttribute extends IClassFileAttribute { 24 25 /** 26 * Answer back the number of parameters for this method as specified in 27 * the JVM specifications. 28 * 29 * @return the number of parameters for this method as specified in 30 * the JVM specifications 31 */ getMethodParameterLength()32 int getMethodParameterLength(); 33 34 /** 35 * Answer back the name for the i'th parameter. Answer null if no 36 * name is available. 37 * 38 * @return back the name for the i'th parameter. Returns null if no 39 * name is available. 40 */ getParameterName(int i)41 char[] getParameterName(int i); 42 43 /** 44 * Answer back the access flags for the i'th parameter, a mask of 45 * <code>ACC_FINAL</code>, <code>ACC_SYNTHETIC</code>, and <code>ACC_MANDATED</code>. 46 * 47 * @return the access flags for the i'th parameter. 48 */ getAccessFlags(int i)49 short getAccessFlags(int i); 50 51 } 52