summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/CompilationUnits.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2013-08-10 15:16:09 +0200
committerEugene Burmako <xeno.by@gmail.com>2013-08-16 19:20:18 +0200
commit4a273659e0e25ccfe7ea9d4eafa4a9c87ee2fc82 (patch)
treeec6fbd3100fb8adb1d98dd31d6fe6872d114775b /src/compiler/scala/tools/nsc/CompilationUnits.scala
parent83e95c0fa5168e64299d85b081b21c577ce4e8ef (diff)
downloadscala-4a273659e0e25ccfe7ea9d4eafa4a9c87ee2fc82.tar.gz
scala-4a273659e0e25ccfe7ea9d4eafa4a9c87ee2fc82.tar.bz2
scala-4a273659e0e25ccfe7ea9d4eafa4a9c87ee2fc82.zip
kills introduceTopLevel
As we've figured out from the practice, introduceTopLevel is seductively useful but unfortunately not robust, potentially bringing compilation order problems. Therefore, as discussed, I'm removing it from the public macro API. Alternatives are either: 1) delving into internals, or 2) using macro paradise and experimenting with macro annotations: http://docs.scala-lang.org/overviews/macros/annotations.html.
Diffstat (limited to 'src/compiler/scala/tools/nsc/CompilationUnits.scala')
-rw-r--r--src/compiler/scala/tools/nsc/CompilationUnits.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/CompilationUnits.scala b/src/compiler/scala/tools/nsc/CompilationUnits.scala
index b52e6fdf57..efe436f004 100644
--- a/src/compiler/scala/tools/nsc/CompilationUnits.scala
+++ b/src/compiler/scala/tools/nsc/CompilationUnits.scala
@@ -57,8 +57,8 @@ trait CompilationUnits { self: Global =>
// SBT compatibility (SI-6875)
//
// imagine we have a file named A.scala, which defines a trait named Foo and a module named Main
- // Main contains a call to a macro, which calls c.introduceTopLevel to define a mock for Foo
- // c.introduceTopLevel creates a virtual file Virt35af32.scala, which contains a class named FooMock extending Foo,
+ // Main contains a call to a macro, which calls compileLate to define a mock for Foo
+ // compileLate creates a virtual file Virt35af32.scala, which contains a class named FooMock extending Foo,
// and macro expansion instantiates FooMock. the stage is now set. let's see what happens next.
//
// without this workaround in scalac or without being patched itself, sbt will think that