summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/scala-compiler-src.jar.desired.sha12
-rw-r--r--lib/scala-compiler.jar.desired.sha12
-rw-r--r--lib/scala-library-src.jar.desired.sha12
-rw-r--r--lib/scala-library.jar.desired.sha12
-rw-r--r--lib/scala-reflect-src.jar.desired.sha12
-rw-r--r--lib/scala-reflect.jar.desired.sha12
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/MemberHandlers.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Namers.scala5
8 files changed, 13 insertions, 7 deletions
diff --git a/lib/scala-compiler-src.jar.desired.sha1 b/lib/scala-compiler-src.jar.desired.sha1
index 6840b60528..91e1cab75e 100644
--- a/lib/scala-compiler-src.jar.desired.sha1
+++ b/lib/scala-compiler-src.jar.desired.sha1
@@ -1 +1 @@
-6a03de33fb670e1b1a9930234adb6d1d6435323d ?scala-compiler-src.jar
+86ef964dd57de5e52783afd5a2f44df36eab5bf7 ?scala-compiler-src.jar
diff --git a/lib/scala-compiler.jar.desired.sha1 b/lib/scala-compiler.jar.desired.sha1
index 393820f481..99ef1d01f4 100644
--- a/lib/scala-compiler.jar.desired.sha1
+++ b/lib/scala-compiler.jar.desired.sha1
@@ -1 +1 @@
-cf6aab754bcf77ab433e2b05d1f452e13f24cedc ?scala-compiler.jar
+517e3b70161190ba079e172d6d0dd388eb3d04e8 ?scala-compiler.jar
diff --git a/lib/scala-library-src.jar.desired.sha1 b/lib/scala-library-src.jar.desired.sha1
index cefff7eec9..32639184cb 100644
--- a/lib/scala-library-src.jar.desired.sha1
+++ b/lib/scala-library-src.jar.desired.sha1
@@ -1 +1 @@
-02dcd8656f99eabbad8d9dce06a33d4f6f8d7c38 ?scala-library-src.jar
+d131ccb45a18edbec545c37cccd22872d02d1133 ?scala-library-src.jar
diff --git a/lib/scala-library.jar.desired.sha1 b/lib/scala-library.jar.desired.sha1
index f7f2321177..293ce830e7 100644
--- a/lib/scala-library.jar.desired.sha1
+++ b/lib/scala-library.jar.desired.sha1
@@ -1 +1 @@
-6a035e798a94c6ca051e6a7663293cfee3d7136f ?scala-library.jar
+9e7f92776e0f7a89aef3613da79c6ee6bf544b60 ?scala-library.jar
diff --git a/lib/scala-reflect-src.jar.desired.sha1 b/lib/scala-reflect-src.jar.desired.sha1
index fb09e9d585..47285a18ff 100644
--- a/lib/scala-reflect-src.jar.desired.sha1
+++ b/lib/scala-reflect-src.jar.desired.sha1
@@ -1 +1 @@
-ecb9dd737935812a6399a3426e9126908ef870b2 ?scala-reflect-src.jar
+cf388008bc4a3e387cbe193019f6d780d71746d1 ?scala-reflect-src.jar
diff --git a/lib/scala-reflect.jar.desired.sha1 b/lib/scala-reflect.jar.desired.sha1
index dc5b7abd0e..efa6bd01e6 100644
--- a/lib/scala-reflect.jar.desired.sha1
+++ b/lib/scala-reflect.jar.desired.sha1
@@ -1 +1 @@
-344f3feafa4bd155b13ba7a6ab3efd605f8f8388 ?scala-reflect.jar
+2fa8739de9cbc52198d88164d85185f4ae9d153c ?scala-reflect.jar
diff --git a/src/compiler/scala/tools/nsc/interpreter/MemberHandlers.scala b/src/compiler/scala/tools/nsc/interpreter/MemberHandlers.scala
index b0c20f3d0c..5cea86d57d 100644
--- a/src/compiler/scala/tools/nsc/interpreter/MemberHandlers.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/MemberHandlers.scala
@@ -9,6 +9,7 @@ package interpreter
import scala.collection.{ mutable, immutable }
import scala.PartialFunction.cond
import scala.reflect.internal.Chars
+import scala.reflect.internal.Flags._
import language.implicitConversions
trait MemberHandlers {
@@ -126,7 +127,7 @@ trait MemberHandlers {
class DefHandler(member: DefDef) extends MemberDefHandler(member) {
private def vparamss = member.vparamss
- private def isMacro = member.mods.hasFlag(scala.reflect.internal.Flags.MACRO)
+ private def isMacro = member.symbol hasFlag MACRO
// true if not a macro and 0-arity
override def definesValue = !isMacro && flattensToEmpty(vparamss)
override def resultExtractionCode(req: Request) =
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
index dc9f07cad9..50d470ccf5 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
@@ -983,6 +983,11 @@ trait Namers extends MethodSynthesis {
}
addDefaultGetters(meth, vparamss, tparams, overriddenSymbol)
+ // fast track macros, i.e. macros defined inside the compiler, are hardcoded
+ // hence we make use of that and let them have whatever right-hand side they need
+ // (either "macro ???" as they used to or just "???" to maximally simplify their compilation)
+ if (fastTrack contains ddef.symbol) ddef.symbol setFlag MACRO
+
// macro defs need to be typechecked in advance
// because @macroImpl annotation only gets assigned during typechecking
// otherwise we might find ourselves in the situation when we specified -Xmacro-fallback-classpath