• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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