aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/util/Set.scala
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/src/dotty/tools/dotc/util/Set.scala')
-rw-r--r--compiler/src/dotty/tools/dotc/util/Set.scala27
1 files changed, 27 insertions, 0 deletions
diff --git a/compiler/src/dotty/tools/dotc/util/Set.scala b/compiler/src/dotty/tools/dotc/util/Set.scala
new file mode 100644
index 000000000..3e906c6a8
--- /dev/null
+++ b/compiler/src/dotty/tools/dotc/util/Set.scala
@@ -0,0 +1,27 @@
+/* NSC -- new Scala compiler
+ * Copyright 2005-2012 LAMP/EPFL
+ * @author Martin Odersky
+ */
+package dotty.tools.dotc.util
+
+/** A common class for lightweight sets.
+ */
+abstract class Set[T >: Null] {
+
+ def findEntry(x: T): T
+
+ def addEntry(x: T): Unit
+
+ def iterator: Iterator[T]
+
+ def foreach[U](f: T => U): Unit = iterator foreach f
+
+ def apply(x: T): Boolean = contains(x)
+
+ def contains(x: T): Boolean =
+ findEntry(x) != null
+
+ def toList = iterator.toList
+
+ def clear: Unit
+}