summaryrefslogtreecommitdiff
path: root/sources/scalac/util/UniqueID.java
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-02-13 14:41:36 +0000
committerMartin Odersky <odersky@gmail.com>2003-02-13 14:41:36 +0000
commit4177daab2f54bdb20c71f623296a8bb32616fd12 (patch)
tree23f08b43f3758e825d5965b336030603a65bbcf7 /sources/scalac/util/UniqueID.java
parent33d6e170c97ca7b2f991896a0729941a7240b6d6 (diff)
downloadscala-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.java30
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();
+ }
+}