summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/backend/icode/analysis/DataFlowAnalysis.scala
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2006-12-04 13:38:26 +0000
committerIulian Dragos <jaguarul@gmail.com>2006-12-04 13:38:26 +0000
commit98f71af784e981f170d69fdbb416fc23b0ca72dd (patch)
tree4cdbcc5e698a9472c5975f49fffc30914e936d80 /src/compiler/scala/tools/nsc/backend/icode/analysis/DataFlowAnalysis.scala
parentdb6ceead4bdf713705a34937d798fc7bf08e459c (diff)
downloadscala-98f71af784e981f170d69fdbb416fc23b0ca72dd.tar.gz
scala-98f71af784e981f170d69fdbb416fc23b0ca72dd.tar.bz2
scala-98f71af784e981f170d69fdbb416fc23b0ca72dd.zip
Fixed non-terminating iteration in data flow an...
Fixed non-terminating iteration in data flow analysis framework.
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/icode/analysis/DataFlowAnalysis.scala')
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/analysis/DataFlowAnalysis.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/icode/analysis/DataFlowAnalysis.scala b/src/compiler/scala/tools/nsc/backend/icode/analysis/DataFlowAnalysis.scala
index ac6cf70093..b8d4a1e92c 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/analysis/DataFlowAnalysis.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/analysis/DataFlowAnalysis.scala
@@ -32,7 +32,7 @@ trait DataFlowAnalysis[L <: CompleteLattice] {
val point = worklist.elements.next; worklist -= point; visited += point;
val output = f(point, in(point));
- if (out(point) == (lattice.bottom) || output != out(point)) {
+ if ((lattice.bottom == out(point)) || output != out(point)) {
out(point) = output;
val succs = point.successors;
succs foreach { p =>
@@ -51,7 +51,7 @@ trait DataFlowAnalysis[L <: CompleteLattice] {
out(point) = lattice.lub(point.successors map in.apply);
val input = f(point, out(point));
- if (in(point) == (lattice.bottom) || input != in(point)) {
+ if ((lattice.bottom == in(point)) || input != in(point)) {
in(point) = input;
point.predecessors foreach { p =>
if (!worklist.contains(p))