summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2011-04-21 22:41:20 +0000
committerMartin Odersky <odersky@gmail.com>2011-04-21 22:41:20 +0000
commitefd6b46e74c4b3d593feb0d14e5c698bb8ddfaed (patch)
tree8f593c9fa4b34d405c4aa5c347a5f9b2245d6ad3 /src/compiler
parent7c456cde62f3eb8ad4de21463d4df316c040d52f (diff)
downloadscala-efd6b46e74c4b3d593feb0d14e5c698bb8ddfaed.tar.gz
scala-efd6b46e74c4b3d593feb0d14e5c698bb8ddfaed.tar.bz2
scala-efd6b46e74c4b3d593feb0d14e5c698bb8ddfaed.zip
Some more tweaks to the bridge scheme.
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/transform/LambdaLift.scala2
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala5
2 files changed, 2 insertions, 5 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/LambdaLift.scala b/src/compiler/scala/tools/nsc/transform/LambdaLift.scala
index 98b6110f7f..39b47d1e08 100644
--- a/src/compiler/scala/tools/nsc/transform/LambdaLift.scala
+++ b/src/compiler/scala/tools/nsc/transform/LambdaLift.scala
@@ -402,6 +402,8 @@ abstract class LambdaLift extends InfoTransform {
val tree1 = addFreeParams(tree, sym)
if (sym.isLocal) liftDef(tree1) else tree1
case DefDef(_, _, _, _, _, _) =>
+ if (sym.hasAnnotation(definitions.BridgeClass))
+ sym.setFlag(BRIDGE)
val tree1 = addFreeParams(tree, sym)
if (sym.isLocal) liftDef(tree1) else tree1
case ValDef(mods, name, tpt, rhs) =>
diff --git a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
index 280d1b6019..7bdca6dbab 100644
--- a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
@@ -186,11 +186,6 @@ abstract class SuperAccessors extends transform.Transform with transform.TypingT
accDefs = accDefs.tail;
treeCopy.Template(tree, parents, self, ownAccDefs.toList ::: body1)
- case DefDef(_, _, _, _, _, _) if sym.hasAnnotation(definitions.BridgeClass) =>
- sym.setFlag(BRIDGE)
- sym.removeAnnotation(definitions.BridgeClass)
- super.transform(tree)
-
case TypeApply(sel @ Select(This(_), name), args) =>
mayNeedProtectedAccessor(sel, args, false)