diff options
Diffstat (limited to 'compiler/src/dotty/tools/dotc/util/Set.scala')
-rw-r--r-- | compiler/src/dotty/tools/dotc/util/Set.scala | 27 |
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 +} |