Aladdin - Scala Bugtracking
[#534] project: compiler priority: high category: bug
submitter assigned to status date submitted
Sean _ not repro 2006-02-22 17:42:12.0
subject crashes in compiler.
code
package scala.tools.nsc.doc;

import scala.tools.nsc._;
import java.io.File;
import scala.tools.nsc.models._;
import scala.collection.immutable._;
import scala.xml._;
  

  
abstract class DocGenerator extends Models {
  import global._;
  
  def dquote(str : String) = Text("\"" + str + "\"");
  
  val header = <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
               <meta name="generator" content="scaladoc (1.4.0.4)"/>
               <link rel="stylesheet" type="text/css" href="style.css"/>
               <script type="text/javascript" src="script.js"></script>;
  
  val emptyMap = ListMap.Empty[Kind,TreeSet[HasTree]];
  def process(units : Iterator[CompilationUnit], outdir : String) : Unit = {
    val outdir0 = new File(outdir);
    if (!outdir0.exists()) outdir0.mkdir();
    var members = emptyMap;
    var topLevel = ListMap.Empty[ModuleSymbol,ListMap[Kind,TreeSet[HasTree]]];
    for (val unit <- units) {
      val sourceMod = new SourceMod(unit);
      for (val mmbr <- sourceMod.members) mmbr.tree match {
      case cdef:  ImplDef => 
        assert(cdef.symbol.owner != NoSymbol);
        val sym = cdef.symbol.owner.asInstanceOf[ModuleSymbol];
        if (!topLevel.contains(sym)) topLevel = topLevel.update(sym, emptyMap);
        topLevel = topLevel.update(sym, organize0(mmbr, topLevel(sym))); 
      case _ => throw new Error("unknown: " + mmbr.tree + " " + mmbr.tree.getClass());
      }
    }
    var packages = new TreeMap[String,ModuleSymbol];
    for (val top <- topLevel.elements) 
      packages = packages.insert(nameFor(top._1), top._1);
    
    
    val packageFrame = <HTML>
      <HEAD><TITLE>List of modules</TITLE>
            {header}
      </HEAD>
      <body>
      <div class="doctitle-larger">
        Scala<br/>1.4.0.4
      </div>
      <a href="module-page.html" target="classesFrame">All objects and classes</a><p/>
      <b>Modules</b>
      <table class="list">
      <tr>
      <td style="white-space:nowrap;">
      { {
       for (val top <- packages.elements) {
         val sym = top._2;
       } 
      } }
      </td></tr></table></body></HTML>;
    
   
    
      
      // output HTML for each package. 
      for (val top <- topLevel.elements) {
        val sym = top._1;
        val members = top._2;
        val index = <HTML>{ {
          process(members, sym);
        } }</HTML>;
        
        
        System.out.println("SAVE-TO: " + sym);
        System.out.println(index);
        // save...
      }
      
  }
  
  def nameFor(sym : ModuleSymbol) : String = sym.fullNameString;
  
  def process(members : ListMap[Kind,TreeSet[HasTree]], sym : Symbol) : NodeSeq = {
    for (val kind <- KINDS; members.contains(kind)) yield process(kind, members(kind), sym);
  };

  def organize(c : Composite, map0 : ListMap[Kind,TreeSet[HasTree]]) = {
    var map = map0;
    for (val mmbr <- c.members.toList) map = organize0(mmbr, map);
    map;
  }
	def organize0(mmbr : HasTree, map0 : ListMap[Kind,TreeSet[HasTree]]) = {
    var map = map0;
    if (!map.contains(mmbr.kind))
      map = map.update(mmbr.kind, new TreeSet[HasTree]);
    map = map.update(mmbr.kind, map(mmbr.kind) + mmbr);
		map;    
  }
  
  
  def process(kind : Kind, set : TreeSet[HasTree], sym : Symbol) : Node = {
    val ret = 
    <table cellpadding="3" class="member">
    <tr>
      <td colspan="2" class="title">
      { { labelFor(kind) + " Summary"; } }
      </td>
    </tr>
    { { for (val mmbr <- set.toList) yield process(mmbr, sym); } }
    </table>;
    ret;
  }
  def stringsFor(mods : Modifiers) = {
    var modString : List[String] = Nil;
    if (mods . isPrivate  ) modString = "private"   :: modString;
    if (mods . isProtected) modString = "protected" :: modString;
    if (mods . isOverride ) modString = "override"  :: modString;
    if (mods . isAbstract ) modString = "abstract"  :: modString;
    if (mods . isCase     ) modString = "case"      :: modString;
    if (mods . isSealed   ) modString = "sealed"    :: modString;
    if (mods . isFinal    ) modString = "final"    :: modString;
    if (mods . isMixin    ) modString = "mixin"    :: modString;
    modString;
  }
  
  
  def targetFor(ht : HasTree) : String = {
    // compute a URL.
    "Foo";
  }
  def forSymbol(symbol : Symbol, tpe : Type) : NodeSeq =
    Text(symbol.nameString);
  
  
  def ifT (cond : Boolean, nodes : NodeSeq) = if (cond) nodes else NodeSeq.Empty;
  def ifT (tree : Tree, nodes : NodeSeq, before : Boolean) =
    if (tree != EmptyTree) {
      if (before) nodes.concat(forTree(tree));
      else forTree(tree).concat(nodes);
    } else NodeSeq.Empty;
  
  def forTree(tree : Tree) : NodeSeq = tree match {
    case vdef : ValDef => 
      Text(vdef.symbol.name.toString()).concat(Text(" : ")).concat(forTree(vdef.tpt));
    case id  : Ident  => forSymbol(id.symbol, id.tpe);
    case sel : Select => forTree(sel.qualifier).concat(forSymbol(sel.symbol, sel.tpe));
    case tree : AbsTypeDef => 
      ifT(tree.lo, Text(" <: "), true).
        concat(forSymbol(tree.symbol, tree.tpe)).concat(ifT(tree.hi, Text(" <: "), false));
    case EmptyTree => NodeSeq.Empty;    
    case _ => Text("XX=" + tree.toString());
  }
  def forTrees(trees : List[Tree]) : NodeSeq = {
    if (trees.isEmpty) NodeSeq.Empty;
    else {
      val head = forTree(trees.head);
      head.concat(if (trees.tail.isEmpty) NodeSeq.Empty else Text(", ")).concat(forTrees(trees.tail));
    }
  }
  
  def surround(open : String, close : String, node : NodeSeq) : NodeSeq = 
    Text(open).concat(node).concat(Text(close));
  
  def typesFor(ht : HasTree) : NodeSeq = {
    val tparams = ht.tree match {
      case cdef : ClassDef => cdef.tparams;
      case ddef : DefDef   => ddef.tparams;
      case adef : AliasTypeDef => adef.tparams;
      case _ => Nil;
    }
    if (tparams.isEmpty) Text("");
    else surround("[", "]", forTrees(tparams));
  }
  def  argsFor(ht : HasTree) : NodeSeq = ht.tree match {
    case ddef : DefDef =>
      val nodes = for (val vparams <- ddef.vparamss) 
        yield surround("(", ")", forTrees(vparams));
      nodes.flatMap(x => x.asList);
    case _ => NodeSeq.Empty;
  }
  def urlFor(ht : HasTree) : String =
    "\"unknown\"";
  
  def  nameFor(ht : HasTree) : NodeSeq =
    <A href={ urlFor(ht) } target="_self"> { forSymbol(ht.tree.symbol, null) } </A>;

  def resultFor(ht : HasTree) : NodeSeq = ht.tree match {
    case vdef : ValOrDefDef =>
      Text(" : ").concat(forTree(vdef.tpt));
    case cdef : ImplDef =>
      if (cdef.impl.parents.isEmpty) NodeSeq.Empty;
      else Text("extends ").concat(forTrees(cdef.impl.parents));
    case _ => NodeSeq.Empty;
  } 
  
  def comment(comment : String, isShort : Boolean) : NodeSeq = {
    var ret : List[Node] = Nil;
    if (comment != null) {
      // strip out any stars.
      var comment0 = comment.trim();
      assert(comment0.startsWith(JDOC_START));
      comment0 = comment0.substring(JDOC_START.length());
      assert(comment0.endsWith(JDOC_END));
      comment0 = comment0.substring(0, comment0.length() - JDOC_END.length());
      var idx = 0;
      while (idx != -1) {
        idx = comment0.indexOf('*', idx);
        if (idx != -1) 
          comment0 = comment0.substring(0, idx) +
            comment0.substring(idx + 1, comment0.length());
      }
      val tokenizer = new java.util.StringTokenizer(comment0, "@");
      val body = tokenizer.nextToken();

      var attributes : List[String] = Nil;
      if (!isShort) while (tokenizer.hasMoreElements()) 
        attributes = attributes ::: (tokenizer.nextToken() :: Nil);
      val node = <BR> { Text(comment) } </BR>;
      val nodes = { { for (val a <- attributes) yield <BR> { Text(a) } </BR>; } };
      val nodes0 : NodeSeq = node :: nodes;
      nodes0;
    } else NodeSeq.Empty;
  };
  
  
  def process(ht : HasTree, sym : Symbol) : scala.xml.Node = {
    val comment0 = if (comments.contains(ht.tree.symbol)) 
      comments(ht.tree.symbol) else null;

    
    val index =     
    <tr>
      <td valign="top" class="modifiers">
        &nbsp;
        <code>{ {
          (for (val mod <- stringsFor(ht.mods)) yield Text(mod + " "));
        } }</code>
      </td>
      <td class="signature">
        <code>
        { labelFor(ht.kind).toLowerCase() }
        { nameFor(ht) }
        { typesFor(ht) }
        {  argsFor(ht) }
        {resultFor(ht) }
        </code>
        { comment(comment0, true) }
      </td>
    </tr>;
  
    val body = <X></X>;
    
    
    
    
  
  
    index;
  }
  
  
/*
  val index0 = <HTML>
  <HEAD><TITLE>API Documentation</TITLE></HEAD>
  <FRAMESET cols="20%,80%" title="" onLoad="top.loadFrames()">
  <FRAMESET rows="30%,70%" title="" onLoad="top.loadFrames()">
  <FRAME src="overview-frame.html" name="packageListFrame" title="All Packages">
  <FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
  </FRAMESET>
  <FRAME src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
  </FRAMESET>
  </HTML>;
*/
 
  def index = { 
    val index0 = <HTML></HTML>;
  }

  private val JDOC_START = "/**";
  private val JDOC_END   = "*/";
}
what happened
build:
   [locker] Compiling source files: scala/tools/nsc/Global.scala, scala/tools/nsc/doc/DocGenerator.scala to /hom\
e/mcdirmid/runtime-workspace/scala/build/quick/compiler
   [locker] /home/mcdirmid/runtime-workspace/scala/src/compiler/scala/tools/nsc/Global.scala:395 error: not foun\
d: type CompilationUnit
   [locker]     def units: Iterator[CompilationUnit] = unitbuf.elements;
   [locker]                         ^
   [locker] /home/mcdirmid/runtime-workspace/scala/src/compiler/scala/tools/nsc/Global.scala:203 error: not foun\
d: type CompilationUnit
   [locker]     final def applyPhase(unit: CompilationUnit): unit = {
   [locker]                                ^
   [locker] /home/mcdirmid/runtime-workspace/scala/src/compiler/scala/tools/nsc/Global.scala:198 error: not foun\
d: type CompilationUnit
   [locker]     def apply(unit: CompilationUnit): unit;
   [locker]                     ^
   [locker] /home/mcdirmid/runtime-workspace/scala/src/compiler/scala/tools/nsc/Global.scala:330 error: not foun\
d: type CompilationUnit
   [locker]     var currentUnit : CompilationUnit = _;
   [locker]                       ^
   [locker] java.lang.RuntimeException: malformed Scala signature of Contexts at 670; reference type Compilation\
Unit of class CompilationUnits refers to nonexisting symbol.
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.errorBadSignature(UnPickler.scala:256)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc$symtab$classfile$UnPickle\
r$UnPickle$$readSymbol(UnPickler.scala:124)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun12.apply(UnPickler.scala:251)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun12.apply(UnPickler.scala:251)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc$symtab$classfile$UnPickle\
r$UnPickle$$at(UnPickler.scala:92)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc$symtab$classfile$UnPickle\
r$UnPickle$$readSymbolRef(UnPickler.scala:251)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc$symtab$classfile$UnPickle\
r$UnPickle$$readType(UnPickler.scala:201)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun13.apply(UnPickler.scala:252)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun13.apply(UnPickler.scala:252)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc$symtab$classfile$UnPickle\
r$UnPickle$$at(UnPickler.scala:92)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc$symtab$classfile$UnPickle\
r$UnPickle$$readTypeRef(UnPickler.scala:252)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun8.apply(UnPickler.scala:217)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun8.apply(UnPickler.scala:217)
   [locker]     at scala.tools.nsc.symtab.classfile.PickleBuffer.until(PickleBuffer.scala:106)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc$symtab$classfile$UnPickle\
r$UnPickle$$readType(UnPickler.scala:217)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$LazyTypeRef$$anonfun15.apply(UnPickler.sc\
ala:261)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$LazyTypeRef$$anonfun15.apply(UnPickler.sc\
ala:261)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc$symtab$classfile$UnPickle\
r$UnPickle$$at(UnPickler.scala:92)
   [locker]     at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$LazyTypeRef.complete(UnPickler.scala:261)\

   [locker]     at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:342)
   [locker]     at scala.tools.nsc.symtab.Symbols$Symbol.tpe(Symbols.scala:318)
   [locker]     at scala.tools.nsc.symtab.Types$Type.memberType(Types.scala:195)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun62.apply(Typers.scala:1352)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun62.apply(Typers.scala:1351)
   [locker]     at scala.List.filter(List.scala:716)
   [locker]     at scala.tools.nsc.symtab.Symbols$Symbol.filter(Symbols.scala:497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1351)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedArg0(Typers.scala:936)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun45.apply(Typers.scala:954)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun45.apply(Typers.scala:954)
   [locker]     at scala.List$.map2(List.scala:274)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedApply0(Typers.scala:954)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1357)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedSuperCall(Typers.scala:726)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:760)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1160)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:905)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:895)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:895)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:652)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:600)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1154)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:905)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:895)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:895)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:652)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:589)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1151)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:905)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:895)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:895)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1147)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:905)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:895)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:895)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1147)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:905)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:895)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:895)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1147)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon1.apply(Analyzer.scala:39)
   [locker]     at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:209)
   [locker]     at scala.tools.nsc.Global$GlobalPhase$$anonfun1.apply(Global.scala:198)
   [locker]     at scala.tools.nsc.Global$GlobalPhase$$anonfun1.apply(Global.scala:198)
   [locker]     at scala.Iterator$class.foreach(Iterator.scala:262)
   [locker]     at scala.collection.mutable.ListBuffer$$anon0.foreach(ListBuffer.scala:218)
   [locker]     at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:198)
   [locker]     at scala.tools.nsc.Global$Run.compileSources(Global.scala:423)
   [locker]     at scala.tools.nsc.Global$Run.compile(Global.scala:481)
   [locker]     at scala.tools.ant.Scalac.execute(Scalac.scala:469)
   [locker]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
   [locker]     at org.apache.tools.ant.Task.perform(Task.java:364)
   [locker]     at org.apache.tools.ant.Target.execute(Target.java:341)
   [locker]     at org.apache.tools.ant.Target.performTasks(Target.java:369)
   [locker]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
   [locker]     at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
   [locker]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
   [locker]     at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
   [locker]     at org.apache.tools.ant.Main.runBuild(Main.java:668)
   [locker]     at org.apache.tools.ant.Main.startAnt(Main.java:187)
   [locker]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
   [locker]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)

BUILD FAILED
/home/mcdirmid/runtime-workspace/scala/build.xml:451: Compile failed because of an internal compiler error (malf\
ormed Scala signature of Contexts at 670; reference type CompilationUnit of class CompilationUnits refers to non\
existing symbol.); see the error output for details.
If we remove scala/tools/nsc classes first, we get a different error:
   [locker] java.lang.Error: head of empty list
   [locker]     at scala.Predef$.error(Predef.scala:137)
   [locker]     at scala.Nil$.head(List.scala:1091)
   [locker]     at scala.Nil$.head(List.scala:1089)
   [locker]     at scala.tools.nsc.symtab.Types$SubstMap.subst0(Types.scala:1257)
   [locker]     at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:1261)
   [locker]     at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:1246)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.symtab.Types$TypeMap$class.mapOver(Types.scala:1130)
   [locker]     at scala.tools.nsc.symtab.Types$SubstMap.mapOver(Types.scala:1246)
   [locker]     at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:1268)
   [locker]     at scala.tools.nsc.symtab.Types$Type.subst(Types.scala:203)
   [locker]     at scala.tools.nsc.symtab.Types$TypeRef.transform(Types.scala:765)
   [locker]     at scala.tools.nsc.symtab.Types$TypeRef.transform(Types.scala:770)
   [locker]     at scala.tools.nsc.symtab.Types$TypeRef.closure(Types.scala:824)
   [locker]     at scala.tools.nsc.symtab.Types$Type.closurePos(Types.scala:279)
   [locker]     at scala.tools.nsc.symtab.Types$CompoundType.isNew0(Types.scala:664)
   [locker]     at scala.tools.nsc.symtab.Types$CompoundType.addMixinBaseClasses0(Types.scala:673)
   [locker]     at scala.tools.nsc.symtab.Types$CompoundType.computeBaseClasses0(Types.scala:675)
   [locker]     at scala.tools.nsc.symtab.Types$CompoundType.baseClasses(Types.scala:685)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.implicitsOfType0(Typers.scala:1626)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.inferImplicit(Typers.scala:1635)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$inferView(\
Typers.scala:55)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anon0.isCoercible(Typers.scala:44)
   [locker]     at scala.tools.nsc.typechecker.Infer$Inferencer.isCompatible(Infer.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Infer$Inferencer$$anonfun14.apply(Infer.scala:267)
   [locker]     at scala.tools.nsc.typechecker.Infer$Inferencer$$anonfun14.apply(Infer.scala:267)
   [locker]     at scala.List$.map2(List.scala:274)
   [locker]     at scala.tools.nsc.typechecker.Infer$Inferencer.isCompatible(Infer.scala:267)
   [locker]     at scala.tools.nsc.typechecker.Infer$Inferencer.isApplicable(Infer.scala:383)
   [locker]     at scala.tools.nsc.typechecker.Infer$Inferencer$$anonfun45$$anonfun47.apply(Infer.scala:602)
   [locker]     at scala.tools.nsc.typechecker.Infer$Inferencer$$anonfun45$$anonfun47.apply(Infer.scala:602)
   [locker]     at scala.List.filter(List.scala:704)
   [locker]     at scala.tools.nsc.typechecker.Infer$Inferencer$$anonfun45.apply(Infer.scala:602)
   [locker]     at scala.tools.nsc.typechecker.Infer$Inferencer$$anonfun45.apply(Infer.scala:600)
   [locker]     at scala.tools.nsc.typechecker.Infer$Inferencer.tryTwice(Infer.scala:640)
   [locker]     at scala.tools.nsc.typechecker.Infer$Inferencer.inferMethodAlternative(Infer.scala:600)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedApply0(Typers.scala:943)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1357)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1501)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1267)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:905)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:895)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:895)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:805)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1203)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:905)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:895)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:895)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:805)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1203)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1501)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1270)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1501)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedLabelDef(Typers.scala:797)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1175)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:905)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:895)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:895)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:805)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1203)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1501)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.transformedOrTyped(Typers.scala:1535)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:765)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1160)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:905)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:895)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:895)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:652)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:589)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1151)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:905)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:895)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:895)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:652)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:589)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1151)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:905)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:895)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.List$.loop0(List.scala:245)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:895)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1147)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:905)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:895)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:895)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1147)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:905)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer$$anonfun41.apply(Typers.scala:895)
   [locker]     at scala.List$.loop0(List.scala:241)
   [locker]     at scala.List$.mapConserve(List.scala:258)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:895)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:1147)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1472)
   [locker]     at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:1497)
   [locker]     at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon1.apply(Analyzer.scala:39)
   [locker]     at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:209)
   [locker]     at scala.tools.nsc.Global$GlobalPhase$$anonfun1.apply(Global.scala:198)
   [locker]     at scala.tools.nsc.Global$GlobalPhase$$anonfun1.apply(Global.scala:198)
   [locker]     at scala.Iterator$class.foreach(Iterator.scala:262)
   [locker]     at scala.collection.mutable.ListBuffer$$anon0.foreach(ListBuffer.scala:218)
   [locker]     at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:198)
   [locker]     at scala.tools.nsc.Global$Run.compileSources(Global.scala:423)
   [locker]     at scala.tools.nsc.Global$Run.compile(Global.scala:481)
   [locker]     at scala.tools.ant.Scalac.execute(Scalac.scala:469)
   [locker]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
   [locker]     at org.apache.tools.ant.Task.perform(Task.java:364)
   [locker]     at org.apache.tools.ant.Target.execute(Target.java:341)
   [locker]     at org.apache.tools.ant.Target.performTasks(Target.java:369)
   [locker]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
   [locker]     at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
   [locker]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
   [locker]     at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
   [locker]     at org.apache.tools.ant.Main.runBuild(Main.java:668)
   [locker]     at org.apache.tools.ant.Main.startAnt(Main.java:187)
   [locker]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
   [locker]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
If we do a clean:
bash-3.00$ ant clean && ant
Buildfile: build.xml
     [echo] Running SABBUS for Scala-core

clean:
   [delete] Deleting directory /home/mcdirmid/runtime-workspace/scala/build

BUILD SUCCESSFUL
Total time: 19 seconds
Buildfile: build.xml
     [echo] Running SABBUS for Scala-core

init:
     [echo] OS type:  UNIX
     [echo] OS name:  Linux i386 2.6.12-1.1380_FC3smp
     [echo] Java:     1.5.0_05 ('/home/mcdirmid/programs/java/jre')
     [echo] Java VM:  Java HotSpot(TM) Client VM 1.5.0_05-b05
     [echo] Ant:      Apache Ant version 1.6.5 compiled on June 2 2005

setup:

build.locker:
    [mkdir] Created dir: /home/mcdirmid/runtime-workspace/scala/build/locker/library
     [pico] Compiling 37 source files to /home/mcdirmid/runtime-workspace/scala/build/locker/library
    [starr] Compiling 2 source files to /home/mcdirmid/runtime-workspace/scala/build/locker/library
    [starr] Compiling 255 source files to /home/mcdirmid/runtime-workspace/scala/build/locker/library
    [mkdir] Created dir: /home/mcdirmid/runtime-workspace/scala/build/locker/compiler
     [pico] Compiling 23 source files to /home/mcdirmid/runtime-workspace/scala/build/locker/compiler
    [starr] Compiling 134 source files to /home/mcdirmid/runtime-workspace/scala/build/locker/compiler
    [starr] exception when transforming private  val global : scala.tools.nsc.Main#compiler2 = compiler1(\
)    [starr] exception when transforming scala.tools.nsc.doc.DocGenerator with scala.ScalaObject$class {
    [starr]   def (): scala.tools.nsc.Main#generator1 = {
    [starr]     {
    [starr]       generator1.super.();
    [starr]       ()
    [starr]     };
    [starr]     ()
    [starr]   };
    [starr]   private  val global : scala.tools.nsc.Main#compiler2 = compiler1();
    [starr]     def global(): scala.tools.nsc.Main#compiler2 = generator1.this.global ;
    [starr]     def global(): scala.tools.nsc.Global = generator1.this.global()
    [starr] }
    [starr] exception when transforming final class generator1 extends scala.tools.nsc.doc.DocGenerator with sca\
la.ScalaObject$class {
    [starr]   def (): scala.tools.nsc.Main#generator1 = {
    [starr]     {
    [starr]       generator1.super.();
    [starr]       ()
    [starr]     };
    [starr]     ()
    [starr]   };
    [starr]   private  val global : scala.tools.nsc.Main#compiler2 = compiler1();
    [starr]     def global(): scala.tools.nsc.Main#compiler2 = generator1.this.global ;
    [starr]     def global(): scala.tools.nsc.Global = generator1.this.global()
    [starr] }
    [starr] exception when transforming {
    [starr]   final class generator1 extends scala.tools.nsc.doc.DocGenerator with scala.ScalaObject$class {
    [starr]     def (): scala.tools.nsc.Main#generator1 = {
    [starr]       {
    [starr]         generator1.super.();
    [starr]         ()
    [starr]       };
    [starr]       ()
    [starr]     };
    [starr]     private  val global : scala.tools.nsc.Main#compiler2 = compiler1();
    [starr]       def global(): scala.tools.nsc.Main#compiler2 = generator1.this.global ;
    [starr]       def global(): scala.tools.nsc.Global = generator1.this.global()
    [starr]   };
    [starr]   var generator$module0: generator1 = null;
    [starr]   final private   def generator0(): scala.tools.nsc.Main#generator1 = {
    [starr]     if (generator$module0.eq(null))
    [starr]       generator$module0 = new generator1.();
    [starr]     generator$module0
    [starr]   };
    [starr]   generator0().process(run.units(), command0.settings().outdir().value())
    [starr] }
    [starr] exception when transforming if (command0.settings().doc().value())
    [starr]   {
    [starr]     final class generator1 extends scala.tools.nsc.doc.DocGenerator with scala.ScalaObject$class {
    [starr]       def (): scala.tools.nsc.Main#generator1 = {
    [starr]         {
    [starr]           generator1.super.();
    [starr]           ()
    [starr]         };
    [starr]         ()
    [starr]       };
    [starr]       private  val global : scala.tools.nsc.Main#compiler2 = compiler1();
    [starr]         def global(): scala.tools.nsc.Main#compiler2 = generator1.this.global ;
    [starr]         def global(): scala.tools.nsc.Global = generator1.this.global()
    [starr]     };
    [starr]     var generator$module0: generator1 = null;
    [starr]     final private   def generator0(): scala.tools.nsc.Main#generator1 = {
    [starr]       if (generator$module0.eq(null))
    [starr]         generator$module0 = new generator1.();
    [starr]       generator$module0
    [starr]     };
    [starr]     generator0().process(run.units(), command0.settings().outdir().value())
    [starr]   }
    [starr] exception when transforming {
    [starr]   val run: scala.tools.nsc.Main#compiler2#Run = new scala.tools.nsc.Main#compiler2#Run.(compil\
er1()).$asInstanceOf[scala.tools.nsc.Main#compiler2#Run]();
    [starr]   run.compile(command0.files());
    [starr]   if (command0.settings().doc().value())
    [starr]     {
    [starr]       final class generator1 extends scala.tools.nsc.doc.DocGenerator with scala.ScalaObject$class {\

    [starr]         def (): scala.tools.nsc.Main#generator1 = {
    [starr]           {
    [starr]             generator1.super.();
    [starr]             ()
    [starr]           };
    [starr]           ()
    [starr]         };
    [starr]         private  val global : scala.tools.nsc.Main#compiler2 = compiler1();
    [starr]           def global(): scala.tools.nsc.Main#compiler2 = generator1.this.global ;
\

    [starr]           def global(): scala.tools.nsc.Global = generator1.this.global()
    [starr]       };
    [starr]       var generator$module0: generator1 = null;
    [starr]       final private   def generator0(): scala.tools.nsc.Main#generator1 = {
    [starr]         if (generator$module0.eq(null))
    [starr]           generator$module0 = new generator1.();
    [starr]         generator$module0
    [starr]       };
    [starr]       generator0().process(run.units(), command0.settings().outdir().value())
    [starr]     }
    [starr] }
    [starr] exception when transforming if (command0.files().isEmpty())
    [starr]   Main.this.scala$tools$nsc$Main$$reporter().info(null, command0.usageMsg(), true)
    [starr] else
    [starr]   {
    [starr]     val run: scala.tools.nsc.Main#compiler2#Run = new scala.tools.nsc.Main#compiler2#Run.(comp\
iler1()).$asInstanceOf[scala.tools.nsc.Main#compiler2#Run]();
    [starr]     run.compile(command0.files());
    [starr]     if (command0.settings().doc().value())
    [starr]       {
    [starr]         final class generator1 extends scala.tools.nsc.doc.DocGenerator with scala.ScalaObject$class\
 {
    [starr]           def (): scala.tools.nsc.Main#generator1 = {
    [starr]             {
    [starr]               generator1.super.();
    [starr]               ()
    [starr]             };
    [starr]             ()
    [starr]           };
    [starr]           private  val global : scala.tools.nsc.Main#compiler2 = compiler1();
    [starr]             def global(): scala.tools.nsc.Main#compiler2 = generator1.this.global \
;    [starr]             def global(): scala.tools.nsc.Global = generator1.this.global()
    [starr]         };
    [starr]         var generator$module0: generator1 = null;
    [starr]         final private   def generator0(): scala.tools.nsc.Main#generator1 = {
    [starr]           if (generator$module0.eq(null))
    [starr]             generator$module0 = new generator1.();
    [starr]           generator$module0
    [starr]         };
    [starr]         generator0().process(run.units(), command0.settings().outdir().value())
    [starr]       }
    [starr]   }
    [starr] exception when transforming if (command0.settings().resident().value())
    [starr]   Main.this.resident(compiler1())
    [starr] else
    [starr]   if (command0.files().isEmpty())
    [starr]     Main.this.scala$tools$nsc$Main$$reporter().info(null, command0.usageMsg(), true)
    [starr]   else
    [starr]     {
    [starr]       val run: scala.tools.nsc.Main#compiler2#Run = new scala.tools.nsc.Main#compiler2#Run.(co\
mpiler1()).$asInstanceOf[scala.tools.nsc.Main#compiler2#Run]();
    [starr]       run.compile(command0.files());
    [starr]       if (command0.settings().doc().value())
    [starr]         {
    [starr]           final class generator1 extends scala.tools.nsc.doc.DocGenerator with scala.ScalaObject$cla\
ss {
    [starr]             def (): scala.tools.nsc.Main#generator1 = {
    [starr]               {
    [starr]                 generator1.super.();
    [starr]                 ()
    [starr]               };
    [starr]               ()
    [starr]             };
    [starr]             private  val global : scala.tools.nsc.Main#compiler2 = compiler1();
    [starr]               def global(): scala.tools.nsc.Main#compiler2 = generator1.this.globa\
l ;
    [starr]               def global(): scala.tools.nsc.Global = generator1.this.global()
    [starr]           };
    [starr]           var generator$module0: generator1 = null;
    [starr]           final private   def generator0(): scala.tools.nsc.Main#generator1 = {
    [starr]             if (generator$module0.eq(null))
    [starr]               generator$module0 = new generator1.();
    [starr]             generator$module0
    [starr]           };
    [starr]           generator0().process(run.units(), command0.settings().outdir().value())
    [starr]         }
    [starr]     }
    [starr] exception when transforming {
    [starr]   final class compiler2 extends scala.tools.nsc.Global with scala.ScalaObject$class {
    [starr]     def (): scala.tools.nsc.Main#compiler2 = {
    [starr]       {
    [starr]         compiler2.super.(command0.settings(), Main.this.scala$tools$nsc$Main$$reporter());
    [starr]         ()
    [starr]       };
    [starr]       ()
    [starr]     }
    [starr]   };
    [starr]   var compiler$module0: scala.tools.nsc.Main#compiler2 = null;
    [starr]   final  def compiler1(): scala.tools.nsc.Main#compiler2 = {
    [starr]     if (compiler$module0.eq(null))
    [starr]       compiler$module0 = new scala.tools.nsc.Main#compiler2.();
    [starr]     compiler$module0
    [starr]   };
    [starr]   if (command0.settings().resident().value())
    [starr]     Main.this.resident(compiler1())
    [starr]   else
    [starr]     if (command0.files().isEmpty())
    [starr]       Main.this.scala$tools$nsc$Main$$reporter().info(null, command0.usageMsg(), true)
    [starr]     else
    [starr]       {
    [starr]         val run: scala.tools.nsc.Main#compiler2#Run = new scala.tools.nsc.Main#compiler2#Run.(\
compiler1()).$asInstanceOf[scala.tools.nsc.Main#compiler2#Run]();
    [starr]         run.compile(command0.files());
    [starr]         if (command0.settings().doc().value())
    [starr]           {
    [starr]             final class generator1 extends scala.tools.nsc.doc.DocGenerator with scala.ScalaObject$c\
lass {
    [starr]               def (): scala.tools.nsc.Main#generator1 = {
    [starr]                 {
    [starr]                   generator1.super.();
    [starr]                   ()
    [starr]                 };
    [starr]                 ()
    [starr]               };
    [starr]               private  val global : scala.tools.nsc.Main#compiler2 = compiler1();
    [starr]                 def global(): scala.tools.nsc.Main#compiler2 = generator1.this.glo\
bal ;
    [starr]                 def global(): scala.tools.nsc.Global = generator1.this.global()
    [starr]             };
    [starr]             var generator$module0: generator1 = null;
    [starr]             final private   def generator0(): scala.tools.nsc.Main#generator1 = {
    [starr]               if (generator$module0.eq(null))
    [starr]                 generator$module0 = new generator1.();
    [starr]               generator$module0
    [starr]             };
    [starr]             generator0().process(run.units(), command0.settings().outdir().value())
    [starr]           }
    [starr]       }
    [starr] }
    [starr] exception when transforming try {
    [starr]   final class compiler2 extends scala.tools.nsc.Global with scala.ScalaObject$class {
    [starr]     def (): scala.tools.nsc.Main#compiler2 = {
    [starr]       {
    [starr]         compiler2.super.(command0.settings(), Main.this.scala$tools$nsc$Main$$reporter());
    [starr]         ()
    [starr]       };
    [starr]       ()
    [starr]     }
    [starr]   };
    [starr]   var compiler$module0: scala.tools.nsc.Main#compiler2 = null;
    [starr]   final  def compiler1(): scala.tools.nsc.Main#compiler2 = {
    [starr]     if (compiler$module0.eq(null))
    [starr]       compiler$module0 = new scala.tools.nsc.Main#compiler2.();
    [starr]     compiler$module0
    [starr]   };
    [starr]   if (command0.settings().resident().value())
    [starr]     Main.this.resident(compiler1())
    [starr]   else
    [starr]     if (command0.files().isEmpty())
    [starr]       Main.this.scala$tools$nsc$Main$$reporter().info(null, command0.usageMsg(), true)
    [starr]     else
    [starr]       {
    [starr]         val run: scala.tools.nsc.Main#compiler2#Run = new scala.tools.nsc.Main#compiler2#Run.(\
compiler1()).$asInstanceOf[scala.tools.nsc.Main#compiler2#Run]();
    [starr]         run.compile(command0.files());
    [starr]         if (command0.settings().doc().value())
    [starr]           {
    [starr]             final class generator1 extends scala.tools.nsc.doc.DocGenerator with scala.ScalaObject$c\
lass {
    [starr]               def (): scala.tools.nsc.Main#generator1 = {
    [starr]                 {
    [starr]                   generator1.super.();
    [starr]                   ()
    [starr]                 };
    [starr]                 ()
    [starr]               };
    [starr]               private  val global : scala.tools.nsc.Main#compiler2 = compiler1();
    [starr]                 def global(): scala.tools.nsc.Main#compiler2 = generator1.this.glo\
bal ;
    [starr]                 def global(): scala.tools.nsc.Global = generator1.this.global()
    [starr]             };
    [starr]             var generator$module0: generator1 = null;
    [starr]             final private   def generator0(): scala.tools.nsc.Main#generator1 = {
    [starr]               if (generator$module0.eq(null))
    [starr]                 generator$module0 = new generator1.();
    [starr]               generator$module0
    [starr]             };
    [starr]             generator0().process(run.units(), command0.settings().outdir().value())
    [starr]           }
    [starr]       }
    [starr] } catch {
    [starr]   case (ex$0 @ _) => {
    [starr]     var temp0: java.lang.Throwable = ex$0;
    [starr]     if (temp0.$isInstanceOf[scala.tools.nsc.FatalError]())
    [starr]       {
    [starr]         var temp1: scala.tools.nsc.FatalError = temp0.$asInstanceOf[scala.tools.nsc.FatalError]();
    [starr]         {
    [starr]           val ex: scala.tools.nsc.FatalError = temp1;
    [starr]           val msg: java.lang.String = temp1.msg();
    [starr]           {
    [starr]              val r$0: scala.runtime.BoxedUnit = {
    [starr]               if (command0.settings().debug().value())
    [starr]                 ex.printStackTrace();
    [starr]               {
    [starr]                 Main.this.scala$tools$nsc$Main$$reporter().error(null, "fatal error: ".+(msg));
    [starr]                 scala.runtime.BoxedUnit.UNIT
    [starr]               }
    [starr]             };
    [starr]             exit(r$0);
    [starr]             true
    [starr]           }
    [starr]         }
    [starr]       }
    [starr]     else
    [starr]       false.||({
    [starr]       {
    [starr]          val r$1: scala.runtime.BoxedUnit = throw ex$0;
    [starr]         exit(r$1);
    [starr]         true
    [starr]       }
    [starr]     });
    [starr]     throw new scala.MatchError.("Main.scala", 52);
    [starr]     exit(result){
    [starr]       ()
    [starr]     }
    [starr]   }
    [starr] }
    [starr] exception when transforming {
    [starr]   try {
    [starr]     final class compiler2 extends scala.tools.nsc.Global with scala.ScalaObject$class {
    [starr]       def (): scala.tools.nsc.Main#compiler2 = {
    [starr]         {
    [starr]           compiler2.super.(command0.settings(), Main.this.scala$tools$nsc$Main$$reporter());
    [starr]           ()
    [starr]         };
    [starr]         ()
    [starr]       }
    [starr]     };
    [starr]     var compiler$module0: scala.tools.nsc.Main#compiler2 = null;
    [starr]     final  def com
what expected shouldn't crash
[back to overview]
Changes of this bug report
Sean  edited on  2006-02-22 18:16:17.0
My library was probably out of synch again.