1 /******************************************************************************* 2 * Copyright (c) 2009, 2021 Mountainminds GmbH & Co. KG and Contributors 3 * This program and the accompanying materials are made available under 4 * the terms of the Eclipse Public License 2.0 which is available at 5 * http://www.eclipse.org/legal/epl-2.0 6 * 7 * SPDX-License-Identifier: EPL-2.0 8 * 9 * Contributors: 10 * Marc R. Hoffmann - initial API and implementation 11 * 12 *******************************************************************************/ 13 package org.jacoco.report; 14 15 /** 16 * Interface to create programming language specific names from VM names. 17 */ 18 public interface ILanguageNames { 19 20 /** 21 * Calculates the language specific name of a package. 22 * 23 * @param vmname 24 * vm name of a package 25 * @return language specific notation for the package 26 */ getPackageName(String vmname)27 String getPackageName(String vmname); 28 29 /** 30 * Calculates the language specific name of a class. 31 * 32 * @param vmname 33 * vm name of a class 34 * @param vmsignature 35 * vm signature of the class (may be <code>null</code>) 36 * @param vmsuperclass 37 * vm name of the superclass of the class (may be 38 * <code>null</code>) 39 * @param vminterfaces 40 * vm names of interfaces of the class (may be <code>null</code>) 41 * @return language specific notation of the class 42 */ getClassName(String vmname, String vmsignature, String vmsuperclass, String[] vminterfaces)43 String getClassName(String vmname, String vmsignature, String vmsuperclass, 44 String[] vminterfaces); 45 46 /** 47 * Calculates the language specific qualified name of a class. 48 * 49 * @param vmname 50 * vm name of a class 51 * @return language specific qualified notation of the class 52 */ getQualifiedClassName(String vmname)53 String getQualifiedClassName(String vmname); 54 55 /** 56 * Calculates the language specific name of a method. 57 * 58 * @param vmclassname 59 * vm name of a containing class 60 * @param vmmethodname 61 * vm name of the method 62 * @param vmdesc 63 * vm method descriptor 64 * @param vmsignature 65 * vm signature of the method (may be <code>null</code>) 66 * @return language specific notation for the method 67 */ getMethodName(String vmclassname, String vmmethodname, String vmdesc, String vmsignature)68 String getMethodName(String vmclassname, String vmmethodname, String vmdesc, 69 String vmsignature); 70 71 /** 72 * Calculates the language specific fully qualified name of a method. 73 * 74 * @param vmclassname 75 * vm name of a containing class 76 * @param vmmethodname 77 * vm name of the method 78 * @param vmdesc 79 * vm method descriptor 80 * @param vmsignature 81 * vm signature of the method (may be <code>null</code>) 82 * @return language specific notation for the method 83 */ getQualifiedMethodName(String vmclassname, String vmmethodname, String vmdesc, String vmsignature)84 String getQualifiedMethodName(String vmclassname, String vmmethodname, 85 String vmdesc, String vmsignature); 86 87 } 88