blob: 30de8193d0a3aa750721e8953592a5f942d8ec34 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/* ____ ____ ____ ____ ______ *\
** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala **
** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL **
** /_____/\____/\___/\____/____/ **
**
** $Id$
\* */
package scalac.symtab;
import scalac.util.Name;
import java.util.HashMap;
public class NameMangler {
private HashMap/*<Symbol,HashMap<Symbol,int[]>>*/ mangleMap = new HashMap();
public void setMangledName(Symbol innerclazz) {
Symbol topclazz = innerclazz.enclToplevelClass();
HashMap map = (HashMap) mangleMap.get(topclazz);
if (map == null) {
map = new HashMap();
mangleMap.put(topclazz, map);
}
int[] ctr = (int[]) map.get(innerclazz);
if (ctr == null) {
ctr = new int[1];
map.put(innerclazz, ctr);
}
innerclazz.setMangledName(
Name.fromString(topclazz.name + "$" + (ctr[0]++) + innerclazz.name));
}
}
|