diff options
author | Martin Odersky <odersky@gmail.com> | 2003-02-13 14:41:36 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-02-13 14:41:36 +0000 |
commit | 4177daab2f54bdb20c71f623296a8bb32616fd12 (patch) | |
tree | 23f08b43f3758e825d5965b336030603a65bbcf7 /sources/scalac/util/UniqueID.java | |
parent | 33d6e170c97ca7b2f991896a0729941a7240b6d6 (diff) | |
download | scala-4177daab2f54bdb20c71f623296a8bb32616fd12.tar.gz scala-4177daab2f54bdb20c71f623296a8bb32616fd12.tar.bz2 scala-4177daab2f54bdb20c71f623296a8bb32616fd12.zip |
Initial version.
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(); + } +} |