WorklistAlgorithm

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.

Authors:

Martin Odersky

See also:

scala.tools.nsc.backend.icode.Linearizers

Version:

1.0

class Object
trait Matchable
class Any

Type members

Classlikes

class WList

Types

type Elem

Value members

Abstract methods

Remove and return the first element to be processed from the worklist.

Remove and return the first element to be processed from the worklist.

Process the current element from the worklist.

Process the current element from the worklist.

Concrete methods

def run(initWorklist: => Unit): Unit

Run the iterative algorithm until the worklist remains empty. The initializer is run once before the loop starts and should initialize the worklist.

Run the iterative algorithm until the worklist remains empty. The initializer is run once before the loop starts and should initialize the worklist.

Abstract fields