summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2013-02-27 16:27:10 +0100
committerEugene Burmako <xeno.by@gmail.com>2013-02-27 16:27:10 +0100
commit1117be8418525ce20af847bdcfdbbe66b9cf3d4d (patch)
treea76003c58f8b89ce1b5d3d5b6d9ec39684b363d2 /src
parent3b85c3d22b9d62e9e07c53f235ae8e889581ddc8 (diff)
downloadscala-1117be8418525ce20af847bdcfdbbe66b9cf3d4d.tar.gz
scala-1117be8418525ce20af847bdcfdbbe66b9cf3d4d.tar.bz2
scala-1117be8418525ce20af847bdcfdbbe66b9cf3d4d.zip
SI-7190 macros no longer give rise to bridges
Amazingly enough, this got through all the testing we performed. But now erasure knows that it shouldn't generate bridges for macro methods.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/transform/Erasure.scala1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/Erasure.scala b/src/compiler/scala/tools/nsc/transform/Erasure.scala
index 889d309ba9..cb5268c422 100644
--- a/src/compiler/scala/tools/nsc/transform/Erasure.scala
+++ b/src/compiler/scala/tools/nsc/transform/Erasure.scala
@@ -477,6 +477,7 @@ abstract class Erasure extends AddInterfaces
def checkPair(member: Symbol, other: Symbol) {
val otpe = specialErasure(root)(other.tpe)
val bridgeNeeded = afterErasure (
+ !member.isMacro &&
!(other.tpe =:= member.tpe) &&
!(deconstMap(other.tpe) =:= deconstMap(member.tpe)) &&
{ var e = bridgesScope.lookupEntry(member.name)