diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2009-04-28 15:25:12 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2009-04-28 15:25:12 +0000 |
commit | ae897e4d285782753670b082f62d7f14936a4bef (patch) | |
tree | 781d11f362c057faa72bfd2fc0fc9563a8104f85 /src/compiler | |
parent | bdc8c11581b0fc67cf895ba349e43b2081e29c59 (diff) | |
download | scala-ae897e4d285782753670b082f62d7f14936a4bef.tar.gz scala-ae897e4d285782753670b082f62d7f14936a4bef.tar.bz2 scala-ae897e4d285782753670b082f62d7f14936a4bef.zip |
Fixed wrong attribution of duplicated labels in...
Fixed wrong attribution of duplicated labels in finally blocks.
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/icode/GenICode.scala | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala b/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala index 52b8838c04..76a6498e2d 100644 --- a/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala +++ b/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala @@ -554,8 +554,6 @@ abstract class GenICode extends SubComponent { }) } - if (settings.debug.value) - log("Duplicated finalizer: " + duplicateFinalizer) ctx.Try( bodyCtx => { generatedType = kind; //toTypeKind(block.tpe); @@ -1704,8 +1702,8 @@ abstract class GenICode extends SubComponent { sym.setInfo(oldLabel.tpe) labels(oldLabel) = sym } - val tree = copy.Apply(t, transform(fun), transformTrees(args)) - tree.symbol = labels(t.symbol) + val tree = Apply(global.gen.mkAttributedRef(labels(t.symbol)), transformTrees(args)).setPos(t.pos) + tree.tpe = t.tpe tree case t @ LabelDef(name, params, rhs) => @@ -2111,7 +2109,7 @@ abstract class GenICode extends SubComponent { * by a real JUMP instruction when all labels are resolved. */ abstract class PseudoJUMP(label: Label) extends Instruction { - override def toString(): String = "PJUMP " + label.symbol.simpleName + override def toString(): String = "PJUMP " + label.symbol override def consumed = 0 override def produced = 0 |