diff options
Diffstat (limited to 'sources/scalac/util/UniqueID.java')
-rw-r--r-- | sources/scalac/util/UniqueID.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/sources/scalac/util/UniqueID.java b/sources/scalac/util/UniqueID.java new file mode 100644 index 0000000000..59e31a9de6 --- /dev/null +++ b/sources/scalac/util/UniqueID.java @@ -0,0 +1,30 @@ +/* ____ ____ ____ ____ ______ *\ +** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala ** +** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL ** +** /_____/\____/\___/\____/____/ ** +** ** +\* */ + +// $Id$ + +package scalac.util; + +import java.util.*; + +/** + * Class to assign unique and small numbers to objects, based on their + * identity. + * + * @author Michel Schinz + * @version 1.0 + */ + +public class UniqueID { + protected Map ids = new HashMap(); + + public int id(Object obj) { + if (! ids.containsKey(obj)) + ids.put(obj, new Integer(ids.size())); + return ((Integer)ids.get(obj)).intValue(); + } +} |