-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Labels
Milestone
Description
import language.experimental.macros
import reflect.macros.Context
object WeirdMacro {
def show_structure(something: Any): String = macro show_structure_impl
def show_structure_impl(c: Context)(something: c.Expr[Any]): c.Expr[String] = {
import c.universe._
c.Expr[String](Literal(Constant(something.tree.toString)))
}
}import language.experimental.macros
import reflect.macros.Context
import WeirdMacro._
object WeirdMacroTest extends App {
show_structure {
def show_structure(something: Any): String = macro show_structure_impl
def show_structure_impl(c: Context)(something: c.Expr[Any]): c.Expr[String] = {
import c.universe._
c.Expr[String](Literal(Constant(something.tree.toString)))
}
}
}Information:Compilation completed with 82 errors and 0 warnings in 3 sec
Information:82 errors
Information:0 warnings
Error:
Error:while compiling: /Users/aztek/scala-macros/src/test/scala/WeirdMacroTest.scala
Error:during phase: typer
Error:library version: version 2.10.0-RC5
Error:compiler version: version 2.10.0-RC5
Error:reconstructed args: -verbose -classpath /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/deploy.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/dt.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/javaws.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/jce.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/jconsole.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/management-agent.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/plugin.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/sa-jdi.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/alt-rt.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/alt-string.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/apple_provider.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/dnsns.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/localedata.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/sunjce_provider.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/sunpkcs11.jar:/Users/aztek/scala-macros/target/test-classes:/Users/aztek/scala-macros/target/classes:/Users/aztek/.m2/repository/org/scala-lang/scala-library/2.10.0-RC5/scala-library-2.10.0-RC5.jar:/Users/aztek/.m2/repository/org/scala-lang/scala-reflect/2.10.0-RC5/scala-reflect-2.10.0-RC5.jar -d /Users/aztek/scala-macros/target/test-classes
Error:last tree to typer: Ident(Any)
Error:symbol: <none> (flags: )
Error:symbol definition: <none>
Error:symbol owners:
Error:context owners: method show_structure_impl -> value <local WeirdMacroTest> -> object WeirdMacroTest -> package <empty>
Error:== Enclosing template or block ==
Error:DefDef( // def show_structure_impl(c: scala.reflect.macros.Context)(something: c.Expr[Any]): c.Expr[String]
Error:<method> <triedcooking>
Error:"show_structure_impl"
Error: java.lang.NullPointerException
Error:at scala.tools.nsc.typechecker.Macros$MacroTyper.<init>(Macros.scala:423)
Error:at scala.tools.nsc.typechecker.Macros$class.typedMacroBody(Macros.scala:367)
Error:at scala.tools.nsc.Global$$anon$1.typedMacroBody(Global.scala:490)
Error:at scala.tools.nsc.typechecker.Typers$Typer.computeMacroDefType(Typers.scala:5641)
Error:at scala.tools.nsc.typechecker.Namers$Namer.methodSig(Namers.scala:1040)
Error:at scala.tools.nsc.typechecker.Namers$Namer.getSig$1(Namers.scala:1305)
Error:at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1347)
Error:at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply$mcV$sp(Namers.scala:709)
Error:at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply(Namers.scala:708)
Error:at scala.tools.nsc.typechecker.Namers$Namer.scala$tools$nsc$typechecker$Namers$Namer$$logAndValidate(Namers.scala:1385)
Error:at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1.apply(Namers.scala:708)
Error:at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1.apply(Namers.scala:707)
Error:at scala.tools.nsc.typechecker.Namers$$anon$1.completeImpl(Namers.scala:1496)
Error:at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter$class.complete(Namers.scala:1504)
Error:at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1494)
Error:at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1217)
Error:at scala.reflect.internal.Symbols$Symbol.initialize(Symbols.scala:1352)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5119)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5458)
Error:at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedStat$1(Typers.scala:2770)
Error:at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$55.apply(Typers.scala:2870)
Error:at scala.collection.immutable.List.loop$1(List.scala:164)
Error:at scala.collection.immutable.List.mapConserve(List.scala:180)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2870)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:2340)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5387)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:2880)
Error:at scala.tools.nsc.typechecker.Typers$Typer.loop$1(Typers.scala:2907)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedArgs(Typers.scala:2913)
Error:at scala.tools.nsc.typechecker.Typers$Typer.handleMonomorphicCall$1(Typers.scala:3172)
Error:at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3216)
Error:at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$86.apply(Typers.scala:4423)
Error:at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:721)
Error:at scala.tools.nsc.typechecker.Typers$Typer.tryTypedApply$1(Typers.scala:4423)
Error:at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4476)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4509)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5381)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1862)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1769)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5401)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5127)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5404)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5509)
Error:at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:98)
Error:at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:461)
Error:at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:90)
Error:at scala.collection.Iterator$class.foreach(Iterator.scala:727)
Error:at scala.collection.AbstractIterator.foreach(Iterator.scala:1156)
Error:at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:90)
Error:at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1574)
Error:at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1548)
Error:at scala.tools.nsc.Global$Run.compileSources(Global.scala:1544)
Error:at scala.tools.nsc.Global$Run.compile(Global.scala:1654)
Error:at scala.tools.nsc.Driver.doCompile(Driver.scala:33)
Error:at scala.tools.nsc.Main$.doCompile(Main.scala:79)
Error:at scala.tools.nsc.Driver.process(Driver.scala:54)
Error:at scala.tools.nsc.Driver.main(Driver.scala:67)
Error:at scala.tools.nsc.Main.main(Main.scala)
Error:at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Error:at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
Error:at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Error:at java.lang.reflect.Method.invoke(Method.java:597)
Error:at org.jetbrains.plugins.scala.compiler.rt.ClassRunner.main(ClassRunner.java:46)
Error:Exception in thread "main" java.lang.reflect.InvocationTargetException
Error:Caused by: java.lang.NullPointerException
Error:... 5 moreReactions are currently unavailable