diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2014-01-12 12:04:23 +0100 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2014-01-12 18:03:52 +0100 |
commit | b2f67b5730adccc4cbb24e5b542dc66452869489 (patch) | |
tree | 616d599021caacaa2436da15164183d2e3fd3158 | |
parent | e36888c3d953048483ccea9a95d5984b54ad6ebc (diff) | |
download | scala-b2f67b5730adccc4cbb24e5b542dc66452869489.tar.gz scala-b2f67b5730adccc4cbb24e5b542dc66452869489.tar.bz2 scala-b2f67b5730adccc4cbb24e5b542dc66452869489.zip |
removes Scala reflection-based macro runtime
This code is currently unused, so I’m removing it in order to avoid bitrot.
Once we’re sure that we can trust Scala reflection with our macros, the
removed file can be easily reinstated.
-rw-r--r-- | src/compiler/scala/reflect/macros/runtime/MacroRuntimes.scala | 6 | ||||
-rw-r--r-- | src/compiler/scala/reflect/macros/runtime/ScalaReflectionRuntimes.scala | 31 |
2 files changed, 2 insertions, 35 deletions
diff --git a/src/compiler/scala/reflect/macros/runtime/MacroRuntimes.scala b/src/compiler/scala/reflect/macros/runtime/MacroRuntimes.scala index 14b0c6baba..5fd9c0db34 100644 --- a/src/compiler/scala/reflect/macros/runtime/MacroRuntimes.scala +++ b/src/compiler/scala/reflect/macros/runtime/MacroRuntimes.scala @@ -4,7 +4,7 @@ package runtime import scala.reflect.internal.Flags._ import scala.reflect.runtime.ReflectionUtils -trait MacroRuntimes extends JavaReflectionRuntimes with ScalaReflectionRuntimes { +trait MacroRuntimes extends JavaReflectionRuntimes { self: scala.tools.nsc.typechecker.Analyzer => import global._ @@ -49,8 +49,7 @@ trait MacroRuntimes extends JavaReflectionRuntimes with ScalaReflectionRuntimes /** Abstracts away resolution of macro runtimes. */ type MacroRuntime = MacroArgs => Any - class MacroRuntimeResolver(val macroDef: Symbol) extends JavaReflectionResolvers - with ScalaReflectionResolvers { + class MacroRuntimeResolver(val macroDef: Symbol) extends JavaReflectionResolvers { val binding = loadMacroImplBinding(macroDef).get val isBundle = binding.isBundle val className = binding.className @@ -63,7 +62,6 @@ trait MacroRuntimes extends JavaReflectionRuntimes with ScalaReflectionRuntimes try { macroLogVerbose(s"resolving macro implementation as $className.$methName (isBundle = $isBundle)") macroLogVerbose(s"classloader is: ${ReflectionUtils.show(defaultMacroClassloader)}") - // resolveScalaReflectionRuntime(defaultMacroClassloader) resolveJavaReflectionRuntime(defaultMacroClassloader) } catch { case ex: Exception => diff --git a/src/compiler/scala/reflect/macros/runtime/ScalaReflectionRuntimes.scala b/src/compiler/scala/reflect/macros/runtime/ScalaReflectionRuntimes.scala deleted file mode 100644 index 50f64310f8..0000000000 --- a/src/compiler/scala/reflect/macros/runtime/ScalaReflectionRuntimes.scala +++ /dev/null @@ -1,31 +0,0 @@ -package scala.reflect.macros -package runtime - -import scala.reflect.runtime.{universe => ru} - -trait ScalaReflectionRuntimes { - self: scala.tools.nsc.typechecker.Analyzer => - - trait ScalaReflectionResolvers { - self: MacroRuntimeResolver => - - def resolveScalaReflectionRuntime(classLoader: ClassLoader): MacroRuntime = { - val macroMirror: ru.JavaMirror = ru.runtimeMirror(classLoader) - val implContainerSym = macroMirror.classSymbol(Class.forName(className, true, classLoader)) - val implMethSym = implContainerSym.typeSignature.member(ru.TermName(methName)).asMethod - macroLogVerbose(s"successfully loaded macro impl as ($implContainerSym, $implMethSym)") - args => { - val implContainer = - if (isBundle) { - val implCtorSym = implContainerSym.typeSignature.member(ru.nme.CONSTRUCTOR).asMethod - macroMirror.reflectClass(implContainerSym).reflectConstructor(implCtorSym)(args.c) - } else { - macroMirror.reflectModule(implContainerSym.module.asModule).instance - } - val implMeth = macroMirror.reflect(implContainer).reflectMethod(implMethSym) - val implArgs = if (isBundle) args.others else args.c +: args.others - implMeth(implArgs: _*) - } - } - } -} |