diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2015-11-06 11:08:17 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2015-11-06 15:28:48 +0100 |
commit | aaf3ad7a1fb8c7d975cab5d89e2163e9264164d7 (patch) | |
tree | 72d421b6f5f39d49bd7ef9a79c6fb08275ae6803 /src/compiler/scala/tools/nsc/backend/WorklistAlgorithm.scala | |
parent | e843f3d33baf09e3ad3e84f9bc74c498fcbd21e2 (diff) | |
download | scala-aaf3ad7a1fb8c7d975cab5d89e2163e9264164d7.tar.gz scala-aaf3ad7a1fb8c7d975cab5d89e2163e9264164d7.tar.bz2 scala-aaf3ad7a1fb8c7d975cab5d89e2163e9264164d7.zip |
Minor cleanups
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/WorklistAlgorithm.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/WorklistAlgorithm.scala | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/WorklistAlgorithm.scala b/src/compiler/scala/tools/nsc/backend/WorklistAlgorithm.scala deleted file mode 100644 index d29c2fea86..0000000000 --- a/src/compiler/scala/tools/nsc/backend/WorklistAlgorithm.scala +++ /dev/null @@ -1,50 +0,0 @@ -/* NSC -- new Scala compiler - * Copyright 2005-2013 LAMP/EPFL - * @author Martin Odersky - */ - -package scala.tools.nsc -package backend - -import scala.collection.mutable - -/** - * Simple implementation of a worklist algorithm. A processing - * function is applied repeatedly to the first element in the - * worklist, as long as the stack is not empty. - * - * The client class should mix-in this class and initialize the worklist - * field and define the `processElement` method. Then call the `run` method - * providing a function that initializes the worklist. - * - * @author Martin Odersky - * @version 1.0 - */ -trait WorklistAlgorithm { - type Elem - type WList = mutable.Stack[Elem] - - val worklist: WList - - /** - * Run the iterative algorithm until the worklist remains empty. - * The initializer is run once before the loop starts and should - * initialize the worklist. - */ - def run(initWorklist: => Unit) = { - initWorklist - - while (worklist.nonEmpty) - processElement(dequeue) - } - - /** - * Process the current element from the worklist. - */ - def processElement(e: Elem): Unit - - /** - * Remove and return the first element to be processed from the worklist. - */ - def dequeue: Elem -} |