harrah/xsbt — Issue #240: scalac NullPointerException compiling build definition with local import
Author: retronym
Created: 2011-10-22 06:55:49+00:00
State: open

Moving `import Compiler._` to the top level resolves this. I'll see if I can reproduce against scalac directly, but I'll just note the problem here to start with.

```

import sbt._
import Keys._

object build extends Build {
lazy val compileQuick = InputKey[Unit]("compile-quick", "compiles the given file with a custom set of scalac options")

lazy val root = Project("scratch", file("."),
settings = Defaults.defaultSettings ++ Seq[Project.Setting[_]](
scalacOptions in compileQuick <<= scalacOptions,
compileQuick <<= inputTask { (argTask: TaskKey[Seq[String]]) =>
import Compiler._

(argTask, scalacOptions in compileQuick, Keys.compilers,
dependencyClasspath in Compile, classDirectory, streams) map {
(args: Seq[String], options: Seq[String], c: Compilers, cp, output, s) =>
val sources = args.map(file)
c.scalac.apply(sources, cp.map(_.data), output, options, noopCallback, 1000, s.log)
}
}
))
}

object noopCallback extends xsbti.AnalysisCallback {
def beginSource(source: File) {}

def generatedClass(source: File, module: File, name: String) {}

def api(sourceFile: File, source: SourceAPI) {}

def sourceDependency(dependsOn: File, source: File) {}

def binaryDependency(binary: File, name: String, source: File) {}

def endSource(sourcePath: File) {}
}
```

```

[info] Loading global plugins from /Users/jason/.sbt/plugins
[debug]
[debug] Initial source changes:
[debug]	removed:Set()
[debug]	added: Set()
[debug]	modified: Set()
[debug] Removed products: Set()
[debug] Modified external sources: Set()
[debug] Modified binary dependencies: Set()
[debug] Initial directly invalidated sources: Set()
[debug]
[debug] Sources indirectly invalidated by:
[debug]	product: Set()
[debug]	binary dep: Set()
[debug]	external source: Set()
[debug] Initially invalidated: Set()
[debug] Copy resource mappings:
[debug]
[debug] Other repositories:
[debug] Default repositories:
[debug]	URLRepository(typesafe-ivy-releases,sbt.Patterns@32486cdd)
[debug]	Raw(ProjectResolver(inter-project, mapped: ))
[debug]	FileRepository(local,FileConfiguration(true,None),sbt.Patterns@58e607c7)
[debug]	sbt-idea-repo: http://mpeltonen.github.com/maven/
[debug]	public: http://repo1.maven.org/maven2/
[debug]	Scala-Tools Maven2 Repository: http://scala-tools.org/repo-releases
[debug] Using inline dependencies specified in Scala.
[debug] post 1.3 ivy file: using exact as default matcher
[info] Loading project definition from /Users/jason/code/scratch/20111022/project
[debug]
[debug] Initial source changes:
[debug]	removed:Set()
[debug]	added: Set(/Users/jason/code/scratch/20111022/project/build.scala)
[debug]	modified: Set()
[debug] Removed products: Set()
[debug] Modified external sources: Set()
[debug] Modified binary dependencies: Set()
[debug] Initial directly invalidated sources: Set(/Users/jason/code/scratch/20111022/project/build.scala)
[debug]
[debug] Sources indirectly invalidated by:
[debug]	product: Set()
[debug]	binary dep: Set()
[debug]	external source: Set()
[debug] Initially invalidated: Set(/Users/jason/code/scratch/20111022/project/build.scala)
[info] Compiling 1 Scala source to /Users/jason/code/scratch/20111022/project/target/scala-2.9.1/sbt-0.11.0/classes...
[debug] Getting compiler-interface from component compiler for Scala 2.9.1
[debug] Interfacing (CompilerInterface) with Scala compiler version 2.9.1.final
[debug] Calling Scala compiler with arguments (CompilerInterface):
[debug]	-d
[debug]	/Users/jason/code/scratch/20111022/project/target/scala-2.9.1/sbt-0.11.0/classes
[debug]	-bootclasspath
[debug]	/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsfd.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Resources/Java/JavaRuntimeSupport.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/laf.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/sunrsasign.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jce.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar:/Users/jason/.sbt/boot/scala-2.9.1/lib/scala-library.jar
[debug]	-cp
[debug]	/Users/jason/code/scratch/20111022/project/target/scala-2.9.1/sbt-0.11.0/classes:/Users/jason/.ivy2/cache/scala_2.9.1/sbt_0.11.0/com.github.mpeltonen/sbt-idea/jars/sbt-idea-0.11.0.jar:/Users/jason/.ivy2/cache/commons-io/commons-io/jars/commons-io-2.0.1.jar:/Users/jason/.ivy2/cache/scala_2.9.1/sbt_0.11.0/net.databinder/posterous-sbt/jars/posterous-sbt-0.3.2.jar:/Users/jason/.ivy2/cache/net.databinder/dispatch-http_2.9.1/jars/dispatch-http_2.9.1-0.8.5.jar:/Users/jason/.ivy2/cache/net.databinder/dispatch-core_2.9.1/jars/dispatch-core_2.9.1-0.8.5.jar:/Users/jason/.ivy2/cache/org.apache.httpcomponents/httpclient/jars/httpclient-4.1.jar:/Users/jason/.ivy2/cache/org.apache.httpcomponents/httpcore/jars/httpcore-4.1.jar:/Users/jason/.ivy2/cache/commons-logging/commons-logging/jars/commons-logging-1.1.1.jar:/Users/jason/.ivy2/cache/commons-codec/commons-codec/jars/commons-codec-1.4.jar:/Users/jason/.ivy2/cache/net.databinder/dispatch-futures_2.9.1/jars/dispatch-futures_2.9.1-0.8.5.jar:/Users/jason/.ivy2/cache/com.tristanhunt/knockoff_2.9.1/jars/knockoff_2.9.1-0.8.0-16.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/sbt_2.9.1/jars/sbt_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/main_2.9.1/jars/main_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/actions_2.9.1/jars/actions_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/classfile_2.9.1/jars/classfile_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/io_2.9.1/jars/io_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/control_2.9.1/jars/control_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/interface/jars/interface-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/logging_2.9.1/jars/logging_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/process_2.9.1/jars/process_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/classpath_2.9.1/jars/classpath_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/launcher-interface_2.9.1/jars/launcher-interface_2.9.1-0.11.0.jar:/Users/jason/.sbt/boot/scala-2.9.1/lib/scala-compiler.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/incremental-compiler_2.9.1/jars/incremental-compiler_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/collections_2.9.1/jars/collections_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/api_2.9.1/jars/api_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/persist_2.9.1/jars/persist_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbinary/sbinary_2.9.0/jars/sbinary_2.9.0-0.4.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/compile_2.9.1/jars/compile_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/ivy_2.9.1/jars/ivy_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.apache.ivy/ivy/jars/ivy-2.2.0.jar:/Users/jason/.ivy2/cache/com.jcraft/jsch/jars/jsch-0.1.31.jar:/Users/jason/.ivy2/cache/commons-httpclient/commons-httpclient/jars/commons-httpclient-3.1.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/completion_2.9.1/jars/completion_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/jline/jline/jars/jline-0.9.94.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/discovery_2.9.1/jars/discovery_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/run_2.9.1/jars/run_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/task-system_2.9.1/jars/task-system_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/tasks_2.9.1/jars/tasks_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/tracking_2.9.1/jars/tracking_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/cache_2.9.1/jars/cache_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/testing_2.9.1/jars/testing_2.9.1-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.testing/test-interface/jars/test-interface-0.5.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/compiler-interface/jars/compiler-interface-src-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/compiler-interface/jars/compiler-interface-bin-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/precompiled-2_8_1/jars/compiler-interface-bin-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/precompiled-2_8_0/jars/compiler-interface-bin-0.11.0.jar:/Users/jason/.ivy2/cache/org.scala-tools.sbt/precompiled-2_9_0/jars/compiler-interface-bin-0.11.0.jar
[debug]	/Users/jason/code/scratch/20111022/project/build.scala
java.lang.NullPointerException
at scala.tools.nsc.typechecker.Contexts$ImportInfo.importedSymbol(Contexts.scala:636)
at scala.tools.nsc.typechecker.Typers$Typer.typedIdent$1(Typers.scala:3737)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4176)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:2191)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2204)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2203)
at scala.Tuple3$Zipped$$anonfun$map$1.apply(Tuple3.scala:66)
at scala.Tuple3$Zipped$$anonfun$map$1.apply(Tuple3.scala:64)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.Tuple3$Zipped.map(Tuple3.scala:64)
at scala.tools.nsc.typechecker.Typers$Typer.typedArgs(Typers.scala:2203)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2421)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3371)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4104)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:2191)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2204)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2203)
at scala.Tuple3$Zipped$$anonfun$map$1.apply(Tuple3.scala:66)
at scala.Tuple3$Zipped$$anonfun$map$1.apply(Tuple3.scala:64)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.Tuple3$Zipped.map(Tuple3.scala:64)
at scala.tools.nsc.typechecker.Typers$Typer.typedArgs(Typers.scala:2203)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2421)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3371)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4104)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:4350)
at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:4356)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4144)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4074)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply$1$1.apply(Typers.scala:3353)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply$1$1.apply(Typers.scala:3353)
at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:624)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3353)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4104)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:1920)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3951)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4344)
at scala.tools.nsc.typechecker.Typers$Typer.typedFunction(Typers.scala:2042)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3978)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:2191)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2204)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2203)
at scala.Tuple3$Zipped$$anonfun$map$1.apply(Tuple3.scala:66)
at scala.Tuple3$Zipped$$anonfun$map$1.apply(Tuple3.scala:64)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.Tuple3$Zipped.map(Tuple3.scala:64)
at scala.tools.nsc.typechecker.Typers$Typer.typedArgs(Typers.scala:2203)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2421)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3371)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4104)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:2191)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2204)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2203)
at scala.Tuple3$Zipped$$anonfun$map$1.apply(Tuple3.scala:66)
at scala.Tuple3$Zipped$$anonfun$map$1.apply(Tuple3.scala:64)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.Tuple3$Zipped.map(Tuple3.scala:64)
at scala.tools.nsc.typechecker.Typers$Typer.typedArgs(Typers.scala:2203)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2421)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$tryTypedApply$1$1.apply(Typers.scala:3295)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$tryTypedApply$1$1.apply(Typers.scala:3295)
at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:630)
at scala.tools.nsc.typechecker.Typers$Typer.tryTypedApply$1(Typers.scala:3295)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3369)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4104)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:2191)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2204)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2203)
at scala.Tuple3$Zipped$$anonfun$map$1.apply(Tuple3.scala:66)
at scala.Tuple3$Zipped$$anonfun$map$1.apply(Tuple3.scala:64)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.Tuple3$Zipped.map(Tuple3.scala:64)
at scala.tools.nsc.typechecker.Typers$Typer.typedArgs(Typers.scala:2203)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2421)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3371)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4104)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:2191)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2204)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2203)
at scala.Tuple3$Zipped$$anonfun$map$1.apply(Tuple3.scala:66)
at scala.Tuple3$Zipped$$anonfun$map$1.apply(Tuple3.scala:64)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.Tuple3$Zipped.map(Tuple3.scala:64)
at scala.tools.nsc.typechecker.Typers$Typer.typedArgs(Typers.scala:2203)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2421)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3371)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4104)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply$1$1.apply(Typers.scala:3353)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply$1$1.apply(Typers.scala:3353)
at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:624)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3353)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4104)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4344)
at scala.tools.nsc.typechecker.Typers$Typer.typedFunction(Typers.scala:2042)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3978)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4331)
at scala.tools.nsc.typechecker.NamesDefaults$$anonfun$argValDefs$1$1.apply(NamesDefaults.scala:276)
at scala.tools.nsc.typechecker.NamesDefaults$$anonfun$argValDefs$1$1.apply(NamesDefaults.scala:272)
at scala.Tuple2$Zipped$$anonfun$map$1.apply(Tuple2.scala:65)
at scala.Tuple2$Zipped$$anonfun$map$1.apply(Tuple2.scala:63)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.Tuple2$Zipped.map(Tuple2.scala:63)
at scala.tools.nsc.typechecker.NamesDefaults$class.argValDefs$1(NamesDefaults.scala:272)
at scala.tools.nsc.typechecker.NamesDefaults$class.transformNamedApplication(NamesDefaults.scala:313)
at scala.tools.nsc.Global$analyzer$.transformNamedApplication(Global.scala:351)
at scala.tools.nsc.typechecker.Typers$Typer.tryNamesDefaults$1(Typers.scala:2366)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2411)
at scala.tools.nsc.typechecker.Typers$Typer.tryNamesDefaults$1(Typers.scala:2399)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2411)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$tryTypedApply$1$1.apply(Typers.scala:3295)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$tryTypedApply$1$1.apply(Typers.scala:3295)
at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:624)
at scala.tools.nsc.typechecker.Typers$Typer.tryTypedApply$1(Typers.scala:3295)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3369)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4104)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4344)
at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:4421)
at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1207)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:551)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:549)
at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1385)
at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1381)
at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:727)
at scala.tools.nsc.symtab.Symbols$Symbol.initialize(Symbols.scala:839)
at scala.tools.nsc.symtab.Symbols$Symbol.annotations(Symbols.scala:73)
at scala.tools.nsc.typechecker.Typers$Typer.addGetterSetter(Typers.scala:1342)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$13.apply(Typers.scala:1510)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$13.apply(Typers.scala:1510)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:200)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:200)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:200)
at scala.collection.immutable.List.flatMap(List.scala:45)
at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1510)
at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1320)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3913)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2100)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2184)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2184)
at scala.collection.immutable.List.loop$1(List.scala:117)
at scala.collection.immutable.List.mapConserve(List.scala:133)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2184)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3906)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4331)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:94)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:329)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:86)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:86)
at scala.collection.Iterator$class.foreach(Iterator.scala:660)
at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:316)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:86)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:953)
at scala.tools.nsc.Global$Run.compile(Global.scala:1038)
at xsbt.CompilerInterface.run(CompilerInterface.scala:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:57)
at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:29)
at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:25)
at sbt.AggressiveCompile$$anonfun$5.compileScala$1(AggressiveCompile.scala:67)
at sbt.AggressiveCompile$$anonfun$5.apply(AggressiveCompile.scala:79)
at sbt.AggressiveCompile$$anonfun$5.apply(AggressiveCompile.scala:57)
at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:21)
at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:19)
at sbt.inc.Incremental$.cycle(Incremental.scala:33)
at sbt.inc.Incremental$.compile(Incremental.scala:20)
at sbt.inc.IncrementalCompile$.apply(Compile.scala:17)
at sbt.AggressiveCompile.compile2(AggressiveCompile.scala:87)
at sbt.AggressiveCompile.compile1(AggressiveCompile.scala:41)
at sbt.AggressiveCompile.apply(AggressiveCompile.scala:28)
at sbt.Compiler$.apply(Compiler.scala:107)
at sbt.Defaults$$anonfun$compileTask$1.apply(Defaults.scala:464)
at sbt.Defaults$$anonfun$compileTask$1.apply(Defaults.scala:464)
at sbt.Scoped$$anonfun$hf2$1.apply(Structure.scala:459)
at sbt.Scoped$$anonfun$hf2$1.apply(Structure.scala:459)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:41)
at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$9.apply(Structure.scala:271)
at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$9.apply(Structure.scala:271)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
at sbt.std.Transform$$anon$5.work(System.scala:67)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:221)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:221)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:13)
at sbt.Execute.work(Execute.scala:227)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:221)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:221)
at sbt.CompletionService$$anon$1$$anon$2.call(CompletionService.scala:26)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
[error] {file:/Users/jason/code/scratch/20111022/project/}default-3669c5/compile:compile: java.lang.NullPointerException
```