diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-11-20 12:53:58 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-11-20 12:55:56 +0100 |
commit | 9dc9895dd1ebef82db83d0ac2723eb710eed73de (patch) | |
tree | 3e027db2234463a0de0aabbdb792845ebed04aea /src/main | |
parent | c79ecacc9efc2799553ffc5bd53c8a0fc46662be (diff) | |
download | scala-async-9dc9895dd1ebef82db83d0ac2723eb710eed73de.tar.gz scala-async-9dc9895dd1ebef82db83d0ac2723eb710eed73de.tar.bz2 scala-async-9dc9895dd1ebef82db83d0ac2723eb710eed73de.zip |
Fix a NPE in the presentation compiler
We were using a TypingTransformer and we called
`atOwner` before we had called `transform`. This
meant that `currTree` was null, which was observed
when that was passed to `Context#make`.
IDE ticket:
https://scala-ide-portfolio.assembla.com/spaces/scala-ide/tickets/1001971#/activity/ticket:
Stack trace:
exception during macro expansion: java.lang.NullPointerException
at scala.tools.nsc.interactive.ContextTrees$class.addContext(ContextTrees.scala:78)
at scala.tools.nsc.interactive.Global.addContext(Global.scala:28)
at scala.tools.nsc.interactive.Global.registerContext(Global.scala:268)
at scala.tools.nsc.typechecker.Contexts$Context.make(Contexts.scala:295)
at scala.tools.nsc.typechecker.Contexts$Context.make0(Contexts.scala:320)
at scala.tools.nsc.typechecker.Contexts$Context.make(Contexts.scala:327)
at scala.tools.nsc.typechecker.Typers$Typer.atOwner(Typers.scala:5662)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:33)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:28)
at scala.async.internal.AsyncTransform$class.fixup$1(AsyncTransform.scala:191)
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/scala/scala/async/internal/TransformUtils.scala | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/main/scala/scala/async/internal/TransformUtils.scala b/src/main/scala/scala/async/internal/TransformUtils.scala index 92c9a4f..71fddaa 100644 --- a/src/main/scala/scala/async/internal/TransformUtils.scala +++ b/src/main/scala/scala/async/internal/TransformUtils.scala @@ -203,6 +203,7 @@ private[async] trait TransformUtils { abstract class MacroTypingTransformer extends TypingTransformer(callSiteTyper.context.unit) { currentOwner = callSiteTyper.context.owner + curTree = EmptyTree def currOwner: Symbol = currentOwner |